Un saluto a tutti.
Durante l'upgrade del firmware AMR (Arduo Memory Reminder) ho riscontrato un problema non credo da sottovalutare.
Le versioni che ho postato, la R05i compilata con IDE 0023 e la R05J2 compilata con IDE 1.0.3 non hanno avuto mai problemi di questo tipo.
Non ho fatto alcuna modifica pesante, a parte la prima che ho dovuto abbandonare per mancanza di sram, quando ho cercato di inserire più lingue.
Verificando la nuova release su l' IDE 101, 102, 103 viene generato un bug, che credevo fosse legato allo sketch, ma dubito, a meno che qualcuno mi sappia dare una spiegazione non semplice da trovare.
I limiti della memoria, credo di averli rispettati, anche perchè con l' IDE 0023, non ho mai riscontrato problemi simili.
Al momento ci sono più di 700 byte di sram e più di 17k di flash liberi, anche con sketch più contorto.
Non comprendendo certi comportamenti del dispositivo, ho pulito il codice, semplificandolo sempre più e riducendolo.
Pensavo fosse un problema di sram, poi di stack. (PS: quale è il limite dello stack se c'è ?)
Sono arrivato a pensare che fosse un problema di micro, ma utilizzando un altro arduino uno r3 ho riscontrato lo stesso problema.
Cosa accade: se imposto la costante booleana che nel mio caso è "ablser=1", abilito la seriale e quindi il comando di stampa nel monitor seriale, mi viene visualizzato il valore free della sram che è di 738.
Per assurdo il device funziona correttamente e non visualizza anomalie.
Se imposto la costante booleana "ablser=0", disabilito la seriale e quindi il comando di stampa, credo liberando un bel po' di sram e codice.
Ecco che però si presenta il problema. Durante la visualizzazione degli allarmi, nella descrizione delle medicine, appare il carattere "||" (per intenderci l'OR per il linguaggio C), sia con la selezione della lingua italiana che inglese perchè ????????
Il dispositivo funziona comunque bene, ma se il carattere non si trova in un punto di print, può generare altri problemi.
Grazie per l'attenzione.
Giuseppe G.