The pyramid Driver

Stefan Reinauer

This section talks about using LCDproc with programmable LC displays sold by Pyramid Computer.

Pyramid Computer builds these LC displays into its thriving server products to show system data, and to allow the user to change important parameters or shut down the appliance in a controlled manner. The LCD module, accessible via USB, can be integrated by Pyramid's BTO server and appliance manufacturing division at the customer's request or it can be made available separately for self-integration, e.g. as a 5.25" module.

Features

The displays are 16 characters wide and 2 lines high. They have 4 programmable buttons as well as 3 (or 9) LEDs which can also be software controlled.

Connector

The display is connected to the host system using USB, with the usual USB pinout as shown below. The +5V VCC pin is marked with red colour.

Table 5.17. USB Pinout

GNDD+D-VCC
GNDP0+P0-+5V

Requirements

For Linux the driver depends on features of the ftdi_sio.ko that have only been added to version 2.6.15 version of the 2.6 kernel series. For older Linux kernels of the 2.6 series these patches to ftdi_sio.c may help:

LED output

I've added support for the LEDs on the Pyramid LC-Display to the "pyramid" driver of lcdproc.

Since it seems that LEDs on an LCD are not directly supported by the lcdproc API I've used the "output" command of the server to trigger the LEDs, similar to what the IOWarrior driver does.

The Pyramid LC displays come in two different versions, with 3 and with 9 LEDs. Two of these LEDs can not be controlled by software but are usually hard wired to power and HDD. The other 1 or 7 LEDs can now be controlled by sending an output command to the server.

The argument to the output command is a bitmask that controls the LEDs according to the table below:

Table 5.18. Mapping of output bits to LEDs

BitLED
03
14
25
36
47
58
69


For the LCDd server there is no way to find out whether 3 or 9 LEDs are available, so it is up to the client software to do the right thing.

Example 5.7. Pyramid: How to use the LED output from the client

telnet localhost 13666
hello
output 67

will light up LEDs 3, 4 and 9.

output 0

will clear all LEDs.


More information on the Pyramid LC-Display can be found here: http://www.pyramid.de/en/products/specialities.php

Configuration in LCDd.conf

[pyramid]

Device = DEVICE

Device to connect to. Default: /dev/lcd