Errore nella compilazione esempi della libreria MenuBackend.

Buona sera, sto provando da qualche giorno ad utilizzare la libreria MenuBackend, di cui allego il link https://github.com/WiringProject/Wiring/tree/master/framework/libraries/MenuBackend e dato che non sono molto esperto, ho iniziato provando a compilare gli esempi e mi compare un errore che fa si che la compilazione non va a buon fine. Sarei molto grato di ricevere un aiuto dato che avrei la necessità di utilizzare tale libreria per creare un menu ad un progetto di cui mi sto occupando e anche provando su un altro pc (pensando che sia qualcosa legato al mio pc) non ho potuto testare neppure gli esempi per l'errore di cui allego sotto il messaggio.

Arduino:1.6.8 (Windows 10), Scheda:"Arduino/Genuino Uno"

HelloMenu:21: error: 'menuUseEvent' was not declared in this scope

 MenuBackend menu = MenuBackend(menuUseEvent,menuChangeEvent);

                                ^

HelloMenu:21: error: 'menuChangeEvent' was not declared in this scope

 MenuBackend menu = MenuBackend(menuUseEvent,menuChangeEvent);

                                             ^

exit status 1
'menuUseEvent' was not declared in this scope

Questo errore compare con tutti e due gli esempi presenti nella libreria.

Vi ringrazio in anticipo. Saluti. MichaelF.

Ti invitiamo a presentarti (dicci quali conoscenze hai di elettronica e di programmazione) qui: Presentazioni
e a leggere il regolamento se non lo hai già fatto: Regolamento
Qui una serie di link utili, non inerenti al tuo problema:

Hai visto che nelle issue sono segnalati all'autore della stessa libreria una serie di problemi ? https://github.com/WiringProject/Wiring/issues/40 Inoltre pare una parte di una lib completa per Wiring, arduino, energia, etc.) in sviluppo ma non completo. Inoltre esempi con estensione .pde sono moooolto vecchi.

Un utente del forum ha fatto una libreria per i menu MENWIZ. magari puoi provare con questa: http://forum.arduino.cc/index.php?topic=115498.0

Come mi ha chiesto ho provveduto a presentarmi e a leggere il regolamento. Grazie della risposta e appena posso provo la libreria che mi ha segnalato. Spero che risolva il mio problema. Appena la provo non mancherò di scrivere come mi sono trovato. Grazie ancora per la celere risposta. Saluti. MichaelF.

guarda che almeno con la versione IDE 1.0.6 a me compila senza errori. Devi creare una sottocartella MenuBackend dentro a Libraries (cartella dove hai gli sketch). Solo così viene trovata la libreria. Oppure metti tutti i sorgenti, .h e .cpp e .pde insieme in una unica cartella. Però... questa libreria gestisce il menu solo nella "memoria" della MCU, NON va su un LCD !!

Io ho l'ultimo IDE di Arduino versione 1.6.8 e anche provando in tutte e due le modalità che mi ha segnalato (io infatti usavo la prima: quella di mettere la cartella della libreria all'interno di Libraries) e niente da fare, non c'è modo di compilarlo correttamente dato che mi compaiono sempre gli stessi due errori. (magari dato che a lei lo compila correttamente con un' altra versione dell' IDE magari il problema sta proprio nella versione dell' IDE). Comunque sto provando a dare un' occhiata alla libreria che mi ha consigliato lei e mi sembra che sia migliore e più completa, anche se non ci sono molti esempi già fatti ma comunque è ben documentata e in un modo o nell' altro spero di trovare il modo di fare quello che avevo in mente. La ringrazio per le celeri risposte. Coriali saluti. MichaelF.

Con la nuova versione dell’IDE è cambiato il pre-processore e alcune cose vengono trattate in modo diverso …

Prendiamo l’esempio "HelloMenu.ino" allegato alla tua libreria …

Per compilarlo senza errori è sufficiente aggiungere (come dovrebbe SEMPRE essere in ‘C’, ma l’IDE nasconde questa cosa) la dichiarazione delle funzioni che, nel codice, è fatta DOPO il loro uso …

Dalla linea 18:

#include <MenuBackend.h>

void menuUseEvent(MenuUseEvent);       // aggiungere questa riga
void menuChangeEvent(MenuChangeEvent); // aggiungere questa riga

… e vedrai che non avrai errori di compilazione.

Guglielmo

P.S.: Notare che SE non ci fosse l’IDE che ci mette del suo, lavorando in ‘C’, OGNI funzione andrebbe “dichiarata” prima di poter essere richiamata.

Vi ringrazio per tutte le risposte e grazie all’ aggiunta che mi è stata suggerita da Guglielmo, finalmente sono riuscito a compilare gli esempi e in più questa dritta sulla dichiarazione delle funzioni mi sarà sicuramente d’ aiuto in altre occasioni.
Inoltre ho la possibilità di scelta con l’ altra libreria che mi avete suggerito e dovrò solo decidere quale sarà più adatta alle mie esigenze e spero che andrà tutto bene.
Grazie ancora e buona serata.
MichaelF.