diff options
| author | hathach <[email protected]> | 2018-12-13 14:51:37 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2018-12-13 14:51:37 +0700 |
| commit | 1c49c479cabf1be9b1c22017c42a8480b26cebcb (patch) | |
| tree | 3b2df7468fedc34fcda895524f09c78f36ae7020 /src | |
| parent | af1ffe4675ca9eeeebd47a82f3508eecdc1486c5 (diff) | |
seperate tusb_task() to tud_task() and tuh_task()
tusb_task() still exists for backward compatible
Diffstat (limited to 'src')
| -rw-r--r-- | src/class/hid/hid_device.c | 2 | ||||
| -rw-r--r-- | src/device/usbd.c | 18 | ||||
| -rw-r--r-- | src/device/usbd.h | 1 | ||||
| -rw-r--r-- | src/device/usbd_pvt.h | 2 | ||||
| -rw-r--r-- | src/host/usbh.c | 18 | ||||
| -rw-r--r-- | src/host/usbh.h | 9 | ||||
| -rw-r--r-- | src/tusb.c | 11 | ||||
| -rw-r--r-- | src/tusb.h | 34 |
8 files changed, 53 insertions, 42 deletions
diff --git a/src/class/hid/hid_device.c b/src/class/hid/hid_device.c index bd49c157a..70aa7370d 100644 --- a/src/class/hid/hid_device.c +++ b/src/class/hid/hid_device.c @@ -340,7 +340,7 @@ bool hidd_open(uint8_t rhport, tusb_desc_interface_t const * desc_itf, uint16_t /*------------- Boot protocol only keyboard & mouse -------------*/
if (desc_itf->bInterfaceSubClass == HID_SUBCLASS_BOOT)
{
- TU_ASSERT(desc_itf->bInterfaceProtocol == HID_PROTOCOL_KEYBOARD || desc_itf->bInterfaceProtocol == HID_PROTOCOL_MOUSE, ERR_TUD_INVALID_DESCRIPTOR);
+ TU_ASSERT(desc_itf->bInterfaceProtocol == HID_PROTOCOL_KEYBOARD || desc_itf->bInterfaceProtocol == HID_PROTOCOL_MOUSE);
#if CFG_TUD_HID_KEYBOARD && CFG_TUD_HID_KEYBOARD_BOOT
if (desc_itf->bInterfaceProtocol == HID_PROTOCOL_KEYBOARD)
diff --git a/src/device/usbd.c b/src/device/usbd.c index aa81cb118..a3fbfdff9 100644 --- a/src/device/usbd.c +++ b/src/device/usbd.c @@ -208,8 +208,24 @@ static void usbd_reset(uint8_t rhport) /* USB Device Driver task
* This top level thread manages all device controller event and delegates events to class-specific drivers.
+ * This should be called periodically within the mainloop or rtos thread.
+ *
+ @code
+ int main(void)
+ {
+ application_init();
+ tusb_init();
+
+ while(1) // the mainloop
+ {
+ application_code();
+
+ tud_task(); // tinyusb device task
+ }
+ }
+ @endcode
*/
-void usbd_task (void)
+void tud_task (void)
{
// Loop until there is no more events in the queue
while (1)
diff --git a/src/device/usbd.h b/src/device/usbd.h index f9e0d8f4d..f9e7368ce 100644 --- a/src/device/usbd.h +++ b/src/device/usbd.h @@ -81,6 +81,7 @@ extern tud_desc_set_t tud_desc_set; // APPLICATION API
//--------------------------------------------------------------------+
bool tud_mounted(void);
+void tud_task (void);
//--------------------------------------------------------------------+
// APPLICATION CALLBACK (WEAK is optional)
diff --git a/src/device/usbd_pvt.h b/src/device/usbd_pvt.h index d1fccd9e0..06951673f 100644 --- a/src/device/usbd_pvt.h +++ b/src/device/usbd_pvt.h @@ -52,8 +52,6 @@ extern tud_desc_set_t const* usbd_desc_set; // INTERNAL API for stack management //--------------------------------------------------------------------+ bool usbd_init (void); -void usbd_task (void); - // Carry out Data and Status stage of control transfer // - If len = 0, it is equivalent to sending status only diff --git a/src/host/usbh.c b/src/host/usbh.c index 27d32330a..d0b5edb63 100644 --- a/src/host/usbh.c +++ b/src/host/usbh.c @@ -601,8 +601,24 @@ bool enum_task(hcd_event_t* event) /* USB Host Driver task
* This top level thread manages all host controller event and delegates events to class-specific drivers.
+ * This should be called periodically within the mainloop or rtos thread.
+ *
+ @code
+ int main(void)
+ {
+ application_init();
+ tusb_init();
+
+ while(1) // the mainloop
+ {
+ application_code();
+
+ tuh_task(); // tinyusb host task
+ }
+ }
+ @endcode
*/
-void usbh_task(void)
+void tuh_task(void)
{
// Loop until there is no more events in the queue
while (1)
diff --git a/src/host/usbh.h b/src/host/usbh.h index 8009c5080..fee1235f4 100644 --- a/src/host/usbh.h +++ b/src/host/usbh.h @@ -78,9 +78,9 @@ typedef struct { //--------------------------------------------------------------------+ // APPLICATION API //--------------------------------------------------------------------+ -//tusb_error_t tusbh_configuration_set (uint8_t dev_addr, uint8_t configure_number) ATTR_WARN_UNUSED_RESULT; -tusb_device_state_t tuh_device_get_state (uint8_t dev_addr) ATTR_WARN_UNUSED_RESULT ATTR_PURE; -static inline bool tuh_device_is_configured(uint8_t dev_addr) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT ATTR_PURE; +void tuh_task(void); + +tusb_device_state_t tuh_device_get_state (uint8_t dev_addr); static inline bool tuh_device_is_configured(uint8_t dev_addr) { return tuh_device_get_state(dev_addr) == TUSB_DEVICE_STATE_CONFIGURED; @@ -89,7 +89,7 @@ static inline bool tuh_device_is_configured(uint8_t dev_addr) //--------------------------------------------------------------------+ // APPLICATION CALLBACK //--------------------------------------------------------------------+ -ATTR_WEAK uint8_t tuh_device_attached_cb (tusb_desc_device_t const *p_desc_device) ATTR_WARN_UNUSED_RESULT; +ATTR_WEAK uint8_t tuh_device_attached_cb (tusb_desc_device_t const *p_desc_device); /** Callback invoked when device is mounted (configured) */ ATTR_WEAK void tuh_mount_cb (uint8_t dev_addr); @@ -103,7 +103,6 @@ ATTR_WEAK void tuh_umount_cb(uint8_t dev_addr); #ifdef _TINY_USB_SOURCE_FILE_ bool usbh_init(void); -void usbh_task(void); bool usbh_control_xfer (uint8_t dev_addr, tusb_control_request_t* request, uint8_t* data); diff --git a/src/tusb.c b/src/tusb.c index 253adc59c..ad2dcbfd3 100644 --- a/src/tusb.c +++ b/src/tusb.c @@ -68,17 +68,6 @@ bool tusb_init(void) return TUSB_ERROR_NONE;
}
-void tusb_task(void)
-{
- #if TUSB_OPT_HOST_ENABLED
- usbh_task();
- #endif
-
- #if TUSB_OPT_DEVICE_ENABLED
- usbd_task();
- #endif
-}
-
/*------------------------------------------------------------------*/
/* Debug
*------------------------------------------------------------------*/
diff --git a/src/tusb.h b/src/tusb.h index e4393d067..3a13bbecc 100644 --- a/src/tusb.h +++ b/src/tusb.h @@ -101,32 +101,24 @@ /** \ingroup group_application_api
* @{ */
-// Initialize device/host stack according to tusb_config.h
-// return true if success
+// Initialize device/host stack
bool tusb_init(void);
-/** Run all tinyusb's internal tasks (e.g host task, device task) and invoke callback
- * This should be called periodically within the mainloop.
+// TODO
+// bool tusb_teardown(void);
- @code
- int main(void)
- {
- your_init_code();
- tusb_init();
- // other config code
-
- while(1) // the mainloop
- {
- your_application_code();
-
- tusb_task(); // handle tinyusb event, task etc ...
- }
- }
- @endcode
+// backward compatible only. TODO remove later
+static inline void tusb_task(void)
+{
+ #if TUSB_OPT_HOST_ENABLED
+ tuh_task();
+ #endif
- */
-void tusb_task(void);
+ #if TUSB_OPT_DEVICE_ENABLED
+ tud_task();
+ #endif
+}
/** @} */
|
