aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--HD44780.c24
-rw-r--r--lcd4linux.conf.sample12
-rw-r--r--processor.c11
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,};