summaryrefslogtreecommitdiff
path: root/src/device/usbd.h
diff options
context:
space:
mode:
authorhathach <[email protected]>2022-04-20 18:29:41 +0700
committerhathach <[email protected]>2022-04-20 18:29:41 +0700
commitb034c18077ef1350f2678f245ed1b885e9be79fc (patch)
tree34685236202999d467a090fc051d965049373d3f /src/device/usbd.h
parentccafb42c8261d8304fce0af46c0ddc3adf6da56f (diff)
add tud_task_ext(), tuh_task_ext() as exteneded version that take timeout and in_isr
also allow exit tud_task,tuh_task after processing all events for running other background task for user
Diffstat (limited to 'src/device/usbd.h')
-rw-r--r--src/device/usbd.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/device/usbd.h b/src/device/usbd.h
index b2bf8ba9d..30373abb9 100644
--- a/src/device/usbd.h
+++ b/src/device/usbd.h
@@ -43,8 +43,17 @@ bool tud_init (uint8_t rhport);
// Check if device stack is already initialized
bool tud_inited(void);
+// Task function should be called in main/rtos loop, extended version of tud_task()
+// - timeout_ms: millisecond to wait, zero = no wait, 0xFFFFFFFF = wait forever
+// - in_isr: if function is called in ISR
+void tud_task_ext(uint32_t timeout_ms, bool in_isr);
+
// Task function should be called in main/rtos loop
-void tud_task (void);
+TU_ATTR_ALWAYS_INLINE static inline
+void tud_task (void)
+{
+ tud_task_ext(OSAL_TIMEOUT_WAIT_FOREVER, false);
+}
// Check if there is pending events need proccessing by tud_task()
bool tud_task_event_ready(void);