Invio sms con modulo GSM da chiamata e da particolare condizione

Ciao a tutti, sto implementando un codice che mi permette di ricevere tramite modulo gsm un messaggio con un ben determinato valore di peso.
Condizione 1: arduino mi invia l’sms ogni volta che il peso scende sotto un certo valore

Condizione 2 arduino mi invia il valore del peso tramite sms ogni volta che faccio la chiamata al numero della scheda sim di arduino.

Tutte e 2 le condizioni funzionano perfettamente se le faccio andare singolarmente però se le faccio andare insieme come sotto non mi funziona la condizione 1 cioè l’invio del valore se si verifica la riduzione di peso (peso1-1) mentre l’invio del valore con chiamata funziona.
Come posso fare per risolvere? Qualcuno mi può aiutare?

Grazie
ankamacha

if (peso2<(peso1-1)) {
  Serial.println("Peso cala");
 
  if(started){
    // Inviamo l'SMS
    if (sms.SendSMS("+39 numero tel", "Peso cala"))   
      Serial.println("Messaggio inviato");
           
  }
  
  };
  

////////////// chiamata e invio sms con dato del peso //////////////////

  stat=call.CallStatusWithAuth("+39numero tel",0,0);  //verifico che il numero di chiamata sia autorizzato
  if(stat==CALL_INCOM_VOICE_AUTH){  
    // se è autorizzato aspetto 2 secondi accetto la chiamata e mando il valore del peso letto su A0
    //termina la chiamata aspetta 2 secondi e manda l sms con il peso calcolato
    call.HangUp();
    delay(2000);
    //Check the value of the input.
    //peso2= (analogRead(A0)-taratura)*0.488;
    dtostrf(peso2, 5, 2, risultato); //5 cifre, di cui 1 decimale, segno + o -  con questa funzione mando un numero decimale con sms altrimenti non posso
    message[0]='\0';
    strcat(message,"Peso, VAL=");
    itoa(peso2,value_str,10);      //Con itoa converto il valore int della variabile peso2 in string per poterla inviare via sms altrimenti non è possibile
    strcat(message,risultato);     // Con strcat concateno il testo del messaggio Peso VAL con il valore della variabile peso2 in questo caso convertita in value_str
      //strcat(message,value_str);
    //mando l'sms con il peso al numero preimpostato
    sms.SendSMS("+39tel",message);
    Serial.println(peso2, 2); 
    
  }

Ciao,
è il caso che posti tutto il codice.