Go Down

Topic: MENWIZ: una libreria per creare menu su LCD (Read 30400 times) previous topic - next topic

brunialti

Jul 23, 2012, 09:41 am Last Edit: Sep 10, 2014, 01:05 pm by brunialti Reason: 1
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.com/brunialti/MENWIZ. In teoria è completa e funzionante... provare per credere... :-)

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:
https://github.com/brunialti/MENWIZ_1_3_2

Il thread in inglese è:
http://arduino.cc/forum/index.php/topic,99693.msg866553.html#new


Michele Menniti

azz, pensavo che avevi fatto una libreria su di me :smiley-eek: :D
Comunque complimenti, mi sembra molto interessante, la metto in scaletta ;)
Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

brunialti

Quella su di te è in lavorazione ... :-)

Michele Menniti

Guida alla programmazione ISP e seriale dei micro ATMEL (Caricare bootloader e sketch):
http://www.michelemenniti.it/Arduino_burn_bootloader.php
Guida alla Programmazione ATmega328 noP:
http://www.michelemenniti.it/atmega328nop.html
Articoli su Elettronica In:
http://www.michelemenniti.it/elettronica_in.html

alexdb


brunialti

#5
Jul 23, 2012, 03:45 pm Last Edit: Jul 23, 2012, 05:44 pm by brunialti Reason: 1
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.

brunialti

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?

Testato

debbo testarla per contratto  :)

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

complimenti per l'idea  :)
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

brunialti

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



brunialti

#10
Jul 27, 2012, 08:29 am Last Edit: Jul 27, 2012, 08:52 am by brunialti Reason: 1
Manuale beta 1.0 aggiornato. C'erano alcuni errori segnalati dalla community in inglese che potrebbero portare ad errori.

brunialti

#11
Jul 29, 2012, 07:31 pm Last Edit: Jul 29, 2012, 07:41 pm by brunialti Reason: 1
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 ....

brunialti

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

leo72

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.

leo72

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.

Go Up