/*=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====*/
/**
\page os2Migration Migration from API v1 to API v2
To use the API version 2 functions follow the steps described in:
- \subpage os2MigrationGuide - Steps to migrate from API version 1 to API version 2
- \subpage os2MigrationFunctions - List of function differences
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
Functions
\endif
\page os2MigrationFunctions Detailed API Function Differences
This section lists the CMSIS-RTOS API v1 and API v2 functions along with the differences in functionality.
The list is sorted alphabetically by API v2 function names and is structured the following way:
- RTOS API v2 function prototype
- RTOS API v1 function prototype that is equivalent or provides similar functionality
- Brief description of the RTOS v2 function.
- Description of the difference.
The background color indicates:
-
Green: New functions in API v2 that are not available in API v1
- Amber: Functions that are modified or replaced in API v2 compared to API v1
- Red: Functions in API v1 that are deprecated in API v2
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
Kernel Information and Control
\endif
\section mig_kernel Kernel Information and Control
\div{new}
\func{osStatus_t #osKernelGetInfo (osVersion_t* version, char* id_buf, uint32_t id_size)}
\none
\copybrief{osKernelGetInfo}
New function #osKernelGetInfo.
\enddiv
\div{mod}
\func{osKernelState_t #osKernelGetState (void)}
\func{int32_t osKernelRunning (void)}
\copybrief{osKernelGetState}
- The function \b osKernelGetState replaces the RTOS v1 function \b osKernelRunning.
- Return type changed to \ref osKernelState_t.
\enddiv
\div{new}
\func{uint32_t #osKernelGetTickCount (void)}
\none
\copybrief{osKernelGetTickCount}
New function.
\enddiv
\div{new}
\func{uint32_t #osKernelGetTickFreq (void)}
\none
\copybrief{osKernelGetTickFreq}
- The function \b osKernelGetTickFreq replaces the RTOS v1 macro \b osKernelTickMicroSec.
\enddiv
\div{mod}
\func{uint32_t #osKernelGetSysTimerCount (void)}
\func{uint32_t osKernelSysTick (void)}
\copybrief{osKernelGetSysTimerCount}
- The function \b osKernelGetSysTimerCount replaces the RTOS v1 function \b osKernelSysTick.
\enddiv
\div{new}
\func{uint64_t #osKernelGetSysTimerFreq (void)}
\none
\copybrief{osKernelGetSysTimerFreq}
New function.
\enddiv
\div{mod}
\func{osStatus_t #osKernelInitialize (void)}
\func{osStatus osKernelInitialize (void)}
\copybrief{osKernelInitialize}
- Return type changed to \ref osStatus_t.
\enddiv
\div{new}
\func{int32_t #osKernelLock (void)}
\none
\copybrief{osKernelLock}
New function.
\enddiv
\div{new}
\func{int32_t #osKernelUnlock (void)}
\none
\copybrief{osKernelUnlock}
New function.
\enddiv
\div{new}
\func{void #osKernelRestoreLock (void)}
\none
\copybrief{osKernelRestoreLock}
New function.
\enddiv
\div{mod}
\func{osStatus_t #osKernelStart (void)}
\func{osStatus osKernelStart (void)}
\copybrief{osKernelStart}
- Return type changed to \ref osStatus_t.
\enddiv
\div{new}
\func{uint32_t #osKernelSuspend (void)}
\none
\copybrief{osKernelSuspend}
New function.
\enddiv
\div{new}
\func{void #osKernelResume (uint32_t sleep_time)}
\none
\copybrief{osKernelResume}
New function.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Thread Management =======
\endif
\section mig_threadMgmt Thread Management
\div{new}
\func{osStatus_t #osThreadDetach (osThreadId_t thread_id)}
\none
\copybrief{osThreadDetach}
New function.
\enddiv
\div{new}
\func{uint32_t #osThreadEnumerate (osThreadId_t *thread_array, uint32_t array_items)}
\none
\copybrief{osThreadEnumerate}
New function.
\enddiv
\div{new}
\func{__NO_RETURN void #osThreadExit (void)}
\none
\copybrief{osThreadExit}
New function.
\enddiv
\div{new}
\func{uint32_t #osThreadGetCount (osThreadId_t thread_id)}
\none
\copybrief{osThreadGetCount}
New function.
\enddiv
\div{new}
\func{const char *#osThreadGetName (osThreadId_t thread_id)}
\none
\copybrief{osThreadGetName}
New function.
\enddiv
\div{mod}
\func{osThreadId_t #osThreadGetId (void)}
\func{osThreadId osThreadGetId (void)}
\copybrief{osThreadGetId}
- Return type changed to #osThreadId_t.
\enddiv
\div{mod}
\func{osPriority_t #osThreadGetPriority (osThreadId_t thread_id)}
\func{osPriority osThreadGetPriority (osThreadId thread_id)}
\copybrief{osThreadGetPriority}
- Return type changed to #osPriority_t.
- Parameter type changed to #osThreadId_t.
\enddiv
\div{new}
\func{uint32_t #osThreadGetStackSize (osThreadId_t thread_id)}
\none
\copybrief{osThreadGetStackSize}
New function.
\enddiv
\div{new}
\func{uint32_t #osThreadGetStackSpace (osThreadId_t thread_id)}
\none
\copybrief{osThreadGetStackSpace}
New function.
\enddiv
\div{new}
\func{osThreadState_t #osThreadGetState (osThreadId_t thread_id)}
\none
\copybrief{osThreadGetState}
New function.
\enddiv
\div{new}
\func{osStatus_t #osThreadJoin (osThreadId_t thread_id)}
\none
\copybrief{osThreadJoin}
New function.
\enddiv
\div{mod}
\func{osThreadId_t #osThreadNew (osThreadFunc_t function, void *argument, const osThreadAttr_t *attr)}
\func{osThreadId osThreadCreate (const osThreadDef_t *thread_def, void *argument)}
\copybrief{osThreadNew}
- The function \b osThreadNew replaces the RTOS v1 function \b osThreadCreate.
- Options are now passed using a \ref osThreadAttr_t struct, replacing the \b osThreadDef macro.
- New function prototype is void func (void *arg), before: void func (const void *arg).
\enddiv
\div{new}
\func{osStatus_t #osThreadResume (osThreadId_t thread_id)}
\none
\copybrief{osThreadResume}
New function.
\enddiv
\div{mod}
\func{osStatus_t #osThreadSetPriority (osThreadId_t thread_id, osPriority_t priority)}
\func{osStatus osThreadSetPriority (osThreadId thread_id, osPriority priority)}
\copybrief{osThreadSetPriority}
- Return type changed to #osStatus_t.
- Parameter types changed to #osThreadId_t and #osPriority_t.
\enddiv
\div{new}
\func{osStatus_t #osThreadSuspend (osThreadId_t thread_id)}
\none
\copybrief{osThreadSuspend}
New function.
\enddiv
\div{mod}
\func{osStatus_t #osThreadTerminate (osThreadId_t thread_id)}
\func{osStatus osThreadTerminate (osThreadId thread_id)}
\copybrief{osThreadTerminate}
- Return type changed to #osStatus_t.
- Parameter type changed to #osThreadId_t.
\enddiv
\div{mod}
\func{osStatus_t #osThreadYield (void)}
\func{osStatus osThreadYield (void)}
\copybrief{osThreadYield}
- Return type changed to #osStatus_t.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Thread Flags =======
\endif
\section mig_threadFlags Thread Flags
\details
New section to synchronize threads using flags. Thread flags and the more flexible \ref mig_eventFlags are replacing the RTOS v1 Signal Events. Refer to \ref mig_signalEvents for a list of deprecated functions.
Refer to \ref CMSIS_RTOS_ThreadFlagsMgmt for details.
\div{new}
\func{uint32_t #osThreadFlagsSet (osThreadId_t thread_id, uint32_t flags)}
\none
\copybrief{osThreadFlagsSet}
New function.
\enddiv
\div{new}
\func{uint32_t #osThreadFlagsClear (uint32_t flags)}
\none
\copybrief{osThreadFlagsClear}
New function.
\enddiv
\div{new}
\func{uint32_t #osThreadFlagsGet (void)}
\none
\copybrief{osThreadFlagsGet}
New function.
\enddiv
\div{new}
\func{uint32_t #osThreadFlagsWait (uint32_t flags, uint32_t options, uint32_t timeout)}
\none
\copybrief{osThreadFlagsWait}
New function.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Event Flags =======
\endif
\section mig_eventFlags Event Flags
\details
New section to synchronize events using flags. Event flags and thread flags are replacing the RTOS v1 Signal Events.
All functions listed in the RTOS v1 Signal Events have been deprecated.
Refer to \ref mig_signalEvents for a list of deprecated functions.
Refer to \ref CMSIS_RTOS_EventFlags for details about the new function.
\div{new}
\func{uint32_t #osEventFlagsClear (osEventFlagsId_t ef_id, uint32_t flags)}
\none
\copybrief{osEventFlagsClear}
New function.
\enddiv
\div{new}
\func{const char *#osEventFlagsGetName (osEventFlagsId_t ef_id)}
\none
\copybrief{osEventFlagsGetName}
New function.
\enddiv
\div{new}
\func{osStatus_t #osEventFlagsDelete (osEventFlagsId_t ef_id)}
\none
\copybrief{osEventFlagsDelete}
New function.
\enddiv
\div{new}
\func{uint32_t #osEventFlagsGet (osEventFlagsId_t ef_id)}
\none
\copybrief{osEventFlagsGet}
New function.
\enddiv
\div{new}
\func{osEventFlagsId_t #osEventFlagsNew (const osEventFlagsAttr_t *attr)}
\none
\copybrief{osEventFlagsNew}
New function.
\enddiv
\div{new}
\func{uint32_t #osEventFlagsSet (osEventFlagsId_t ef_id, uint32_t flags)}
\none
\copybrief{osEventFlagsSet}
New function.
\enddiv
\div{new}
\func{uint32_t #osEventFlagsWait (osEventFlagsId_t ef_id, uint32_t flags, uint32_t options, uint32_t timeout)}
\none
\copybrief{osEventFlagsWait}
New function.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Generic Wait Functions =======
\endif
\section mig_wait Generic Wait Functions
\details
Refer to \ref CMSIS_RTOS_Wait for details.
\div{mod}
\func{osStatus_t #osDelay (uint32_t ticks)}
\func{osStatus osDelay (uint32_t timeout)}
\copybrief{osDelay}
- The return type changed to #osStatus_t.
\enddiv
\div{new}
\func{osStatus_t #osDelayUntil (uint32_t ticks)}
\none
\copybrief{osDelayUntil}
New function.
\enddiv
\div{del}
\none
\func{osEvent osWait (uint32_t millisec)}
\n
Deprecated.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Timer Management =======
\endif
\section mig_timer Timer Management
\details
Refer to \ref CMSIS_RTOS_TimerMgmt for details.
\div{mod}
\func{osStatus_t #osTimerDelete (osTimerId_t timer_id)}
\func{osStatus osTimerDelete (osTimerId timer_id)}
\copybrief{osTimerDelete}
- The return type changed to #osStatus_t.
- The parameter type has changed to #osTimerId_t.
\enddiv
\div{new}
\func{const char *#osTimerGetName (osTimerId_t timer_id)}
\none
\copybrief{osTimerGetName}
New function.
\enddiv
\div{new}
\func{uint32_t #osTimerIsRunning (osTimerId_t timer_id)}
\none
\copybrief{osTimerIsRunning}
New function.
\enddiv
\div{mod}
\func{osTimerId_t #osTimerNew (osTimerFunc_t func, osTimerType_t type, void *argument, const osTimerAttr_t *attr)}
\func{osTimerId osTimerCreate (const osTimerDef_t *timer_def, os_timer_type type, void *argument)}
\copybrief{osTimerNew}
- The function \b osTimerNew replaces the RTOS v1 function \b osTimerCreate.
- The return type changed to #osTimerId_t.
- The parameter list and types have changed.
\enddiv
\div{mod}
\func{osStatus_t #osTimerStart (osTimerId_t timer_id, uint32_t ticks)}
\func{osStatus osTimerStart (osTimerId timer_id, uint32_t timeout)}
\copybrief{osTimerStart}
- The return type changed to #osStatus_t.
- The first parameter type has changed to #osTimerId_t.
\enddiv
\div{mod}
\func{osStatus_t #osTimerStop (osTimerId_t timer_id)}
\func{osStatus osTimerStop (osTimerId timer_id)}
\copybrief{osTimerStop}
- The return type changed to #osStatus_t.
- The parameter type has changed to #osTimerId_t.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Mutexes =======
\endif
\section mig_mutex Mutexes
Refer to \ref CMSIS_RTOS_MutexMgmt for details.
\div{mod}
\func{osStatus_t #osMutexAcquire (osMutexId_t mutex_id, uint32_t timeout)}
\func{osStatus osMutexWait (osMutexId mutex_id, uint32_t timeout)}
\copybrief{osMutexAcquire}
- The function \b osMutexAcquire replaces the RTOS v1 function \b osMutexWait.
- Return type changed to \ref osStatus_t.
- First parameter type changed to \ref osMutexId_t.
\enddiv
\div{mod}
\func{osStatus_t #osMutexDelete (osMutexId_t mutex_id)}
\func{osStatus osMutexDelete (osMutexId mutex_id)}
\copybrief{osMutexDelete}
- The return type changed to \ref osStatus_t.
- The parameter type changed to \ref osMutexId_t.
\enddiv
\div{new}
\func{const char *#osMutexGetName (osMutexId_t mutex_id)}
\none
\copybrief{osMutexGetName}
New function.
\enddiv
\div{new}
\func{osThreadId_t #osMutexGetOwner (osMutexId_t mutex_id)}
\none
\copybrief{osMutexGetOwner}
New function.
\enddiv
\div{mod}
\func{osMutexId_t #osMutexNew (const osMutexAttr_t *attr)}
\func{osMutexId osMutexCreate (const osMutexDef_t *mutex_def)}
\copybrief{osMutexNew}
- The function \b osMutexNew replaces the RTOS v1 function \b osMutexCreate.
- The return type changed to \ref osMutexId_t.
- The parameter type changed to \ref osMutexAttr_t.
\enddiv
\div{mod}
\func{osStatus_t #osMutexRelease (osMutexId_t mutex_id)}
\func{osStatus osMutexRelease (osMutexId mutex_id)}
\copybrief{osMutexRelease}
- The return type changed to \ref osStatus_t.
- The parameter type changed to \ref osMutexId_t.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== SEMAPHORES =======
\endif
\section mig_sem Semaphores
Refer to \ref CMSIS_RTOS_SemaphoreMgmt for details.
\div{new}
\func{osStatus_t #osSemaphoreAcquire (osSemaphoreId_t semaphore_id, uint32_t timeout)}
\none
\copybrief{osSemaphoreAcquire}
New function. Replaces \c osSemaphoreWait.
\enddiv
\div{mod}
\func{osStatus_t #osSemaphoreDelete (osSemaphoreId_t semaphore_id)}
\func{osStatus osSemaphoreDelete (osSemaphoreId semaphore_id)}
\copybrief{osSemaphoreDelete}
- The return type changed to #osStatus_t.
- The parameter type has changed to #osSemaphoreId_t.
\enddiv
\div{new}
\func{uint32_t #osSemaphoreGetCount (osSemaphoreId_t semaphore_id)}
\none
\copybrief{osSemaphoreGetCount}
New function.
\enddiv
\div{new}
\func{const char *#osSemaphoreGetName (osSemaphoreId_t semaphore_id)}
\none
\copybrief{osSemaphoreGetName}
New function.
\enddiv
\div{mod}
\func{osSemaphoreId_t #osSemaphoreNew (uint32_t max_count, uint32_t initial_count, const osSemaphoreAttr_t *attr)}
\func{osSemaphoreId osSemaphoreCreate (const osSemaphoreDef_t *semaphore_def, int32_t count)}
\copybrief{osSemaphoreNew}
- The function \b osSemaphoreNew replaces the RTOS v1 function \b osSemaphoreCreate.
- The return type changed to #osSemaphoreId_t.
- The parameter list and types have changed.
\enddiv
\div{mod}
\func{osStatus_t #osSemaphoreRelease (osSemaphoreId_t semaphore_id)}
\func{osStatus osSemaphoreRelease (osSemaphoreId semaphore_id)}
\copybrief{osSemaphoreRelease}
- The return type changed to #osStatus_t.
- The parameter type has changed to #osSemaphoreId_t.
\enddiv
\div{del}
\none
\func{int32_t osSemaphoreWait (osSemaphoreId semaphore_id, uint32_t timeout)}
\n
Deprecated. Replaced by #osSemaphoreAcquire.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Memory Pool =======
\endif
\section mig_memPool Memory Pool
\div{mod}
\func{void * #osMemoryPoolAlloc (osMemoryPoolId_t mp_id, uint32_t timeout)}
\func{void * osPoolAlloc (osPoolId pool_id)}
\copybrief{osMemoryPoolAlloc}
- The function \b osMemoryPoolAlloc replaces both RTOS v1 functions \b osPoolAlloc.
- The parameter list and types changed.
\enddiv
\div{new}
\func{osStatus_t #osMemoryPoolDelete (osMemoryPoolId_t mp_id)}
\none
\copybrief{osMemoryPoolDelete}
New function.
\enddiv
\div{mod}
\func{osStatus_t #osMemoryPoolFree (osMemoryPoolId_t mp_id, void * block)}
\func{osStatus osPoolFree (osPoolId pool_id, void * block)}
\copybrief{osMemoryPoolFree}
- The function \b osMemoryPoolFree replaces the RTOS v1 function \b osPoolFree.
- The first parameter type \b osMemoryPoolId_t replaces the ROTS v1 type \b osPoolId.
\enddiv
\div{new}
\func{uint32_t #osMemoryPoolGetBlockSize (osMemoryPoolId_t mp_id)}
\none
\copybrief{osMemoryPoolGetBlockSize}
New function.
\enddiv
\div{new}
\func{uint32_t #osMemoryPoolGetCapacity (osMemoryPoolId_t mp_id)}
\none
\copybrief{osMemoryPoolGetCapacity}
New function.
\enddiv
\div{new}
\func{uint32_t #osMemoryPoolGetCount (osMemoryPoolId_t mp_id)}
\none
\copybrief{osMemoryPoolGetCount}
New function.
\enddiv
\div{new}
\func{const char *#osMemoryPoolGetName (osMemoryPoolId_t mp_id)}
\none
\copybrief{osMemoryPoolGetName}
New function.
\enddiv
\div{new}
\func{uint32_t #osMemoryPoolGetSpace (osMemoryPoolId_t mp_id)}
\none
\copybrief{osMemoryPoolGetSpace}
New function.
\enddiv
\div{mod}
\func{osMemoryPoolId_t #osMemoryPoolNew (uint32_t block_count, uint32_t block_size, const osMemoryPoolAttr_t *attr)}
\func{osPoolId osPoolCreate (const osPoolDef_t * pool_def)}
\copybrief{osMemoryPoolGetSpace}
- The function \b osMemoryPoolNew replaces the RTOS v1 function \b osPoolCreate.
- The return type changed to #osMemoryPoolId_t.
- Parameter list and parameter types have changed.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Message Queue =======
\endif
\section mig_msgQueue Message Queue
In general, messages are now using fixed size memory instead of being 32-bit values. Refer to \ref CMSIS_RTOS_Message for
details.
\div{new}
\func{osStatus_t #osMessageQueueDelete (osMessageQueueId_t mq_id)}
\none
\copybrief{osMessageQueueDelete}
New function.
\enddiv
\div{mod}
\func{osStatus_t #osMessageQueueGet (osMessageQueueId_t mq_id, void *msg_ptr, uint8_t *msg_prio, uint32_t timeout)}
\func{osEvent osMessageGet (osMessageQId queue_id, uint32_t timeout)}
\copybrief{osMessageQueueGet}
- The function \b osMessageQueueGet replaces the RTOS v1 function \b osMessageGet.
- The return type changed to #osStatus_t.
- The parameter list and parameter types have changed.
\enddiv
\div{new}
\func{uint32_t #osMessageQueueGetCapacity (osMessageQueueId_t mq_id)}
\none
\copybrief{osMessageQueueGetCapacity}
New function.
\enddiv
\div{new}
\func{uint32_t #osMessageQueueGetCount (osMessageQueueId_t mq_id)}
\none
\copybrief{osMessageQueueGetCount}
New function.
\enddiv
\div{new}
\func{uint32_t #osMessageQueueGetMsgSize (osMessageQueueId_t mq_id)}
\none
\copybrief{osMessageQueueGetMsgSize}
New function.
\enddiv
\div{new}
\func{const char *#osMessageQueueGetName (osMessageQueueId_t mq_id)}
\none
\copybrief{osMessageQueueGetName}
New function.
\enddiv
\div{new}
\func{uint32_t #osMessageQueueGetSpace (osMessageQueueId_t mq_id)}
\none
\copybrief{osMessageQueueGetSpace}
New function.
\enddiv
\div{mod}
\func{osMessageQueueId_t #osMessageQueueNew (uint32_t msg_count, uint32_t msg_size, const osMessageQueueAttr_t *attr)}
\func{osMessageQId osMessageCreate (const osMessageQDef_t *queue_def, osThreadId thread_id)}
\copybrief{osMessageQueueNew}
- The function \b osMessageQueueNew replaces the RTOS v1 function \b osMessageCreate.
- The return type changed to #osMessageQueueId_t.
- The parameter list and parameter types have changed.
\enddiv
\div{mod}
\func{osStatus_t #osMessageQueuePut (osMessageQueueId_t mq_id, const void *msg_ptr, uint8_t msg_prio, uint32_t timeout)}
\func{osStatus osMessagePut (osMessageQId queue_id, uint32_t info, uint32_t timeout)}
\copybrief{osMessageQueuePut}
- The function \b osMessageQueuePut replaces the RTOS v1 function \b osMessagePut.
- The return type changed to #osStatus_t.
- The parameter list and parameter types have changed.
\enddiv
\div{new}
\func{osStatus_t #osMessageQueueReset (osMessageQueueId_t mq_id)}
\none
\copybrief{osMessageQueueReset}
New function.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Mail Queue =======
\endif
\section mig_mailQueue Mail Queue
The Mail Queue RTOS v1 functions have been deprecated.
Use the functionality of the \ref CMSIS_RTOS_Message instead.
Differences are listed under \ref mig_msgQueue.
\div{del}
\none
\func{void * osMailAlloc (osMailQId queue_id, uint32_t timeout)}
\n
Deprecated.
\enddiv
\div{del}
\none
\func{void * osMailCAlloc (osMailQId queue_id, uint32_t timeout)}
\n
Deprecated.
\enddiv
\div{del}
\none
\func{osMailQId osMailCreate (const osMailQDef_t *queue_def, osThreadId thread_id)}
\n
Deprecated.
\enddiv
\div{del}
\none
\func{osStatus osMailFree (osMailQId queue_id, void *mail)}
\n
Deprecated.
\enddiv
\div{del}
\none
\func{osEvent osMailGet (osMailQId queue_id, uint32_t timeout)}
\n
Deprecated.
\enddiv
\div{del}
\none
\func{osStatus osMailPut (osMailQId queue_id, void *mail)}
\n
Deprecated.
\enddiv
\if NEVER_ENABLE
=======0=========1=========2=========3=========4=========5=========6=========7=========8=========9=========0=========1====
====== Signal Events =======
\endif
\section mig_signalEvents Signal Events
\details
The section RTOS v1 Signal Events has been deprecated. Use the functions listed under \ref mig_threadFlags instead.
\div{del}
\none
\func{int32_t osSignalClear (osThreadId thread_id, int32_t signals)}
\n
Deprecated.
\enddiv
\div{del}
\none
\func{int32_t osSignalSet (osThreadId thread_id, int32_t signals)}
\n
Deprecated.
\enddiv
\div{del}
\none
\func{osEvent osSignalWait (int32_t signals, uint32_t timeout)}
\n
Deprecated.
\enddiv
*/