]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2004-12-22 20:24:00 by reinelt]
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Wed, 22 Dec 2004 20:24:02 +0000 (20:24 +0000)
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Wed, 22 Dec 2004 20:24:02 +0000 (20:24 +0000)
T6963 fix for displays > 8 rows

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

configure
configure.in
drv_T6963.c
drv_USBLCD.c

index 232293981b49a758be5a1d3f230e3e329b6e099d..3e6884a65ab202a199d542bc84895090ed4dcaa0 100755 (executable)
--- a/configure
+++ b/configure
@@ -2,7 +2,7 @@
 # Guess values for system-dependent variables and create Makefiles.
 # Generated by GNU Autoconf 2.59 for LCD4Linux 0.10.0-RC1.
 #
-# Report bugs to <reinelt@eunet.at>.
+# Report bugs to <lcd4linux-devel@lists.sourceforge.net>.
 #
 # Copyright (C) 2003 Free Software Foundation, Inc.
 # This configure script is free software; the Free Software Foundation
@@ -271,7 +271,7 @@ PACKAGE_NAME='LCD4Linux'
 PACKAGE_TARNAME='lcd4linux'
 PACKAGE_VERSION='0.10.0-RC1'
 PACKAGE_STRING='LCD4Linux 0.10.0-RC1'
-PACKAGE_BUGREPORT='reinelt@eunet.at'
+PACKAGE_BUGREPORT='lcd4linux-devel@lists.sourceforge.net'
 
 ac_unique_file="lcd4linux.c"
 # Factoring default headers for most tests.
