This driver supports the serial and USB interface alphanumeric display modules by Matrix Orbital Corporation and some SureElectronics USB LCD boards.
The USB versions simply use an USB-to-serial converter (probably pl2303), and use the same protocol as on the serial port. So you just have to change the Port entry in the config file to get them to work.
The driver fully supports the text, bar and icon widgets.
All the cool features of the newer displays (GPO's, PWM outputs, fan speed measurement) are supported by the driver.
Display Section
Display <name> { Driver 'MatrixOrbital' Model <string> Port <string> Speed <number> Contrast <number> Backlight <number> Icons <number> }
Parameters
Driver | 'MatrixOrbital' |
Model | see below |
Port | serial device the display is attached to (e.g.'/dev/ttyS2') |
Speed | the baud rate from the display must match this value. Possible values are 1200, 2400, 9600 and 19200 |
Contrast | initial contrast value, 0..255 (default is 160) |
Backlight | initial backlight state, 0..255 (note: this means 'backlight on for n minutes) |
Icons | Number of user-defined chars reserved for Icons (default: 0) |
Models
The driver supports various different MatrixOrbital displays, which can be selected with the Model parameter:
Model | Size | Protocol |
LCD0821 | 2×8 | 1 |
LCD2021 | 2×20 | 1 |
LCD1641 | 4×16 | 1 |
LCD2041 | 4×20 | 1 |
LCD4021 | 2×40 | 1 |
LCD4041 | 4×40 | 1 |
LK202-25 | 2×20 | 2 |
LK204-25 | 4×20 | 2 |
LK404-55 | 4×40 | 2 |
VFD2021 | 2×20 | 1 |
VFD2041 | 4×20 | 1 |
VFD4021 | 2×40 | 1 |
VK202-25 | 2×20 | 1 |
VK204-25 | 4×20 | 1 |
GLC12232 | ??? | 1 |
GLC24064 | ??? | 1 |
GLK24064-25 | 240×64 | 1 |
GLK12232-25 | 122×32 | 1 |
LK404-AT | 4×40 | 2 |
VFD1621 | 2×16 | 1 |
LK402-12 | 2×40 | 2 |
LK162-12 | 2×16 | 2 |
LK204-25PC | 4×20 | 2 |
LK202-24-USB | 2×20 | 2 |
LK204-24-USB | 4×20 | 2 |
DE-LD011 | 2×16 | 3 |
DE-LD021 | 4×20 | 3 |
The models differ (apart from the protocol) in the size only.
There's an old Protocol (1) an a newer one (2). All current models use Protocol 2, which supports Display autodetection. So if you have a newer display, you can try to omit the 'Model' parameter, and see ic LCD4Linux auto-detects your display.
Sure electronics USB LCD boards like DE-LD011 (16×2) and DE-LD021 (20×4), which emulates MatrixOrbital protocol, uses protocol 3. Also, You have to set Speed as 9600 in this case.
Plugins
The driver provides the following functions (depends on the display model):
LCD::contrast() | return current contrast setting |
LCD::contrast(n) | set contrast to n (0..255) |
LCD::backlight() | return current backlight setting |
LCD::backlight(n) | set set backlight off (0) or on for n minutes (1..255) |
LCD::GPO(n) | return value of GPO number n (1..6) |
LCD::GPO(n, v) | set GPO n(1..6) to value v (0..255) see note below! |
LCD::GPI(n) | return value of RPM input number n (1..6) |
Note: Some MatrixOrbital Displays are able to control the speed of one or more fans, and read the speed back. This has been implemented using the GPIO driver. As these displays have normal GPO's, too, and the number of fans differs from model to model, the normal GPO's are turned on with a value of 255 (and not 1, as you'd probably expect), and there's sort of a hysteresis in turning it off again….
Example for a LK-202: (three fan outputs, three normal GPO's)
LCD::GPI(1) | return speed of fan 1 |
LCD::GPI(3) | return speed of fan 3 |
LCD::GPI(4) | returns always zero (only three fans supported) |
fan PWM control:
LCD_GPO(1,0) | turns fan 1 off |
LCD_GPO(1,128) | sets fan 1 to 50% |
LCD_GPO(1,255) | sets fan 1 to 100% |
normal GPO control:
LCD_GPO(4,0) | turns GPO 4 off |
LCD_GPO(4,128) | GPO 4 is still off |
LCD_GPO(4,254) | GPO 4 is still off |
LCD_GPO(4,255) | turns GPO 4 on |
LCD_GPO(4,254) | GPO 4 is still on! |
LCD_GPO(4,1) | GPO 4 is still on! |
LCD_GPO(4,0) | now turns GPO 4 off |
Keypad
at the moment (lcd4linux-0.10.0) there is no support for keypads.