diff options
author | reinelt <> | 2004-12-22 20:24:02 +0000 |
---|---|---|
committer | reinelt <> | 2004-12-22 20:24:02 +0000 |
commit | 4edb0c7aa3d382d45bac46b611dd3bd45d5e14ff (patch) | |
tree | e9e352c93a9357e54bb236a96830f298b7d0a04e | |
parent | bcfa835ed419ef16254270797a391706162f28fc (diff) | |
download | lcd4linux-4edb0c7aa3d382d45bac46b611dd3bd45d5e14ff.tar.gz |
[lcd4linux @ 2004-12-22 20:24:00 by reinelt]
T6963 fix for displays > 8 rows
Diffstat (limited to '')
-rwxr-xr-x | configure | 72 | ||||
-rw-r--r-- | configure.in | 2 | ||||
-rw-r--r-- | drv_T6963.c | 60 | ||||
-rw-r--r-- | drv_USBLCD.c | 11 |
4 files changed, 88 insertions, 57 deletions
@@ -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 diff --git a/configure.in b/configure.in index bbfdc6c..695d681 100644 --- a/configure.in +++ b/configure.in @@ -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) diff --git a/drv_T6963.c b/drv_T6963.c index 06601be..3776d0d 100644 --- a/drv_T6963.c +++ b/drv_T6963.c @@ -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; diff --git a/drv_USBLCD.c b/drv_USBLCD.c index ecfd542..cbf6bc9 100644 --- a/drv_USBLCD.c +++ b/drv_USBLCD.c @@ -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 { |