LCD virtual (3)

      1 Comment on LCD virtual (3)

Y como siempre, después de terminar mas o menos el invento y buscando mas información para hacer un driver para lcdproc que directamente me escriba un fichero con el formato que necesito (el driver de texto solo usa ASCII y por tanto no es capaz de representar caracteres definidos por el usuario) me he dado cuenta de que el otro programa superviviente para LCDs en Linux, el LCD4Linux, tiene un driver que se llama ‘raster’ que te crea directamente una imagen PNG o PPM emulando al LCD y la coloca donde le digas. Vamos que sirve para casi lo mismo que yo quería hacer, salvo que mi Flash se actualiza automaticamente y se puede reescalar, mientras que este PNG tiene un tamaño fijo aunque eso si, carga mucho menos la CPU que mi Flash.
Parece que el desarrollo del LCD4Linux no está tan estancado como el del lcdproc, al menos eso se deduce de las información de sourceforge. Están trabajando en una nueva versión completamente remodelada pero la última release aún funciona.
El LCD4Linux es igual de complicado de instalar que el lcdproc aunque al no ser de arquitectura cliente servidor es mas fácil de poner en marcha.
No lo estaba usando por que el LCD4Linux NO tiene control por software del backlight de un LCD como el mio, compatible con el HD44780, con el esquema de conexiones compatible winamp y el control de backlight por la patilla 17 (Selectin). El lcdproc si lo soporta. He tenido que hacer un apaño hardware (un hilo soldado desde los +5V a la entrada del transistor) para mantenerlo siempre encendido y poder ver algo en el LCD.
Para instalar el LCD4Linux primero hay que descargarse el tarball y descomprimirlo. Hacemos un configure usando el parametro --with-drivers= seguido de los drivers que vamos a usar, en mi caso el Hitachi, que es el chip de mi LCD comprado en
CrystalFontz y el PNG.

make clean
./configure –with-drivers=HD44780,PNG

por supuesto, como no podia ser de otro modo, esto da un warning a mitad de configuración diciendo que no tengo instaladas las librerias gd. Es mentira, falso, me engaña… ¿como se cree si no que estoy sacando desde php estos bonitos titulares en mi blog?
Pero en fin, despues de buscar durante un buen rato la manera de contarle al configure donde se encontraban los .h y .so del gd, me di por vencido y lo instalé de nuevo.
Ale, a descargar otro tarball, otro ./configure, otro make install y a reanudar la recompilación del LCD4Linux

make clean
./configure –with-drivers=HD44780,PNG
make
make install

Ahora si, ejecuto el LCD4Linux con esta configuracion en el fichero /etc/lcd4linux.conf:

Display PNG
Size 20×4
font 5×8
pixel 2+1
gap 2×2
border 10
foreground #A8EC09
halfground #1432BE
background #1B3CD5

Los colores son los de un LCD azul, iguales que los que he usado en el Flash, pero se pueden cambiar. Los tamaños están elegidos para que el LCD virtual sea lo mas pequeño
posible respetando las proporciones entre pixeles y espacios. Aún así es bastante grande para mi gusto, pero no se pueden dividir los pixels de una pantalla.

lcd4linux -f /etc/lcd4linuxraster.conf -o (…)wp-content/lcdvirtual/lcd4linux.png


lcd4linux Raster image

Sale perfectamente, salvo por el hecho de que los iconos definidos por el usuario no se ven, que sigo teniendo problemas con la caché y obviamente, la imagen no se actualiza sola.

Me gustaría poder escribir un driver para el LCD4linux que se comunicase con mi Flash mediante un socket XML para hacerlo realmente real-time, pero me da muuuucha pereza ponerme a investigar el codigo fuente del LCD4Linux y la forma en la que se programan los
drivers, mas aun despues de darme cuenta de lo ‘oxidado’ que tengo la programación en C… si es que lo de la programación orientada a objetos es mucho mejor!!! 🙂
En fin, si saco fuerzas de flaqueza pondre a pelearme con el CVS y a estudiarme los fuentes.

1 thought on “LCD virtual (3)

  1. Richart

    Espectacular por la informacion me libera de algunas dudas, pero hasta ahora no puedo hacerlo correr en Centos 5 el lcd4linux me gustaria sacar informacion (Temperatura IP wan Lan, etc ) ayuda por favor (Pasos para la instalacion de lcd4linux) gracias de ante mano!!!!!!

Leave a Reply

Your email address will not be published. Required fields are marked *