diff options
author | andy-b <> | 2004-05-31 01:31:01 +0000 |
---|---|---|
committer | andy-b <> | 2004-05-31 01:31:01 +0000 |
commit | 98aecd949ebdac587dafe715398dbb06d20afe29 (patch) | |
tree | ac696164212c48df549e80e10dc7f11cb71eff64 | |
parent | 0e11140cd6ad9e74e4228af09676b8361e8b65c7 (diff) | |
download | lcd4linux-98aecd949ebdac587dafe715398dbb06d20afe29.tar.gz |
[lcd4linux @ 2004-05-31 01:31:01 by andy-b]
fixed bug in Milford Instruments driver which drew extra graphics chars in
odd places when drawing double bars. (the display doesn't like it if you put
the escape character 0xfe inside a define char sequence).
-rw-r--r-- | drv_MilfordInstruments.c | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/drv_MilfordInstruments.c b/drv_MilfordInstruments.c index eaac408..4cbf9be 100644 --- a/drv_MilfordInstruments.c +++ b/drv_MilfordInstruments.c @@ -1,4 +1,4 @@ -/* $Id: drv_MilfordInstruments.c,v 1.3 2004/05/28 13:51:42 reinelt Exp $ +/* $Id: drv_MilfordInstruments.c,v 1.4 2004/05/31 01:31:01 andy-b Exp $ * * driver for Milford Instruments 'BPK' piggy-back serial interface board * for standard Hitachi 44780 compatible lcd modules. @@ -27,14 +27,12 @@ * * * $Log: drv_MilfordInstruments.c,v $ - * Revision 1.3 2004/05/28 13:51:42 reinelt + * Revision 1.4 2004/05/31 01:31:01 andy-b * - * ported driver for Beckmann+Egle Mini-Terminals - * added 'flags' parameter to serial_init() * - * Revision 1.2 2004/05/26 11:37:36 reinelt - * - * Curses driver ported. + * fixed bug in Milford Instruments driver which drew extra graphics chars in + * odd places when drawing double bars. (the display doesn't like it if you put + * the escape character 0xfe inside a define char sequence). * * Revision 1.1 2004/05/26 05:03:27 reinelt * @@ -112,9 +110,13 @@ static void drv_MI_write (int row, int col, unsigned char *data, int len) static void drv_MI_defchar (int ascii, unsigned char *buffer) { + int i; char cmd[2]="\376x"; if (ascii<8) { cmd[1]=(char)(64+ascii*8); + for ( i=0; i<8; i++) { + buffer[i]&=0x1f; + }; drv_generic_serial_write (cmd, 2); drv_generic_serial_write (buffer, 8); } @@ -142,7 +144,7 @@ static int drv_MI_start (char *section) Model=i; info ("%s: using model '%s'", Name, Models[Model].name); - if (drv_generic_serial_open(section, Name, 0)<0) return -1; + if (drv_generic_serial_open(section, Name)<0) return -1; // initialize global variables DROWS = Models[Model].rows; @@ -199,7 +201,7 @@ int drv_MI_init (char *section) YRES = 8; // pixel height of one char CHARS = 8; // number of user-defineable characters CHAR0 = 0; // ASCII of first user-defineable char - GOTO_COST = 2; // number of bytes a goto command requires + GOTO_COST = 4; // number of bytes a goto command requires // real worker functions drv_generic_text_real_write = drv_MI_write; @@ -219,7 +221,7 @@ int drv_MI_init (char *section) return ret; // initialize generic bar driver - if ((ret=drv_generic_text_bar_init(0))!=0) + if ((ret=drv_generic_text_bar_init())!=0) return ret; // add fixed chars to the bar driver |