|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
#include "queue.h"Go to the source code of this file.
Macros | |
| #define | semBINARY_SEMAPHORE_QUEUE_LENGTH ( ( uint8_t ) 1U ) |
| #define | semSEMAPHORE_QUEUE_ITEM_LENGTH ( ( uint8_t ) 0U ) |
| #define | semGIVE_BLOCK_TIME ( ( TickType_t ) 0U ) |
| #define | xSemaphoreTake(xSemaphore, xBlockTime) |
| #define | xSemaphoreGive(xSemaphore) |
| #define | xSemaphoreGiveFromISR(xSemaphore, pxHigherPriorityTaskWoken) |
| #define | xSemaphoreTakeFromISR(xSemaphore, pxHigherPriorityTaskWoken) |
| semphr. | |
| #define | vSemaphoreDelete(xSemaphore) |
| #define | uxSemaphoreGetCount(xSemaphore) |
| semphr.h | |
| #define | uxSemaphoreGetCountFromISR(xSemaphore) |
| semphr.h | |
Typedefs | |
| typedef QueueHandle_t | SemaphoreHandle_t |
| #define semGIVE_BLOCK_TIME ( ( TickType_t ) 0U ) |
| #define uxSemaphoreGetCount | ( | xSemaphore | ) |
If xMutex is indeed a mutex type semaphore, return the current mutex holder. If xMutex is not a mutex type semaphore, or the mutex is available (not held by a task), return NULL.
Note: This is a good way of determining if the calling task is the mutex holder, but not a good way of determining the identity of the mutex holder as the holder may change between the function exiting and the returned value being tested. semphr.h
If xMutex is indeed a mutex type semaphore, return the current mutex holder. If xMutex is not a mutex type semaphore, or the mutex is available (not held by a task), return NULL. semphr.h
If the semaphore is a counting semaphore then uxSemaphoreGetCount() returns its current count value. If the semaphore is a binary semaphore then uxSemaphoreGetCount() returns 1 if the semaphore is available, and 0 if the semaphore is not available.
Definition at line 1177 of file semphr.h.
Referenced by osSemaphoreGetCount().
| #define uxSemaphoreGetCountFromISR | ( | xSemaphore | ) |
If the semaphore is a counting semaphore then uxSemaphoreGetCountFromISR() returns its current count value. If the semaphore is a binary semaphore then uxSemaphoreGetCountFromISR() returns 1 if the semaphore is available, and 0 if the semaphore is not available.
Definition at line 1191 of file semphr.h.
Referenced by osSemaphoreGetCount().
| #define vSemaphoreDelete | ( | xSemaphore | ) |
Definition at line 1129 of file semphr.h.
Referenced by osSemaphoreDelete(), and osSemaphoreNew().
| #define xSemaphoreGive | ( | xSemaphore | ) |
Definition at line 460 of file semphr.h.
Referenced by osSemaphoreNew(), and osSemaphoreRelease().
| #define xSemaphoreGiveFromISR | ( | xSemaphore, | |
| pxHigherPriorityTaskWoken ) |
Definition at line 640 of file semphr.h.
Referenced by osSemaphoreRelease().
| #define xSemaphoreTake | ( | xSemaphore, | |
| xBlockTime ) |
Definition at line 298 of file semphr.h.
Referenced by osSemaphoreAcquire().
| #define xSemaphoreTakeFromISR | ( | xSemaphore, | |
| pxHigherPriorityTaskWoken ) |
semphr.
h
Macro to take a semaphore from an ISR. The semaphore must have previously been created with a call to xSemaphoreCreateBinary() or xSemaphoreCreateCounting().
Mutex type semaphores (those created using a call to xSemaphoreCreateMutex()) must not be used with this macro.
This macro can be used from an ISR, however taking a semaphore from an ISR is not a common operation. It is likely to only be useful when taking a counting semaphore when an interrupt is obtaining an object from a resource pool (when the semaphore count indicates the number of resources available).
| xSemaphore | A handle to the semaphore being taken. This is the handle returned when the semaphore was created. |
| pxHigherPriorityTaskWoken | xSemaphoreTakeFromISR() will set *pxHigherPriorityTaskWoken to pdTRUE if taking the semaphore caused a task to unblock, and the unblocked task has a priority higher than the currently running task. If xSemaphoreTakeFromISR() sets this value to pdTRUE then a context switch should be requested before the interrupt is exited. |
Definition at line 675 of file semphr.h.
Referenced by osSemaphoreAcquire().
| typedef QueueHandle_t SemaphoreHandle_t |