]> git.zerfleddert.de Git - rigol/blobdiff - commands.c
add small webserver "rigold", currently only serving the contents of the LCD
[rigol] / commands.c
index 75e76d03d65f2a4a2b4095de2ca49233f42811da..83df9c46ae811a835dcb874558ca46fb0a716c69 100644 (file)
@@ -106,15 +106,17 @@ void do_get_buf (struct usb_dev_handle *sc)
        usbtmc_sendscpi (sc, ":TIM:OFFSET 0", NULL, 0);
 }
 
-static unsigned char* get_lcd(struct usb_dev_handle *sc, int *imglen)
+unsigned char* get_lcd(struct usb_dev_handle *sc, int *imglen, int keylock)
 {
        unsigned char screen[320*234];
        unsigned char *png;
        int l;
 
-       /* Hide "RMT" from screen */
-       l = usbtmc_sendscpi(sc, ":KEY:LOCK DISABLE", NULL, 0); 
-       usleep(20000);
+       if (keylock) {
+               /* Hide "RMT" from screen */
+               l = usbtmc_sendscpi(sc, ":KEY:LOCK DISABLE", NULL, 0); 
+               usleep(30000);
+       }
 
        l = usbtmc_sendscpi(sc, ":LCD:DATA?", screen, sizeof(screen));
 
@@ -137,7 +139,7 @@ void do_get_screen(struct usb_dev_handle *sc)
        int fd;
        pid_t display;
 
-       png = get_lcd(sc, &imglen);
+       png = get_lcd(sc, &imglen, 1);
        if (png == NULL) {
                perror("get_lcd");
                return;
@@ -186,7 +188,7 @@ void do_display_screen(struct usb_dev_handle *sc)
        int pipefd[2];
        pid_t display;
 
-       png = get_lcd(sc, &imglen);
+       png = get_lcd(sc, &imglen, 1);
        if (png == NULL) {
                perror("get_lcd");
                return;
Impressum, Datenschutz