brewpanel/slcd.c

changeset 443
6b80a37fdf8d
parent 431
b3895cd6edd3
child 637
21e542c15832
--- a/brewpanel/slcd.c	Sat Nov 28 21:00:29 2015 +0100
+++ b/brewpanel/slcd.c	Wed Dec 02 17:16:41 2015 +0100
@@ -141,8 +141,9 @@
     struct slcdDataStruct *lcd = slcds [fd];
     int i;
 
-    for (i = 0 ; i < 8 ; i++)
+    for (i = 0 ; i < 8 ; i++) {
 	lcd->cgram[index][i] = data[i];
+    }
 }
 
 
@@ -152,7 +153,13 @@
 {
     struct slcdDataStruct *lcd = slcds [fd];
 
-    SDLGui_Char(dlg, fd, lcd->x + (lcd->cx * 12) + 12, lcd->y + (lcd->cy * 18) + 8, data);
+    if (data < 16)
+	/*
+	 * Character 0..7 and 8..15 are the same.
+	 */
+	SDLGui_CGChar(dlg, fd, lcd->x + (lcd->cx * 12) + 12, lcd->y + (lcd->cy * 18) + 8, lcd->cgram[data & 0x07]);
+    else
+    	SDLGui_Char(dlg, fd, lcd->x + (lcd->cx * 12) + 12, lcd->y + (lcd->cy * 18) + 8, data);
 
     if (++lcd->cx == lcd->cols) {
 	lcd->cx = 0;

mercurial