static int send_and_receive(byte *req, byte *reply)
{
+ if (debug_packets) {
+ time_t t = time(NULL);
+ struct tm tm;
+ localtime_r(&t, &tm);
+
+ char tbuf[64];
+ strftime(tbuf, sizeof(tbuf), "%Y-%m-%d %H:%M:%S", &tm);
+ log_pkt("## %s\n", tbuf);
+ }
+
int err, transferred;
if (err = libusb_bulk_transfer(devh, 0x01, req, 64, &transferred, 200)) {
if (err == LIBUSB_ERROR_TIMEOUT) {
log_pkt(">> xmit timed out\n");
return 0;
}
+ log_pkt(">> xmit error %d\n", err);
log_error("Transmit error: %d", err);
return err;
}
}
if (err = libusb_bulk_transfer(devh, 0x81, reply, 64, &transferred, 200)) {
if (err == LIBUSB_ERROR_TIMEOUT) {
- log_pkt(">> recv timed out\n");
+ log_pkt("<< recv timed out\n");
return 0;
}
+ log_pkt("<< recv error %d\n", err);
log_error("Receive error: %d", err);
return err;
}
static void set_clock(void)
{
- log_info("Synchronizing receiver time");
-
byte req[64], reply[64];
memset(req, 0, 64);
req[0] = 4;
sleep(30);
continue;
}
-
inited = 1;
int sync_in = 0;
for (;;) {
if (!sync_in) {
+ log_info("Synchronizing receiver time");
set_clock();
- sync_in = 100;
+ sync_in = 200;
}
byte req[64], reply[64];
memset(req, 0, sizeof(req));