-/* $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
*
*
*
* $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
*
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
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;
}
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
}
}
{
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;
-/* $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
*
*
*
* $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
*
#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,};