From e09806b632a86c2b18fc4b129e10ab23e898b0dc Mon Sep 17 00:00:00 2001 From: Michael Gernoth Date: Sun, 7 Jul 2013 22:38:11 +0200 Subject: [PATCH 1/1] always show timing warning, not only when debugging is enabled --- hmcfgusb.c | 3 +-- hmland.c | 3 ++- hmsniff.c | 6 +++++- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/hmcfgusb.c b/hmcfgusb.c index 5939dd6..77f977f 100644 --- a/hmcfgusb.c +++ b/hmcfgusb.c @@ -183,8 +183,7 @@ int hmcfgusb_send(struct hmcfgusb_dev *usbdev, unsigned char* send_data, int len msec = ((tv_end.tv_sec-tv_start.tv_sec)*1000)+((tv_end.tv_usec-tv_start.tv_usec)/1000); if (msec > 100) { - if (debug) - fprintf(stderr, "usb-transfer took more than 100ms (%dms), this can lead to timing problems!\n", msec); + fprintf(stderr, "usb-transfer took more than 100ms (%dms), this can lead to timing problems!\n", msec); } else if (debug) { fprintf(stderr, "usb-transfer took %dms!\n", msec); } diff --git a/hmland.c b/hmland.c index 15b46ab..f963e2b 100644 --- a/hmland.c +++ b/hmland.c @@ -359,6 +359,7 @@ static int comm(int fd_in, int fd_out, int master_socket, int flags) memset(out, 0, sizeof(out)); out[0] = 'K'; + hmcfgusb_send_null_frame(dev); hmcfgusb_send(dev, out, sizeof(out), 1); while(!quit) { @@ -558,7 +559,7 @@ static int socket_server(char *iface, int port, int flags) (client_addr & 0x0000ff00) >> 8, (client_addr & 0x000000ff)); } - + sleep(1); } return EXIT_SUCCESS; diff --git a/hmsniff.c b/hmsniff.c index e842453..837f4e0 100644 --- a/hmsniff.c +++ b/hmsniff.c @@ -188,6 +188,7 @@ int main(int argc, char **argv) } printf("HM-CFG-USB opened!\n"); + hmcfgusb_send_null_frame(dev); hmcfgusb_send(dev, (unsigned char*)"K", 1, 1); while(!quit) { @@ -199,7 +200,7 @@ int main(int argc, char **argv) rdata.wrong_hmid = 0; hmcfgusb_send(dev, (unsigned char*)"K", 1, 1); } - fd = hmcfgusb_poll(dev, 10); + fd = hmcfgusb_poll(dev, 1); if (fd >= 0) { fprintf(stderr, "activity on unknown fd %d!\n", fd); continue; @@ -207,6 +208,9 @@ int main(int argc, char **argv) if (errno) { perror("hmcfgusb_poll"); break; + } else { + /* periodically wakeup the device */ + hmcfgusb_send_null_frame(dev); } } } -- 2.39.2