From cb4e6837e9f1aa02644e1ad88ffff43b59470a4e Mon Sep 17 00:00:00 2001 From: hathach Date: Fri, 12 Jul 2019 22:03:40 +0700 Subject: [PATCH] clean up, rename internal driver control_request_complete to simply control_complete --- examples/device/webusb/src/usb_descriptors.c | 4 ++- src/class/cdc/cdc_device.c | 2 +- src/class/cdc/cdc_device.h | 12 ++++----- src/class/custom/custom_device.h | 2 +- src/class/hid/hid_device.c | 2 +- src/class/hid/hid_device.h | 12 ++++----- src/class/hid/hid_host.h | 4 +-- src/class/midi/midi_device.c | 2 +- src/class/midi/midi_device.h | 12 ++++----- src/class/msc/msc_device.c | 2 +- src/class/msc/msc_device.h | 12 ++++----- src/common/tusb_types.h | 26 ++++++++++---------- src/device/usbd.c | 20 +++++++++------ 13 files changed, 60 insertions(+), 52 deletions(-) diff --git a/examples/device/webusb/src/usb_descriptors.c b/examples/device/webusb/src/usb_descriptors.c index 3ea6f117f..f1e9dd979 100644 --- a/examples/device/webusb/src/usb_descriptors.c +++ b/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) diff --git a/src/class/cdc/cdc_device.c b/src/class/cdc/cdc_device.c index 6d13dafc0..874f751af 100644 --- a/src/class/cdc/cdc_device.c +++ b/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; diff --git a/src/class/cdc/cdc_device.h b/src/class/cdc/cdc_device.h index 8d09094a0..76bb7c622 100644 --- a/src/class/cdc/cdc_device.h +++ b/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 } diff --git a/src/class/custom/custom_device.h b/src/class/custom/custom_device.h index 02cdba7e5..c4001a89f 100644 --- a/src/class/custom/custom_device.h +++ b/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); diff --git a/src/class/hid/hid_device.c b/src/class/hid/hid_device.c index d3f59ed62..54ba39643 100644 --- a/src/class/hid/hid_device.c +++ b/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 ); diff --git a/src/class/hid/hid_device.h b/src/class/hid/hid_device.h index da239cc84..49512ac4e 100644 --- a/src/class/hid/hid_device.h +++ b/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 } diff --git a/src/class/hid/hid_host.h b/src/class/hid/hid_host.h index 50eabba3e..1c619c570 100644 --- a/src/class/hid/hid_host.h +++ b/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 diff --git a/src/class/midi/midi_device.c b/src/class/midi/midi_device.c index 267167720..1e684edde 100644 --- a/src/class/midi/midi_device.c +++ b/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; } diff --git a/src/class/midi/midi_device.h b/src/class/midi/midi_device.h index 490abaf89..f9d13ffb6 100644 --- a/src/class/midi/midi_device.h +++ b/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 } diff --git a/src/class/msc/msc_device.c b/src/class/msc/msc_device.c index 5681e4f07..86e47ead0 100644 --- a/src/class/msc/msc_device.c +++ b/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; diff --git a/src/class/msc/msc_device.h b/src/class/msc/msc_device.h index 03a4afadb..5998400b1 100644 --- a/src/class/msc/msc_device.h +++ b/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 } diff --git a/src/common/tusb_types.h b/src/common/tusb_types.h index 527f84975..7270ec58b 100644 --- a/src/common/tusb_types.h +++ b/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 diff --git a/src/device/usbd.c b/src/device/usbd.c index 6a70afede..b9d9f9d8a 100644 --- a/src/device/usbd.c +++ b/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);