RancioLib: Difference between revisions
Jump to navigation
Jump to search
Line 56: | Line 56: | ||
* http://www.dtweed.com/circuitcellar/caj00160.htm#2821 | * http://www.dtweed.com/circuitcellar/caj00160.htm#2821 | ||
* http://mat.midlight.eu/wiki/index.php/Simple_LCD_Menu_Main_Page | * http://mat.midlight.eu/wiki/index.php/Simple_LCD_Menu_Main_Page | ||
* https://sites.google.com/site/hubmartin/arm/lcd-menu-v2 |
Revision as of 11:37, 17 September 2013
interfaccia menu testuale minimale
Struttura
un menu e' un albero, terminato da foglie
la struttura del menu e' definita con un array di strutture C:
struct node { char node_name[16]; // nome uint16_t parent_node_id; // id del padre uint16_t node_type_id; // id del tipo };
i tipi dei dati sono definiti in un array di strutture C:
struct type { uint32_t value_min; // valore minimo uint32_t value_max; // valore massimo uint32_t enum[16]; // valori predeterminati uint32_t step[16]; // incrementi possibili }
Input
la navigazione richiede ALMENO 6 tasti:
- UP seleziona il fratello precedente
- DOWN seleziona il fratello sucessivo
- LEFT decrementa il valore
- RIGHT incrementa il valore
- IN entra nel nodo selezionato
- OUT entra nel padre
Output
gli elementi grafici eventualmente visualizzabili sono:
- nome del nodo padre
- nome del nodo fratello precedente
- nome del nodo corrente necessario se foglia
- nome del nodo selezionato necessario se non-foglia
- nome del nodo fratello successivo
- valore del nodo (se foglia) necessario
Altre lib
- http://forum.arduino.cc/index.php?topic=99693.0;wap2
- http://www.spectron.us/SM6FIE/Electronics/Ms2MenuSystem/Ms2MenuSystem.php
- http://www.dtweed.com/circuitcellar/caj00160.htm#2821
- http://mat.midlight.eu/wiki/index.php/Simple_LCD_Menu_Main_Page
- https://sites.google.com/site/hubmartin/arm/lcd-menu-v2