Aggiornamento Arduino 1.6.12, non si compila uno sketch

Ciao gente.

Con la versione precedente, se ricordo bene la 1.6.10, questo sketch si riusciva a compilare. ora (versione aggiornata alla 1.6.12) inizia a dare errore dalla riga 112.
Vedere dettagli in allegato.

report.zip (1.9 KB)

A partire ... mi pare dalla 1.5.x o 1.6.x ... non ricordo, comunque sono cambiate le specifiche per la PROGMEM e quindi tutto quello che prima andava ora non va più e occorre fare delle modifiche.

Il documento allegato è aggiornato ...
... quindi guarda come sono ora le definizioni e vedi se riesci ad aggiustare la cosa :wink:

Guglielmo

Progmem.pdf (182 KB)

Ho trovato la risposta.
In definitiva s'è dovuto rimuovere la definizione prog_ da ogni dichiarazione di variabile.

Quello che non ho ben capito, qual era l' intento di questa definizione. Ovvero se si intendesse come variabili fisse in Flash o altro.

SI, serviva per mettere le variabili nella Flash e ridurre l'occupazione della SRAM. Senza può darsi (= è quasi certo) che il programma NON gira correttamente perché occupa troppa SRAM e sovrascrive le variabili !!!

Studiati la nuova sintassi nel documento che ti ho allegato e correggi invece di eliminare !!!

Guglielmo

Il programma citato, no. Una volta compilato consuma solo il 30% delle risorse.
Quelle definizioni prog_, se non sbaglio sono per le variabili in Flash.
Ma cercando nel documento, non c'è nessuna menzione di prog_* ne di #define PROG_TYPES_COMPAT
Qualcosa è espressa qui ma devo ancora capire come si corregge questi tipi di deprecazione.

Si, il codice occupa solo il 30%, ma poi il problema sono le stringhe che sono nel codice ... che, se non dichiarate PROGMEM, finiscono, al run-time, in SRAM esaurendola ...

Guglielmo