sono giorni che sbatto la testa su un problema annoso che tutt'ora faccio fatica a capire...
Sabato scorso mi è arrivato il TiDiGino e subito mi sono messo a sviluppare per creare il mio sketch che leggesse gli sms e li stampasse sul monitor seriale.
Inizialmente sembrava che lo sketch funzionasse, poi tutto ad un tratto ha smesso di stamparmi il numero del mittente
Allora con calma ho caricato lo sketch di Daniele Denaro (il TiDiGinoMain V1.25) e anche questo presentava lo stesso problema...inizialmente pensavo che il problema fosse mio e ho perso diverse ore andando a riguardarmi il codice...poi ho cominciato a studiare la GSM fornita proprio da voi (Futura) e mettendoci un po' le mani (ho fatto stampare l'intera risposta del comando AT+CMGR) ho scoperto che...la libreria parserizzava male il numero del mittente in quanto si aspettava una risposta che in realtà era diversa!
Manuale AT alla mano ho forzato il modulo SIM900 a mandarmi tutti gli header che la libreria si aspettava
Codice: Seleziona tutto
Serial1.println("AT+CSDH=1");
per cui ho dovuto anche modificare una delle funzioni di inizializzazione della libreria (contenuta in InitSMSMemory()):
ORIGINALE
Codice: Seleziona tutto
SendATCmdWaitResp("AT+CNMI=2,0", 1000, 50, "OK", 2);
Codice: Seleziona tutto
SendATCmdWaitResp("AT+CNMI=0,0", 1000, 50, "OK", 2);
Adesso funziona, ma non è possibile che la libreria ufficiale sia buggata...cosa potrebbe essere?
Grazie in anticipo per i vostri consigli!