Data Structures | |
struct | QUEUE_REGISTRY_ITEM |
struct | QueueDefinition |
Macros | |
#define | MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define | prvLockQueue(pxQueue) |
#define | pxMutexHolder pcTail |
#define | queueDONT_BLOCK ( ( portTickType ) 0U ) |
#define | queueERRONEOUS_UNBLOCK ( -1 ) |
#define | queueLOCKED_UNMODIFIED ( ( signed portBASE_TYPE ) 0 ) |
#define | queueMUTEX_GIVE_BLOCK_TIME ( ( portTickType ) 0U ) |
#define | queueQUEUE_IS_MUTEX NULL |
#define | queueQUEUE_TYPE_BASE ( 0U ) |
#define | queueQUEUE_TYPE_BINARY_SEMAPHORE ( 3U ) |
#define | queueQUEUE_TYPE_COUNTING_SEMAPHORE ( 2U ) |
#define | queueQUEUE_TYPE_MUTEX ( 1U ) |
#define | queueQUEUE_TYPE_RECURSIVE_MUTEX ( 4U ) |
#define | queueSEMAPHORE_QUEUE_ITEM_LENGTH ( ( unsigned portBASE_TYPE ) 0 ) |
#define | queueSEND_TO_BACK ( 0 ) |
#define | queueSEND_TO_FRONT ( 1 ) |
#define | queueUNLOCKED ( ( signed portBASE_TYPE ) -1 ) |
#define | uxQueueType pcHead |
#define | uxRecursiveCallCount pcReadFrom |
Typedefs | |
typedef struct QueueDefinition | xQUEUE |
typedef xQUEUE * | xQueueHandle |
typedef struct QUEUE_REGISTRY_ITEM | xQueueRegistryItem |
Functions | |
static void | prvCopyDataFromQueue (xQUEUE *const pxQueue, const void *pvBuffer) PRIVILEGED_FUNCTION |
static void | prvCopyDataToQueue (xQUEUE *pxQueue, const void *pvItemToQueue, portBASE_TYPE xPosition) PRIVILEGED_FUNCTION |
static signed portBASE_TYPE | prvIsQueueEmpty (const xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
static signed portBASE_TYPE | prvIsQueueFull (const xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
static void | prvUnlockQueue (xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
unsigned char | ucQueueGetQueueNumber (xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
unsigned char | ucQueueGetQueueType (xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
unsigned portBASE_TYPE | uxQueueMessagesWaiting (const xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
unsigned portBASE_TYPE | uxQueueMessagesWaitingFromISR (const xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
void | vQueueAddToRegistry (xQueueHandle xQueue, signed char *pcQueueName) PRIVILEGED_FUNCTION |
void | vQueueDelete (xQueueHandle xQueue) PRIVILEGED_FUNCTION |
void | vQueueSetQueueNumber (xQueueHandle pxQueue, unsigned char ucQueueNumber) PRIVILEGED_FUNCTION |
static void | vQueueUnregisterQueue (xQueueHandle xQueue) PRIVILEGED_FUNCTION |
void | vQueueWaitForMessageRestricted (xQueueHandle pxQueue, portTickType xTicksToWait) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueAltGenericReceive (xQueueHandle pxQueue, void *const pvBuffer, portTickType xTicksToWait, portBASE_TYPE xJustPeeking) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueAltGenericSend (xQueueHandle pxQueue, const void *const pvItemToQueue, portTickType xTicksToWait, portBASE_TYPE xCopyPosition) PRIVILEGED_FUNCTION |
xQueueHandle | xQueueCreateCountingSemaphore (unsigned portBASE_TYPE uxCountValue, unsigned portBASE_TYPE uxInitialCount) PRIVILEGED_FUNCTION |
xQueueHandle | xQueueCreateMutex (unsigned char ucQueueType) PRIVILEGED_FUNCTION |
xQueueHandle | xQueueGenericCreate (unsigned portBASE_TYPE uxQueueLength, unsigned portBASE_TYPE uxItemSize, unsigned char ucQueueType) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueGenericReceive (xQueueHandle pxQueue, void *const pvBuffer, portTickType xTicksToWait, portBASE_TYPE xJustPeeking) PRIVILEGED_FUNCTION |
portBASE_TYPE | xQueueGenericReset (xQueueHandle pxQueue, portBASE_TYPE xNewQueue) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueGenericSend (xQueueHandle pxQueue, const void *const pvItemToQueue, portTickType xTicksToWait, portBASE_TYPE xCopyPosition) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueGenericSendFromISR (xQueueHandle pxQueue, const void *const pvItemToQueue, signed portBASE_TYPE *pxHigherPriorityTaskWoken, portBASE_TYPE xCopyPosition) PRIVILEGED_FUNCTION |
xTaskHandle | xQueueGetMutexHolder (xQueueHandle xSemaphore) PRIVILEGED_FUNCTION |
portBASE_TYPE | xQueueGiveMutexRecursive (xQueueHandle xMutex) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueIsQueueEmptyFromISR (const xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueIsQueueFullFromISR (const xQueueHandle pxQueue) PRIVILEGED_FUNCTION |
signed portBASE_TYPE | xQueueReceiveFromISR (xQueueHandle pxQueue, void *const pvBuffer, signed portBASE_TYPE *pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION |
portBASE_TYPE | xQueueTakeMutexRecursive (xQueueHandle xMutex, portTickType xBlockTime) PRIVILEGED_FUNCTION |
Variables | |
xQueueRegistryItem | xQueueRegistry [configQUEUE_REGISTRY_SIZE] |
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define prvLockQueue | ( | pxQueue | ) |
Referenced by xQueueGenericReceive(), and xQueueGenericSend().
#define pxMutexHolder pcTail |
#define queueDONT_BLOCK ( ( portTickType ) 0U ) |
#define queueERRONEOUS_UNBLOCK ( -1 ) |
#define queueLOCKED_UNMODIFIED ( ( signed portBASE_TYPE ) 0 ) |
Referenced by prvUnlockQueue().
#define queueMUTEX_GIVE_BLOCK_TIME ( ( portTickType ) 0U ) |
Referenced by xQueueGiveMutexRecursive().
#define queueQUEUE_IS_MUTEX NULL |
Referenced by prvCopyDataFromQueue(), prvCopyDataToQueue(), xQueueCreateMutex(), and xQueueGenericReceive().
#define queueQUEUE_TYPE_BASE ( 0U ) |
#define queueQUEUE_TYPE_BINARY_SEMAPHORE ( 3U ) |
#define queueQUEUE_TYPE_COUNTING_SEMAPHORE ( 2U ) |
Referenced by xQueueCreateCountingSemaphore().
#define queueQUEUE_TYPE_MUTEX ( 1U ) |
#define queueQUEUE_TYPE_RECURSIVE_MUTEX ( 4U ) |
#define queueSEMAPHORE_QUEUE_ITEM_LENGTH ( ( unsigned portBASE_TYPE ) 0 ) |
Referenced by xQueueCreateCountingSemaphore().
#define queueSEND_TO_BACK ( 0 ) |
Referenced by prvCopyDataToQueue(), xQueueCreateMutex(), and xQueueGiveMutexRecursive().
#define queueSEND_TO_FRONT ( 1 ) |
#define queueUNLOCKED ( ( signed portBASE_TYPE ) -1 ) |
Referenced by prvUnlockQueue(), xQueueCreateMutex(), xQueueGenericReset(), xQueueGenericSendFromISR(), and xQueueReceiveFromISR().
#define uxQueueType pcHead |
#define uxRecursiveCallCount pcReadFrom |
typedef struct QueueDefinition xQUEUE |
typedef xQUEUE* xQueueHandle |
typedef struct QUEUE_REGISTRY_ITEM xQueueRegistryItem |
References QueueDefinition::pcHead, QueueDefinition::pcReadFrom, QueueDefinition::pcTail, queueQUEUE_IS_MUTEX, and QueueDefinition::uxItemSize.
Referenced by xQueueGenericReceive(), and xQueueReceiveFromISR().
|
static |
References NULL, QueueDefinition::pcHead, QueueDefinition::pcReadFrom, QueueDefinition::pcTail, QueueDefinition::pcWriteTo, queueQUEUE_IS_MUTEX, queueSEND_TO_BACK, QueueDefinition::uxItemSize, QueueDefinition::uxMessagesWaiting, and vTaskPriorityDisinherit().
Referenced by xQueueGenericSend(), and xQueueGenericSendFromISR().
|
static |
References taskENTER_CRITICAL, taskEXIT_CRITICAL, and QueueDefinition::uxMessagesWaiting.
Referenced by xQueueGenericReceive().
|
static |
References taskENTER_CRITICAL, taskEXIT_CRITICAL, QueueDefinition::uxLength, and QueueDefinition::uxMessagesWaiting.
Referenced by xQueueGenericSend().
|
static |
References listLIST_IS_EMPTY, pdFALSE, queueLOCKED_UNMODIFIED, queueUNLOCKED, taskENTER_CRITICAL, taskEXIT_CRITICAL, vTaskMissedYield(), QueueDefinition::xRxLock, xTaskRemoveFromEventList(), QueueDefinition::xTasksWaitingToReceive, QueueDefinition::xTasksWaitingToSend, and QueueDefinition::xTxLock.
Referenced by xQueueGenericReceive(), and xQueueGenericSend().
unsigned char ucQueueGetQueueNumber | ( | xQueueHandle | pxQueue | ) |
References QueueDefinition::ucQueueNumber.
unsigned char ucQueueGetQueueType | ( | xQueueHandle | pxQueue | ) |
References QueueDefinition::ucQueueType.
unsigned portBASE_TYPE uxQueueMessagesWaiting | ( | const xQueueHandle | pxQueue | ) |
References configASSERT, taskENTER_CRITICAL, taskEXIT_CRITICAL, and QueueDefinition::uxMessagesWaiting.
unsigned portBASE_TYPE uxQueueMessagesWaitingFromISR | ( | const xQueueHandle | pxQueue | ) |
References configASSERT, and QueueDefinition::uxMessagesWaiting.
void vQueueAddToRegistry | ( | xQueueHandle | xQueue, |
signed char * | pcQueueName | ||
) |
void vQueueDelete | ( | xQueueHandle | xQueue | ) |
References configASSERT, QueueDefinition::pcHead, traceQUEUE_DELETE, vPortFree(), and vQueueUnregisterQueue().
void vQueueSetQueueNumber | ( | xQueueHandle | pxQueue, |
unsigned char | ucQueueNumber | ||
) |
References QueueDefinition::ucQueueNumber.
|
static |
References configQUEUE_REGISTRY_SIZE, NULL, and QUEUE_REGISTRY_ITEM::pcQueueName.
Referenced by vQueueDelete().
void vQueueWaitForMessageRestricted | ( | xQueueHandle | pxQueue, |
portTickType | xTicksToWait | ||
) |
signed portBASE_TYPE xQueueAltGenericReceive | ( | xQueueHandle | pxQueue, |
void *const | pvBuffer, | ||
portTickType | xTicksToWait, | ||
portBASE_TYPE | xJustPeeking | ||
) |
signed portBASE_TYPE xQueueAltGenericSend | ( | xQueueHandle | pxQueue, |
const void *const | pvItemToQueue, | ||
portTickType | xTicksToWait, | ||
portBASE_TYPE | xCopyPosition | ||
) |
xQueueHandle xQueueCreateCountingSemaphore | ( | unsigned portBASE_TYPE | uxCountValue, |
unsigned portBASE_TYPE | uxInitialCount | ||
) |
xQueueHandle xQueueCreateMutex | ( | unsigned char | ucQueueType | ) |
References configASSERT, NULL, QueueDefinition::pcReadFrom, QueueDefinition::pcWriteTo, pvPortMalloc(), queueQUEUE_IS_MUTEX, queueSEND_TO_BACK, queueUNLOCKED, traceCREATE_MUTEX, traceCREATE_MUTEX_FAILED, QueueDefinition::ucQueueType, QueueDefinition::uxItemSize, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, vListInitialise(), void, xQueueGenericSend(), QueueDefinition::xRxLock, QueueDefinition::xTasksWaitingToReceive, QueueDefinition::xTasksWaitingToSend, and QueueDefinition::xTxLock.
xQueueHandle xQueueGenericCreate | ( | unsigned portBASE_TYPE | uxQueueLength, |
unsigned portBASE_TYPE | uxItemSize, | ||
unsigned char | ucQueueType | ||
) |
References configASSERT, NULL, QueueDefinition::pcHead, pdTRUE, pvPortMalloc(), traceQUEUE_CREATE, traceQUEUE_CREATE_FAILED, QueueDefinition::ucQueueType, QueueDefinition::uxItemSize, QueueDefinition::uxLength, void, vPortFree(), and xQueueGenericReset().
Referenced by xQueueCreateCountingSemaphore().
signed portBASE_TYPE xQueueGenericReceive | ( | xQueueHandle | pxQueue, |
void *const | pvBuffer, | ||
portTickType | xTicksToWait, | ||
portBASE_TYPE | xJustPeeking | ||
) |
References configASSERT, errQUEUE_EMPTY, listLIST_IS_EMPTY, NULL, QueueDefinition::pcReadFrom, pdFALSE, pdPASS, pdTRUE, portYIELD_WITHIN_API, prvCopyDataFromQueue(), prvIsQueueEmpty(), prvLockQueue, prvUnlockQueue(), queueQUEUE_IS_MUTEX, taskENTER_CRITICAL, taskEXIT_CRITICAL, traceBLOCKING_ON_QUEUE_RECEIVE, traceQUEUE_PEEK, traceQUEUE_RECEIVE, traceQUEUE_RECEIVE_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxMessagesWaiting, void, vTaskPlaceOnEventList(), vTaskPriorityInherit(), vTaskSetTimeOutState(), vTaskSuspendAll(), xTaskCheckForTimeOut(), xTaskGetCurrentTaskHandle(), xTaskRemoveFromEventList(), xTaskResumeAll(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTasksWaitingToSend.
Referenced by xQueueTakeMutexRecursive().
portBASE_TYPE xQueueGenericReset | ( | xQueueHandle | pxQueue, |
portBASE_TYPE | xNewQueue | ||
) |
References configASSERT, listLIST_IS_EMPTY, QueueDefinition::pcHead, QueueDefinition::pcReadFrom, QueueDefinition::pcTail, QueueDefinition::pcWriteTo, pdFALSE, pdPASS, pdTRUE, portYIELD_WITHIN_API, queueUNLOCKED, taskENTER_CRITICAL, taskEXIT_CRITICAL, QueueDefinition::uxItemSize, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, vListInitialise(), QueueDefinition::xRxLock, xTaskRemoveFromEventList(), QueueDefinition::xTasksWaitingToReceive, QueueDefinition::xTasksWaitingToSend, and QueueDefinition::xTxLock.
Referenced by xQueueGenericCreate().
signed portBASE_TYPE xQueueGenericSend | ( | xQueueHandle | pxQueue, |
const void *const | pvItemToQueue, | ||
portTickType | xTicksToWait, | ||
portBASE_TYPE | xCopyPosition | ||
) |
References configASSERT, errQUEUE_FULL, listLIST_IS_EMPTY, NULL, pdFALSE, pdPASS, pdTRUE, portYIELD_WITHIN_API, prvCopyDataToQueue(), prvIsQueueFull(), prvLockQueue, prvUnlockQueue(), taskENTER_CRITICAL, taskEXIT_CRITICAL, traceBLOCKING_ON_QUEUE_SEND, traceQUEUE_SEND, traceQUEUE_SEND_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, void, vTaskPlaceOnEventList(), vTaskSetTimeOutState(), vTaskSuspendAll(), xTaskCheckForTimeOut(), xTaskRemoveFromEventList(), xTaskResumeAll(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTasksWaitingToSend.
Referenced by xQueueCreateMutex(), and xQueueGiveMutexRecursive().
signed portBASE_TYPE xQueueGenericSendFromISR | ( | xQueueHandle | pxQueue, |
const void *const | pvItemToQueue, | ||
signed portBASE_TYPE * | pxHigherPriorityTaskWoken, | ||
portBASE_TYPE | xCopyPosition | ||
) |
References configASSERT, errQUEUE_FULL, listLIST_IS_EMPTY, NULL, pdFALSE, pdPASS, pdTRUE, portCLEAR_INTERRUPT_MASK_FROM_ISR, portSET_INTERRUPT_MASK_FROM_ISR, prvCopyDataToQueue(), queueUNLOCKED, traceQUEUE_SEND_FROM_ISR, traceQUEUE_SEND_FROM_ISR_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, xTaskRemoveFromEventList(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTxLock.
xTaskHandle xQueueGetMutexHolder | ( | xQueueHandle | xSemaphore | ) |
portBASE_TYPE xQueueGiveMutexRecursive | ( | xQueueHandle | xMutex | ) |
signed portBASE_TYPE xQueueIsQueueEmptyFromISR | ( | const xQueueHandle | pxQueue | ) |
References configASSERT, and QueueDefinition::uxMessagesWaiting.
signed portBASE_TYPE xQueueIsQueueFullFromISR | ( | const xQueueHandle | pxQueue | ) |
References configASSERT, QueueDefinition::uxLength, and QueueDefinition::uxMessagesWaiting.
signed portBASE_TYPE xQueueReceiveFromISR | ( | xQueueHandle | pxQueue, |
void *const | pvBuffer, | ||
signed portBASE_TYPE * | pxHigherPriorityTaskWoken | ||
) |
References configASSERT, listLIST_IS_EMPTY, NULL, pdFAIL, pdFALSE, pdPASS, pdTRUE, portCLEAR_INTERRUPT_MASK_FROM_ISR, portSET_INTERRUPT_MASK_FROM_ISR, prvCopyDataFromQueue(), queueUNLOCKED, traceQUEUE_RECEIVE_FROM_ISR, traceQUEUE_RECEIVE_FROM_ISR_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxMessagesWaiting, QueueDefinition::xRxLock, xTaskRemoveFromEventList(), and QueueDefinition::xTasksWaitingToSend.
portBASE_TYPE xQueueTakeMutexRecursive | ( | xQueueHandle | xMutex, |
portTickType | xBlockTime | ||
) |
xQueueRegistryItem xQueueRegistry[configQUEUE_REGISTRY_SIZE] |