[Lcdproc] Patch for hd44780-4bit

Markus Dolze bsdfan@nurfuerspam.de
Thu Oct 4 20:55:02 2007


This is a multi-part message in MIME format.
--------------020709090907080207000404
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit

Hi,

the attached patch makes the hd44780-4bit driver more fool-proof (for
those like me that don't see the remark "This certainly applies if you
have only one display." in the user's guide.

Markus


--------------020709090907080207000404
Content-Type: text/plain;
 name="patch-server__drivers__hd44780-4bit.c"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
 filename="patch-server__drivers__hd44780-4bit.c"

--- ./server/drivers/hd44780-4bit.c.orig	Thu Oct  4 22:44:35 2007
+++ ./server/drivers/hd44780-4bit.c	Thu Oct  4 22:45:53 2007
@@ -100,7 +100,7 @@
 	PrivateData *p = (PrivateData*) drvthis->private_data;
 	HD44780_functions *hd44780_functions = p->hd44780_functions;
 
-	int enableLines = EN1 | EN2 | EN3;
+	int enableLines = EN1 | EN2 | ((p->numDisplays == 3) ? EnMask[2] : 0);
 
 	// Reserve the port registers
 	port_access_multiple(p->port,3);
@@ -186,7 +186,8 @@
 
 	if (displayID <= 3) {
 		if (displayID == 0) {
-			enableLines = EnMask[0] | EnMask[1] | EnMask[2];
+			enableLines = EnMask[0] | EnMask[1]
+			| ((p->numDisplays == 3) ? EnMask[2] : 0);
 		} else {
 			enableLines = EnMask[displayID - 1];
 		}

--------------020709090907080207000404--