]> mj.ucw.cz Git - home-hw.git/blobdiff - Src/usbdev.c
Time display through USB
[home-hw.git] / Src / usbdev.c
index e1b097b1684751cf975aa5f753e950421dd45b0a..9713bc8093f9452b01da53131e7ef3ddde60a321 100644 (file)
@@ -3,6 +3,9 @@
 
 #include "util.h"
 #include "usb.h"
+#include "app.h"
+
+#include <string.h>
 
 /*** Descriptors ***/
 
@@ -133,12 +136,21 @@ void usb_dev_recv_done(struct usb *usb, byte epnum)
 {
   if (epnum == 0x01)
     {
-      usb_tx_buf[0]++;
-      usb_ep_send(usb, 0x82, usb_tx_buf, 33);
+      // usb_tx_buf[0]++;
+      // usb_ep_send(usb, 0x82, usb_tx_buf, 33);
+
+      u32 len = usb_ep_received_size(usb, 0x01);
+      if (len >= 8)
+       {
+         memcpy(rx_display, usb_rx_buf, 8);
+         rx_display_ready = 1;
+       }
+
+      usb_ep_receive(usb, 0x01, usb_rx_buf, 64);
     }
 }
 
 void usb_dev_send_done(struct usb *usb, byte epnum)
 {
-  usb_ep_receive(usb, 0x01, usb_rx_buf, 64);
+  // usb_ep_receive(usb, 0x01, usb_rx_buf, 64);
 }