LCDproc development and user support list

Text archives Help


[Lcdproc] Re: lcdproc-0.5.1 and serialized HD44780 on k-data wake-up 2.0 module


Chronological Thread 
  • From: matteo.pillon AT gmail.com (Matteo Pillon)
  • Subject: [Lcdproc] Re: lcdproc-0.5.1 and serialized HD44780 on k-data wake-up 2.0 module
  • Date: Wed Jan 24 17:11:01 2007

Hi Markus,

On Wed, Jan 24, 2007 at 08:25:03AM +0100, Markus Schorer wrote:
> hi matteo,
>
> i've just begun to use your los-panel connection-type.
>
> Matteo Pillon wrote:
> >limitations ;-). I also included backlight switching support.
>
> regarding backlight switching:
> your patch changes from backlight-escape + on/off-byte (which is needed
> by los) to a code-on/code-off method.

Yes, the last is the method used by vdr-wakeup.
You're right, backlight-escape + brightness is a better idea (even if
setting the brightness it's not implemented in lcdproc yet, am I
wrong, Peter?).

> i implemented pwm-backlight-control in los yesterday, so still am on the
> escape+code track.

Are you cooperating with Erik? Good to hear that los it's not dead!! ;-)

> what direction will you go? should we change the los firmware or
> reinsert the escape method?
> i would like to have pwm-control on backlight, so a escape+brightness
> method is the way to go for me.

