+#include <ucw/lib.h>
+#include <ucw/unaligned.h>
+
#include <stdio.h>
#include <stdlib.h>
+#include <stdint.h>
#include <unistd.h>
#include <time.h>
#include <libusb-1.0/libusb.h>
};
int transferred;
if (err = libusb_bulk_transfer(devh, 0x01, req, 8, &transferred, 2000))
- {
- fprintf(stderr, "Transfer failed: error %d\n", err);
- exit(1);
- }
- printf("Transferred %d bytes\n", transferred);
+ die("Transfer failed: error %d\n", err);
+ // printf("Transferred %d bytes\n", transferred);
unsigned char resp[64];
int received;
if (err = libusb_bulk_transfer(devh, 0x82, resp, 64, &received, 2000))
+ die("Receive failed: error %d\n", err);
+ // printf("Received %d bytes\n", received);
+ if (received >= 8)
{
- fprintf(stderr, "Receive failed: error %d\n", err);
- exit(1);
+ int t = get_u32_be(resp);
+ int p = get_u32_be(resp + 4);
+ msg(L_INFO, "Temperature %d ddegC, pressure %d Pa", t, p);
}
- printf("Received %d bytes [%02x]\n", received, resp[0]);
sleep(1);
}