Introducción.

Este es un manual que explica cómo utilizar un LCD USB Crystalfontz
634
. El mío concretamente es un CFA634-TFB-KU como el de la imagen de abajo:

LCD Crystalfontz

Asimismo, está basado en mi experiencia personal, y con ello no garantizo la absoluta eficacia producto de
seguir este manual, simplemente pretendo que sirva de referencia ante la escasa documentación en español para quien quiera
hacer funcionar su LCD USB/serie Crystalfontz en Linux.



Software

  • Linux kernel 2.6. En mi caso particular concretamente un 2.6.11. Este LCD también funciona con la serie 2.4 del kernel pero hay que instalar el driver FTDI aparte.

  • lcd4linux. Lo considero el mejor software para usar un LCD en Linux. También existen otros programas que puedes examinar por tu cuenta como lcdproc y lcdmod.



Configuración del kernel

A no ser que tu distribución detecte el conversor serie-usb del LCD automáticamente, habrá que compilar un nuevo kernel
para dar soporte al mismo. Puedes saber si está detectado abriendo una consola como root y ejecutando:

# cat /proc/bus/usb/devices


Deberás buscar entre tanto texto un párrafo referente a tu LCD en el que ponga algo de Crystalfontz. En mi caso:

T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=12 MxCh= 0
D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1
P: Vendor=0403 ProdID=fc09 Rev= 2.00
S: Manufacturer=Crystalfontz
S: Product=Crystalfontz CFA-634 USB LCD
S: SerialNumber=CFC850NR
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=490mA
I: If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=ftdi_sio
E: Ad=81(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms


Si tu distribución ha detectado el conversor del LCD, en la parte referente al driver (en negrita) debería aparecer identificado ftdi_sio y podrás omitir este paso. Si no lo ha detectado, en ese apartado no pondrá nada, y tendrás que compilar un kernel nuevo.

No voy a explicar aquí cómo se configura/compila/instala un kernel para no hacer redundante este documento, me limitaré a decir qué parte son esenciales para el funcionamiento del LCD:

Device Drivers --->
USB support --->


Y selecciona UHCI, OHCI o EHCI según tu modelo de placa, para tener soporte USB. En mi caso (y en el de la mayoría) elijo EHCI y UHCI.

Device Drivers --->
USB Support --->
USB Serial Converter support --->
<*> USB Serial Converter support
<*> USB FTDI Single Port Serial Driver (EXPERIMENTAL)


Si todo ha ido bien, al arrancar con el nuevo kernel, tu LCD ya debería estar identificado con el driver ftdi_sio como he puesto antes. Crytalfontz provee mediante la página del producto de las fuentes de un pequeño programa escrito en C con el que podrás testear el aparato.  Aunque ya viene especificado en el readme dentro del archivo comprimido, al ejecutable resultante se le aplican dos parámetros (puerto y velocidad en este orden). En mi caso el puerto es /dev/usb/tts/0 y la velocidad 19200 baudios (la versión anterior usa 9600).


Instalación de lcd4linux

Debido a que actualmente la última versión que se encuentra en el árbol oficial de paquetes de Gentoo (la distribución que uso) es la 0.9.11, he compilado a mano la última versión sin usar el sistema de Gentoo. El motivo de esto es que la última versión (0.10) supone una reescritura total del código y afecta entre otras cosas al formato del fichero de configuración, de modo que usar una versión inferior invalida totalmente la explicación de
este manual. Puedes ir a su página oficial, bajarlo y descomprimirlo.

./configure
make
make install


Nos situamos en el directorio donde estén descomprimidas las fuentes y, como acabo de especificar, usamos el método de siempre: configurar, compilar e instalar. En la documentación de la página oficial se incluye un script que podemos usar como servicio al inicio para que cargue automáticamente al arranque.

Configuración de lcd4linux

Para una correcta configuración tendremos que hacer uso de la documentación, que nos guiará según el modelo de
LCD que tengamos. Esta es la estructura básica muy resumida y sintetizada que servirá para comprender mejor cómo
funciona. En la página de lcd4linux puedes encontrar un fichero de configuración de ejemplo.

Display XX {
}

Plugin XX {
}

Widget XX {
}

Layout Ejemplo {
        Row1 {
            Col1 'XX'
            }
        Row2 {
            Col1 'XX'
            Col10 'XX'
            }
        Row3 {
            Col1 'XX'
            Col11 'XX'
            }
        Row4 {
            Col1 'XX'
            Col11 'XX'
            }
}

Layout 'Ejemplo'

Variables {
        tick 500
        tack 100
        minute 60000
}


  • Display. Aquí se indica el tipo de LCD que tienes y sus parámetros de configuración como pueden ser el puerto, la velocidad o el driver que usa.

  • Plugin. Sólo sirve para configurar los parámetros en caso de que uses alguno de los plugins de que dispone lcd4linux.

  • Widget. Pueden haber tantos como necesites, digamos que son los elementos preconfigurados que luego insertarás mediante Layout.

  • Layout. Aquí es donde colocarás los widgets que hayas preconfigurado, como se puede ver a simple vista, se colocan empezando a contar en la columna que se especifique, dentro de la fila que estemos configurando.

  • Variables. Son variables de reloj internas, los valores por defecto suelen ser válidos.


Layout 'Ejemplo' sirve para decir a lcd4linux qué esquema queremos usar. Esto es útil porque podemos tener varios preconfigurados, y alternar entre ellos cambiando sólamente el nombre de esta variable.

Para verlo funcionar por primera vez podemos usar cualquiera de los widgets y layouts que tiene el archivo de configuración de ejemplo, y luego ir personalizándolo poco a poco. Una vez tengamos el fichero de configuración hecho a medida, lo llamaremos lcd4linux.conf y lo copiaremos en la carpeta /etc, para lo cual tendremos que tener permisos de root.

Ejecución y resultado

Ya tenemos el soporte necesario en el kernel y lcd4linux está configurado. Desde consola y con permisos de root, ejecutamos:

# /usr/local/bin/lcd4linux


y si todo ha ido bien, el LCD debería empezar a mostrar información... voilá!.


Aquí tenemos a mi LCD dando sus primeros pasos en Linux. Sólo muestra dos líneas porque usé la configuración de mi antiguo LCD de dos líneas, ahora mismo lo he reconfigurado para que muestre información en las cuatro líneas.

LCD Crystalfontz USB en Linux

Bueno, eso es todo, espero que esta guía te haya servido de ayuda, y si no te ha servido de ayuda, que por lo menos hayas disfrutado viendo la foto de mi LCD :-p.
Friday 17 June 2005 @ 10:55 pm
« Plantilla para Nokia | Portada | Sincronizar fecha y h… »
MV |
30 10 2007 - 07:10

Gracias por la información, me ha sido muy útil para instalar mi CFA-635 en Slackware 11.0. Antes tenía un LCD CrystalFontz serial, y al pasar a uno USB simplemente me perdí.

RIchart |
07 11 2008 - 16:23

Hola amigo bueno muy interesante, soy nuevo en esto favor pudieran ayudarme: tengo un LCD que lo saque de tarifador de locutorio tien 16 columnas y 2 filas (Sera compatible este lcd?) ya hice la conexion hacia el puerto paralelo no logro desplegar ninguna informacion, segun tu cometario el que aconsejas es lcd4linux podrias ayudarme a instalarlo? gracias de ante mano

Enlace para trackback:

Please enable javascript to generate a trackback url











¿Recordar información?:

Textile

Rellena esta simple casilla. Es un sencillo sistema para evitar los comentarios automatizados de spam.
 






Importante: Se eliminarán todas las etiquetas de tu comentario excepto <b> y <i>. Puedes hacer enlaces escribiéndolos simplemente, pero nunca introduciendo más de tres por comentario. Usa el sentido común.
Giingo
Funcionando con Pivot | La licencia del contenido es Creative Commons BY-NC-SA (ver texto completo) | Archivos de la bitácora.