]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2000-03-25 05:50:43 by reinelt]
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sat, 25 Mar 2000 05:50:43 +0000 (05:50 +0000)
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sat, 25 Mar 2000 05:50:43 +0000 (05:50 +0000)
memory leak in Raster_flush closed
driver family logic changed

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

MatrixOrbital.c
Raster.c
Skeleton.c
XWindow.c
display.c
display.h
fontmap.c
lcd4linux.c
lcd4linux.conf.sample
pixmap.c

index c188663af0b1b3b99a19d179537a0f8aa70272cf..1e9a5dcd1c81f840cdc8172354acb9202970d1eb 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: MatrixOrbital.c,v 1.10 2000/03/23 07:24:48 reinelt Exp $
+/* $Id: MatrixOrbital.c,v 1.11 2000/03/25 05:50:43 reinelt Exp $
  *
  * driver for Matrix Orbital serial display modules
  *
  *
  *
  * $Log: MatrixOrbital.c,v $
+ * Revision 1.11  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.10  2000/03/23 07:24:48  reinelt
  *
  * PPM driver up and running (but slow!)
@@ -519,5 +524,5 @@ DISPLAY MatrixOrbital[] = {
   { "LCD2021", 2, 20, XRES, YRES, BARS, MO_init, MO_clear, MO_put, MO_bar, MO_flush },
   { "LCD2041", 4, 20, XRES, YRES, BARS, MO_init, MO_clear, MO_put, MO_bar, MO_flush },
   { "LCD4021", 2, 40, XRES, YRES, BARS, MO_init, MO_clear, MO_put, MO_bar, MO_flush }, 
-  { "" }
+  { NULL }
 };
index 34c4cd9073a83c12196eb7265091abb869f444f8..1159612053c922a8b277016d415e53d1230c93a1 100644 (file)
--- a/Raster.c
+++ b/Raster.c
@@ -1,4 +1,4 @@
-/* $Id: Raster.c,v 1.2 2000/03/24 11:36:56 reinelt Exp $
+/* $Id: Raster.c,v 1.3 2000/03/25 05:50:43 reinelt Exp $
  *
  * driver for raster formats
  *
  *
  *
  * $Log: Raster.c,v $
+ * Revision 1.3  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.2  2000/03/24 11:36:56  reinelt
  *
  * new syntax for raster configuration
@@ -65,14 +70,16 @@ static int background=0;
 int Raster_flush (void)
 {
   int xsize, ysize, row, col;
-  unsigned char *buffer;
   unsigned char R[3], G[3], B[3];
+  static unsigned char *buffer=NULL;
   
   xsize=2*border+(Display.cols-1)*cgap+Display.cols*Display.xres*(pixel+pgap);
   ysize=2*border+(Display.rows-1)*rgap+Display.rows*Display.yres*(pixel+pgap);
   
-  if ((buffer=malloc(xsize*ysize*sizeof(*buffer)))==NULL)
-    return -1;
+  if (buffer==NULL) {
+    if ((buffer=malloc(xsize*ysize*sizeof(*buffer)))==NULL)
+      return -1;
+  }
 
   memset (buffer, 0, xsize*ysize*sizeof(*buffer));
   
@@ -107,7 +114,6 @@ int Raster_flush (void)
       printf("%c%c%c", R[i], G[i], B[i]);
     }
   }
-
   return 0;
 }
 
@@ -179,5 +185,5 @@ int Raster_bar (int type, int row, int col, int max, int len1, int len2)
 
 DISPLAY Raster[] = {
   { "PPM", 0, 0, 0, 0, BARS, Raster_init, Raster_clear, Raster_put, Raster_bar, Raster_flush },
-  { "" }
+  { NULL }
 };
index 566ce428dcf446977bcb85f4bdf3760820ac77b9..8dcd8b1cd18fce7b0f2e7e7aaf255f207e6545b7 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: Skeleton.c,v 1.2 2000/03/22 07:33:50 reinelt Exp $
+/* $Id: Skeleton.c,v 1.3 2000/03/25 05:50:43 reinelt Exp $
  *
  * skeleton driver for new display modules
  *
  *
  *
  * $Log: Skeleton.c,v $
+ * Revision 1.3  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.2  2000/03/22 07:33:50  reinelt
  *
  * FAQ added
@@ -82,5 +87,5 @@ int Skel_flush (void)
 
 DISPLAY Skeleton[] = {
   { "Skeleton", 4, 20, 5, 8, BAR_L | BAR_R, Skel_init, Skel_clear, Skel_put, Skel_bar, Skel_flush },
-  { "" }
+  { NULL }
 };
index d3bbc220b5276e05057b2236312aeef1fc6738e7..0072a943f89d5fd692aefa84a5916ffa40e3b259 100644 (file)
--- a/XWindow.c
+++ b/XWindow.c
@@ -1,4 +1,4 @@
-/* $Id: XWindow.c,v 1.3 2000/03/24 11:36:56 reinelt Exp $
+/* $Id: XWindow.c,v 1.4 2000/03/25 05:50:43 reinelt Exp $
  *
  * driver for X11
  *
  *
  *
  * $Log: XWindow.c,v $
+ * Revision 1.4  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.3  2000/03/24 11:36:56  reinelt
  *
  * new syntax for raster configuration
@@ -186,5 +191,5 @@ int X_bar (int type, int row, int col, int max, int len1, int len2)
 
 DISPLAY XWindow[] = {
   { "X11", 0, 0, 0, 0, BARS, X_init, X_clear, X_put, X_bar, X_flush },
-  { "" }
+  { NULL }
 };
index ec9a8012261630bef0e057d55051244f00094be8..c4f545b63c3f424eed8cecfb1cdad07e69f23ef6 100644 (file)
--- a/display.c
+++ b/display.c
@@ -1,4 +1,4 @@
-/* $Id: display.c,v 1.10 2000/03/23 07:24:48 reinelt Exp $
+/* $Id: display.c,v 1.11 2000/03/25 05:50:43 reinelt Exp $
  *
  * framework for device drivers
  *
  *
  *
  * $Log: display.c,v $
+ * Revision 1.11  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.10  2000/03/23 07:24:48  reinelt
  *
  * PPM driver up and running (but slow!)
@@ -108,7 +113,7 @@ FAMILY Driver[] = {
   { "Matrix Orbital",  MatrixOrbital },
   { "Raster", Raster },
   { "X Window System", XWindow },
-  { "" }
+  { NULL }
 };
 
 
@@ -120,9 +125,9 @@ int lcd_list (void)
 
   printf ("available display drivers:");
   
-  for (i=0; Driver[i].name[0]; i++) {
+  for (i=0; Driver[i].name; i++) {
     printf ("\n   %-16s:", Driver[i].name);
-    for (j=0; Driver[i].Display[j].name[0]; j++) {
+    for (j=0; Driver[i].Display[j].name; j++) {
       printf (" %s", Driver[i].Display[j].name);
     }
   }
@@ -133,8 +138,8 @@ int lcd_list (void)
 int lcd_init (char *display)
 {
   int i, j;
-  for (i=0; Driver[i].name[0]; i++) {
-    for (j=0; Driver[i].Display[j].name[0]; j++) {
+  for (i=0; Driver[i].name; i++) {
+    for (j=0; Driver[i].Display[j].name; j++) {
       if (strcmp (Driver[i].Display[j].name, display)==0) {
        Display=&Driver[i].Display[j];
        return Display->init(Display);
index 208ba837a796d7f5adbbe88fb67910b3a1017a02..f51946795caf5043f363b1d60f8d1c49fa30a62e 100644 (file)
--- a/display.h
+++ b/display.h
@@ -1,4 +1,4 @@
-/* $Id: display.h,v 1.8 2000/03/22 15:36:21 reinelt Exp $
+/* $Id: display.h,v 1.9 2000/03/25 05:50:43 reinelt Exp $
  *
  * framework for device drivers
  *
  *
  *
  * $Log: display.h,v $
+ * Revision 1.9  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.8  2000/03/22 15:36:21  reinelt
  *
  * added '-l' switch (list drivers)
@@ -69,7 +74,7 @@
 #define BAR_HV (BAR_H | BAR_V)
 
 typedef struct DISPLAY {
-  char name[16];
+  char *name;
   int rows;
   int cols;
   int xres;
@@ -83,7 +88,7 @@ typedef struct DISPLAY {
 } DISPLAY;
 
 typedef struct {
-  char name[16];
+  char *name;
   DISPLAY *Display;
 } FAMILY;
 
index 3dc81e55b47221eb5d0e8f205ab8d85b4dc2d577..dc3746d62ce044b9101a8254af37d35e440188ff 100644 (file)
--- a/fontmap.c
+++ b/fontmap.c
@@ -1,4 +1,4 @@
-/* $Id: fontmap.c,v 1.2 2000/03/24 11:36:56 reinelt Exp $
+/* $Id: fontmap.c,v 1.3 2000/03/25 05:50:43 reinelt Exp $
  *
  * 5x8 font
  *
  *
  *
  * $Log: fontmap.c,v $
+ * Revision 1.3  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.2  2000/03/24 11:36:56  reinelt
  *
  * new syntax for raster configuration
@@ -840,4 +845,12 @@ unsigned char Fontmap[256][8]={
           b___O__,
           b______,
           b______ },
+  [0xb0] { b__OOO_,
+          b__O_O_,
+          b__OOO_,
+          b______,
+          b______,
+          b______,
+          b______,
+          b______ },
 };
index c471843438b8867d25c743eaa84cfce7e1717b06..0d48d365533e8400bd931aea974e37e3d5e0a501 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: lcd4linux.c,v 1.11 2000/03/24 11:36:56 reinelt Exp $
+/* $Id: lcd4linux.c,v 1.12 2000/03/25 05:50:43 reinelt Exp $
  *
  * LCD4Linux
  *
  *
  *
  * $Log: lcd4linux.c,v $
+ * Revision 1.12  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.11  2000/03/24 11:36:56  reinelt
  *
  * new syntax for raster configuration
@@ -144,14 +149,18 @@ void main (int argc, char *argv[])
 
   process_init();
 
+  // FIXME: just debugging
+  lcd_clear();
+  lcd_put (1, 1, "so what!");
+  lcd_bar (BAR_R|BAR_H2, 2,1,50,19,46);
+  lcd_flush();
+  exit (0);
+
   lcd_clear();
   lcd_put (1, 1, "* LCD4Linux V" VERSION " *");
   lcd_put (2, 1, " (c) 2000 M.Reinelt");
   lcd_flush();
 
-  // FIXME: just debugging
-  exit (0);
-
   sleep (3);
   lcd_clear();
 
index 3a2be423d20c55f3715e01ee4230607eed05ef3e..9be532fc90b1fc0f625682277360799cc3418457 100644 (file)
@@ -5,11 +5,11 @@
 
 #Display X11
 DISPLAY PPM
-size 20x4
+size 10x2
 font 5x8
-pixel 5+1
-gap 5x5
-border 20
+pixel 3+1
+gap 4x4
+border 5
 foreground 102000
 halfground 70c000
 background 80d000
@@ -17,7 +17,7 @@ background 80d000
 
 #Row1 "*** %o %v ***"
 #Row2 "%p CPU  %r MB RAM"
-#Row3 "Busy %cu%% $r10cs+cb"
+#Row3 "Busy %cb%% $r10cs+cb"
 #Row4 "Load %l1%L$r10l1"
 
 Row1 "Load %l1%L$r10cs+cb"
index 24a65be530a17c4ef78010deea38b5d728078b70..3f20c9edf840038d255c3a7ffc42ea6f6a3406a1 100644 (file)
--- a/pixmap.c
+++ b/pixmap.c
@@ -1,4 +1,4 @@
-/* $Id: pixmap.c,v 1.3 2000/03/24 11:36:56 reinelt Exp $
+/* $Id: pixmap.c,v 1.4 2000/03/25 05:50:43 reinelt Exp $
  *
  * generic pixmap driver
  *
  *
  *
  * $Log: pixmap.c,v $
+ * Revision 1.4  2000/03/25 05:50:43  reinelt
+ *
+ * memory leak in Raster_flush closed
+ * driver family logic changed
+ *
  * Revision 1.3  2000/03/24 11:36:56  reinelt
  *
  * new syntax for raster configuration
@@ -107,7 +112,7 @@ int pix_put (int row, int col, char *text)
   col*=XRES;
   
   while (*text && col<COLS) {
-    c=*text;
+    c=*(unsigned char*)text;
     for (y=0; y<YRES; y++) {
       mask=1<<XRES;
       for (x=0; x<XRES; x++) {