lunedì 28 febbraio 2011

Android ed i LED

Schiavo della moda consumistica che ci circonda, anche io alla fine ho ceduto ed ho comprato un cellulare Android. Mi sono orientato verso un LG Optimus ONE.

Non voglio dilungarmi sulla qualità del prodotto, ci sono fior fiore di recensioni in giro. Quello che però subito mi ha dato sui nervi è la mancanza del cosidetto notification led.

Ho sempre trovato comodo la notifica luminosa: basta un istante e con sguardo e si sa se si è stato chiamato o meno...

Ho provato le varie alternative (NoLed, Missed Message Flasher...) ma nessuna di queste mi ha soddisfatto. Quello che facevano era accendere il display. Al massimo lavorando sul tempo di accensione si otteneva l'illuminazione del solo tastierino.

Osservando bene il cellulare però era evidente che l'ulliminazione del tastierino è indipendente da quello dello schermo. Il passo successivo è stato di capire come pilotare quest'accensione.

Alla fine questa è stata la parte più semplice. Spulciando sotto

/sys

Ho scoperto il file

/sys/devices/platform/pmic-leds/leds/button-backlight/brightness

che come dice il nome serve per attivare o disattivare il led del tastierino. Basta scriverci un valore di 255 per attivare l'illuminazione. Un valore pari a 0 serve per disattivare l'illuminazione.

Ovviamente per accedere al file bisogna avere un dispositivo root-ato.

Lo step successivo è consistito nel sviluppare un'interfaccia grafica. Sono partito dal progetto NotificationPlus [1], ed ho aggiunto quello che mi serviva:

  • notifica attraverso led
  • personalizzazione durata e numero di blink

Inoltre ho migliorato l'interazione con l'utente (in particolare la logica del "quando smettere di lampeggiare").

Il sorgente della mia versione potete trovarla qui [2]. Mentre il pacchetto *.apk lo potete trovare qui [3].
Per farlo funzionare è necessario prima root-are il telefono e dare

chmod 0666 /sys/devices/platform/pmic-leds/leds/button-backlight/brightness

NON è necessario che l'applicativo abbia i privilegi di root per funzionare.

La licena è la GPL V3, l'icona è tratta dal tema Oxygen di KDE4.

L'applicativo non è firmato. Ed ovviamente devo applicare il disclaimer standard:
l'uso di questo programma è a vostro rischio; non si fornisce alcuna garanzia né esplicita né implicita. C'è il rischio di danneggiare permanentemente il vostro telefonino, di votare un tizio basso con i capelli finti e appassionato di minorenni o di sperare in una fazione politica incosistente.
.

G.Baroncelli


[1] http://code.google.com/p/notification-plus/ (Jeff
Moyer); l'icona è tratta dal tema Oxygen KDE 4,http://people.freedesktop.org/~jimmac/icons/#oxygen

[2] http://cassiopea.homelinux.net/git/?p=notificationplus.git;a=summary
[3] http://cassiopea.homelinux.net/notificationplus/NotificationPlus.apk [sha256: 9d156c5cb0c1f6b66a420f60d347896afbb841e646b73c786eca18a69d3190ec]

My little patches...

Below a list of my patches spread on different projects: Linux kernel [all] 2018-02-01 iversion: Rename make inode_cmp_iversion{+raw}...