X-Git-Url: http://git.zerfleddert.de/cgi-bin/gitweb.cgi/rigol/blobdiff_plain/c1ec14bbf5b7269df2ab382250556f9146b0e042..77385d56dba9eb59dce4191923d109d13b8501de:/commands.c?ds=sidebyside diff --git a/commands.c b/commands.c index 4986902..83df9c4 100644 --- a/commands.c +++ b/commands.c @@ -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; @@ -224,4 +226,3 @@ void do_display_screen(struct usb_dev_handle *sc) break; } } -