diff options
| author | hathach <[email protected]> | 2023-03-17 23:53:38 +0700 |
|---|---|---|
| committer | hathach <[email protected]> | 2023-03-17 23:53:38 +0700 |
| commit | bdfcd50b1b601f85389a09cdaf183b2f27c1d470 (patch) | |
| tree | 0ed9312b74a74c875fd17b86353ac02559ac7081 /src/osal/osal.h | |
| parent | 73f22e31c7a31e9b974e27407b906bbc8cb05a7a (diff) | |
| parent | 65ee11ff630169c01a33860fbf8507d2d8f29a71 (diff) | |
Merge branch 'master' into portability
Diffstat (limited to 'src/osal/osal.h')
| -rw-r--r-- | src/osal/osal.h | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/src/osal/osal.h b/src/osal/osal.h index 9d11866df..f092e8ffb 100644 --- a/src/osal/osal.h +++ b/src/osal/osal.h @@ -1,4 +1,4 @@ -/* +/* * The MIT License (MIT) * * Copyright (c) 2019 Ha Thach (tinyusb.org) @@ -33,17 +33,24 @@ #include "common/tusb_common.h" -// Return immediately -#define OSAL_TIMEOUT_NOTIMEOUT (0) -// Default timeout -#define OSAL_TIMEOUT_NORMAL (10) -// Wait forever -#define OSAL_TIMEOUT_WAIT_FOREVER (UINT32_MAX) +typedef void (*osal_task_func_t)( void * ); +// Timeout +#define OSAL_TIMEOUT_NOTIMEOUT (0) // Return immediately +#define OSAL_TIMEOUT_NORMAL (10) // Default timeout +#define OSAL_TIMEOUT_WAIT_FOREVER (UINT32_MAX) // Wait forever #define OSAL_TIMEOUT_CONTROL_XFER OSAL_TIMEOUT_WAIT_FOREVER -typedef void (*osal_task_func_t)( void * ); +// Mutex is required when using a preempted RTOS or MCU has multiple cores +#if (CFG_TUSB_OS == OPT_OS_NONE) && !TUP_MCU_MULTIPLE_CORE + #define OSAL_MUTEX_REQUIRED 0 + #define OSAL_MUTEX_DEF(_name) uint8_t :0 +#else + #define OSAL_MUTEX_REQUIRED 1 + #define OSAL_MUTEX_DEF(_name) osal_mutex_def_t _name +#endif +// OS thin implementation #if CFG_TUSB_OS == OPT_OS_NONE #include "osal_none.h" #elif CFG_TUSB_OS == OPT_OS_FREERTOS |
