Iinivio sms tramite gsm shield, errore in compilazione [Risolto]

Salve a tutti, ho comprato uno shield gsm e ora vorrei provare ad inviare il primo sms di prova.
Ho scaricato la libreria da http://labs.arduino.cc/GPRS/Library e aprendo il file di prova "TestGSMLibrarySMS" ho una marea di errori dopo che premo il pulsante "verifica", anche se non ho ancora modificato nessuna riga :astonished:
Le prime righe di errore che mi appaiono sono:

C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:10: error: ISO C++ forbids declaration of 'NewSoftSerial' with no type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:10: error: expected ';' before '*' token
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:14: error: 'boolean' does not name a type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:21: error: expected `)' before '&' token
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:24: error: 'boolean' has not been declared
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:29: error: 'boolean' does not name a type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:32: error: 'boolean' does not name a type
In file included from C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/QuectelM10.h:4,

Ho provato ad aprire il file WideTestFinder.h ma non capisco dove siano gli errori, inoltre dopo quelli che ho incollato ho la segnalazione di altri errori,eppure mi sembra strano che un file di esempio abbia tutti questi problemi .... come posso fare?
Grazie per l'aiuto! :slight_smile:

non ti conviene usare la libreria del venditore?da chi l'hai presa?

Ho comprato questo oggetto
http://www.ebay.it/itm/SIM900-GSM-GPRS-Shield-for-Arduino-IComSat-V1-0-/251006823462?pt=US_Surveillance_Security_Systems&hash=item3a712c2c26#ht_937wt_1270
Comunque tutti quegli errori mi sembrano strani visto che è una libreria che ad altri dovrebbe funzionare bene (da quello che ho letto su altri post) ... forse c'è qualcosa che sbaglio ma non capisco dove :~

Sembrano i classici errori di quando si usa una lib scritta per l'IDE 002x sull'IDE 1.x

Beh io ho scaricato l'ide 1.0.1 ... provo con il 2?

cmq penso che quella libreria era x l’ide <1.0…
devi sostituire qualche include con include<Arduino.h>,xò nn mi ricordo quale…
EDIT:qlk ha risposto mentre scrivevo…

cmq ti conviene comprare roba da ebay,quando da seeedstudio costa di meno? :slight_smile:

Quindi per l’IDE 1.0.1 non c’è niente di simile? Anche volendo non so quale include sostituire con <Arduino.h>

CERCANDO con google,vedi che in GENERALE,quando vuoi usare una libreria scritta per ide<1.0 su ide>=1.0, devisostituire #include <WProgram.h> con #include <Arduino.h>

Scusami, hai perfettamente ragione, dovevo chiedere prima a google :disappointed_relieved:
Ora la maggior parte degli errori sparisce, ma ne rimane qualcuno del tipo

C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:11: error: ISO C++ forbids declaration of 'NewSoftSerial' with no type
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:11: error: expected ';' before '*' token
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/WideTextFinder.h:22: error: expected `)' before '&' token
In file included from C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/QuectelM10.h:4,
                 from TestGSMLibrarySMSProva.cpp:1:
C:\Users\Marco\Downloads\arduino-1.0.1-windows\arduino-1.0.1\libraries\gsm/GSM.h:21: error: 'NewSoftSerial' does not name a type

Cercando su google (spero di aver imparato la lezione xD) ho visto che devo sostituire la libreria NewSoftSerial.h con la più aggiornata SoftwereSerial.h, fatto questo però in questo modo mi rimangono gli errori di sopra, nei post che ho letto invece il problema spariva dopo la sostituzione sopracitata ... qualche idea a riguardo?

meglio tardi che mai.. :slight_smile:
ehm,hai fatto la sostituzione sia nel .h che nel .c?

l'include da sostituire era presente solo nei .h e non nei .c

diciamo che nell’arduino 1.0,la SoftwareSerial è la newSoftwareSerial dell’ide<1.0
quando hai scambiato questa libreria,haia nche cambiato il tipo nelle dichiarazioni?

...occhio anche ai nomi delle librerie che aggiorni, devi cambiare anche i nomi nel sw oltre che includerle (anche fisicamente).
non conosco quella libreria e non sò se usa la softserial o la newsoftareserial ma dal nome direi che la seconda è la più nuova.
mi sà che sei partito in ferrari senza neanche avere la patente... :slight_smile:

Ho sostituito gli #include <NewSoftSerial.h> con #include<SoftwareSerial.h>, dopo ho pensato di cambiare anche tutte le dichiarazioni delle variabili di tipo NewSoftSerial in variabili di tipo SoftwareSerial ma aprendo la cartella SoftwareSerial nella cartella di libreria di Arduino ho trovato il file keywords.txt ho visto che NewSoftSerial era catalogata come parola chiave e quindi ho pensato che il tipo della variabile fosse ancora valido … è una supposizione sbagliata? Devo cambiare tutti i tipi da NewSoftSeria a SoftwareSerial ?

A parte che nella guida c'è scritto di usare la 0022, dubito che il modulo per cui è scritta quella libreria sia compatibile al 100% col SIM900.

Quindi mi sa che anche se la fai compilare una volta caricata sull'Arduino, non riuscirari ad interfacciarti col modulo

Ho trovato una versione della libreria adatta al mio IDE e al SIM900, ora riesco a compilare tutto correttamente ma quando vado a fare l'upload su arduino ricevo il seguente messaggio:

avrdude: stk500_getsync(): not in sync: resp=0x00

Ho visto altri post e in questo Arduino Forum risolvono il problema semplicemente cambiando il TX e RX (penso intendendo sullo shield), ho provato la stessa soluzione ma continua a darmi l'errore di prima ... come posso fare?

mhh,se nn ricordo male quell'errore c'è qnd non riesce a caricare l'.hex sull'arduino..al max prova a staccare e riattaccare arduino ..

appena provato due volte... mi dà sempre lo stesso errore :~

Modifica: non avevo selezionato la giusta board xD

bene..se funge metti il [risolto] al post..

Prova a scaricarti l’IDE 0022 e compilare con quella.