@@ -886,7 +886,7 @@ Some influential environment variables:
 Use these variables to override the choices made by `configure' or to help
 it to find libraries and programs with nonstandard names/locations.
 
-Report bugs to <reinelt@eunet.at>.
+Report bugs to <lcd4linux-devel@lists.sourceforge.net>.
 _ACEOF
 fi
 
@@ -5186,9 +5186,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -5339,9 +5339,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -5985,9 +5985,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -6173,9 +6173,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -6352,9 +6352,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -6607,9 +6607,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -7338,9 +7338,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -7488,9 +7488,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -7638,9 +7638,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -7787,9 +7787,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
@@ -8474,9 +8474,9 @@ echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&
 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
     (
       cat <<\_ASBOX
-## ------------------------------- ##
-## Report this to reinelt@eunet.at ##
-## ------------------------------- ##
+## ---------------------------------------------------- ##
+## Report this to lcd4linux-devel@lists.sourceforge.net ##
+## ---------------------------------------------------- ##
 _ASBOX
     ) |
       sed "s/^/$as_me: WARNING:     /" >&2
index bbfdc6c3c11e597dbbb1a10685ee001846635a0e..695d68102ffb3ad5d758c102d0e411cb0c176717 100644 (file)
@@ -2,7 +2,7 @@
 # Process this file with autoconf to produce a configure script.
 
 AC_PREREQ(2.59)
-AC_INIT([LCD4Linux],[0.10.0-RC1],[reinelt@eunet.at])
+AC_INIT([LCD4Linux],[0.10.0-RC1],[lcd4linux-devel@lists.sourceforge.net])
 AC_CONFIG_SRCDIR([lcd4linux.c])
 AM_INIT_AUTOMAKE([lcd4linux],0.10.0-RC1)
 AM_CONFIG_HEADER(config.h)
index 06601be60eac1867a5df45c0817787c5d2eea723..3776d0d52ef13324924beaf77ba9cc9af758477d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: drv_T6963.c,v 1.12 2004/06/26 12:04:59 reinelt Exp $
+/* $Id: drv_T6963.c,v 1.13 2004/12/22 20:24:02 reinelt Exp $
  *
  * new style driver for T6963-based displays
  *
@@ -23,6 +23,9 @@
  *
  *
  * $Log: drv_T6963.c,v $
+ * Revision 1.13  2004/12/22 20:24:02  reinelt
+ * T6963 fix for displays > 8 rows
+ *
  * Revision 1.12  2004/06/26 12:04:59  reinelt
  *
  * uh-oh... the last CVS log message messed up things a lot...
@@ -354,36 +357,61 @@ static void drv_T6_blit(const int row, const int col, const int height, const in
   int i, j, e, m;
   int r, c;
 
-  for (r=row; r<row+height; r++) {
-    for (c=col; c<col+width; c++) {
-      unsigned char mask = 1<<(XRES-1-c%XRES);
-      if (drv_generic_graphic_FB[r*LCOLS+c]) {
+  for (r = row; r < row + height; r++) {
+    for (c = col; c < col + width; c++) {
+      unsigned char mask = 1 << (XRES - 1 - c % XRES);
+      if (drv_generic_graphic_FB[r * LCOLS + c]) {
        /* set bit */
-       Buffer1[(r*DCOLS+c)/XRES] |=  mask;
+       Buffer1[(r * DCOLS + c) / XRES] |=  mask;
       } else {
        /* clear bit */
-       Buffer1[(r*DCOLS+c)/XRES] &= ~mask;
+       Buffer1[(r * DCOLS + c) / XRES] &= ~mask;
       }
     }
   }
   
+  /* upper half */
+
   /* max address */
-  m=((row+height-1)*DCOLS+col+width)/XRES;
+  if (row + height - 1 < 64) {
+    m = ((row + height - 1) * DCOLS + col + width) / XRES;
+  } else {
+    m = (                64 * DCOLS + col + width) / XRES;
+  }
+
+  for (i = (row * DCOLS + col) / XRES; i <= m; i++) {
+    if (Buffer1[i] == Buffer2[i]) continue;
+    for (j = i, e = 0; i <= m; i++) {
+      if (Buffer1[i] == Buffer2[i]) {
+       if (++e > 4) break;
+      } else {
+       e = 0;
+      }
+    }
+    memcpy (Buffer2 + j, Buffer1 + j, i - j - e + 1);
+    drv_T6_copy (j, Buffer1 + j, i - j - e + 1);
+  }
   
-  for (i=(row*DCOLS+col)/XRES; i<=m; i++) {
-    if (Buffer1[i]==Buffer2[i]) continue;
-    for (j=i, e=0; i<=m; i++) {
-      if (Buffer1[i]==Buffer2[i]) {
-       if (++e>4) break;
+  /* lower half */
+
+  /* max address */
+  m = ((row + height - 1) * DCOLS + col + width) / XRES;
+
+  for (i = (64 * DCOLS + col) / XRES; i <= m; i++) {
+    if (Buffer1[i] == Buffer2[i]) continue;
+    for (j = i, e = 0; i <= m; i++) {
+      if (Buffer1[i] == Buffer2[i]) {
+       if (++e > 4) break;
       } else {
-       e=0;
+       e = 0;
       }
     }
-    memcpy (Buffer2+j, Buffer1+j, i-j-e+1);
-    drv_T6_copy (j, Buffer1+j, i-j-e+1);
+    memcpy (Buffer2 + j, Buffer1 + j, i - j - e + 1);
+    drv_T6_copy (j, Buffer1 + j, i - j - e + 1);
   }
 }
 
+
 static int drv_T6_start (const char *section)
 {
   char *model, *s;
index ecfd542d0ef4060fc271d8f20e77fdec846cc1f1..cbf6bc9cd14102ac0fcfa2b4f2ebe37474fce707 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: drv_USBLCD.c,v 1.17 2004/10/02 09:31:58 reinelt Exp $
+/* $Id: drv_USBLCD.c,v 1.18 2004/12/22 20:24:02 reinelt Exp $
  *
  * new style driver for USBLCD displays
  *
@@ -26,6 +26,9 @@
  *
  *
  * $Log: drv_USBLCD.c,v $
+ * Revision 1.18  2004/12/22 20:24:02  reinelt
+ * T6963 fix for displays > 8 rows
+ *
  * Revision 1.17  2004/10/02 09:31:58  reinelt
  * USBLCD driver modified to use libusb
  *
@@ -197,8 +200,8 @@ static int drv_UL_open (void)
 
   for (bus = busses; bus; bus = bus->next) {
     for (dev = bus->devices; dev; dev = dev->next) {
-      if (((dev->descriptor.idVendor  == USBLCD_VENDOR) ||
-          (dev->descriptor.idVendor  == USBLCD_VENDOR2)) &&
+      if (((dev->descriptor.idVendor == USBLCD_VENDOR) ||
+          (dev->descriptor.idVendor == USBLCD_VENDOR2)) &&
          (dev->descriptor.idProduct == USBLCD_DEVICE)) {
        
        unsigned int v = dev->descriptor.bcdDevice;
@@ -244,7 +247,7 @@ static void drv_UL_send ()
   
   if (use_libusb) {
 #ifdef HAVE_USB_H
-    // Fixme: ep?
+    // Fixme: Endpoint hardcoded to 1 ???
     usb_bulk_write(lcd, 1, Buffer, BufPtr-Buffer, 1000);
 #endif
   } else {