summaryrefslogtreecommitdiff
path: root/src/tusb.c
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2026-03-04 15:24:11 +0700
committerGitHub <[email protected]>2026-03-04 15:24:11 +0700
commit13e0b0c4f149016c829f039dc082151bca01174f (patch)
tree512d9340830a3cab772a7e89a1dc271d31446cf7 /src/tusb.c
parenta8a4db3721cccd32c8e998a7aa816719294d7a66 (diff)
parente4950e9b693171f7bb47d8c1f800ece8827242ec (diff)
Merge pull request #3490 from Precidata/non-blocking-host-v2
Fully asynchrounous host code (v2)
Diffstat (limited to 'src/tusb.c')
-rw-r--r--src/tusb.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/tusb.c b/src/tusb.c
index 6075e9db4..37aecf693 100644
--- a/src/tusb.c
+++ b/src/tusb.c
@@ -45,17 +45,26 @@ tusb_role_t _tusb_rhport_role[TUP_USBIP_CONTROLLER_NUM] = { TUSB_ROLE_INVALID };
// Weak/Default API, can be overwritten by Application
//--------------------------------------------------------------------
-TU_ATTR_WEAK void tusb_time_delay_ms_api(uint32_t ms) {
#if CFG_TUSB_OS != OPT_OS_NONE
+TU_ATTR_WEAK uint32_t tusb_time_millis_api(void) {
+ return osal_time_millis();
+}
+
+TU_ATTR_WEAK void tusb_time_delay_ms_api(uint32_t ms) {
osal_task_delay(ms);
+}
+
#else
- // delay using millis() (if implemented) and/or frame number if possible
+// tusb_time_millis_api() must be implemented by user application.
+
+TU_ATTR_WEAK void tusb_time_delay_ms_api(uint32_t ms) {
+ // delay using millis()
const uint32_t time_ms = tusb_time_millis_api();
while ((tusb_time_millis_api() - time_ms) < ms) {}
-#endif
}
+#endif
-TU_ATTR_WEAK void* tusb_app_virt_to_phys(void *virt_addr) {
+TU_ATTR_WEAK void *tusb_app_virt_to_phys(void *virt_addr) {
return virt_addr;
}