
No problem Leo72.
Tornando al problema "bug", mi sfugge qualcosa....... esistono dei limiti legati al numero di istruzioni "if" consecutive in uno sketch?
In teoria no. Sono dei salti, per il micro.
E' probabile che questo problema sia venuto fuori solo con l'utilizzo dell'IDE 1.0.3.
Provo a ricompilarlo con lo 0023, togliendo l'audio però, visto che non è supportato, e credo che cambi un pò troppo, e che quindi il problema non si manifesti.
La gestione della seriale e dell'LCD sono cambiati molto da 002x a 1.0.x.
Un' altra cosa che ho constatato è che il carattere "||" per il display non esiste ed ancora se al posto di un carattere alfanumerico inserisco degli spazi, il messaggio viene troncato del tutto da quel carattere in poi.
Alquanto strano no?
A me verrebbe da pensare ad un'esaurimento della Ram.
Quando la Ram termina, su un Lcd iniziano proprio a comparire caratteri senza senso, pescati chissà dove.
Ho notato una cosa, che tu nello sketch non usi la possibilità (offerta dall'IDE 1.0) di gestire le stringhe in Flash.
Tutti i messaggi lcd.print("qualcosa") trasformali in lcd.print(F("qualcosa"))
Non hai idea di quanta Ram risparmi.
Tutte le stringhe, infatti, prima di poter essere gestite, vengono trascritte in Ram dalla Flash.
Un'altra cosa che fa lievitare il consumo di memoria sono le chiamate alla sub-routine.
Se con la versione IDE 0023 il problema non si manifesta, torno ad usare quella. Eventualmente, ora ho a disposizione un codice di verifica per le nuove versioni dell' IDE.
Il ramo 002x non viene più sviluppato. Io non obbligherei gli utenti ad usarlo.
Un ultima cosa! Se avessi usato una variabile con lo stesso nome già dichiarato nelle librerie, l' IDE si sarebbe accorto, giusto?
Sì, 2 variabili con lo stesso nome non possono convivere