summaryrefslogtreecommitdiff
path: root/tinyusb/osal
diff options
context:
space:
mode:
authorhathach <[email protected]>2013-06-27 16:32:54 +0700
committerhathach <[email protected]>2013-06-27 16:32:54 +0700
commita07ff5a3cece890534ffdd7865676fc8b3a637fd (patch)
treed8a05c17660dfa2769550c7e64d8ca12a0aaafbe /tinyusb/osal
parent3bca56665cb802e6e599fb4a1a2be5dd6e64b70b (diff)
use SUBTASK_EXIT to restart & exit task without "assert"
Diffstat (limited to 'tinyusb/osal')
-rw-r--r--tinyusb/osal/osal_none.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/tinyusb/osal/osal_none.h b/tinyusb/osal/osal_none.h
index 5090d14f5..79acb8a8e 100644
--- a/tinyusb/osal/osal_none.h
+++ b/tinyusb/osal/osal_none.h
@@ -118,7 +118,9 @@ static inline volatile uint32_t osal_tick_get(void)
return TUSB_ERROR_OSAL_WAITING;\
}while(0)
-
+//--------------------------------------------------------------------+
+// SUBTASK (a sub function that uses OS blocking services & called by a task
+//--------------------------------------------------------------------+
//------------- Sub Task -------------//
#define OSAL_SUBTASK_INVOKED_AND_WAIT(subtask, status) \
do {\
@@ -134,6 +136,9 @@ static inline volatile uint32_t osal_tick_get(void)
#define OSAL_SUBTASK_END OSAL_TASK_LOOP_END
//------------- Sub Task Assert -------------//
+#define SUBTASK_EXIT(error) \
+ TASK_RESTART; return error
+
#define _SUBTASK_ASSERT_ERROR_HANDLER(error, func_call) \
func_call; TASK_RESTART; return error