]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2004-03-01 04:29:51 by reinelt]
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 1 Mar 2004 04:29:51 +0000 (04:29 +0000)
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Mon, 1 Mar 2004 04:29:51 +0000 (04:29 +0000)
cfg_number() returns -1 on error, 0 if value not found (but default val used),
 and 1 if value was used from the configuration.
HD44780 driver adopted to new cfg_number()
Crystalfontz 631 driver nearly finished

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@382 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

cfg.c
drv_Crystalfontz.c
drv_HD44780.c
lcd4linux.conf.sample

diff --git a/cfg.c b/cfg.c
index 355022bee86d19b37111fa5416f4f7a52fd516a9..5fb008792ce5a11fc3fe2180d232f35904b0ea88 100644 (file)
--- a/cfg.c
+++ b/cfg.c
@@ -1,4 +1,4 @@
-/* $Id: cfg.c,v 1.34 2004/02/18 06:39:20 reinelt Exp $^
+/* $Id: cfg.c,v 1.35 2004/03/01 04:29:51 reinelt Exp $^
  *
  * config file stuff
  *
  *
  *
  * $Log: cfg.c,v $
+ * Revision 1.35  2004/03/01 04:29:51  reinelt
+ * cfg_number() returns -1 on error, 0 if value not found (but default val used),
+ *  and 1 if value was used from the configuration.
+ * HD44780 driver adopted to new cfg_number()
+ * Crystalfontz 631 driver nearly finished
+ *
  * Revision 1.34  2004/02/18 06:39:20  reinelt
  * T6963 driver for graphic displays finished
  *
@@ -504,7 +510,7 @@ int l4l_cfg_number (char *section, char *key, int defval, int min, int max, int
     return -1;
   }
 
-  return 0;
+  return 1;
 }
 
 
index b1d7a09c854f5343e8f29d2c49c90f40d867cffa..ed268964589de301527af94e2beff4ccf1264a77 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: drv_Crystalfontz.c,v 1.11 2004/02/14 11:56:17 reinelt Exp $
+/* $Id: drv_Crystalfontz.c,v 1.12 2004/03/01 04:29:51 reinelt Exp $
  *
  * new style driver for Crystalfontz display modules
  *
  *
  *
  * $Log: drv_Crystalfontz.c,v $
+ * Revision 1.12  2004/03/01 04:29:51  reinelt
+ * cfg_number() returns -1 on error, 0 if value not found (but default val used),
+ *  and 1 if value was used from the configuration.
+ * HD44780 driver adopted to new cfg_number()
+ * Crystalfontz 631 driver nearly finished
+ *
  * Revision 1.11  2004/02/14 11:56:17  reinelt
  * M50530 driver ported
  * changed lots of 'char' to 'unsigned char'
@@ -329,13 +335,13 @@ static void drv_CF_write2 (unsigned char *string, int len)
 {
   // limit length
   if (Col+len>16) len=16-Col;
+  if (len<0) len=0;
   
   // sanity check
   if (Row>=2 || Col+len>16) {
     error ("%s: internal error: write outside linebuffer bounds!", Name);
     return;
   }
-  
   memcpy (Line+16*Row+Col, string, len);
   drv_CF_send (7+Row, 16, Line+16*Row);
 }
@@ -344,6 +350,8 @@ static void drv_CF_write2 (unsigned char *string, int len)
 static void drv_CF_write3 (unsigned char *string, int len)
 {
   debug ("write3(<%.*s>,%d)", len, string, len);
+
+  
 }
 
 
@@ -401,25 +409,31 @@ static int drv_CF_contrast (int contrast)
   if (contrast == -1) return Contrast;
   
   if (contrast < 0  ) contrast = 0;
-  if (contrast > 100) contrast = 100;
   Contrast=contrast;
 
   switch (Protocol) {
 
   case 1:
+    // contrast range 0 to 100
+    if (contrast > 100) contrast = 100;
     buffer[0] = 15; // Set LCD Contrast
-    buffer[1] = Contrast;
+    buffer[1] = contrast;
     drv_CF_write1 (buffer, 2);
     break;
 
   case 2:
+    // contrast range 0 to 50
+    if (contrast > 50) contrast = 50;
+    drv_CF_send (13, 1, &contrast);
+    break;
   case 3:
-    // Contrast goes from 0 to 50 only
-    if (Contrast>50) Contrast=50;
-    drv_CF_send (13, 1, &Contrast);
+    // contrast range 0 to 50
+    if (contrast > 255) contrast = 255;
+    drv_CF_send (13, 1, &contrast);
     break;
   }
   
+  Contrast=contrast;
   return Contrast;
 }
 
@@ -501,13 +515,13 @@ static int drv_CF_autodetect (void)
     if (drv_CF_poll()) {
       // display type
       if (Packet.type==0x41) {
-       char t[7]; float h, v;
+       char t[7], c; float h, v;
        info ("%s: display identifies itself as '%s'", Name, Packet.data); 
-       if (sscanf(Packet.data, "%6s:h%f,v%f", t, &h, &v)!=3) {
+       if (sscanf(Packet.data, "%6s:h%f,%c%f", t, &h, &c, &v)!=4) {
          error ("%s: error parsing display identification string", Name);
          return -1;
        }
-       info ("%s: display type '%s', hardware version %3.1f, firmware version %3.1f", Name, t, h, v);
+       info ("%s: display type '%s', hardware version %3.1f, firmware version %c%3.1f", Name, t, h, c, v);
        if (strncmp(t, "CFA", 3)==0) {
          for (m=0; Models[m].type!=-1; m++) {
            // omit the 'CFA'
@@ -709,12 +723,12 @@ static int drv_CF_start (char *section)
   memset (Line, ' ', sizeof(Line));
   
   // set contrast
-  if (cfg_number(section, "Contrast", 0, 0, 100, &i)==0) {
+  if (cfg_number(section, "Contrast", 0, 0, 100, &i)>0) {
     drv_CF_contrast(i);
   }
 
   // set backlight
-  if (cfg_number(section, "Backlight", 0, 0, 100, &i)==0) {
+  if (cfg_number(section, "Backlight", 0, 0, 100, &i)>0) {
     drv_CF_backlight(i);
   }
 
index a942de7df6e1125580cec65e7c129028f3620e15..62b5e3bc912a2d421810c59044a225c47ff9a238 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: drv_HD44780.c,v 1.13 2004/02/15 21:43:43 reinelt Exp $
+/* $Id: drv_HD44780.c,v 1.14 2004/03/01 04:29:51 reinelt Exp $
  *
  * new style driver for HD44780-based displays
  *
  *
  *
  * $Log: drv_HD44780.c,v $
+ * Revision 1.14  2004/03/01 04:29:51  reinelt
+ * cfg_number() returns -1 on error, 0 if value not found (but default val used),
+ *  and 1 if value was used from the configuration.
+ * HD44780 driver adopted to new cfg_number()
+ * Crystalfontz 631 driver nearly finished
+ *
  * Revision 1.13  2004/02/15 21:43:43  reinelt
  * T6963 driver nearly finished
  * framework for graphic displays done
@@ -639,7 +645,7 @@ static int drv_HD_start (char *section)
   // maybe set brightness
   if (Capabilities & CAP_BRIGHTNESS) {
     int brightness;
-    if (cfg_number(section, "Brightness", 0, 0, 3, &brightness)==0) {
+    if (cfg_number(section, "Brightness", 0, 0, 3, &brightness)>0) {
       drv_HD_brightness(brightness);
     }
   }
index 68416aaaad95b0dc6fae3025f52829906af61339..114723661f664fba9227b23d18da2afeedf63aa1 100644 (file)
@@ -9,12 +9,13 @@ Display LK204 {
 
 
 Display CF631 {
-    Icons 2
+    Icons 5
     Driver 'Crystalfontz'
     Model '631'
     Port '/dev/usb/tts/0'
-    Port '/dev/tts/0'
     Speed 115200
+    Contrast 95
+    Backlight 100
 }
 
 Display CF632 {
@@ -370,7 +371,11 @@ Layout L16x2 {
        Col1  'Busy'
        Col11 'BusyBar'
     }
-#    Row2 {
+    Row2 {
+       Col1  'Disk'
+       Col11 'DiskBar'
+    }
+#   Row2 {
 #      Col1 'Heartbeat'
 #      Col2 'EKG'
 #      Col3 'Karo'
@@ -378,7 +383,7 @@ Layout L16x2 {
 #      Col5 'Blob'
 #      Col6 'Wave'
 #      Col7 'Squirrel'
-#    }
+#   }
 }
 
 Layout Test {
@@ -403,15 +408,15 @@ Layout Test {
 #Display 'LK204'
 #Display 'HD44780-20x4'
 #Display 'M50530-24x8'
-#Display 'CF631'
+Display 'CF631'
 #Display 'CF632'
 #Display 'CF633'
 #Display 'USBLCD'
-Display 'T6963-240x64'
+#Display 'T6963-240x64'
 #Display 'XWindow'
 
-Layout  'Default'
-#Layout  'L16x2'
+#Layout  'Default'
+Layout  'L16x2'
 #Layout 'Test'