Browse Source

more house keeping

hathach 6 năm trước cách đây
mục cha
commit
33de35504a

+ 1 - 1
src/class/cdc/cdc_device.h

@@ -177,11 +177,11 @@ static inline bool tud_cdc_write_flush (void)
 // INTERNAL USBD-CLASS DRIVER API
 //--------------------------------------------------------------------+
 void cdcd_init             (void);
+void cdcd_reset            (uint8_t rhport);
 bool cdcd_open             (uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_length);
 bool cdcd_control_request  (uint8_t rhport, tusb_control_request_t const * request);
 bool cdcd_control_complete (uint8_t rhport, tusb_control_request_t const * request);
 bool cdcd_xfer_cb          (uint8_t rhport, uint8_t ep_addr, xfer_result_t result, uint32_t xferred_bytes);
-void cdcd_reset            (uint8_t rhport);
 
 #ifdef __cplusplus
  }

+ 1 - 1
src/class/hid/hid_device.h

@@ -301,11 +301,11 @@ TU_ATTR_WEAK bool tud_hid_set_idle_cb(uint8_t idle_rate);
 // Internal Class Driver API
 //--------------------------------------------------------------------+
 void hidd_init             (void);
+void hidd_reset            (uint8_t rhport);
 bool hidd_open             (uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_length);
 bool hidd_control_request  (uint8_t rhport, tusb_control_request_t const * request);
 bool hidd_control_complete (uint8_t rhport, tusb_control_request_t const * request);
 bool hidd_xfer_cb          (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
-void hidd_reset            (uint8_t rhport);
 
 #ifdef __cplusplus
  }

+ 1 - 1
src/class/midi/midi_device.h

@@ -122,11 +122,11 @@ static inline uint32_t tudi_midi_write24 (uint8_t jack_id, uint8_t b1, uint8_t b
 // Internal Class Driver API
 //--------------------------------------------------------------------+
 void midid_init             (void);
+void midid_reset            (uint8_t rhport);
 bool midid_open             (uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_length);
 bool midid_control_request  (uint8_t rhport, tusb_control_request_t const * request);
 bool midid_control_complete (uint8_t rhport, tusb_control_request_t const * request);
 bool midid_xfer_cb          (uint8_t rhport, uint8_t edpt_addr, xfer_result_t result, uint32_t xferred_bytes);
-void midid_reset            (uint8_t rhport);
 
 #ifdef __cplusplus
  }

+ 1 - 1
src/class/msc/msc_device.h

@@ -152,11 +152,11 @@ TU_ATTR_WEAK bool tud_msc_is_writable_cb(uint8_t lun);
 // Internal Class Driver API
 //--------------------------------------------------------------------+
 void mscd_init             (void);
+void mscd_reset            (uint8_t rhport);
 bool mscd_open             (uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_length);
 bool mscd_control_request  (uint8_t rhport, tusb_control_request_t const * p_request);
 bool mscd_control_complete (uint8_t rhport, tusb_control_request_t const * p_request);
 bool mscd_xfer_cb          (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
-void mscd_reset            (uint8_t rhport);
 
 #ifdef __cplusplus
  }

+ 13 - 16
src/class/vendor/vendor_device.c

@@ -45,21 +45,27 @@ typedef struct {
   uint8_t ep_in;
   uint8_t ep_out;
 
-} cusd_interface_t;
+} vendord_interface_t;
 
-static cusd_interface_t _cusd_itf;
+static vendord_interface_t _vendord_itf;
 
 /*------------------------------------------------------------------*/
 /* FUNCTION DECLARATION
  *------------------------------------------------------------------*/
-void cusd_init(void)
+void vendord_init(void)
 {
-  tu_varclr(&_cusd_itf);
+  tu_varclr(&_vendord_itf);
 }
 
-bool cusd_open(uint8_t rhport, tusb_desc_interface_t const * p_desc_itf, uint16_t *p_len)
+void vendord_reset(uint8_t rhport)
 {
-  cusd_interface_t* p_itf = &_cusd_itf;
+
+}
+
+
+bool vendord_open(uint8_t rhport, tusb_desc_interface_t const * p_desc_itf, uint16_t *p_len)
+{
+  vendord_interface_t* p_itf = &_vendord_itf;
 
   // Open endpoint pair with usbd helper
   tusb_desc_endpoint_t const *p_desc_ep = (tusb_desc_endpoint_t const *) tu_desc_next(p_desc_itf);
@@ -75,19 +81,10 @@ bool cusd_open(uint8_t rhport, tusb_desc_interface_t const * p_desc_itf, uint16_
   return true;
 }
 
-bool cusd_control_request(uint8_t rhport, tusb_control_request_t const * p_request)
-{
-  return false;
-}
-
-bool cusd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes)
+bool vendord_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes)
 {
   return true;
 }
 
-void cusd_reset(uint8_t rhport)
-{
-
-}
 
 #endif

+ 9 - 6
src/class/vendor/vendor_device.h

@@ -40,6 +40,11 @@
 // Should be used with MCU supporting only 1 USB port for code simplicity
 //--------------------------------------------------------------------+
 
+bool tud_vendor_mounted(void);
+
+uint32_t tud_vendor_write(void const* buffer, uint32_t bufsize);
+uint32_t tud_vendor_read(void* buffer, uint32_t bufsize);
+
 
 //--------------------------------------------------------------------+
 // APPLICATION CALLBACK API (WEAK is optional)
@@ -48,11 +53,9 @@
 //--------------------------------------------------------------------+
 // Internal Class Driver API
 //--------------------------------------------------------------------+
