]> git.webhop.me Git - lcd4linux.git/commitdiff
[lcd4linux @ 2006-01-21 17:43:25 by reinelt]
authorreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sat, 21 Jan 2006 17:43:25 +0000 (17:43 +0000)
committerreinelt <reinelt@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sat, 21 Jan 2006 17:43:25 +0000 (17:43 +0000)
minor cosmetic fixes

git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@620 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

drv_G15.c

index 60e650a2ce500a6d7db07c0dfccd1438b831c65d..1e504f5ee4ae6108620a95c5f74b7b062c709179 100644 (file)
--- a/drv_G15.c
+++ b/drv_G15.c
@@ -1,4 +1,4 @@
-/* $Id: drv_G15.c,v 1.1 2006/01/21 13:26:44 reinelt Exp $
+/* $Id: drv_G15.c,v 1.2 2006/01/21 17:43:25 reinelt Exp $
  *
  * Driver for Logitech G-15 keyboard LCD screen
  *
@@ -24,6 +24,9 @@
  *
  *
  * $Log: drv_G15.c,v $
+ * Revision 1.2  2006/01/21 17:43:25  reinelt
+ * minor cosmetic fixes
+ *
  * Revision 1.1  2006/01/21 13:26:44  reinelt
  * Logitech G-15 keyboard LCD driver from Dave Ingram
  *
@@ -79,210 +82,180 @@ static unsigned char *g15_image;
 
 static int drv_G15_open()
 {
-       struct usb_bus *bus;
-       struct usb_device *dev;
-       char dname[32]={0};
-
-       g15_lcd=NULL;
-
-       info("%s: Scanning USB for G-15 keyboard...", Name);
-
-       usb_init();
-       usb_set_debug(0);
-       usb_find_busses();
-       usb_find_devices();
-
-       for (bus=usb_get_busses(); bus; bus=bus->next) {
-               for (dev=bus->devices; dev; dev=dev->next) {
-                       if ((g15_lcd=usb_open(dev))) {
-                               if ((dev->descriptor.idVendor == G15_VENDOR) &&
-                                       (dev->descriptor.idProduct == G15_DEVICE)) {
-
-                                       // detach from the kernel if we need to
-                                       int retval=usb_get_driver_np(g15_lcd, 0, dname, 31);
-                                       if (retval==0 && strcmp(dname, "usbhid")==0) {
-                                               usb_detach_kernel_driver_np(g15_lcd, 0);
-                                       }
-                                       usb_set_configuration(g15_lcd,1);
-                                       usleep(100);
-                                       usb_claim_interface(g15_lcd,0);
-                                       return 0;
-                               } else {
-                                       usb_close(g15_lcd);
-                               }
-                       }
+    struct usb_bus *bus;
+    struct usb_device *dev;
+    char dname[32] = { 0 };
+
+    g15_lcd = NULL;
+
+    info("%s: Scanning USB for G-15 keyboard...", Name);
+
+    usb_init();
+    usb_set_debug(0);
+    usb_find_busses();
+    usb_find_devices();
+
+    for (bus = usb_get_busses(); bus; bus = bus->next) {
+       for (dev = bus->devices; dev; dev = dev->next) {
+           if ((g15_lcd = usb_open(dev))) {
+               if ((dev->descriptor.idVendor == G15_VENDOR) && (dev->descriptor.idProduct == G15_DEVICE)) {
+
+                   /* detach from the kernel if we need to */
+                   int retval = usb_get_driver_np(g15_lcd, 0, dname, 31);
+                   if (retval == 0 && strcmp(dname, "usbhid") == 0) {
+                       usb_detach_kernel_driver_np(g15_lcd, 0);
+                   }
+                   usb_set_configuration(g15_lcd, 1);
+                   usleep(100);
+                   usb_claim_interface(g15_lcd, 0);
+                   return 0;
+               } else {
+                   usb_close(g15_lcd);
                }
+           }
        }
+    }
 
-       return -1;
+    return -1;
 }
 
 
 static int drv_G15_close(void)
 {
-       usb_release_interface(g15_lcd, 0);
-       if (g15_lcd)
-               usb_close(g15_lcd);
+    usb_release_interface(g15_lcd, 0);
+    if (g15_lcd)
+       usb_close(g15_lcd);
 
-       return 0;
+    return 0;
 }
 
 
