Guida completa a jaLCDs

Guida completa a jaLCDs

Carlo "Dhs" Demichelis ha scritto per noi una dettagliatissma guida per lo jaLCDs, il piu′ completo, e complicato, programma di gestione di un display LCD basato su interfaccia Hitachi HD44780.

di pubblicato il nel canale Modding
 

Le bargraph

Adesso cominciamo a vedere le cose veramente interessanti

Bargraph:

questo comando consente di visualizzare graficamente, tramite una barra liberamente dimensionabile (in orizzontale) i propri valori numerici.

Il comando consta di vari parametri.
(PS: leggete e ricordate per i futuro: quando parlo di parametri ricordate che questi potranno *sempre* essere sia valori fissi che variabili...).

la sintassi e′ quindi:

"$bar:a:b:c:d:e:f§"

dove:

a = riga di partenza
b = colonna di partenza
c = lunghezza della barra (in caratteri)
d = valore minimo
e = valore da mostrare
f = valore massimo

Vediamo un esempio pratico (in tutti gli esempi da qui in avanti suppongo che si disponga di un LCD da 20x4).
Supponiamo di voler mostrare, sulla stessa riga, il valore percentuale di occupazione della CPU, e, a fianco di questo, una barra grafica che mostri lo stesso dato graficamente.

"CPU: $cpuload§$bar:1:10:11:0:$cpuload§:100§"

Cosa succede?

Scriviamo (in testo) la parola CPU:
Inseriamo la variabile che ci mostrerà, numericamente, la percentuale di occupazione.
Definiamo una barra che parta nella riga 1, dalla colonna 10, per una lungezza massima di 11 caratteri, con un valore minumo di 0, il valore di cpuload, che ha un valore massimo di 100.

Carino, eh?

ma! Cosa e′ quella roba li?!
Notiamo una cosa.

Il valore numerico della cpu puo′ essere lungo da 1 a 3 caratteri (es: 1, 22, 100). Quando viene mostrato sullo schermo, il valore viene sempre allineato a sinistra, cosa non propriamente bella da vedersi...

che facciamo?

Andiamo a vedere il comando $format§
Questo comando consente appunto di "formattare" un valore numerico in modo tale che questo venga presentato secondo i nostri voleri La sintassi e′:

"$format:VAL:FORMAT§"
dove VAL e′ il valore da formattare, FORMAT e′ il formato.
il sistema per specificare la formattazione e′ lo stesso del Visual Basic o di exel, quindi potete fare riferimento a quelli.

Per ottenere, ad esempio, il valore *decimale* di occupazione della cpu possiamo semplicemente scrivere:

"$format:$cpuload§:0.0§

nel nostro caso, facciamo in modo che il valore percentuale venga *sempre* mostrato di 3 cifre. Qundi, la riga di prima varierà cosi′:

"CPU: $format:$cpuload§:000§$bar:1:10:11:0:$cpuload§:100§"

Seguendo questo esempio, possiamo, ad esempio, mostrare dei dati relativi all′occupazione della ram nella seconda riga:

"RAM: $ramfree§ $bar:2:10:11:0:$ramfree§:$ramtotal§§"

Mostriamo quindi il valore numerico della ram libera, dopodiche′ definiamo una barra, che parte nella riga 2, colonna 10, lunghezza 11, con valore minumo 0, con il contenuto della ram libera ($ramfree§) e definendo come valore massimo quello reale, che e′ contenuto nella variabile $ramtotal§.

Notare che alla fine della linea ci sono 2 simboli "§". Questo perche′ quello piu′ esterno chiude l′istruizione "bar", quello piu′ a sinistra fa parte della variabile $ramtotal§.

Completiamo il nostro primo screen inserendo nella terza riga i seguenti comandi:

"$date§ $time§

continuando a scorrere la lista delle funzioni scopriamo l′Advanced Bargraph. Che e′?!
E′ una barra del tutto simile alla precente, con la differenza che ci consente di inseire, in maniera grafica, all′interno della grafica, un valore (di massimo 5 caratteri).

Pensate a quello che penso io?

Andate alla prima riga e modificatela cosi′:

"CPU $advbar:1:5:16:0:$cpuload§:100:$cpuload§%:1§"

Scriviamo la parola CPU seguita da uno spazio.
Definiamo una advbar che inizi alla riga 1, colonna 5, lunga 16 caratteri, con valore minimo 0, che mostri il valore di cpuload, che ha un valore massimo di 100, scriviamo il valore numerico di cpuload piu′ il segno percentuale a partire dalla posizione 1 (si conta dall′inizio della barra).

Abbiamo cosi′ ottenuto una barra piu′ lunga senza pero′ eliminare il valore numerico di del dato visualizzato. Mica male, eh?

Adesso vi faccio fare un bell′esperimento!

Clickate Add e create un nuovo schermo chiamato "clock".
Sulla destra dategli un time to show di almeno 10000.
Selezionate una riga (una qualsiasi), e scriveteci dentro

"$clock2§ "

Salvate la vostra configurazione, caricatela con jalcds e quando viene mostrato l′orologione......... 00.00 ?!?!?!!? Ma come?!?!!?

Ok, Windows:
Start, pannello di controllo, Opzioni internazionali e della lingua, personalizza...

settate come segue:

Sotto il tab "ora" :
Formato ora: HH:mm:ss
Separatore ora: : (il simbolo ":")

Sotto il tab "Data":

Formato data breve: gg.MM.aaaa
Separatore data: . (il simbolo ".")
Formato data estesa: gggg, g. MMMM aaaa

Applica, ok, guardate il vostro LCD.
Che bello, ora avete il vostro orologione da 2/3/4/5 milioni, a seconda di quanto avete pagato il PC e quanto ci avete messo dentro tra schede, schifezze varie e modding. :)

 
^