--- lcdproc-0.5.2.orig/configure 2008-03-26 17:54:08.000000000 -0400 +++ lcdproc-0.5.2/configure 2008-03-25 21:20:54.000000000 -0400 @@ -13534,7 +13534,7 @@ # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' -DEFS=-DHAVE_CONFIG_H +DEFS="-DHAVE_CONFIG_H -DIS_LCD_0038" ac_libobjs= ac_ltlibobjs= --- lcdproc-0.5.2.orig/server/drivers/imonlcd.c 2008-03-25 22:10:39.000000000 -0400 +++ lcdproc-0.5.2/server/drivers/imonlcd.c 2008-03-25 22:14:44.000000000 -0400 @@ -87,12 +87,23 @@ /** * Just for convenience and to have the commands at one place. */ + #define COMMANDS_SET_ICONS (uint64_t) 0x0100000000000000 #define COMMANDS_SET_CONTRAST (uint64_t) 0x0300000000000000 -#define COMMANDS_DISPLAY (uint64_t) 0x5000000000000000 -#define COMMANDS_SHUTDOWN (uint64_t) 0x5000000000000008 -#define COMMANDS_DISPLAY_ON (uint64_t) 0x5000000000000040 -#define COMMANDS_CLEAR_ALARM (uint64_t) 0x5100000000000000 + +#ifdef IS_LCD_0038 +#define COMMANDS_DISPLAY_BYTE (uint64_t) 0x8800000000000000 +#define COMMANDS_ALARM_BYTE (uint64_t) 0x8a00000000000000 +#else +#define COMMANDS_DISPLAY_BYTE (uint64_t) 0x5000000000000000 +#define COMMANDS_ALARM_BYTE (uint64_t) 0x5100000000000000 +#endif + +#define COMMANDS_DISPLAY (uint64_t) (0x0000000000000000 | COMMANDS_DISPLAY_BYTE) +#define COMMANDS_SHUTDOWN (uint64_t) (0x0000000000000008 | COMMANDS_DISPLAY_BYTE) +#define COMMANDS_DISPLAY_ON (uint64_t) (0x0000000000000040 | COMMANDS_DISPLAY_BYTE) +#define COMMANDS_CLEAR_ALARM (uint64_t) (0x0000000000000000 | COMMANDS_ALARM_BYTE) + #define COMMANDS_SET_LINES0 (uint64_t) 0x1000000000000000 #define COMMANDS_SET_LINES1 (uint64_t) 0x1100000000000000 #define COMMANDS_SET_LINES2 (uint64_t) 0x1200000000000000 @@ -1074,7 +1085,7 @@ */ static void send_command_data( uint64_t commandData, int fd ) { - if ((commandData & 0xFF00000000000000L) == 0x5000000000000000L) { + if ((commandData & 0xFF00000000000000L) == COMMANDS_DISPLAY_BYTE) { printf("%s: sending command: %lX\n", "imonlcd", commandData); }