-void cusd_init(void);
-bool cusd_open(uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_length);
-bool cusd_control_request_st(uint8_t rhport, tusb_control_request_t const * p_request);
-bool cusd_control_complete (uint8_t rhport, tusb_control_request_t const * p_request);
-bool cusd_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
-void cusd_reset(uint8_t rhport);
+void vendord_init(void);
+void vendord_reset(uint8_t rhport);
+bool vendord_open(uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t *p_length);
+bool vendord_xfer_cb(uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
 
 #endif /* _TUSB_CUSTOM_DEVICE_H_ */

+ 16 - 16
src/device/usbd.c

@@ -68,12 +68,12 @@ typedef struct {
   uint8_t class_code;
 
   void (* init             ) (void);
+  void (* reset            ) (uint8_t rhport);
   bool (* open             ) (uint8_t rhport, tusb_desc_interface_t const * desc_intf, uint16_t* p_length);
   bool (* control_request  ) (uint8_t rhport, tusb_control_request_t const * request);
   bool (* control_complete ) (uint8_t rhport, tusb_control_request_t const * request);
   bool (* xfer_cb          ) (uint8_t rhport, uint8_t ep_addr, xfer_result_t event, uint32_t xferred_bytes);
   void (* sof              ) (uint8_t rhport);
-  void (* reset            ) (uint8_t);
 } usbd_class_driver_t;
 
 static usbd_class_driver_t const usbd_class_drivers[] =
@@ -82,12 +82,12 @@ static usbd_class_driver_t const usbd_class_drivers[] =
   {
       .class_code       = TUSB_CLASS_CDC,
       .init             = cdcd_init,
+      .reset            = cdcd_reset,
       .open             = cdcd_open,
       .control_request  = cdcd_control_request,
       .control_complete = cdcd_control_complete,
       .xfer_cb          = cdcd_xfer_cb,
-      .sof              = NULL,
-      .reset            = cdcd_reset
+      .sof              = NULL
   },
   #endif
 
@@ -95,12 +95,12 @@ static usbd_class_driver_t const usbd_class_drivers[] =
   {
       .class_code       = TUSB_CLASS_MSC,
       .init             = mscd_init,
+      .reset            = mscd_reset,
       .open             = mscd_open,
       .control_request  = mscd_control_request,
       .control_complete = mscd_control_complete,
       .xfer_cb          = mscd_xfer_cb,
-      .sof              = NULL,
-      .reset            = mscd_reset
+      .sof              = NULL
   },
   #endif
 
@@ -108,12 +108,12 @@ static usbd_class_driver_t const usbd_class_drivers[] =
   {
       .class_code       = TUSB_CLASS_HID,
       .init             = hidd_init,
+      .reset            = hidd_reset,
       .open             = hidd_open,
       .control_request  = hidd_control_request,
       .control_complete = hidd_control_complete,
       .xfer_cb          = hidd_xfer_cb,
-      .sof              = NULL,
-      .reset            = hidd_reset
+      .sof              = NULL
   },
   #endif
 
@@ -122,24 +122,24 @@ static usbd_class_driver_t const usbd_class_drivers[] =
       .class_code       = TUSB_CLASS_AUDIO,
       .init             = midid_init,
       .open             = midid_open,
+      .reset            = midid_reset,
       .control_request  = midid_control_request,
       .control_complete = midid_control_complete,
       .xfer_cb          = midid_xfer_cb,
-      .sof              = NULL,
-      .reset            = midid_reset
+      .sof              = NULL
   },
   #endif
 
   #if CFG_TUD_VENDOR
   {
       .class_code       = TUSB_CLASS_VENDOR_SPECIFIC,
-      .init             = cusd_init,
-      .open             = cusd_open,
-      .control_request  = cusd_control_request,
-      .control_complete = cusd_control_complete,
-      .xfer_cb          = cusd_xfer_cb,
-      .sof              = NULL,
-      .reset            = cusd_reset
+      .init             = vendord_init,
+      .reset            = vendord_reset,
+      .open             = vendord_open,
+      .control_request  = NULL, // tud_control_vendor_request_cb
+      .control_complete = NULL, // tud_control_vendor_complete_cb
+      .xfer_cb          = vendord_xfer_cb,
+      .sof              = NULL
   },
   #endif
 };

+ 10 - 10
test/test/support/tusb_config.h

@@ -70,31 +70,31 @@
 // DEVICE CONFIGURATION
 //--------------------------------------------------------------------
 
-#define CFG_TUD_ENDOINT0_SIZE       64
+#define CFG_TUD_ENDOINT0_SIZE    64
 
 //------------- CLASS -------------//
-#define CFG_TUD_CDC                 1
-#define CFG_TUD_MSC                 1
-#define CFG_TUD_HID                 1
+#define CFG_TUD_CDC              1
+#define CFG_TUD_MSC              1
+#define CFG_TUD_HID              1
 
-#define CFG_TUD_MIDI                1
-#define CFG_TUD_VENDOR        0
+#define CFG_TUD_MIDI             1
+#define CFG_TUD_VENDOR           1
 
 //------------- CDC -------------//
 
 // FIFO size of CDC TX and RX
-#define CFG_TUD_CDC_RX_BUFSIZE      64
-#define CFG_TUD_CDC_TX_BUFSIZE      64
+#define CFG_TUD_CDC_RX_BUFSIZE   64
+#define CFG_TUD_CDC_TX_BUFSIZE   64
 
 //------------- MSC -------------//
 
 // Buffer size of Device Mass storage
-#define CFG_TUD_MSC_BUFSIZE         512
+#define CFG_TUD_MSC_BUFSIZE      512
 
 //------------- HID -------------//
 
 // Should be sufficient to hold ID (if any) + Data
-#define CFG_TUD_HID_BUFSIZE         16
+#define CFG_TUD_HID_BUFSIZE      16
 
 #ifdef __cplusplus
  }