sms invisible après réception

bonjour tout le monde, je me heurte à un problème depuis hier, lorsque mon shield gsm recoit un sms j'ai bien

AT+CMGR=1

par contre si je veux le lire, le message n'apparait pas

AT+CMGR=1 



+CMGR: "REC READ","+3300000000","","12/05/16,09:37:14+08"

ou alors je me gourre d'instruction, mais je ne crois pas

je me réponds à moi même, ca servira pour les autres.

c’est à cause du buffer qui n’est pas assez grand
voila ce qu’il faut faire, source (http://mchobby.be/wiki/index.php?title=GeekOnFire_GSM/GPRS_Shield_FAQ)

Environnement Arduino < 1.0

Pour augmenter la taille du buffer:

   1. Chercher le fichier NewSoftSerial.h dans vos librairies Arduino
   2. Localiser la ligne _NewSS_MAX_RX_BUFF
   3. Augmenter la taille du buffer à 128 (au lieu de 64)
   4. Recompiler votre sketch. 

Environnement Arduino >= 1.0

Pour augmenter la taille du buffer:

   1. Chercher le fichier SoftwareSerial.h dans vos librairies Arduino
   2. Localiser la ligne _NewSS_MAX_RX_BUFF
   3. Augmenter la taille du buffer à 128 (au lieu de 64)
   4. Recompiler votre sketch.

par contre, c’est assez instable, le sms arrive bien, mais le scketch par souvent en vrille.
lorsque ma commande arrive, elle n’est pas prise en compte

  if( sms.indexOf("on") >= 0 ){
alarm = 1;
i=0;
  mySerial.println("AT+CMGDA=\"DEL ALL\" ");
  delay(1000);
    Serial.println( "ALARM ON" );
        lcd.setCursor(0, 1);
    lcd.print("ALARM ON");
   return;
  }
  if( sms.indexOf("off") >= 0 ){
alarm=0;
    Serial.println( "ALARM OFF" );
        lcd.setCursor(0, 1);
    lcd.print("ALARM OFF");
      mySerial.println("AT+CMGDA=\"DEL ALL\" ");
  delay(1000);
    return;
  }
}