]> mj.ucw.cz Git - home-hw.git/blobdiff - host/test.c
BMP over USB
[home-hw.git] / host / test.c
index ce9185196e03dc042970d626df880d96416ed88e..6533c1004e1f488802cd4b9edcb108de2ff5e83c 100644 (file)
@@ -1,5 +1,9 @@
+#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>
@@ -75,20 +79,20 @@ int main(void)
       };
       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);
     }