ソースを参照

rename tud_control_vendor_request_cb/complete_cb to tud_vendor_control_request_cb/complete_cb

hathach 6 年 前
コミット
c63f2b30cb

+ 14 - 8
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
  }

+ 2 - 2
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;

+ 2 - 1
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);

+ 1 - 1
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)
 {

+ 34 - 8
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_ */

+ 3 - 3
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_ */
 
 /** @} */

+ 5 - 5
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 )

+ 0 - 4
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
 //--------------------------------------------------------------------+

+ 1 - 1
src/tusb_option.h

@@ -162,7 +162,7 @@
 #endif
 
 #ifndef CFG_TUD_VENDOR
-  #define CFG_TUD_VENDOR    0
+  #define CFG_TUD_VENDOR          0
 #endif