aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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