EVE 1.0
Semaphore and Mutex emulation
Collaboration diagram for Semaphore and Mutex emulation:

Macros

#define vSemaphoreCreateBinary(xSemaphore)
 

Typedefs

typedef struct DummySemaphoreQueue_t * SemaphoreHandle_t
 
typedef struct DummySemaphoreQueue_t * QueueHandle_t
 

Functions

SemaphoreHandle_t xSemaphoreCreateImpl (UBaseType_t uxMaxCount, UBaseType_t uxInitialCount, bool xRecursive)
 
static SemaphoreHandle_t xSemaphoreCreateBinary (void)
 
static SemaphoreHandle_t xSemaphoreCreateCounting (UBaseType_t uxMaxCount, UBaseType_t uxInitialCount)
 
static SemaphoreHandle_t xSemaphoreCreateMutex (void)
 
static SemaphoreHandle_t xSemaphoreCreateRecursiveMutex (void)
 
void vSemaphoreDelete (SemaphoreHandle_t xSemaphore)
 
TaskHandle_t xSemaphoreGetMutexHolder (SemaphoreHandle_t xSemaphore)
 
BaseType_t xSemaphoreGive (SemaphoreHandle_t xSemaphore)
 
static BaseType_t xSemaphoreGiveFromISR (SemaphoreHandle_t xSemaphore, BaseType_t *const pxHigherPriorityTaskWoken)
 
static BaseType_t xSemaphoreGiveRecursive (SemaphoreHandle_t xSemaphore)
 
BaseType_t xSemaphoreTake (SemaphoreHandle_t xSemaphore, TickType_t xTicksToWait)
 
static BaseType_t xSemaphoreTakeFromISR (SemaphoreHandle_t xSemaphore, BaseType_t *const pxHigherPriorityTaskWoken)
 
static BaseType_t xSemaphoreTakeRecursive (SemaphoreHandle_t xSemaphore, TickType_t xTicksToWait)
 

Detailed Description

Macro Definition Documentation

#define vSemaphoreCreateBinary (   xSemaphore)
Value:
do { \
(xSemaphore) = xSemaphoreCreateBinary(); \
xSemaphoreGive(xSemaphore); \
} while (0)
static SemaphoreHandle_t xSemaphoreCreateBinary(void)
Definition: rtos.h:278

vSemaphoreCreateBinary emulation

http://www.freertos.org/a00121.html

Definition at line 262 of file rtos.h.

Typedef Documentation

typedef struct DummySemaphoreQueue_t* SemaphoreHandle_t

SemaphoreHandle_t type

Definition at line 253 of file rtos.h.

typedef struct DummySemaphoreQueue_t* QueueHandle_t

QueueHandle_t type

Definition at line 254 of file rtos.h.

Function Documentation

SemaphoreHandle_t xSemaphoreCreateImpl ( UBaseType_t  uxMaxCount,
UBaseType_t  uxInitialCount,
bool  xRecursive 
)
static SemaphoreHandle_t xSemaphoreCreateBinary ( void  )
inlinestatic

xSemaphoreCreateBinary emulation. http://www.freertos.org/xSemaphoreCreateBinary.html

Definition at line 278 of file rtos.h.

References xSemaphoreCreateImpl().

static SemaphoreHandle_t xSemaphoreCreateCounting ( UBaseType_t  uxMaxCount,
UBaseType_t  uxInitialCount 
)
inlinestatic

xSemaphoreCreateCounting emulation. http://www.freertos.org/CreateCounting.html

Definition at line 287 of file rtos.h.

References xSemaphoreCreateImpl().

static SemaphoreHandle_t xSemaphoreCreateMutex ( void  )
inlinestatic

xSemaphoreCreateMutex emulation. http://www.freertos.org/CreateMutex.html

Definition at line 296 of file rtos.h.

References xSemaphoreCreateImpl().

static SemaphoreHandle_t xSemaphoreCreateRecursiveMutex ( void  )
inlinestatic
void vSemaphoreDelete ( SemaphoreHandle_t  xSemaphore)
TaskHandle_t xSemaphoreGetMutexHolder ( SemaphoreHandle_t  xSemaphore)
static BaseType_t xSemaphoreGiveFromISR ( SemaphoreHandle_t  xSemaphore,
BaseType_t *const  pxHigherPriorityTaskWoken 
)
inlinestatic

xSemaphoreGiveFromISR emulation. http://www.freertos.org/a00124.html

Note
  • This function can not be called from a hard irq context

Definition at line 334 of file rtos.h.

References xSemaphoreGive().

static BaseType_t xSemaphoreGiveRecursive ( SemaphoreHandle_t  xSemaphore)
inlinestatic

xSemaphoreGiveRecursive emulation. http://www.freertos.org/xSemaphoreGiveRecursive.html

Definition at line 345 of file rtos.h.

References xSemaphoreGive(), and xSemaphoreTake().

BaseType_t xSemaphoreTake ( SemaphoreHandle_t  xSemaphore,
TickType_t  xTicksToWait 
)
static BaseType_t xSemaphoreTakeFromISR ( SemaphoreHandle_t  xSemaphore,
BaseType_t *const  pxHigherPriorityTaskWoken 
)
inlinestatic

xSemaphoreTakeFromISR emulation. http://www.freertos.org/xSemaphoreTakeFromISR.html

Note
  • This function can not be called from a hard irq context

Definition at line 362 of file rtos.h.

References xSemaphoreTake().

static BaseType_t xSemaphoreTakeRecursive ( SemaphoreHandle_t  xSemaphore,
TickType_t  xTicksToWait 
)
inlinestatic

xSemaphoreTakeRecursive emulation. http://www.freertos.org/a00122.html

Definition at line 373 of file rtos.h.

References xSemaphoreTake().