Comment controller la réponse d'une commande

Bonjour à tous,

J’ai une fonction qui va envoyer une commande et ca marche bien, sauf que…

Voici la commande (regarder surtout Serial.println(response):wink:

int8_t Morse::sendATcommand(char* ATcommand, char* expected_answer, unsigned int timeout){

    uint8_t x=0,  answer=0;
    char response[100];
    unsigned long previous;

    memset(response, '\0', 100);    // Initialice the string
    
    delay(100);

    while( _cell.available() > 0) _cell.read();    // Clean the input buffer
 	
    if (ATcommand[0] != '\0')
    {

        _cell.println(ATcommand);    // Send the AT command 
    }

    x = 0;
    previous = millis();

    // this loop waits for the answer
    do{
        if(_cell.available() != 0){    // if there are data in the UART input buffer, reads it and checks for the asnwer
            response[x] = _cell.read();
  
            Serial.println(response[x]);
            x++;
            if (strstr(response, expected_answer) != NULL)    // check if the desired answer (OK) is in the response of the module
            {

                answer = 1;
            }
        }else{
        	
         
        }
    }while((answer == 0) && ((millis() - previous) < timeout));    // Waits for the asnwer with time out
  	  	

    
    return answer;
}

quand je fais ceci, il m’affiche “GPS Ready”

if(sendATcommand("AT","GPS Ready",2000)){
		Serial.println("GPS Ready\n");
	};

Par contre quand je fais

if(sendATcommand("AT","Call Ready",2000)){
		Serial.println("Call Ready\n");
	};

Il me retourne rien.

En fait , ceci Serial.println(response); affiche

C
a
l
l

R
e
a
s
y
[vide]
[vide]

avec deux vide.

C’est pourca qu’il n’affiche rien.

Je ne comprends pas car la fonction SendAtComdWait à cette fonction

strstr(response, expected_answer)

Donc normalement, dès que ca coincide, il doit retourner true???

Bon, ben non!!!

Alors comment je peux faire pour qu’il ne considère pas les espace après la chaine de caractere demandée, (s’il y a des expaces)?
Comme pourrais-je optimiser ceci?

Milles mercis