Sorry for the removal ;-)
Now reinserted... patch attached (against lcdproc CVS).
I've also implemented the code. There's only one problem: there are no
escape codes left for los, even 0xFE breaks some charmaps!
I put 0xFF but should be changed (it's } for ks0073).
I think you should change los escape scheme to something similar to
picanlcd or vdr-wakeup (with data escape only for a range, so we don't
loose characters for escape codes).

Let me/us know how it's proceeding with los ;-).

Bye.

--
* Matteo Pillon
http://hydra.ilc.pd.it/~pmatthew
Index: LCDd.conf
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/LCDd.conf,v
retrieving revision 1.94
diff -u -r1.94 LCDd.conf
--- LCDd.conf 16 Jan 2007 16:58:35 -0000 1.94
+++ LCDd.conf 24 Jan 2007 17:05:27 -0000
@@ -430,7 +430,7 @@
#ExtendedMode=yes

# Character map to to map ISO-8859-1 to the LCD's character set
-# [default: hd44780_default; legal: hd44780_default, ea_ks0073 ]
+# [default: hd44780_default; legal: hd44780_default, ea_ks0073, sed1278f_0b ]
Charmap=hd44780_default

# If your display is slow and cannot keep up with the flow of data from
Index: server/drivers/hd44780-charmap.h
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/server/drivers/hd44780-charmap.h,v
retrieving revision 1.6
diff -u -r1.6 hd44780-charmap.h
--- server/drivers/hd44780-charmap.h 13 Aug 2006 11:13:13 -0000 1.6
+++ server/drivers/hd44780-charmap.h 24 Jan 2007 17:05:38 -0000
@@ -31,46 +31,46 @@
*/

const unsigned char HD44780_charmap[] = {
- /* #0 */
- 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31,
- /* #32 */
- 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63,
- /* #64 */
- 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 91, 47, 93, 94, 95,
- /* #96 */
- 96, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 123, 124, 125, 126, 127,
- /* #128 */
- 128, 129, 130, 131, 132, 133, 134, 135,
- 136, 137, 138, 139, 140, 141, 142, 143,
- 144, 145, 146, 147, 148, 149, 150, 151,
- 152, 153, 154, 155, 156, 157, 158, 159,
- /* #160 */
- 160, 33, 236, 237, 164, 92, 124, 167,
- 34, 169, 170, 171, 172, 173, 174, 175,
- 223, 177, 178, 179, 39, 249, 247, 165,
- 44, 185, 186, 187, 188, 189, 190, 63,
- /* #192 */
- 65, 65, 65, 65, 225, 65, 65, 67,
- 69, 69, 69, 69, 73, 73, 73, 73,
- 68, 78, 79, 79, 79, 79, 239, 120,
- 48, 85, 85, 85, 245, 89, 240, 226,
- /* #224 */
- 97, 97, 97, 97, 225, 97, 97, 99,
- 101, 101, 101, 101, 105, 105, 105, 105,
- 111, 110, 111, 111, 111, 111, 239, 253,
- 48, 117, 117, 117, 245, 121, 240, 255
+ /* #0 */
+ 0, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31,
+ /* #32 */
+ 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63,
+ /* #64 */
+ 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 91, 47, 93, 94, 95,
+ /* #96 */
+ 96, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 123, 124, 125, 126, 127,
+ /* #128 */
+ 128, 129, 130, 131, 132, 133, 134, 135,
+ 136, 137, 138, 139, 140, 141, 142, 143,
+ 144, 145, 146, 147, 148, 149, 150, 151,
+ 152, 153, 154, 155, 156, 157, 158, 159,
+ /* #160 */
+ 160, 33, 236, 237, 164, 92, 124, 167,
+ 34, 169, 170, 171, 172, 173, 174, 175,
+ 223, 177, 178, 179, 39, 249, 247, 165,
+ 44, 185, 186, 187, 188, 189, 190, 63,
+ /* #192 */
+ 65, 65, 65, 65, 225, 65, 65, 67,
+ 69, 69, 69, 69, 73, 73, 73, 73,
+ 68, 78, 79, 79, 79, 79, 239, 120,
+ 48, 85, 85, 85, 245, 89, 240, 226,
+ /* #224 */
+ 97, 97, 97, 97, 225, 97, 97, 99,
+ 101, 101, 101, 101, 105, 105, 105, 105,
+ 111, 110, 111, 111, 111, 111, 239, 253,
+ 48, 117, 117, 117, 245, 121, 240, 255
};

/*
@@ -97,56 +97,321 @@
*/

const unsigned char EA_KS0073_charmap[] = {
- /* #0 */
- 0, 1, 2, 3, 4, 5, 6, 7,
- 8, 9, 10, 11, 12, 13, 14, 15,
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 29, 30, 31,
- /* #32 */
- 32, 33, 34, 35, 36, 37, 38, 39,
- 40, 41, 42, 43, 44, 45, 46, 47,
- 48, 49, 50, 51, 52, 53, 54, 55,
- 56, 57, 58, 59, 60, 61, 62, 63,
- /* #64 */
- 64, 65, 66, 67, 68, 69, 70, 71,
- 72, 73, 74, 75, 76, 77, 78, 79,
- 80, 81, 82, 83, 84, 85, 86, 87,
- 88, 89, 90, 250, 251, 252, 29, 196,
- /* #96 */
- 39, 97, 98, 99, 100, 101, 102, 103,
- 104, 105, 106, 107, 108, 109, 110, 111,
- 112, 113, 114, 115, 116, 117, 118, 119,
- 120, 121, 122, 253, 218, 255, 223, 225,
- /* #128 */
- 16, 17, 18, 19, 20, 21, 22, 23,
- 24, 25, 26, 27, 28, 140, 141, 142,
- 143, 144, 145, 146, 147, 148, 149, 150,
- 151, 180, 181, 182, 187, 207, 222, 224,
- /* #160 */
- 160, 64, 177, 161, 36, 163, 243, 95,
- 248, 67, 170, 20, 172, 173, 82, 175,
- 128, 140, 130, 131, 249, 143, 182, 221,
- 244, 129, 128, 21, 139, 138, 190, 96,
- /* #192 */
- 174, 226, 174, 174, 91, 174, 188, 169,
- 197, 191, 198, 69, 73, 73, 73, 73,
- 68, 93, 168, 228, 236, 79, 92, 120,
- 171, 238, 229, 238, 94, 230, 178, 190,
- /* #224 */
- 127, 231, 175, 175, 123, 175, 189, 200,
- 164, 165, 199, 101, 167, 232, 105, 105,
- 111, 125, 168, 233, 237, 111, 124, 58,
- 172, 166, 234, 239, 126, 235, 178, 255
+ /* #0 */
+ 0, 1, 2, 3, 4, 5, 6, 7,
+ 8, 9, 10, 11, 12, 13, 14, 15,
+ 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 29, 30, 31,
+ /* #32 */
+ 32, 33, 34, 35, 36, 37, 38, 39,
+ 40, 41, 42, 43, 44, 45, 46, 47,
+ 48, 49, 50, 51, 52, 53, 54, 55,
+ 56, 57, 58, 59, 60, 61, 62, 63,
+ /* #64 */
+ 64, 65, 66, 67, 68, 69, 70, 71,
+ 72, 73, 74, 75, 76, 77, 78, 79,
+ 80, 81, 82, 83, 84, 85, 86, 87,
+ 88, 89, 90, 250, 251, 252, 29, 196,
+ /* #96 */
+ 39, 97, 98, 99, 100, 101, 102, 103,
+ 104, 105, 106, 107, 108, 109, 110, 111,
+ 112, 113, 114, 115, 116, 117, 118, 119,
+ 120, 121, 122, 253, 218, 255, 223, 225,
+ /* #128 */
+ 16, 17, 18, 19, 20, 21, 22, 23,
+ 24, 25, 26, 27, 28, 140, 141, 142,
+ 143, 144, 145, 146, 147, 148, 149, 150,
+ 151, 180, 181, 182, 187, 207, 222, 224,
+ /* #160 */
+ 160, 64, 177, 161, 36, 163, 243, 95,
+ 248, 67, 170, 20, 172, 173, 82, 175,
+ 128, 140, 130, 131, 249, 143, 182, 221,
+ 244, 129, 128, 21, 139, 138, 190, 96,
+ /* #192 */
+ 174, 226, 174, 174, 91, 174, 188, 169,
+ 197, 191, 198, 69, 73, 73, 73, 73,
+ 68, 93, 168, 228, 236, 79, 92, 120,
+ 171, 238, 229, 238, 94, 230, 178, 190,
+ /* #224 */
+ 127, 231, 175, 175, 123, 175, 189, 200,
+ 164, 165, 199, 101, 167, 232, 105, 105,
+ 111, 125, 168, 233, 237, 111, 124, 58,
+ 172, 166, 234, 239, 126, 235, 178, 255
+};
+
+/*
+ * Character mapping by Frank Jepsen <vdr_at_jepsennet.de>.
+ *
+ */
+
+const unsigned char SED1278F_0B_charmap[] = {
+ /* 0 ( '^@') */ 0,
+ /* 1 ( '^A') */ 1,
+ /* 2 ( '^B') */ 2,
+ /* 3 ( '^C') */ 3,
+ /* 4 ( '^D') */ 4,
+ /* 5 ( '^E') */ 5,
+ /* 6 ( '^F') */ 6,
+ /* 7 ( '^G') */ 7,
+ /* 8 ( '^H') */ 8,
+ /* 9 ( '' ) */ 32,
+ /* 10 ( '' ) */ 32,
+ /* 11 ( '^K') */ 32,
+ /* 12 ( '^L') */ 32,
+ /* 13 ( '^M') */ 32,
+ /* 14 ( '^N') */ 14,
+ /* 15 ( '^O') */ 15,
+ /* 16 ( '^P') */ 16,
+ /* 17 ( '^Q') */ 17,
+ /* 18 ( '^R') */ 18,
+ /* 19 ( '^S') */ 19,
+ /* 20 ( '^T') */ 20,
+ /* 21 ( '^U') */ 21,
+ /* 22 ( '^V') */ 22,
+ /* 23 ( '^W') */ 23,
+ /* 24 ( '^X') */ 24,
+ /* 25 ( '^Y') */ 25,
+ /* 26 ( '^Z') */ 26,
+ /* 27 ( '^[') */ 27,
+ /* 28 ( '^\') */ 28,
+ /* 29 ( '^]') */ 29,
+ /* 30 ( '^^') */ 30,
+ /* 31 ( '^_') */ 31,
+ /* 32 ( ' ' ) */ 32,
+ /* 33 ( '!' ) */ 33,
+ /* 34 ( '"' ) */ 39,
+ /* 35 ( '#' ) */ 35,
+ /* 36 ( '$' ) */ 36,
+ /* 37 ( '%' ) */ 37,
+ /* 38 ( '&' ) */ 38,
+ /* 39 ( ''' ) */ 39,
+ /* 40 ( '(' ) */ 40,
+ /* 41 ( ')' ) */ 41,
+ /* 42 ( '*' ) */ 42,
+ /* 43 ( '+' ) */ 43,
+ /* 44 ( ',' ) */ 44,
+ /* 45 ( '-' ) */ 45,
+ /* 46 ( '.' ) */ 46,
+ /* 47 ( '/' ) */ 47,
+ /* 48 ( '0' ) */ 48,
+ /* 49 ( '1' ) */ 49,
+ /* 50 ( '2' ) */ 50,
+ /* 51 ( '3' ) */ 51,
+ /* 52 ( '4' ) */ 52,
+ /* 53 ( '5' ) */ 53,
+ /* 54 ( '6' ) */ 54,
+ /* 55 ( '7' ) */ 55,
+ /* 56 ( '8' ) */ 56,
+ /* 57 ( '9' ) */ 57,
+ /* 58 ( ':' ) */ 58,
+ /* 59 ( ';' ) */ 59,
+ /* 60 ( '<' ) */ 60,
+ /* 61 ( '=' ) */ 61,
+ /* 62 ( '>' ) */ 62,
+ /* 63 ( '?' ) */ 63,
+ /* 64 ( '@' ) */ 64,
+ /* 65 ( 'A' ) */ 65,
+ /* 66 ( 'B' ) */ 66,
+ /* 67 ( 'C' ) */ 67,
+ /* 68 ( 'D' ) */ 68,
+ /* 69 ( 'E' ) */ 69,
+ /* 70 ( 'F' ) */ 70,
+ /* 71 ( 'G' ) */ 71,
+ /* 72 ( 'H' ) */ 72,
+ /* 73 ( 'I' ) */ 73,
+ /* 74 ( 'J' ) */ 74,
+ /* 75 ( 'K' ) */ 75,
+ /* 76 ( 'L' ) */ 76,
+ /* 77 ( 'M' ) */ 77,
+ /* 78 ( 'N' ) */ 78,
+ /* 79 ( 'O' ) */ 79,
+ /* 80 ( 'P' ) */ 80,
+ /* 81 ( 'Q' ) */ 81,
+ /* 82 ( 'R' ) */ 82,
+ /* 83 ( 'S' ) */ 83,
+ /* 84 ( 'T' ) */ 84,
+ /* 85 ( 'U' ) */ 85,
+ /* 86 ( 'V' ) */ 86,
+ /* 87 ( 'W' ) */ 87,
+ /* 88 ( 'X' ) */ 88,
+ /* 89 ( 'Y' ) */ 89,
+ /* 90 ( 'Z' ) */ 90,
+ /* 91 ( '[' ) */ 91,
+ /* 92 ( '\' ) */ 92,
+ /* 93 ( ']' ) */ 93,
+ /* 94 ( '^' ) */ 94,
+ /* 95 ( '_' ) */ 95,
+ /* 96 ( '`' ) */ 96,
+ /* 97 ( 'a' ) */ 97,
+ /* 98 ( 'b' ) */ 98,
+ /* 99 ( 'c' ) */ 99,
+ /* 100 ( 'd' ) */ 100,
+ /* 101 ( 'e' ) */ 101,
+ /* 102 ( 'f' ) */ 102,
+ /* 103 ( 'g' ) */ 103,
+ /* 104 ( 'h' ) */ 104,
+ /* 105 ( 'i' ) */ 105,
+ /* 106 ( 'j' ) */ 106,
+ /* 107 ( 'k' ) */ 107,
+ /* 108 ( 'l' ) */ 108,
+ /* 109 ( 'm' ) */ 109,
+ /* 110 ( 'n' ) */ 110,
+ /* 111 ( 'o' ) */ 111,
+ /* 112 ( 'p' ) */ 112,
+ /* 113 ( 'q' ) */ 113,
+ /* 114 ( 'r' ) */ 114,
+ /* 115 ( 's' ) */ 115,
+ /* 116 ( 't' ) */ 116,
+ /* 117 ( 'u' ) */ 117,
+ /* 118 ( 'v' ) */ 118,
+ /* 119 ( 'w' ) */ 119,
+ /* 120 ( 'x' ) */ 120,
+ /* 121 ( 'y' ) */ 121,
+ /* 122 ( 'z' ) */ 122,
+ /* 123 ( '{' ) */ 123,
+ /* 124 ( '|' ) */ 124,
+ /* 125 ( '}' ) */ 125,
+ /* 126 ( '~' ) */ 126,
+ /* 127 ( '^?') */ 127,
+ /* 128 ( '~@') */ 64,
+ /* 129 ( '~A') */ 65,
+ /* 130 ( '~B') */ 66,
+ /* 131 ( '~C') */ 67,
+ /* 132 ( '~D') */ 68,
+ /* 133 ( '~E') */ 69,
+ /* 134 ( '~F') */ 70,
+ /* 135 ( '~G') */ 71,
+ /* 136 ( '~H') */ 72,
+ /* 137 ( '~I') */ 73,
+ /* 138 ( '~J') */ 74,
+ /* 139 ( '~K') */ 75,
+ /* 140 ( '~L') */ 76,
+ /* 141 ( '~M') */ 77,
+ /* 142 ( '~N') */ 78,
+ /* 143 ( '~O') */ 79,
+ /* 144 ( '~P') */ 80,
+ /* 145 ( '~Q') */ 81,
+ /* 146 ( '~R') */ 82,
+ /* 147 ( '~S') */ 83,
+ /* 148 ( '~T') */ 84,
+ /* 149 ( '~U') */ 85,
+ /* 150 ( '~V') */ 86,
+ /* 151 ( '~W') */ 87,
+ /* 152 ( '~X') */ 88,
+ /* 153 ( '~Y') */ 89,
+ /* 154 ( '~Z') */ 90,
+ /* 155 ( '~[') */ 91,
+ /* 156 ( '~\') */ 92,
+ /* 157 ( '~]') */ 93,
+ /* 158 ( '~^') */ 94,
+ /* 159 ( '~_') */ 95,
+ /* 160 ( '| ') */ 124,
+ /* 161 ( '¡' ) */ 169,
+ /* 162 ( '¢' ) */ 164,
+ /* 163 ( '£' ) */ 166,
+ /* 164 ( '€' ) */ 175,
+ /* 165 ( '¥' ) */ 166,
+ /* 166 ( 'Š' ) */ 124,
+ /* 167 ( '§' ) */ 210,
+ /* 168 ( 'š' ) */ 177,
+ /* 169 ( '©' ) */ 207,
+ /* 170 ( 'ª' ) */ 178,
+ /* 171 ( '«' ) */ 187,
+ /* 172 ( '¬' ) */ 44,
+ /* 173 ( '­' ) */ 44,
+ /* 174 ( '®' ) */ 206,
+ /* 175 ( '¯' ) */ 191,
+ /* 176 ( '°' ) */ 178,
+ /* 177 ( '±' ) */ 16,
+ /* 178 ( '²' ) */ 30,
+ /* 179 ( '³' ) */ 31,
+ /* 180 ( 'Ž' ) */ 180,
+ /* 181 ( 'µ' ) */ 234,
+ /* 182 ( '¶' ) */ 211,
+ /* 183 ( '·' ) */ 205,
+ /* 184 ( 'ž' ) */ 44,
+ /* 185 ( '¹' ) */ 180,
+ /* 186 ( 'º' ) */ 178,
+ /* 187 ( '»' ) */ 188,
+ /* 188 ( 'Œ' ) */ 182,
+ /* 189 ( 'œ' ) */ 181,
+ /* 190 ( 'Ÿ' ) */ 245,
+ /* 191 ( '¿' ) */ 159,
+ /* 192 ( 'À' ) */ 65,
+ /* 193 ( 'Á' ) */ 65,
+ /* 194 ( 'Â' ) */ 65,
+ /* 195 ( 'Ã' ) */ 170,
+ /* 196 ( 'Ä' ) */ 142,
+ /* 197 ( 'Å' ) */ 143,
+ /* 198 ( 'Æ' ) */ 146,
+ /* 199 ( 'Ç' ) */ 128,
+ /* 200 ( 'È' ) */ 69,
+ /* 201 ( 'É' ) */ 144,
+ /* 202 ( 'Ê' ) */ 69,
+ /* 203 ( 'Ë' ) */ 69,
+ /* 204 ( 'Ì' ) */ 73,
+ /* 205 ( 'Í' ) */ 73,
+ /* 206 ( 'Î' ) */ 73,
+ /* 207 ( 'Ï' ) */ 73,
+ /* 208 ( 'Ð' ) */ 245,
+ /* 209 ( 'Ñ' ) */ 156,
+ /* 210 ( 'Ò' ) */ 79,
+ /* 211 ( 'Ó' ) */ 79,
+ /* 212 ( 'Ô' ) */ 79,
+ /* 213 ( 'Õ' ) */ 172,
+ /* 214 ( 'Ö' ) */ 153,
+ /* 215 ( '×' ) */ 183,
+ /* 216 ( 'Ø' ) */ 174,
+ /* 217 ( 'Ù' ) */ 85,
+ /* 218 ( 'Ú' ) */ 85,
+ /* 219 ( 'Û' ) */ 85,
+ /* 220 ( 'Ü' ) */ 154,
+ /* 221 ( 'Ý' ) */ 89,
+ /* 222 ( 'Þ' ) */ 220,
+ /* 223 ( 'ß' ) */ 224,
+ /* 224 ( 'à' ) */ 133,
+ /* 225 ( 'á' ) */ 160,
+ /* 226 ( 'â' ) */ 131,
+ /* 227 ( 'ã' ) */ 171,
+ /* 228 ( 'ä' ) */ 132,
+ /* 229 ( 'å' ) */ 134,
+ /* 230 ( 'æ' ) */ 145,
+ /* 231 ( 'ç' ) */ 135,
+ /* 232 ( 'è' ) */ 138,
+ /* 233 ( 'é' ) */ 130,
+ /* 234 ( 'ê' ) */ 136,
+ /* 235 ( 'ë' ) */ 137,
+ /* 236 ( 'ì' ) */ 141,
+ /* 237 ( 'í' ) */ 161,
+ /* 238 ( 'î' ) */ 140,
+ /* 239 ( 'ï' ) */ 139,
+ /* 240 ( 'ð' ) */ 32,
+ /* 241 ( 'ñ' ) */ 155,
+ /* 242 ( 'ò' ) */ 149,
+ /* 243 ( 'ó' ) */ 162,
+ /* 244 ( 'ô' ) */ 147,
+ /* 245 ( 'õ' ) */ 173,
+ /* 246 ( 'ö' ) */ 148,
+ /* 247 ( '÷' ) */ 184,
+ /* 248 ( 'ø' ) */ 175,
+ /* 249 ( 'ù' ) */ 151,
+ /* 250 ( 'ú' ) */ 163,
+ /* 251 ( 'û' ) */ 150,
+ /* 252 ( 'ü' ) */ 129,
+ /* 253 ( 'ý' ) */ 121,
+ /* 254 ( 'þ' ) */ 32,
+ /* 255 ( 'ÿ' ) */ 253
};

#define MAX_CHARMAP_NAME_LENGHT 16

struct charmap {
- char name[MAX_CHARMAP_NAME_LENGHT];
- const unsigned char *charmap;
+ char name[MAX_CHARMAP_NAME_LENGHT];
+ const unsigned char *charmap;
};

const struct charmap available_charmaps[] = {
- {"hd44780_default", HD44780_charmap},
- {"ea_ks0073", EA_KS0073_charmap}
+ {"hd44780_default", HD44780_charmap},
+ {"ea_ks0073", EA_KS0073_charmap},
+ {"sed1278f_0b", SED1278F_0B_charmap}
};
Index: server/drivers/hd44780-drivers.h
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/server/drivers/hd44780-drivers.h,v
retrieving revision 1.11
diff -u -r1.11 hd44780-drivers.h
--- server/drivers/hd44780-drivers.h 13 Aug 2006 11:13:13 -0000 1.11
+++ server/drivers/hd44780-drivers.h 24 Jan 2007 17:05:38 -0000
@@ -43,6 +43,7 @@
{"lcdserializer", hd_init_serial, "\tnone\n"},
{"los-panel", hd_init_serial, "\tnone\n"},
{"vdr-lcd", hd_init_serial, "\tnone\n"},
+ {"vdr-wakeup", hd_init_serial, "\tnone\n"},
/* End serial connectiontypes */
{"lis2", hd_init_lis2, "\tnone\n"},
#ifdef HAVE_LIBUSB
Index: server/drivers/hd44780-serial.c
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/server/drivers/hd44780-serial.c,v
retrieving revision 1.7
diff -u -r1.7 hd44780-serial.c
--- server/drivers/hd44780-serial.c 19 Jan 2007 15:21:34 -0000 1.7
+++ server/drivers/hd44780-serial.c 24 Jan 2007 17:05:42 -0000
@@ -116,6 +116,8 @@
return 1;
}

