CMSIS-RTOS2  Version 2.1.3
Real-Time Operating System: API and RTX Reference Implementation
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Generic Wait Functions

Events generated by generic wait functions. More...

Functions

void EvrRtxDelayError (int32_t status)
 Event on delay error (Error) More...
 
void EvrRtxDelay (uint32_t ticks)
 Event on delay for specified time (API) More...
 
void EvrRtxDelayUntil (uint32_t ticks)
 Event on delay until specified time (API) More...
 
void EvrRtxDelayStarted (uint32_t ticks)
 Event on delay started (Op) More...
 
void EvrRtxDelayUntilStarted (uint32_t ticks)
 Event on delay until specified time started (Op) More...
 
void EvrRtxDelayCompleted (osThreadId_t thread_id)
 Event on delay completed (Op) More...
 

Description

Function Documentation

void EvrRtxDelayError ( int32_t  status)
Parameters
[in]statusextended execution status.

The event DelayError is generated when Generic Wait Functions routines complete their execution due to an error.

The status parameter indicates the execution status and can be one of the osStatus_t codes or one of the extended execution status codes which are summarized in the table below.

Extended Status Code Description
osRtxErrorKernelNotReady Kernel scheduler is not in Ready state.
osRtxErrorKernelNotRunning Kernel scheduler is not executing - there is no running thread.
osRtxErrorInvalidControlBlock Object control block with invalid alignment or size was specified.
osRtxErrorInvalidDataMemory Object data memory with invalid alignment or size was specified.
osRtxErrorInvalidThreadStack Thread stack memory with invalid alignment or size was specified.
osRtxErrorInvalidPriority Invalid thread priority was specified.
osRtxErrorThreadNotJoinable Specified thread is not joinable.
osRtxErrorMutexNotOwned Specified mutex is not owned by the current running thread.
osRtxErrorMutexNotLocked Specified mutex is not locked.
osRtxErrorMutexLockLimit Maximum number of recursive mutex locks reached.
osRtxErrorSemaphoreCountLimit Semaphore count limit reached.
osRtxErrorTZ_InitContext_S Secure context memory system initialization failed.
osRtxErrorTZ_AllocContext_S Secure context memory allocation failed.
osRtxErrorTZ_FreeContext_S Secure context memory deallocation failed.
osRtxErrorTZ_LoadContext_S Secure context load failed.
osRtxErrorTZ_SaveContext_S Secure context save failed.

Value in the Event Recorder shows:

  • status : execution status code.
void EvrRtxDelay ( uint32_t  ticks)
Parameters
[in]tickstime ticks value.

The event Delay is generated when the function osDelay is called.

Value in the Event Recorder shows:

void EvrRtxDelayUntil ( uint32_t  ticks)
Parameters
[in]ticksabsolute time in ticks.

The event DelayUntil is generated when the function osDelayUntil is called.

Value in the Event Recorder shows:

  • ticks : absolute delay time in ticks.
void EvrRtxDelayStarted ( uint32_t  ticks)
Parameters
[in]tickstime ticks value.

The event DelayStarted is generated when osDelay delay starts.

Value in the Event Recorder shows:

void EvrRtxDelayUntilStarted ( uint32_t  ticks)
Parameters
[in]tickstime ticks value.

The event DelayUntilStarted is generated when osDelayUntil delay starts.

Value in the Event Recorder shows:

void EvrRtxDelayCompleted ( osThreadId_t  thread_id)
Parameters
[in]thread_idthread ID obtained by osThreadNew or osThreadGetId.

The event DelayCompleted is generated when osDelay or osDelayUntil delay expires.

Value in the Event Recorder shows:

  • thread_id : thread ID.