]> git.webhop.me Git - lcd4linux.git/commitdiff
drv_picoLCDGraphic.c: added configuration for USB read timeout
authormzuther <mzuther@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sun, 14 Feb 2010 12:05:58 +0000 (12:05 +0000)
committermzuther <mzuther@3ae390bd-cb1e-0410-b409-cd5a39f66f1f>
Sun, 14 Feb 2010 12:05:58 +0000 (12:05 +0000)
git-svn-id: https://ssl.bulix.org/svn/lcd4linux/trunk@1113 3ae390bd-cb1e-0410-b409-cd5a39f66f1f

drv_picoLCDGraphic.c

index afbc61f10d4d896b215eed33aba63f9b2472bf7c..f136a79c3902d3cf4d1c18241234909bd2361e37 100644 (file)
@@ -92,6 +92,10 @@ static int dirty = 1;
 /* timer for display redraw (set to zero for "direct updates") */
 static int update = 0;
 
+/* USB read timeout in ms (the picoLCD 256x64 times out on every read
+       unless a key has been pressed!)  */
+static int read_timeout = 0;
+
 static char Name[] = "picoLCDGraphic";
 static unsigned char *pLG_framebuffer;
 
@@ -178,7 +182,7 @@ static int drv_pLG_open(void)
 
 static int drv_pLG_read(unsigned char *data, int size)
 {
-    return usb_interrupt_read(lcd, USB_ENDPOINT_IN + 1, (char *) data, size, 1000);
+    return usb_interrupt_read(lcd, USB_ENDPOINT_IN + 1, (char *) data, size, read_timeout);
 }
 
 
@@ -465,6 +469,10 @@ static int drv_pLG_start(const char *section, const int quiet)
     /* set display redraw interval (set to zero for "direct updates") */
     cfg_number(section, "update", 200, 0, -1, &update);
 
+    /* USB read timeout in ms (the picoLCD 256x64 times out on every
+       read unless a key has been pressed!)  */
+    cfg_number(section, "Timeout", 5, 0, -1, &read_timeout);
+
     s = cfg_get(section, "Size", NULL);
     if (s == NULL || *s == '\0') {
        error("%s: no '%s.Size' entry from %s", Name, section, cfg_source());