+static int lastdisplayID;
+
void serial_HD44780_senddata (PrivateData *p, unsigned char displayID,
unsigned char flags, unsigned char ch);
void serial_HD44780_backlight (PrivateData *p, unsigned char state);
unsigned char serial_HD44780_scankeypad (PrivateData *p);
@@ -170,7 +172,9 @@
unsigned int conf_bitrate;
size_t bitrate;

- conf_bitrate = drvthis->config_get_string(drvthis->name, "Speed", 0,
SERIAL_IF.default_bitrate);
+ conf_bitrate = drvthis->config_get_int(drvthis->name, "Speed", 0,
SERIAL_IF.default_bitrate);
+ if (conf_bitrate==0)
+ conf_bitrate = SERIAL_IF.default_bitrate;
if (convert_bitrate(conf_bitrate, &bitrate)) {
report(RPT_ERR, "HD44780: serial: invalid configured bitrate
speed");
return -1;
@@ -213,6 +217,8 @@
/* Set TCSANOW mode of serial device */
tcsetattr(p->fd, TCSANOW, &portset);

+ lastdisplayID = -1;
+
/* Assign functions */
p->hd44780_functions->senddata = serial_HD44780_senddata;
p->hd44780_functions->backlight = serial_HD44780_backlight;
@@ -243,8 +249,9 @@
/* Do we need a DATA indicator byte? */
if ((SERIAL_IF.data_escape != '\0') &&
(ch >= SERIAL_IF.data_escape_min) &&
- (ch < SERIAL_IF.data_escape_max)) {
- write(p->fd, &SERIAL_IF.data_escape, 1);
+ (ch < SERIAL_IF.data_escape_max) ||
+ (SERIAL_IF.multiple_displays && displayID !=
lastdisplayID)) {
+ write(p->fd, &SERIAL_IF.data_escape + displayID, 1);
}
write(p->fd, &ch, 1);
}
@@ -252,13 +259,24 @@
write(p->fd, &SERIAL_IF.instruction_escape, 1);
write(p->fd, &ch, 1);
}
+ lastdisplayID = displayID;
}

