From c63f2b30cbad128d5b46820965f0734be9879cb1 Mon Sep 17 00:00:00 2001 From: hathach Date: Wed, 24 Jul 2019 09:45:32 +0700 Subject: [PATCH] rename tud_control_vendor_request_cb/complete_cb to tud_vendor_control_request_cb/complete_cb --- examples/device/webusb/src/tusb_config.h | 22 ++++++---- examples/device/webusb/src/usb_descriptors.c | 4 +- src/class/midi/midi_device.c | 3 +- src/class/msc/msc_device.c | 2 +- src/class/vendor/vendor_device.h | 42 ++++++++++++++++---- src/class/vendor/vendor_host.h | 6 +-- src/device/usbd.c | 10 ++--- src/device/usbd.h | 4 -- src/tusb_option.h | 2 +- 9 files changed, 62 insertions(+), 33 deletions(-) diff --git a/examples/device/webusb/src/tusb_config.h b/examples/device/webusb/src/tusb_config.h index 8aefe8695..7dd9864df 100644 --- a/examples/device/webusb/src/tusb_config.h +++ b/examples/device/webusb/src/tusb_config.h @@ -69,18 +69,24 @@ // DEVICE CONFIGURATION //-------------------------------------------------------------------- -#define CFG_TUD_ENDOINT0_SIZE 64 +#define CFG_TUD_ENDOINT0_SIZE 64 //------------- CLASS -------------// -#define CFG_TUD_CDC 1 -#define CFG_TUD_MSC 0 -#define CFG_TUD_HID 0 -#define CFG_TUD_MIDI 0 -#define CFG_TUD_VENDOR 0 +#define CFG_TUD_CDC 1 +#define CFG_TUD_MSC 0 +#define CFG_TUD_HID 0 +#define CFG_TUD_MIDI 0 +#define CFG_TUD_VENDOR 0 // CDC FIFO size of 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 + +// Vendor FIFO size of TX and RX +// If not configured vendor endpoints will not be buffered +#define CFG_TUD_VENDOR_RX_BUFSIZE 64 +#define CFG_TUD_VENDOR_TX_BUFSIZE 64 + #ifdef __cplusplus } diff --git a/examples/device/webusb/src/usb_descriptors.c b/examples/device/webusb/src/usb_descriptors.c index cd9b6bc1a..67fb7dfb3 100644 --- a/examples/device/webusb/src/usb_descriptors.c +++ b/examples/device/webusb/src/usb_descriptors.c @@ -188,7 +188,7 @@ const tusb_desc_webusb_url_t desc_url = .url = URL }; -bool tud_control_vendor_request_cb(uint8_t rhport, tusb_control_request_t const * request) +bool tud_vendor_control_request_cb(uint8_t rhport, tusb_control_request_t const * request) { if ( request->bRequest == 0x01 ) // webusb vendor code { @@ -199,7 +199,7 @@ bool tud_control_vendor_request_cb(uint8_t rhport, tusb_control_request_t const } } -bool tud_control_vendor_complete_cb(uint8_t rhport, tusb_control_request_t const * request) +bool tud_vendor_control_complete_cb(uint8_t rhport, tusb_control_request_t const * request) { (void) rhport; return true; diff --git a/src/class/midi/midi_device.c b/src/class/midi/midi_device.c index 1e684edde..a33ced169 100644 --- a/src/class/midi/midi_device.c +++ b/src/class/midi/midi_device.c @@ -275,7 +275,8 @@ bool midid_open(uint8_t rhport, tusb_desc_interface_t const * p_interface_desc, (*p_length) = sizeof(tusb_desc_interface_t); uint8_t found_endpoints = 0; - while (found_endpoints < p_interface_desc->bNumEndpoints) { + while (found_endpoints < p_interface_desc->bNumEndpoints) + { if ( TUSB_DESC_ENDPOINT == p_desc[DESC_OFFSET_TYPE]) { TU_ASSERT( dcd_edpt_open(rhport, (tusb_desc_endpoint_t const *) p_desc), false); diff --git a/src/class/msc/msc_device.c b/src/class/msc/msc_device.c index ebc2af1d5..609b4b2ad 100644 --- a/src/class/msc/msc_device.c +++ b/src/class/msc/msc_device.c @@ -111,7 +111,7 @@ bool tud_msc_set_sense(uint8_t lun, uint8_t sense_key, uint8_t add_sense_code, u } //--------------------------------------------------------------------+ -// USBD-CLASS API +// USBD Driver API //--------------------------------------------------------------------+ void mscd_init(void) { diff --git a/src/class/vendor/vendor_device.h b/src/class/vendor/vendor_device.h index 0c9d0184f..d2048fb63 100644 --- a/src/class/vendor/vendor_device.h +++ b/src/class/vendor/vendor_device.h @@ -24,20 +24,34 @@ * This file is part of the TinyUSB stack. */ -#ifndef _TUSB_CUSTOM_DEVICE_H_ -#define _TUSB_CUSTOM_DEVICE_H_ +#ifndef _TUSB_VENDOR_DEVICE_H_ +#define _TUSB_VENDOR_DEVICE_H_ #include "common/tusb_common.h" #include "device/usbd.h" +#ifndef CFG_TUD_VENDOR_EPSIZE +#define CFG_TUD_VENDOR_EPSIZE 64 +#endif + +#ifndef CFG_TUD_VENDOR_RX_BUFSIZE +#define CFG_TUD_VENDOR_RX_BUFSIZE 0 +#endif + +#ifndef CFG_TUD_VENDOR_TX_BUFSIZE +#define CFG_TUD_VENDOR_TX_BUFSIZE 0 +#endif + +#ifdef __cplusplus + extern "C" { +#endif + //--------------------------------------------------------------------+ -// APPLICATION API (Multiple Root Ports) -// Should be used only with MCU that support more than 1 ports +// Application API (Multiple Interfaces) //--------------------------------------------------------------------+ //--------------------------------------------------------------------+ -// APPLICATION API (Single Port) -// Should be used with MCU supporting only 1 USB port for code simplicity +// Application API (Single Port) //--------------------------------------------------------------------+ bool tud_vendor_mounted(void); @@ -47,9 +61,17 @@ uint32_t tud_vendor_read(void* buffer, uint32_t bufsize); //--------------------------------------------------------------------+ -// APPLICATION CALLBACK API (WEAK is optional) +// Application Callback API (weak is optional) //--------------------------------------------------------------------+ +// Invoked when received control request with VENDOR TYPE +TU_ATTR_WEAK bool tud_vendor_control_request_cb(uint8_t rhport, tusb_control_request_t const * request); +TU_ATTR_WEAK bool tud_vendor_control_complete_cb(uint8_t rhport, tusb_control_request_t const * request); + +// Invoked when received new data +TU_ATTR_WEAK void tud_vendor_rx_cb(uint8_t itf); + + //--------------------------------------------------------------------+ // Internal Class Driver API //--------------------------------------------------------------------+ @@ -58,4 +80,8 @@ 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_ */ +#ifdef __cplusplus + } +#endif + +#endif /* _TUSB_VENDOR_DEVICE_H_ */ diff --git a/src/class/vendor/vendor_host.h b/src/class/vendor/vendor_host.h index 2ca16222a..fa1879376 100644 --- a/src/class/vendor/vendor_host.h +++ b/src/class/vendor/vendor_host.h @@ -28,8 +28,8 @@ * \defgroup Group_Custom Custom Class (not supported yet) * @{ */ -#ifndef _TUSB_CUSTOM_HOST_H_ -#define _TUSB_CUSTOM_HOST_H_ +#ifndef _TUSB_VENDOR_HOST_H_ +#define _TUSB_VENDOR_HOST_H_ #include "common/tusb_common.h" #include "host/usbh.h" @@ -69,6 +69,6 @@ void cush_close(uint8_t dev_addr); } #endif -#endif /* _TUSB_CUSTOM_HOST_H_ */ +#endif /* _TUSB_VENDOR_HOST_H_ */ /** @} */ diff --git a/src/device/usbd.c b/src/device/usbd.c index a24113026..4ce056e7f 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -136,8 +136,8 @@ static usbd_class_driver_t const usbd_class_drivers[] = .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 + .control_request = NULL, // tud_vendor_control_request_cb + .control_complete = NULL, // tud_vendor_control_complete_cb .xfer_cb = vendord_xfer_cb, .sof = NULL }, @@ -349,10 +349,10 @@ static bool process_control_request(uint8_t rhport, tusb_control_request_t const // Vendor request if ( p_request->bmRequestType_bit.type == TUSB_REQ_TYPE_VENDOR ) { - TU_VERIFY(tud_control_vendor_request_cb); + TU_VERIFY(tud_vendor_control_request_cb); - if (tud_control_vendor_complete_cb) usbd_control_set_complete_callback(tud_control_vendor_complete_cb); - return tud_control_vendor_request_cb(rhport, p_request); + if (tud_vendor_control_complete_cb) usbd_control_set_complete_callback(tud_vendor_control_complete_cb); + return tud_vendor_control_request_cb(rhport, p_request); } switch ( p_request->bmRequestType_bit.recipient ) diff --git a/src/device/usbd.h b/src/device/usbd.h index a77110bde..5aba18ef3 100644 --- a/src/device/usbd.h +++ b/src/device/usbd.h @@ -100,10 +100,6 @@ TU_ATTR_WEAK void tud_suspend_cb(bool remote_wakeup_en); // Invoked when usb bus is resumed TU_ATTR_WEAK void tud_resume_cb(void); -// Invoked when received control request with VENDOR TYPE -TU_ATTR_WEAK bool tud_control_vendor_request_cb(uint8_t rhport, tusb_control_request_t const * request); -TU_ATTR_WEAK bool tud_control_vendor_complete_cb(uint8_t rhport, tusb_control_request_t const * request); - //--------------------------------------------------------------------+ // Descriptor Templates //--------------------------------------------------------------------+ diff --git a/src/tusb_option.h b/src/tusb_option.h index a1c5b757d..a273d59b3 100644 --- a/src/tusb_option.h +++ b/src/tusb_option.h @@ -162,7 +162,7 @@ #endif #ifndef CFG_TUD_VENDOR - #define CFG_TUD_VENDOR 0 + #define CFG_TUD_VENDOR 0 #endif