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
 

Il Winamp

Passiamo ora a vedere lo schermo che ho creato per il Winamp:
[WinAmp]
showtime 1000
growspeed 100
updateinterval 500
scrollspeed 150
modein
modeout
jump 0
line 1
$showif:$math:$len:$winampartist§§+$len:$winamptitle§§+3§:>>:20: ***
§$winampartist§$showif:$len:$winampartist§§:>>:0: - §$winamptitle§
line 2 $winampposition§ $ascii:126§ $winamplength§ $winampbitrate§ Kbs
line 3 $winampspectrum§
line 4

che produce questo risultato:



Ci sono varie cose da notare, per la precisione:

Non e′ possibile mettere un vu-meter ed uno spectrum analyzer sullo stesso schermo. Lo stesso dicasi se si volesse mettere, che so, lo spectrum analyzer ed una bar.

Nella prima riga troviamo un comando utilissimo, $showif§. La sintassi e′ la seguente:

"$showif:VAL1:op:VAL2:testo§"

in pratica l′istruzione confronta il primo valore con il secondo. Nel caso la condizione venga soddisfatta, viene mostrato il testo (testo, variabile, quello che si vuole...).
Per la lista degli operatori dispobili, date un′occhiata al configuratore di jaLCDs.

Nel caso specifico a cosa lo showif presente nella prima riga? Semplice!
Lo scopo principale della riga e′ di mostrare il nome dell′artista ed il titolo del brano in esecuzione. Se la lunghezza di Autore + Brano supera i 20 caratteri (la larghezza dell′LCD), il testo scrollerà ciclicamente, andando ad "attaccare" la fine del nome del brano con l′inizio del nome dell′autore alla prima ripetizione.
Lo $showif§ serve a rendere la cosa piu′ leggibile.
Quindi, se Autore + Titolo e′ minore di 20, questi vengono mostrati e non succede nulla di particolare (non scrollano).
Nel caso invece che la lunghezza dei due testi (e di altri 3 caratteri, cioe′, " - ", il separatore) superi i 20 caratteri, verrà inserito *anche* il separatore " *** ", che renderà chiaramente leggibile il tutto.

Nella seconda riga vediamo un′altra cosa nuova, $ascii§.
Come si puo′ immaginare, il comando serve a mostrare uno specifico carattere richiamandolo per il suo codice ascii.

la sintassi e′:
"$ascii:codice§, dove codice e′ un valore numerico da 0 a 255."

Ora che abbiamo visto il primo comando condizionale ($showif§), passiamo ad esaminare gli altri a disposizione.

I salti condizionali sono effettuati con il comando $if§, la cui sintassi e′:
"$if:VAL1:op:VAL2:Target§"

Cioe′:

Se il confronto tra il valore1 ed il valore2 soddisfa la condizione, si eseguirà un salto allo schermo chiamato Target.

Se si vuole un′applicazione pratica di questo comando, fate cosi′: Nella prima riga dello schermo immediatamente successivo a Netstats, andate ad inserire, come primo comando, cio′ che segue:

"$if:$dlspeed0§:>>:20:Netstats§"

A che serve?
Se la velocità di download supera i 20 Kbps, allora si torna allo schermo di netstats. In pratica, per meglio monitorizzare i downloads, lo schermo rimarrà fisso a Netstats finche′ il download (che deve avere una velocità comunque superiore a 20kbps) non termina.
Utile, vero? In realtà, gli usi che questo comado concede sono molto ampie, come vedremo in seguito.

L′altro comando condizionale e′ legato al Blink del testo.
Come avrete visto, sfogliando i vari comandi, e′ possibile visualizzare testo che lampeggia.

In questo caso, lo si puo′ far lampeggiare solo in determinate condizioni.
La sintassi e′ praticamente identica a quella gia vista precedentemente.

Un piccolo esempio:

"$blinkif:$mail1§:>>:0:You have $mail1§ emails§"

Finche′ ci saranno 0 email il testo comparirà come:

You have 0 emails

Come le email arrivano, il testo lampeggerà.

I salti condizionali possono essere, ad esempio, molto utili per segnalare condizioni anonime, come il sovrariscaldamento della CPU o la carenza di ram, facendo, magari, lampeggiare la retroilluminazione del display, o avviando programmi esterni.

 
^