diff options
Diffstat (limited to '')
-rw-r--r-- | drv_MatrixOrbitalGX.c | 96 |
1 files changed, 46 insertions, 50 deletions
diff --git a/drv_MatrixOrbitalGX.c b/drv_MatrixOrbitalGX.c index 7a12954..dc75dd1 100644 --- a/drv_MatrixOrbitalGX.c +++ b/drv_MatrixOrbitalGX.c @@ -87,7 +87,7 @@ static unsigned char *MOGX_framebuffer; /* used to display white text on blue background or inverse */ static unsigned char invert = 0x00; -static unsigned char backlight_RGB=0; +static unsigned char backlight_RGB = 0; static usb_dev_handle *lcd_dev; @@ -133,14 +133,14 @@ static int drv_MOGX_open(void) for (bus = busses; bus; bus = bus->next) { for (dev = bus->devices; dev; dev = dev->next) { - if ((dev->descriptor.idVendor == MatrixOrbitalGX_VENDOR) && + if ((dev->descriptor.idVendor == MatrixOrbitalGX_VENDOR) && ((dev->descriptor.idProduct == MatrixOrbitalGX_DEVICE_1) || - (dev->descriptor.idProduct == MatrixOrbitalGX_DEVICE_2) || - (dev->descriptor.idProduct == MatrixOrbitalGX_DEVICE_3))) { + (dev->descriptor.idProduct == MatrixOrbitalGX_DEVICE_2) || + (dev->descriptor.idProduct == MatrixOrbitalGX_DEVICE_3))) { /* At the moment, I have information for only this LCD */ if (dev->descriptor.idProduct == MatrixOrbitalGX_DEVICE_2) - backlight_RGB=0; + backlight_RGB = 0; info("%s: found Matrix Orbital GX Series LCD on bus %s device %s", Name, bus->dirname, dev->filename); @@ -178,24 +178,24 @@ static int drv_MOGX_open(void) } } error("%s: could not find a Matrix Orbital GX Series LCD", Name); - return -1; + return -1; } static void drv_MOGX_send(const unsigned char *data, const unsigned int size) { int ret; - + //unsigned char rcv_buffer[64] = ""; - ret = usb_bulk_write(lcd_dev, BULK_OUT_ENDPOINT, (char*) data, size, 1000); - + ret = usb_bulk_write(lcd_dev, BULK_OUT_ENDPOINT, (char *) data, size, 1000); + //info("%s written %d bytes\n", __FUNCTION__, ret); //ret = usb_bulk_read(lcd_dev, BULK_IN_ENDPOINT, (char *) rcv_buffer,64,1000); //printf("\nReply : "); //for (i=0;i<ret;i++) - //printf("%3x",rcv_buffer[i]); + //printf("%3x",rcv_buffer[i]); } static int drv_MOGX_close(void) @@ -210,20 +210,20 @@ static int drv_MOGX_close(void) /* Send framebuffer to lcd */ static void drv_MOGX_update_lcd() { - unsigned char cmd[3852] = {0x38,0x46,0x42,0x46,0x50,0x00,0x00,0x07,0x80,0xff,0xff}; + unsigned char cmd[3852] = { 0x38, 0x46, 0x42, 0x46, 0x50, 0x00, 0x00, 0x07, 0x80, 0xff, 0xff }; /* - index : index of pixel_byte in cmd[] - bit : pixel of each pixel_byte - x : index of pixel in framebuffer - pixel_byte : each 8 pixel in framebuffer = 1 byte - */ - int index, bit, x=0; - unsigned int cmd_length=0; + index : index of pixel_byte in cmd[] + bit : pixel of each pixel_byte + x : index of pixel in framebuffer + pixel_byte : each 8 pixel in framebuffer = 1 byte + */ + int index, bit, x = 0; + unsigned int cmd_length = 0; unsigned char pixel_byte; //info("In %s\n", __FUNCTION__); - for (index = 0; index < ( SCREEN_SIZE / 8 ); index++) { + for (index = 0; index < (SCREEN_SIZE / 8); index++) { pixel_byte = 0x00; for (bit = 7; bit >= 0; bit--) { if (MOGX_framebuffer[x] ^ invert) @@ -232,30 +232,28 @@ static void drv_MOGX_update_lcd() pixel_byte &= ~(1 << bit); x++; } - + if (pixel_byte == 0xc0) { cmd[11 + cmd_length] = 0xdb; cmd_length++; cmd[11 + cmd_length] = 0xdc; cmd_length++; - } - else if (pixel_byte == 0xdb) { + } else if (pixel_byte == 0xdb) { cmd[11 + cmd_length] = 0xdb; cmd_length++; cmd[11 + cmd_length] = 0xdd; cmd_length++; - } - else { + } else { cmd[11 + cmd_length] = pixel_byte; cmd_length++; } } /* finish command */ - cmd[11+cmd_length] = 0xc0; - + cmd[11 + cmd_length] = 0xc0; + //info("In %s - %s \n", __FUNCTION__, cmd_img); /* send command which includes framebuffer */ - drv_MOGX_send(cmd, cmd_length+12); + drv_MOGX_send(cmd, cmd_length + 12); } static void drv_MOGX_blit(const int row, const int col, const int height, const int width) @@ -302,7 +300,7 @@ static int drv_MOGX_contrast(int contrast) /* backlight function used in plugin */ static int drv_MOGX_backlight(int backlight) { - unsigned char cmd[13] = {0x18,0x4c,0x43,0x53,0x48,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xc0}; + unsigned char cmd[13] = { 0x18, 0x4c, 0x43, 0x53, 0x48, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xc0 }; if (backlight < 0) backlight = 0; @@ -319,10 +317,10 @@ static int drv_MOGX_backlight(int backlight) static int drv_MOGX_backlightRGB(int backlight_R, int backlight_G, int backlight_B) { /* - TODO : Function should be tested for three color LCD - */ + TODO : Function should be tested for three color LCD + */ //unsigned char cmd1[11] = {0x18,0x4c,0x43,0x53,0x42,0x00,0x00,0x00,0x01,0xff,0xc0}; - unsigned char cmd2[13] = {0x18,0x4c,0x43,0x53,0x48,0x00,0x00,0x00,0x03,0x00,0x00,0x00,0xc0}; + unsigned char cmd2[13] = { 0x18, 0x4c, 0x43, 0x53, 0x48, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0xc0 }; if (backlight_R < 0) backlight_R = 0; @@ -353,7 +351,7 @@ static int drv_MOGX_backlightRGB(int backlight_R, int backlight_G, int backlight static int drv_MOGX_start(const char *section, const int quiet) { char *s; - int value1,value2,value3; + int value1, value2, value3; /* read display size from config */ s = cfg_get(section, "Size", NULL); @@ -392,7 +390,7 @@ static int drv_MOGX_start(const char *section, const int quiet) if (value1 > 0) { info("%s: Display is inverted", Name); invert = 0x01; - } + } /* open communication with the display */ if (drv_MOGX_open() < 0) { @@ -417,18 +415,16 @@ static int drv_MOGX_start(const char *section, const int quiet) info("%s: Setting contrast to %d", Name, value1); drv_MOGX_contrast(value1); } -*/ +*/ /* if lcd has three color backlight call the backlightRGB function */ if (backlight_RGB) { if ((cfg_number(section, "Backlight_R", 0, 0, 255, &value1) > 0) && (cfg_number(section, "Backlight_G", 0, 0, 255, &value2) > 0) && - (cfg_number(section, "Backlight_B", 0, 0, 255, &value3) > 0)) - { - info("%s: Setting backlight to %d,%d,%d (RGB)", Name, value1,value2,value3); - drv_MOGX_backlightRGB(value1,value2,value3); + (cfg_number(section, "Backlight_B", 0, 0, 255, &value3) > 0)) { + info("%s: Setting backlight to %d,%d,%d (RGB)", Name, value1, value2, value3); + drv_MOGX_backlightRGB(value1, value2, value3); } - } - else { + } else { if ((cfg_number(section, "Backlight", 0, 0, 255, &value1) > 0)) { info("%s: Setting backlight to %d", Name, value1); drv_MOGX_backlight(value1); @@ -437,7 +433,7 @@ static int drv_MOGX_start(const char *section, const int quiet) //info("In %s\n", __FUNCTION__); - return 0; + return 0; } @@ -469,7 +465,7 @@ static void plugin_backlightRGB(RESULT * result, RESULT * arg1, RESULT * arg2, R { double backlight; - backlight = drv_MOGX_backlightRGB(R2N(arg1),R2N(arg2),R2N(arg3)); + backlight = drv_MOGX_backlightRGB(R2N(arg1), R2N(arg2), R2N(arg3)); SetResult(&result, R_NUMBER, &backlight); } @@ -525,9 +521,9 @@ int drv_MOGX_init(const char *section, const int quiet) } /* register plugins */ - /* TODO : I am not sure for contrast function (command) - Don't try to adjust contrast until contrast function is checked and fixed - */ + /* TODO : I am not sure for contrast function (command) + Don't try to adjust contrast until contrast function is checked and fixed + */ //AddFunction("LCD::contrast", 1, plugin_contrast); if (backlight_RGB) AddFunction("LCD::backlightRGB", 3, plugin_backlightRGB); @@ -554,10 +550,10 @@ int drv_MOGX_quit(const int quiet) /* say goodbye... */ /* - if (!quiet) { - drv_generic_graphic_greet("goodbye!", NULL); - } - */ + if (!quiet) { + drv_generic_graphic_greet("goodbye!", NULL); + } + */ drv_generic_graphic_quit(); @@ -566,7 +562,7 @@ int drv_MOGX_quit(const int quiet) if (MOGX_framebuffer) { free(MOGX_framebuffer); - } + } return (0); } |