From 700387144db81be8ed39c0906ee22cb24ce794c4 Mon Sep 17 00:00:00 2001 From: reinelt <> Date: Thu, 15 Mar 2001 09:47:13 +0000 Subject: [lcd4linux @ 2001-03-15 09:47:13 by reinelt] some fixes to ppdef off-by-one bug in processor.c fixed --- HD44780.c | 24 +++++++++++++++++------- lcd4linux.conf.sample | 12 ++++++------ processor.c | 11 ++++++++--- 3 files changed, 31 insertions(+), 16 deletions(-) diff --git a/HD44780.c b/HD44780.c index 6589ee1..0832d57 100644 --- a/HD44780.c +++ b/HD44780.c @@ -1,4 +1,4 @@ -/* $Id: HD44780.c,v 1.17 2001/03/14 16:47:41 reinelt Exp $ +/* $Id: HD44780.c,v 1.18 2001/03/15 09:47:13 reinelt Exp $ * * driver for display modules based on the HD44780 chip * @@ -20,6 +20,11 @@ * * * $Log: HD44780.c,v $ + * Revision 1.18 2001/03/15 09:47:13 reinelt + * + * some fixes to ppdef + * off-by-one bug in processor.c fixed + * * Revision 1.17 2001/03/14 16:47:41 reinelt * minor cleanups * @@ -315,16 +320,17 @@ static int HD_open (void) error ("open(%s) failed: %s", PPdev, strerror(errno)); return -1; } - + #if 0 - // FIXME: This doesn't work for some reason... if (ioctl(PPfd, PPEXCL)) { - error ("ioctl(%s, PPEXCL) failed: %s", PPdev, strerror(errno)); - return -1; + debug ("ioctl(%s, PPEXCL) failed: %s", PPdev, strerror(errno)); + } else { + debug ("ioctl(%s, PPEXCL) succeded."); } #endif + if (ioctl(PPfd, PPCLAIM)) { - error ("ioctl(%s, PPCLAIM) failed: %s", PPdev, strerror(errno)); + error ("ioctl(%s, PPCLAIM) failed: %d %s", PPdev, errno, strerror(errno)); return -1; } } else @@ -346,6 +352,7 @@ static int HD_open (void) HD_command (0x08, 40); // Display off, cursor off, blink off HD_command (0x0c, 1640); // Display on, cursor off, blink off, wait 1.64 ms HD_command (0x06, 40); // curser moves to right, no shift + return 0; } @@ -736,7 +743,7 @@ int HD_flush (void) if (Txt[row][col]=='\t') break; *p=Txt[row][col]; } - HD_write (buffer, p-buffer, 40); + HD_write (buffer, p-buffer, 40); // 40 usec delay for write } } @@ -749,6 +756,9 @@ int HD_quit (void) { if (PPdev) { debug ("closing ppdev %s", PPdev); + if (ioctl(PPfd, PPRELEASE)) { + error ("ioctl(%s, PPRELEASE) failed: %s", PPdev, strerror(errno)); + } if (close(PPfd)==-1) { error ("close(%s) failed: %s", PPdev, strerror(errno)); return -1; diff --git a/lcd4linux.conf.sample b/lcd4linux.conf.sample index cf24bd7..5f14ec1 100644 --- a/lcd4linux.conf.sample +++ b/lcd4linux.conf.sample @@ -59,13 +59,13 @@ Size 24x2 #Display SIN #Port /dev/tty9 -#Row1 "abcdefghijklmnopqrstuvwxyz" -#Row2 "ABCDEFGHIJKLMNOPQRSTUVWXYZ" +Row1 "Busy %cb%% $r14cs+cb" +Row2 "Load%l1%L$r14l1" -Row1 "*** %o %v ***" -Row2 "%p CPU %r MB RAM" -Row3 "Busy %cb%% $r10cs+cb" -Row4 "Load%l1%L$r10l1" +#Row1 "*** %o %v ***" +#Row2 "%p CPU %r MB RAM" +#Row3 "Busy %cb%% $r10cs+cb" +#Row4 "Load%l1%L$r10l1" # e(x)ecute command in %x* # Row5 %x1 diff --git a/processor.c b/processor.c index 45eaff7..fdda661 100644 --- a/processor.c +++ b/processor.c @@ -1,4 +1,4 @@ -/* $Id: processor.c,v 1.20 2001/03/14 13:19:29 ltoetsch Exp $ +/* $Id: processor.c,v 1.21 2001/03/15 09:47:13 reinelt Exp $ * * main data processing * @@ -20,6 +20,11 @@ * * * $Log: processor.c,v $ + * Revision 1.21 2001/03/15 09:47:13 reinelt + * + * some fixes to ppdef + * off-by-one bug in processor.c fixed + * * Revision 1.20 2001/03/14 13:19:29 ltoetsch * Added pop3/imap4 mail support * @@ -141,8 +146,8 @@ #define ROWS 16 #define GPOS 16 -char *row[ROWS]; -char gpo[GPOS]; +char *row[ROWS+1]; +char gpo[GPOS+1]; int rows, cols, xres, yres, supported_bars, gpos; int token_usage[256]={0,}; -- cgit v1.2.3