diff options
author | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2000-12-01 20:42:37 +0000 |
---|---|---|
committer | reinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f> | 2000-12-01 20:42:37 +0000 |
commit | 1c777e24c11a4d5c6360a6f75f6adedffe550e10 (patch) | |
tree | b5129b166de0a009b7f65efd87091892157e7e22 | |
parent | 5414619565f3ecdc905f5f5be27fef953a7fa436 (diff) | |
download | lcd4linux-1c777e24c11a4d5c6360a6f75f6adedffe550e10.tar.gz |
[lcd4linux @ 2000-12-01 20:42:37 by reinelt]
added debugging of SIN driver output, probably found the positioning bug (format %02x instead of %2x)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@74 3ae390bd-cb1e-0410-b409-cd5a39f66f1f
Diffstat (limited to '')
-rw-r--r-- | SIN.c | 29 | ||||
-rw-r--r-- | lcd4linux.conf.sample | 19 |
2 files changed, 37 insertions, 11 deletions
@@ -1,4 +1,4 @@ -/* $Id: SIN.c,v 1.3 2000/12/01 07:20:26 reinelt Exp $ +/* $Id: SIN.c,v 1.4 2000/12/01 20:42:37 reinelt Exp $ * * driver for SIN router displays * @@ -20,6 +20,10 @@ * * * $Log: SIN.c,v $ + * Revision 1.4 2000/12/01 20:42:37 reinelt + * + * added debugging of SIN driver output, probably found the positioning bug (format %02x instead of %2x) + * * Revision 1.3 2000/12/01 07:20:26 reinelt * * modified text positioning: row starts with 0, column is hexadecimal @@ -45,6 +49,7 @@ #include <stdlib.h> #include <stdio.h> +#include <ctype.h> #include <string.h> #include <errno.h> #include <unistd.h> @@ -99,8 +104,28 @@ static int SIN_open (void) return fd; } +static void SIN_debug (char *string, int len) +{ + char buffer[256]; + char *p, *c; + + p=buffer; + c=string; + while (len-->0) { + if (isprint(*c)) { + *p++=*c; + } else { + p+=sprintf(p, "\\%02x", *c); + } + c++; + } + *p='\0'; + debug ("sending '%s'", buffer); +} + static void SIN_write (char *string, int len) { + SIN_debug(string, len); if (Device==-1) return; if (write (Device, string, len)==-1) { if (errno==EAGAIN) { @@ -178,7 +203,7 @@ int SIN_flush (void) buffer[3]='0'+row; for (col=0; col<Lcd.cols; col++) { if (Txt[row][col]=='\t') continue; - sprintf (buffer+4, "%2x", col); + sprintf (buffer+4, "%02x", col); for (p=buffer+6; col<Lcd.cols; col++, p++) { if (Txt[row][col]=='\t') break; *p=Txt[row][col]; diff --git a/lcd4linux.conf.sample b/lcd4linux.conf.sample index fc7f232..fd4d0ac 100644 --- a/lcd4linux.conf.sample +++ b/lcd4linux.conf.sample @@ -3,13 +3,10 @@ #Speed 19200 #Contrast 160 -Display HD44780 -Port 0x378 -Size 16x2 -Delay 398 - -Row1 "Disk%dm $R10dr+dw" -Row2 "Net %nm $R10nr+nw" +#Display HD44780 +#Port 0x378 +#Size 16x2 +#Delay 398 #Display BLC100x #Port /dev/ttyS2 @@ -44,6 +41,12 @@ Row2 "Net %nm $R10nr+nw" #halfground \#90c000 #background \#a0d000 +Display SIN +Port /dev/ttyS1 + +Row1 "Disk%dm $R10dr+dw" +Row2 "Net %nm $R10nr+nw" + #Row1 "*** %o %v ***" #Row2 "%p CPU %r MB RAM" #Row3 "Busy %cb%% $r10cs+cb" @@ -78,5 +81,3 @@ Sensor2_max 50 Sensor3 /proc/sys/dev/sensors/w83781d-isa-0290/temp3 Sensor3_min 30 Sensor3_max 50 - -Fifo /var/run/lcd4linux |