Просмотр исходного кода

clean up, rename internal driver control_request_complete to simply control_complete

hathach 6 лет назад
Родитель
Сommit
cb4e6837e9

+ 3 - 1
examples/device/webusb/src/usb_descriptors.c

@@ -77,9 +77,11 @@ uint8_t const * tud_descriptor_device_cb(void)
 // BOS Descriptor is required for webUSB
 uint8_t const desc_bos[] =
 {
+  // total length, number of device caps
   TUD_BOS_DESCRIPTOR(BOS_TOTAL_LEN, 1),
 
-  TUD_BOS_WEBUSB_DESCRIPTOR(0x01, 0)
+  // Vendor Code, iLandingPage
+  TUD_BOS_WEBUSB_DESCRIPTOR(0x01, 1)
 };
 
 uint8_t const * tud_descriptor_bos_cb(void)

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

@@ -300,7 +300,7 @@ bool cdcd_open(uint8_t rhport, tusb_desc_interface_t const * itf_desc, uint16_t
 
 // Invoked when class request DATA stage is finished.
 // return false to stall control endpoint (e.g Host send non-sense DATA)
-bool cdcd_control_request_complete(uint8_t rhport, tusb_control_request_t const * request)
+bool cdcd_control_complete(uint8_t rhport, tusb_control_request_t const * request)
 {
   (void) rhport;
 

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

@@ -176,12 +176,12 @@ static inline bool tud_cdc_write_flush (void)
 //--------------------------------------------------------------------+
 // INTERNAL USBD-CLASS DRIVER API
 //--------------------------------------------------------------------+
-void cdcd_init               (void);
-bool cdcd_open               (uint8_t rhport, tusb_desc_interface_t const * p_interface_desc, uint16_t *p_length);
-bool cdcd_control_request (uint8_t rhport, tusb_control_request_t const * p_request);
-bool cdcd_control_request_complete (uint8_t rhport, tusb_control_request_t const * p_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);
+void cdcd_init             (void);
+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/custom/custom_device.h

@@ -51,7 +51,7 @@
 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_request_complete (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);
 

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

@@ -276,7 +276,7 @@ bool hidd_control_request(uint8_t rhport, tusb_control_request_t const * p_reque
 
 // Invoked when class request DATA stage is finished.
 // return false to stall control endpoint (e.g Host send non-sense DATA)
-bool hidd_control_request_complete(uint8_t rhport, tusb_control_request_t const * p_request)
+bool hidd_control_complete(uint8_t rhport, tusb_control_request_t const * p_request)
 {
   (void) rhport;
   hidd_interface_t* p_hid = get_interface_by_itfnum( (uint8_t) p_request->wIndex );

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

@@ -300,12 +300,12 @@ TU_ATTR_WEAK bool tud_hid_set_idle_cb(uint8_t idle_rate);
 //--------------------------------------------------------------------+
 // Internal Class Driver API
 //--------------------------------------------------------------------+
-void hidd_init(void);
-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 * p_request);
-bool hidd_control_request_complete (uint8_t rhport, tusb_control_request_t const * p_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);
+void hidd_init             (void);
+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
  }

+ 2 - 2
src/class/hid/hid_host.h

@@ -55,7 +55,7 @@ extern uint8_t const hid_keycode_to_ascii_tbl[2][128]; // TODO used weak attr if
  * \retval      true if device supports Keyboard interface
  * \retval      false if device does not support Keyboard interface or is not mounted
  */
-bool          tuh_hid_keyboard_is_mounted(uint8_t dev_addr);
+bool tuh_hid_keyboard_is_mounted(uint8_t dev_addr);
 
 /** \brief      Check if the interface is currently busy or not
  * \param[in]   dev_addr device address
@@ -64,7 +64,7 @@ bool          tuh_hid_keyboard_is_mounted(uint8_t dev_addr);
  * \note        This function is primarily used for polling/waiting result after \ref tuh_hid_keyboard_get_report.
  *              Alternatively, asynchronous event API can be used
  */
-bool          tuh_hid_keyboard_is_busy(uint8_t dev_addr);
+bool tuh_hid_keyboard_is_busy(uint8_t dev_addr);
 
 /** \brief        Perform a get report from Keyboard interface
  * \param[in]		  dev_addr device address

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

@@ -300,7 +300,7 @@ bool midid_open(uint8_t rhport, tusb_desc_interface_t const * p_interface_desc,
   return true;
 }
 
-bool midid_control_request_complete(uint8_t rhport, tusb_control_request_t const * p_request)
+bool midid_control_complete(uint8_t rhport, tusb_control_request_t const * p_request)
 {
   return false;
 }

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

@@ -121,12 +121,12 @@ 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);
-bool midid_open               (uint8_t rhport, tusb_desc_interface_t const * p_interface_desc, uint16_t *p_length);
-bool midid_control_request (uint8_t rhport, tusb_control_request_t const * p_request);
-bool midid_control_request_complete (uint8_t rhport, tusb_control_request_t const * p_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);
+void midid_init             (void);
+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.c

@@ -178,7 +178,7 @@ bool mscd_control_request(uint8_t rhport, tusb_control_request_t const * p_reque
 
 // Invoked when class request DATA stage is finished.
 // return false to stall control endpoint (e.g Host send non-sense DATA)
-bool mscd_control_request_complete(uint8_t rhport, tusb_control_request_t const * p_request)
+bool mscd_control_complete(uint8_t rhport, tusb_control_request_t const * p_request)
 {
   (void) rhport;
   (void) p_request;

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

@@ -151,12 +151,12 @@ TU_ATTR_WEAK bool tud_msc_is_writable_cb(uint8_t lun);
 //--------------------------------------------------------------------+
 // Internal Class Driver API
 //--------------------------------------------------------------------+
-void mscd_init(void);
-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_request_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);
+void mscd_init             (void);
+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 - 13
src/common/tusb_types.h

@@ -100,19 +100,19 @@ typedef enum
 
 typedef enum
 {
- TUSB_REQ_GET_STATUS        = 0  ,
- TUSB_REQ_CLEAR_FEATURE     = 1  ,
- TUSB_REQ_RESERVED          = 2  ,
- TUSB_REQ_SET_FEATURE       = 3  ,
- TUSB_REQ_RESERVED2         = 4  ,
- TUSB_REQ_SET_ADDRESS       = 5  ,
- TUSB_REQ_GET_DESCRIPTOR    = 6  ,
- TUSB_REQ_SET_DESCRIPTOR    = 7  ,
- TUSB_REQ_GET_CONFIGURATION = 8  ,
- TUSB_REQ_SET_CONFIGURATION = 9  ,
- TUSB_REQ_GET_INTERFACE     = 10 ,
- TUSB_REQ_SET_INTERFACE     = 11 ,
- TUSB_REQ_SYNCH_FRAME       = 12
+  TUSB_REQ_GET_STATUS        = 0  ,
+  TUSB_REQ_CLEAR_FEATURE     = 1  ,
+  TUSB_REQ_RESERVED          = 2  ,
+  TUSB_REQ_SET_FEATURE       = 3  ,
+  TUSB_REQ_RESERVED2         = 4  ,
+  TUSB_REQ_SET_ADDRESS       = 5  ,
+  TUSB_REQ_GET_DESCRIPTOR    = 6  ,
+  TUSB_REQ_SET_DESCRIPTOR    = 7  ,
+  TUSB_REQ_GET_CONFIGURATION = 8  ,
+  TUSB_REQ_SET_CONFIGURATION = 9  ,
+  TUSB_REQ_GET_INTERFACE     = 10 ,
+  TUSB_REQ_SET_INTERFACE     = 11 ,
+  TUSB_REQ_SYNCH_FRAME       = 12
 }tusb_request_code_t;
 
 typedef enum

+ 13 - 7
src/device/usbd.c

@@ -70,7 +70,7 @@ typedef struct {
   void (* init           ) (void);
   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_request_complete ) (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, uint32_t);
   void (* sof            ) (uint8_t rhport);
   void (* reset          ) (uint8_t);
@@ -84,7 +84,7 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .init            = cdcd_init,
         .open            = cdcd_open,
         .control_request = cdcd_control_request,
-        .control_request_complete = cdcd_control_request_complete,
+        .control_complete = cdcd_control_complete,
         .xfer_cb         = cdcd_xfer_cb,
         .sof             = NULL,
         .reset           = cdcd_reset
@@ -97,7 +97,7 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .init            = mscd_init,
         .open            = mscd_open,
         .control_request = mscd_control_request,
-        .control_request_complete = mscd_control_request_complete,
+        .control_complete = mscd_control_complete,
         .xfer_cb         = mscd_xfer_cb,
         .sof             = NULL,
         .reset           = mscd_reset
@@ -110,7 +110,7 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .init            = hidd_init,
         .open            = hidd_open,
         .control_request = hidd_control_request,
-        .control_request_complete = hidd_control_request_complete,
+        .control_complete = hidd_control_complete,
         .xfer_cb         = hidd_xfer_cb,
         .sof             = NULL,
         .reset           = hidd_reset
@@ -123,7 +123,7 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .init            = midid_init,
         .open            = midid_open,
         .control_request = midid_control_request,
-        .control_request_complete = midid_control_request_complete,
+        .control_complete = midid_control_complete,
         .xfer_cb         = midid_xfer_cb,
         .sof             = NULL,
         .reset           = midid_reset
@@ -136,7 +136,7 @@ static usbd_class_driver_t const usbd_class_drivers[] =
         .init            = cusd_init,
         .open            = cusd_open,
         .control_request = cusd_control_request,
-        .control_request_complete = cusd_control_request_complete,
+        .control_complete = cusd_control_complete,
         .xfer_cb         = cusd_xfer_cb,
         .sof             = NULL,
         .reset           = cusd_reset
@@ -347,6 +347,12 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const
 {
   usbd_control_set_complete_callback(NULL);
 
+  // Vendor request
+//  if ( p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_VENDOR )
+//  {
+//
+//  }
+
   switch ( p_request->bmRequestType_bit.recipient )
   {
     //------------- Device Requests e.g in enumeration -------------//
@@ -431,7 +437,7 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const
 
       TU_VERIFY(drvid < USBD_CLASS_DRIVER_COUNT);
 
-      usbd_control_set_complete_callback(usbd_class_drivers[drvid].control_request_complete );
+      usbd_control_set_complete_callback(usbd_class_drivers[drvid].control_complete );
 
       // stall control endpoint if driver return false
       return usbd_class_drivers[drvid].control_request(rhport, p_request);