summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorhathach <[email protected]>2022-04-20 18:35:38 +0700
committerhathach <[email protected]>2022-04-20 18:35:38 +0700
commit6a022c73dbf1551a441fafbea3a27c1a9951816f (patch)
tree716818ba62ac63bed1fa622387bf87d02ca615ad
parentb034c18077ef1350f2678f245ed1b885e9be79fc (diff)
add note for tud_task() behavior in freertos example
-rw-r--r--examples/device/cdc_msc_freertos/src/main.c5
-rw-r--r--examples/device/hid_composite_freertos/src/main.c4
-rw-r--r--src/device/usbd.h2
-rw-r--r--src/host/usbh.h2
4 files changed, 8 insertions, 5 deletions
diff --git a/examples/device/cdc_msc_freertos/src/main.c b/examples/device/cdc_msc_freertos/src/main.c
index 0d40782ef..0492f2724 100644
--- a/examples/device/cdc_msc_freertos/src/main.c
+++ b/examples/device/cdc_msc_freertos/src/main.c
@@ -130,10 +130,10 @@ void usb_device_task(void* param)
// RTOS forever loop
while (1)
{
- // tinyusb device task
+ // put this thread to waiting state until there is new events
tud_task();
- tud_cdc_write_flush();
+ // following code only run if tud_task() process at least 1 event
}
}
@@ -196,6 +196,7 @@ void cdc_task(void* params)
// for throughput test e.g
// $ dd if=/dev/zero of=/dev/ttyACM0 count=10000
tud_cdc_write(buf, count);
+ tud_cdc_write_flush();
}
}
diff --git a/examples/device/hid_composite_freertos/src/main.c b/examples/device/hid_composite_freertos/src/main.c
index 1695f968c..317b64611 100644
--- a/examples/device/hid_composite_freertos/src/main.c
+++ b/examples/device/hid_composite_freertos/src/main.c
@@ -132,8 +132,10 @@ void usb_device_task(void* param)
// RTOS forever loop
while (1)
{
- // tinyusb device task
+ // put this thread to waiting state until there is new events
tud_task();
+
+ // following code only run if tud_task() process at least 1 event
}
}
diff --git a/src/device/usbd.h b/src/device/usbd.h
index 30373abb9..583962611 100644
--- a/src/device/usbd.h
+++ b/src/device/usbd.h
@@ -52,7 +52,7 @@ void tud_task_ext(uint32_t timeout_ms, bool in_isr);
TU_ATTR_ALWAYS_INLINE static inline
void tud_task (void)
{
- tud_task_ext(OSAL_TIMEOUT_WAIT_FOREVER, false);
+ tud_task_ext(UINT32_MAX, false);
}
// Check if there is pending events need proccessing by tud_task()
diff --git a/src/host/usbh.h b/src/host/usbh.h
index 1580717fd..c6d36fb7f 100644
--- a/src/host/usbh.h
+++ b/src/host/usbh.h
@@ -100,7 +100,7 @@ void tuh_task_ext(uint32_t timeout_ms, bool in_isr);
TU_ATTR_ALWAYS_INLINE static inline
void tuh_task(void)
{
- tuh_task_ext(OSAL_TIMEOUT_WAIT_FOREVER, false);
+ tuh_task_ext(UINT32_MAX, false);
}
// Interrupt handler, name alias to HCD