aboutsummaryrefslogtreecommitdiffstats
path: root/drv_MilfordInstruments.c
diff options
context:
space:
mode:
authorandy-b <>2004-05-31 01:31:01 +0000
committerandy-b <>2004-05-31 01:31:01 +0000
commit98aecd949ebdac587dafe715398dbb06d20afe29 (patch)
treeac696164212c48df549e80e10dc7f11cb71eff64 /drv_MilfordInstruments.c
parent0e11140cd6ad9e74e4228af09676b8361e8b65c7 (diff)
downloadlcd4linux-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).
Diffstat (limited to '')
-rw-r--r--drv_MilfordInstruments.c22
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