void
serial_HD44780_backlight (PrivateData *p, unsigned char state)
{
- /* TODO */
- //if (p->have_backlight) ....
+ if (p->have_backlight) {
+ if (SERIAL_IF.backlight_escape) {
+ unsigned char send[2];
+ send[0] = SERIAL_IF.backlight_escape;
+ send[1] = state ? 0 : 0xFF;
+ write(p->fd, &send, 2);
+ } else {
+ unsigned char send[1];
+ send[0] = state ? SERIAL_IF.backlight_on :
SERIAL_IF.backlight_off;
+ write(p->fd, &send, 1);
+ }
+ }
}

unsigned char
Index: server/drivers/hd44780-serial.h
===================================================================
RCS file: /cvsroot/lcdproc/lcdproc/server/drivers/hd44780-serial.h,v
retrieving revision 1.2
diff -u -r1.2 hd44780-serial.h
--- server/drivers/hd44780-serial.h 19 Jan 2007 12:00:16 -0000 1.2
+++ server/drivers/hd44780-serial.h 24 Jan 2007 17:05:42 -0000
@@ -18,18 +18,21 @@
char keypad;
char keypad_escape;
char backlight;
- char backlight_escape;
+ char backlight_escape; /* leave to 0 is the interface uses
on/off codes */
+ char backlight_off;
+ char backlight_on; /* leave these two to 0 is
backlight_escape is set */
+ char multiple_displays;
} SerialInterface;

