MENWIZ: una libreria per creare menu su LCD

EDIT 10/03/2014 in allegato ultima versione beta di MENWIZ la 1.3.2 BETA con le nuove funzioni per variabili text editabili e possibilità di definire utenti e mascherare i menu. La versione definitiva sarà messa come sempre su GitHub - brunialti/MENWIZ: ARDUINO LCD menu library: short user code to manage complex menu structures. In teoria è completa e funzionante... provare per credere... :slight_smile:
Ho da un po di tempo inserito un topic nella sezione in lingua inglese sulla libreria che ho sviluppato.
Spero di fare cosa utile segnalando la libreria anche qui.
Le caratteristiche della libreria sono:
- (quasi) asincrona: mentre si usano i menu il codice dello sketch viene eseguito senza interrompersi
- uso semplice, codice compatto e facile da leggere
- splash screen all'avvio definito dall'utente; rimane visibile per un periodo configurabile
- callback screen definibile dall'utente; dopo x secondi in cui non si utilizzano i menu, si attiva lo schermo utente
- possibilità di definire callback (azioni) che possono essere attivate dai menu
- ai vari item del menu posono essere associate delle variabili del codice utente (binded variables), per poter leggere i valori settati dal menu direttamente senza chiamare alcuna funzione
- funzioni built-in per usare i menu con 4 o 6 bottoni; l'utente può creare la propria funzione per gestire dei device di input custom (bottoni analogici, rotary encoders ecc..)
- possibilità di salvare/caricare le variabili su EEPROM; il supporto EEPROM può essere disabilitato per risparmiare un po di memoria
In allegato una introduzione (in inglese...) alla libreria:
La libreria è disponibile a:
GitHub - brunialti/MENWIZ_1_3_2: Editable text variables and user grants
Il thread in inglese è:
__MENWIZ: yet another character lcd menu wizard library - #108 by brunialti - Displays - Arduino Forum
MENWIZ_1_3_2_beta.zip (1.35 MB)**

azz, pensavo che avevi fatto una libreria su di me :astonished: :smiley:
Comunque complimenti, mi sembra molto interessante, la metto in scaletta :wink:

Quella su di te è in lavorazione ... :slight_smile:

brunialti:
Quella su di te è in lavorazione ... :slight_smile:

speriamo bene :sweat_smile:

Complimenti! molto interessante...:slight_smile:

Se siete interessati, usatela e fatemi sapere.
Suggerimenti bene accetti.

p.s. in realtà mi sono accorto che nelle funzioni di salvataggio in eeprom mi sono dimenticato di inserire il tipo dati MW_LIST (Menu con scelta tra opzioni multiple). Lo inserirò nella prossima versione.

Ho corretto un paio di bugs nella versione 0.6.1:

  • caratteri spuri su lcd
  • scrittura/lettura su EEPROM ora salva anche lo stato della variabile MW_LIST (lista di opzioni)

Chi è interessato a testare la version 1.0 (versione per me definitiva, almeno per un po di tempo) con utilizzo della memoria Flash per le variabili stringa?

debbo testarla per contratto :slight_smile:

purtroppo non so quando, appena ho un po di tempo la butto su.

complimenti per l'idea :slight_smile:

Tel chi la 1.0 beta
con manuale e tutto.
Attendo feedback.

MENWIZ_1_0_0_beta.zip (652 KB)

Molto interessante, la proverò.

Manuale beta 1.0 aggiornato. C'erano alcuni errori segnalati dalla community in inglese che potrebbero portare ad errori.

MENWIZ_1_0_0_QUICK TOUR.pdf (145 KB)

Ho messo su Github la versione 1.0:
https://github.com/brunialti/MENWIZ/downloads

Le novità sono:

  • uso dell'operatore F() per le stringhe dei menu nei metodi addMenu addItem; questo permette di salvare un considerevole quantitativo di preziosa memoria flash
  • nuovi behaviour per oggetto MW_LIST, è ora possibile visualizzare una lista di opzioni su due o tre colonne, display permettendo...

Il manuale è stato aggiornato, ma se notate incongruenze ed errori vi prego di segnalarmelo, così come in caso di bugs ....

MENWIZ_1_0_0_QUICK TOUR.pdf (148 KB)

Eliminati nella versione 1.0.1. alcuni bug segnalati dalla community di utenti menwiz del forum in inglese.

Ciao e complimenti in anticipo per la condivisione del tuo lavoro.

Un piccolo appunto. Rivedi la struttura delle cartelle all'interno del pacchetto che l'utente scarica, inserendo la libreria in una cartella pronta per essere copiata in /libraries e separando i file che non sono strettamente necessari, vedi il PDF, da essa.

Magari infila dentro a /libraries anche le altre 2 cartelle delle librerie accessorie.

PS:
un'altra cosa.
L'esempio contenuto in Test_ecc.... non ha il nome .ino coerente con quello della cartella che lo contiene (si riferisce ad una versione precedente, immagino) per cui l'IDE non lo carica.

La lib non l'ho testata perché non ho al momento display da usare.

mi sembra un buon suggerimento.
Per evitare di essere accusato di spamming ... :slight_smile: lo faccio la prossima release.

nel file zip ho risistemato i file come suggerito da Leo72

https://github.com/brunialti/MENWIZ/downloads

Sei sicuro? Io ho trovato lo stesso zip :sweat_smile:

nome uguale struttura diversa. Ho provato a scaricarlo per controllare...Oddio si vede di tutto in linea ... :slight_smile:

No, mi spiace. Io trovo ancora tutto come prima.
Te lo allego, ha la fine con (3) perché l'ho scaricato più volte :stuck_out_tongue_closed_eyes:

MENWIZ_1_0_1 (3).zip (656 KB)