|
|
(9 intermediate revisions by 2 users not shown) |
Line 1: |
Line 1: |
| ''interfaccia menu testuale minimale''
| | https://github.com/andreasimonetto/rancio |
| | |
| == Struttura ==
| |
| | |
| un menu e' un albero, terminato da foglie
| |
| | |
| la struttura del menu e' definita in un array di strutture:
| |
| | |
| [''id'']
| |
| node_name=string // nome
| |
| node_parent=''id'' // id del padre
| |
| | |
| le foglie sono definite in un array di strutture:
| |
| | |
| [''id'']
| |
| leaf_name=string // nome
| |
| parent_index=''id'' // id del padre
| |
| type_index=''id'' // id del tipo
| |
| | |
| i tipi dei dati sono definiti in un array di strutture:
| |
| | |
| [''id'']
| |
| type=int // un tipo dati C
| |
| min=n // valore minimo
| |
| max=n // valore massimo
| |
| enum=[] // valori predeterminati
| |
| step=[] // 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 fratello
| |
| * '''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
| |
| * 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
| |