/* List of connectiontypes managed by this driver, if you change
something here, remember also to change hd44780-drivers.h */
static const SerialInterface serial_interfaces[] = {
- /* name instr data v ^ bitrate bits K esc B
esc */
- { "picanlcd", 0x11, 0x12, 0x00, 0x20, 9600, 8, 0, 0x00, 0,
0 },
- { "lcdserializer", 0xFE, 0, 0x00, 0x00, 9600, 8, 0, 0x00, 0,
0 },
- { "los-panel", 0xFE, 0, 0x00, 0x00, 9600, 4, 1, 0xFE, 1,
0 },
- { "vdr-lcd", 0xFE, 0, 0x00, 0x00, 9600, 4, 0, 0x00, 0,
0 }
- { "vdr-wakeup", 0xC0, 0xC4, 0xC0, 0xD0, 9600, 4, 0, 0x00, 0,
0 }
+ /* name instr data v ^ bitrate bits K esc B
Besc Boff Bon Multi*/
+ { "picanlcd", 0x11, 0x12, 0x00, 0x20, 9600, 8, 0, 0x00, 0,
0, 0, 0, 0 },
+ { "lcdserializer", 0xFE, 0, 0x00, 0x00, 9600, 8, 0, 0x00, 0,
0, 0, 0, 0 },
+ { "los-panel", 0xFE, 0, 0x00, 0x00, 9600, 4, 1, 0xFE, 1,
0xFF, 0, 0, 0 },
+ { "vdr-lcd", 0xFE, 0, 0x00, 0x00, 9600, 4, 0, 0x00, 0,
0, 0, 0, 0 },
+ { "vdr-wakeup", 0xC0, 0xC4, 0xC0, 0xD0, 9600, 4, 0, 0x00, 1,
0, 0xC9, 0xC8, 1 }
};

/* initialize this particular driver */



Archive powered by MHonArc 2.6.18.

Top of page