[Lcdproc] Changes to get EA-DOGM163 + four keys working with hd44780-lcd2usb driver
Malte Pöggel
malte at maltepoeggel.de
Fri Feb 20 14:41:55 UTC 2009
Hi,
i am currently developing a front panel LCD which is using a EA-DOGM163.
This display has a Sitronix ST7036 Controller. Every next line in "3 line"
mode starts 0x10 higher, if i enable the "extended mode" it would fix it a
bit, but to 0x20... I have added a new parameter "LINEADDRESS" to change the
default 0x20 value in extended mode:
The new parameter in struct driver_private_data (hd44780-low.h):
+ int line_address; // line address in extended mode
Reading the configuration on hd44780.c:
//// READ THE CONFIG FILE
[...]
+ p->line_address = drvthis->config_get_int(drvthis->name,
"lineaddress", 0, 0);
And in the HD44780_position function:
+ int lineaddress;
if (p->ext_mode) {
+ // Linear addressing, each line normally starts 0x20 higher.
+ if(p->line_address) lineaddress = p->line_address; else
lineaddress=0x20;
+ DDaddr = x + relY * lineaddress;
} else {
[...]
Another confusing thing is that the keys aren't converted to scancodes in
the hd44780-lcd2usb.c.
I found out that this is for those who have only the 2 keys of the original
design, to have a virtual third key by pressing both buttons.
In my case i added two keys to two additional ports - and now the value has
to be converted to a scancode.
Maybe it would be nice to add a parameter there, too - for those who would
use the 2 ("3") keys and for those who use a custom layout / AVR firmware
and more buttons.
Malte
Ps: Could somebody fix the link of my homepage, mentioned in the LCDproc
users guide (serialVFD Driver)? The old URL isn't working anymore - should
be changed to http://www.maltepoeggel.de/index.php?site=vfd
More information about the LCDproc
mailing list