-static void drv_G15_send(const char *data, const unsigned int len)
-{
-       /* send data to the serial port is easy... */
-       //drv_generic_serial_write(data, len);
-}
-
 static void drv_G15_update_img()
 {
-       int i,j,k;
-       unsigned char *output=malloc(160*43*sizeof(unsigned char));
-       
-       DEBUG("entered");
-       if (!output)
-               return;
-       
-       DEBUG("memory allocated");
-       memset(output, 0, 160*43);
-       DEBUG("memory set");
-       output[0]=0x03;
-       DEBUG("first output set");
-       
-       for (k=0; k<6; k++) {
-               for (i=0; i<160; i++) {
-                       int maxj=(k==5)?3:8;
-                       for (j=0; j<maxj; j++) {
-                               if (g15_image[(k*1280)+i+(j*160)]) output[32+i+(k*160)]|=(1<<j);
-                       }
-               }
+    int i, j, k;
+    unsigned char *output = malloc(160 * 43 * sizeof(unsigned char));
+
+    DEBUG("entered");
+    if (!output)
+       return;
+
+    DEBUG("memory allocated");
+    memset(output, 0, 160 * 43);
+    DEBUG("memory set");
+    output[0] = 0x03;
+    DEBUG("first output set");
+
+    for (k = 0; k < 6; k++) {
+       for (i = 0; i < 160; i++) {
+           int maxj = (k == 5) ? 3 : 8;
+           for (j = 0; j < maxj; j++) {
+               if (g15_image[(k * 1280) + i + (j * 160)])
+                   output[32 + i + (k * 160)] |= (1 << j);
+           }
        }
+    }
 
-       DEBUG("output array prepared");
+    DEBUG("output array prepared");
 
-       usb_bulk_write(g15_lcd, 0x02, output, 992, 1000);
-       usleep(300);
+    usb_bulk_write(g15_lcd, 0x02, (char*)output, 992, 1000);
+    usleep(300);
 
-       DEBUG("data written to LCD");
+    DEBUG("data written to LCD");
 
-       free(output);
+    free(output);
 
-       DEBUG("memory freed");
-       DEBUG("left");
+    DEBUG("memory freed");
+    DEBUG("left");
 }
 
 
 
 /* for graphic displays only */
-static void drv_G15_blit(const int row, const int col, const int height,
-                                                const int width)
+static void drv_G15_blit(const int row, const int col, const int height, const int width)
 {
-       int r, c;
+    int r, c;
 
-       DEBUG("entered");
+    DEBUG("entered");
 
-       for (r = row; r < row + height; r++) {
-               for (c = col; c < col + width; c++) {
-                       g15_image[r*160+c]=(drv_generic_graphic_FB[r * LCOLS + c]);
-               }
+    for (r = row; r < row + height; r++) {
+       for (c = col; c < col + width; c++) {
+           g15_image[r * 160 + c] = (drv_generic_graphic_FB[r * LCOLS + c]);
        }
+    }
 
-       DEBUG("updating image");
-
-       drv_G15_update_img();
+    DEBUG("updating image");
 
-       DEBUG("left");
-}
-
-
-/* example function used in a plugin */
-static int drv_G15_contrast(int contrast)
-{
-       char cmd[2];
+    drv_G15_update_img();
 
-       /* adjust limits according to the display */
-       if (contrast < 0)
-               contrast = 0;
-       if (contrast > 255)
-               contrast = 255;
-
-       /* call a 'contrast' function */
-       /* assume 0x04 to be the 'set contrast' command */
-       cmd[0] = 0x04;
-       cmd[1] = contrast;
-       drv_G15_send(cmd, 2);
-
-       return contrast;
+    DEBUG("left");
 }
 
 
 /* start graphic display */
 static int drv_G15_start(const char *section)
 {
-       char *s;
-       //int contrast;
-       
-       DEBUG("entered");
+    char *s;
 
-       /* read display size from config */
-       DROWS = 160;
-       DCOLS = 43;
+    DEBUG("entered");
 
-       DEBUG("display size set");
+    /* read display size from config */
+    DROWS = 160;
+    DCOLS = 43;
 
-       s = cfg_get(section, "Font", "6x8");
-       if (s == NULL || *s == '\0') {
-               error("%s: no '%s.Font' entry from %s", Name, section, cfg_source());
-               return -1;
-       }
+    DEBUG("display size set");
 
-       XRES = -1;
-       YRES = -1;
-       if (sscanf(s, "%dx%d", &XRES, &YRES) != 2 || XRES < 1 || YRES < 1) {
-               error("%s: bad Font '%s' from %s", Name, s, cfg_source());
-               return -1;
-       }
+    s = cfg_get(section, "Font", "6x8");
+    if (s == NULL || *s == '\0') {
+       error("%s: no '%s.Font' entry from %s", Name, section, cfg_source());
+       return -1;
+    }
 
-       /* Fixme: provider other fonts someday... */
-       if (XRES != 6 && YRES != 8) {
-               error("%s: bad Font '%s' from %s (only 6x8 at the moment)", Name, s,
-                         cfg_source());
-               return -1;
-       }
+    XRES = -1;
+    YRES = -1;
+    if (sscanf(s, "%dx%d", &XRES, &YRES) != 2 || XRES < 1 || YRES < 1) {
+       error("%s: bad Font '%s' from %s", Name, s, cfg_source());
+       return -1;
+    }
 
-       DEBUG("Finished config stuff");
-
-       DEBUG("allocating image buffer");
-       /* you surely want to allocate a framebuffer or something... */
-       g15_image=malloc(160*43*sizeof(unsigned char));
-       if (!g15_image)
-               return -1;
-       DEBUG("allocated");
-       memset(g15_image,0,160*43);
-       DEBUG("zeroed");
-
-       /* open communication with the display */
-       DEBUG("opening display...");
-       if (drv_G15_open() < 0) {
-               DEBUG("opening failed");
-               return -1;
-       }
-       DEBUG("display open");
+    /* Fixme: provider other fonts someday... */
+    if (XRES != 6 && YRES != 8) {
+       error("%s: bad Font '%s' from %s (only 6x8 at the moment)", Name, s, cfg_source());
+       return -1;
+    }
 
-       /* reset & initialize display */
-       DEBUG("clearing display");
-       drv_G15_update_img();
-       DEBUG("done");
+    DEBUG("Finished config stuff");
 
-       /*
-       if (cfg_number(section, "Contrast", 0, 0, 255, &contrast) > 0) {
-               drv_G15_contrast(contrast);
-       }
-       */
+    DEBUG("allocating image buffer");
+    /* you surely want to allocate a framebuffer or something... */
+    g15_image = malloc(160 * 43 * sizeof(unsigned char));
+    if (!g15_image)
+       return -1;
+    DEBUG("allocated");
+    memset(g15_image, 0, 160 * 43);
+    DEBUG("zeroed");
+
+    /* open communication with the display */
+    DEBUG("opening display...");
+    if (drv_G15_open() < 0) {
+       DEBUG("opening failed");
+       return -1;
+    }
+    DEBUG("display open");
 
-       DEBUG("left");
+    /* reset & initialize display */
+    DEBUG("clearing display");
+    drv_G15_update_img();
+    DEBUG("done");
 
-       return 0;
+    /*
+       if (cfg_number(section, "Contrast", 0, 0, 255, &contrast) > 0) {
+       drv_G15_contrast(contrast);
+       }
+     */
+
+    DEBUG("left");
+
+    return 0;
 }
 
 
@@ -290,13 +263,7 @@ static int drv_G15_start(const char *section)
 /***            plugins               ***/
 /****************************************/
 
-static void plugin_contrast(RESULT * result, RESULT * arg1)
-{
-       double contrast;
-
-       contrast = drv_G15_contrast(R2N(arg1));
-       SetResult(&result, R_NUMBER, &contrast);
-}
+/* none */
 
 
 /****************************************/
@@ -318,61 +285,58 @@ static void plugin_contrast(RESULT * result, RESULT * arg1)
 /* list models */
 int drv_G15_list(void)
 {
-       printf("generic");
-       return 0;
+    printf("generic");
+    return 0;
 }
 
 
 /* initialize driver & display */
 int drv_G15_init(const char *section, const int quiet)
 {
-       WIDGET_CLASS wc;
-       int ret;
+    WIDGET_CLASS wc;
+    int ret;
 
-       DEBUG("entered");
+    DEBUG("entered");
 
-       /* real worker functions */
-       drv_generic_graphic_real_blit = drv_G15_blit;
+    /* real worker functions */
+    drv_generic_graphic_real_blit = drv_G15_blit;
 
-       /* start display */
-       if ((ret = drv_G15_start(section)) != 0)
-               return ret;
+    /* start display */
+    if ((ret = drv_G15_start(section)) != 0)
+       return ret;
 
-       /* initialize generic graphic driver */
-       if ((ret = drv_generic_graphic_init(section, Name)) != 0)
-               return ret;
+    /* initialize generic graphic driver */
+    if ((ret = drv_generic_graphic_init(section, Name)) != 0)
+       return ret;
 
-       if (!quiet) {
-               char buffer[40];
+    if (!quiet) {
+       char buffer[40];
 
-               qprintf(buffer, sizeof(buffer), "%s %dx%d", Name, DCOLS, DROWS);
-               if (drv_generic_graphic_greet(buffer, NULL)) {
-                       sleep(3);
-                       drv_generic_graphic_clear();
-               }
+       qprintf(buffer, sizeof(buffer), "%s %dx%d", Name, DCOLS, DROWS);
+       if (drv_generic_graphic_greet(buffer, NULL)) {
+           sleep(3);
+           drv_generic_graphic_clear();
        }
+    }
 
-       /* register text widget */
-       wc = Widget_Text;
-       wc.draw = drv_generic_graphic_draw;
-       widget_register(&wc);
+    /* register text widget */
+    wc = Widget_Text;
+    wc.draw = drv_generic_graphic_draw;
+    widget_register(&wc);
 
-       /* register icon widget */
-       wc = Widget_Icon;
-       wc.draw = drv_generic_graphic_icon_draw;
-       widget_register(&wc);
+    /* register icon widget */
+    wc = Widget_Icon;
+    wc.draw = drv_generic_graphic_icon_draw;
+    widget_register(&wc);
 
-       /* register bar widget */
-       wc = Widget_Bar;
-       wc.draw = drv_generic_graphic_bar_draw;
-       widget_register(&wc);
+    /* register bar widget */
+    wc = Widget_Bar;
+    wc.draw = drv_generic_graphic_bar_draw;
+    widget_register(&wc);
 
-       /* register plugins */
-       //AddFunction("LCD::contrast", 1, plugin_contrast);
+    DEBUG("left");
 
-       DEBUG("left");
-
-       return 0;
+    return 0;
 }
 
 
@@ -380,28 +344,28 @@ int drv_G15_init(const char *section, const int quiet)
 /* close driver & display */
 int drv_G15_quit(const int quiet)
 {
-       info("%s: shutting down.", Name);
+    info("%s: shutting down.", Name);
 
-       DEBUG("clearing display");
-       /* clear display */
-       drv_generic_graphic_clear();
+    DEBUG("clearing display");
+    /* clear display */
+    drv_generic_graphic_clear();
 
-       DEBUG("saying goodbye");
-       /* say goodbye... */
-       if (!quiet) {
-               drv_generic_graphic_greet("goodbye!", NULL);
-       }
+    DEBUG("saying goodbye");
+    /* say goodbye... */
+    if (!quiet) {
+       drv_generic_graphic_greet("goodbye!", NULL);
+    }
 
-       DEBUG("generic_graphic_quit()");
-       drv_generic_graphic_quit();
+    DEBUG("generic_graphic_quit()");
+    drv_generic_graphic_quit();
 
-       DEBUG("closing connection");
-       drv_G15_close();
+    DEBUG("closing connection");
+    drv_G15_close();
 
-       DEBUG("freeing image alloc");
-       free(g15_image);
+    DEBUG("freeing image alloc");
+    free(g15_image);
 
-       return (0);
+    return (0);
 }