Data Structures | |
struct | QueueDefinition |
Macros | |
#define | MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define | prvLockQueue(pxQueue) |
#define | pxMutexHolder pcTail |
#define | queueLOCKED_UNMODIFIED ( ( int8_t ) 0 ) |
#define | queueMUTEX_GIVE_BLOCK_TIME ( ( TickType_t ) 0U ) |
#define | queueQUEUE_IS_MUTEX NULL |
#define | queueSEMAPHORE_QUEUE_ITEM_LENGTH ( ( UBaseType_t ) 0 ) |
#define | queueUNLOCKED ( ( int8_t ) -1 ) |
#define | queueYIELD_IF_USING_PREEMPTION() portYIELD_WITHIN_API() |
#define | uxQueueType pcHead |
Typedefs | |
typedef xQUEUE | Queue_t |
typedef struct QueueDefinition | xQUEUE |
Functions | |
static void | prvCopyDataFromQueue (Queue_t *const pxQueue, void *const pvBuffer) PRIVILEGED_FUNCTION |
static BaseType_t | prvCopyDataToQueue (Queue_t *const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition) PRIVILEGED_FUNCTION |
static UBaseType_t | prvGetDisinheritPriorityAfterTimeout (const Queue_t *const pxQueue) PRIVILEGED_FUNCTION |
static void | prvInitialiseMutex (Queue_t *pxNewQueue) PRIVILEGED_FUNCTION |
static void | prvInitialiseNewQueue (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, uint8_t *pucQueueStorage, const uint8_t ucQueueType, Queue_t *pxNewQueue) PRIVILEGED_FUNCTION |
static BaseType_t | prvIsQueueEmpty (const Queue_t *pxQueue) PRIVILEGED_FUNCTION |
static BaseType_t | prvIsQueueFull (const Queue_t *pxQueue) PRIVILEGED_FUNCTION |
static BaseType_t | prvNotifyQueueSetContainer (const Queue_t *const pxQueue, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION |
static void | prvUnlockQueue (Queue_t *const pxQueue) PRIVILEGED_FUNCTION |
UBaseType_t | uxQueueMessagesWaiting (const QueueHandle_t xQueue) |
UBaseType_t | uxQueueMessagesWaitingFromISR (const QueueHandle_t xQueue) |
UBaseType_t | uxQueueSpacesAvailable (const QueueHandle_t xQueue) |
void | vQueueDelete (QueueHandle_t xQueue) |
void | vQueueWaitForMessageRestricted (QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) |
BaseType_t | xQueueAddToSet (QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) |
QueueHandle_t | xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) |
QueueHandle_t | xQueueCreateMutex (const uint8_t ucQueueType) |
QueueSetHandle_t | xQueueCreateSet (const UBaseType_t uxEventQueueLength) |
QueueHandle_t | xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType) |
BaseType_t | xQueueGenericReset (QueueHandle_t xQueue, BaseType_t xNewQueue) |
BaseType_t | xQueueGenericSend (QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) |
BaseType_t | xQueueGenericSendFromISR (QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) |
BaseType_t | xQueueGiveFromISR (QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken) |
BaseType_t | xQueueGiveMutexRecursive (QueueHandle_t xMutex) |
BaseType_t | xQueueIsQueueEmptyFromISR (const QueueHandle_t xQueue) |
BaseType_t | xQueueIsQueueFullFromISR (const QueueHandle_t xQueue) |
BaseType_t | xQueuePeek (QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) |
BaseType_t | xQueuePeekFromISR (QueueHandle_t xQueue, void *const pvBuffer) |
BaseType_t | xQueueReceive (QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) |
BaseType_t | xQueueReceiveFromISR (QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken) |
BaseType_t | xQueueRemoveFromSet (QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) |
QueueSetMemberHandle_t | xQueueSelectFromSet (QueueSetHandle_t xQueueSet, TickType_t const xTicksToWait) |
QueueSetMemberHandle_t | xQueueSelectFromSetFromISR (QueueSetHandle_t xQueueSet) |
BaseType_t | xQueueSemaphoreTake (QueueHandle_t xQueue, TickType_t xTicksToWait) |
BaseType_t | xQueueTakeMutexRecursive (QueueHandle_t xMutex, TickType_t xTicksToWait) |
#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE |
#define prvLockQueue | ( | pxQueue | ) |
Referenced by vQueueWaitForMessageRestricted(), xQueueGenericSend(), xQueuePeek(), xQueueReceive(), and xQueueSemaphoreTake().
#define pxMutexHolder pcTail |
#define queueLOCKED_UNMODIFIED ( ( int8_t ) 0 ) |
Referenced by prvUnlockQueue().
#define queueMUTEX_GIVE_BLOCK_TIME ( ( TickType_t ) 0U ) |
Referenced by xQueueGiveMutexRecursive().
#define queueQUEUE_IS_MUTEX NULL |
Referenced by prvCopyDataToQueue(), prvInitialiseMutex(), xQueueGiveFromISR(), and xQueueSemaphoreTake().
#define queueSEMAPHORE_QUEUE_ITEM_LENGTH ( ( UBaseType_t ) 0 ) |
Referenced by xQueueCreateCountingSemaphore().
#define queueUNLOCKED ( ( int8_t ) -1 ) |
#define queueYIELD_IF_USING_PREEMPTION | ( | ) | portYIELD_WITHIN_API() |
Referenced by xQueueGenericReset(), xQueueGenericSend(), xQueuePeek(), xQueueReceive(), and xQueueSemaphoreTake().
#define uxQueueType pcHead |
typedef struct QueueDefinition xQUEUE |
|
static |
References mtCOVERAGE_TEST_MARKER, QueueDefinition::pcHead, QueueDefinition::pcReadFrom, QueueDefinition::pcTail, QueueDefinition::u, and QueueDefinition::uxItemSize.
Referenced by xQueuePeek(), xQueuePeekFromISR(), xQueueReceive(), and xQueueReceiveFromISR().
|
static |
References mtCOVERAGE_TEST_MARKER, QueueDefinition::pcHead, QueueDefinition::pcReadFrom, QueueDefinition::pcTail, QueueDefinition::pcWriteTo, pdFALSE, queueOVERWRITE, queueQUEUE_IS_MUTEX, queueSEND_TO_BACK, QueueDefinition::u, QueueDefinition::uxItemSize, QueueDefinition::uxMessagesWaiting, and xTaskPriorityDisinherit().
Referenced by prvNotifyQueueSetContainer(), xQueueGenericSend(), and xQueueGenericSendFromISR().
|
static |
References configMAX_PRIORITIES, listCURRENT_LIST_LENGTH, listGET_ITEM_VALUE_OF_HEAD_ENTRY, tskIDLE_PRIORITY, and QueueDefinition::xTasksWaitingToReceive.
Referenced by xQueueSemaphoreTake().
|
static |
References queueQUEUE_IS_MUTEX, queueSEND_TO_BACK, traceCREATE_MUTEX, traceCREATE_MUTEX_FAILED, QueueDefinition::u, QueueDefinition::uxRecursiveCallCount, and xQueueGenericSend().
Referenced by xQueueCreateMutex().
|
static |
References QueueDefinition::pcHead, pdTRUE, QueueDefinition::pxQueueSetContainer, traceQUEUE_CREATE, QueueDefinition::uxItemSize, QueueDefinition::uxLength, and xQueueGenericReset().
Referenced by xQueueGenericCreate().
|
static |
References pdFALSE, pdTRUE, taskENTER_CRITICAL, taskEXIT_CRITICAL, and QueueDefinition::uxMessagesWaiting.
Referenced by xQueuePeek(), xQueueReceive(), and xQueueSemaphoreTake().
|
static |
References pdFALSE, pdTRUE, taskENTER_CRITICAL, taskEXIT_CRITICAL, QueueDefinition::uxLength, and QueueDefinition::uxMessagesWaiting.
Referenced by xQueueGenericSend().
|
static |
References configASSERT, QueueDefinition::cTxLock, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, pdTRUE, prvCopyDataToQueue(), QueueDefinition::pxQueueSetContainer, queueUNLOCKED, traceQUEUE_SEND, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, xTaskRemoveFromEventList(), and QueueDefinition::xTasksWaitingToReceive.
Referenced by prvUnlockQueue(), xQueueGenericSend(), xQueueGenericSendFromISR(), and xQueueGiveFromISR().
|
static |
References QueueDefinition::cRxLock, QueueDefinition::cTxLock, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, prvNotifyQueueSetContainer(), QueueDefinition::pxQueueSetContainer, queueLOCKED_UNMODIFIED, queueSEND_TO_BACK, queueUNLOCKED, taskENTER_CRITICAL, taskEXIT_CRITICAL, vTaskMissedYield(), xTaskRemoveFromEventList(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTasksWaitingToSend.
Referenced by vQueueWaitForMessageRestricted(), xQueueGenericSend(), xQueuePeek(), xQueueReceive(), and xQueueSemaphoreTake().
UBaseType_t uxQueueMessagesWaiting | ( | const QueueHandle_t | xQueue | ) |
References configASSERT, taskENTER_CRITICAL, and taskEXIT_CRITICAL.
UBaseType_t uxQueueMessagesWaitingFromISR | ( | const QueueHandle_t | xQueue | ) |
References configASSERT.
UBaseType_t uxQueueSpacesAvailable | ( | const QueueHandle_t | xQueue | ) |
void vQueueDelete | ( | QueueHandle_t | xQueue | ) |
References configASSERT, mtCOVERAGE_TEST_MARKER, pdFALSE, traceQUEUE_DELETE, vPortFree(), and vQueueUnregisterQueue.
void vQueueWaitForMessageRestricted | ( | QueueHandle_t | xQueue, |
TickType_t | xTicksToWait, | ||
const BaseType_t | xWaitIndefinitely | ||
) |
BaseType_t xQueueAddToSet | ( | QueueSetMemberHandle_t | xQueueOrSemaphore, |
QueueSetHandle_t | xQueueSet | ||
) |
References pdFAIL, pdPASS, taskENTER_CRITICAL, and taskEXIT_CRITICAL.
QueueHandle_t xQueueCreateCountingSemaphore | ( | const UBaseType_t | uxMaxCount, |
const UBaseType_t | uxInitialCount | ||
) |
QueueHandle_t xQueueCreateMutex | ( | const uint8_t | ucQueueType | ) |
References prvInitialiseMutex(), and xQueueGenericCreate().
QueueSetHandle_t xQueueCreateSet | ( | const UBaseType_t | uxEventQueueLength | ) |
References queueQUEUE_TYPE_SET, and xQueueGenericCreate().
QueueHandle_t xQueueGenericCreate | ( | const UBaseType_t | uxQueueLength, |
const UBaseType_t | uxItemSize, | ||
const uint8_t | ucQueueType | ||
) |
References configASSERT, pdFALSE, prvInitialiseNewQueue(), pvPortMalloc(), and traceQUEUE_CREATE_FAILED.
Referenced by xQueueCreateCountingSemaphore(), xQueueCreateMutex(), and xQueueCreateSet().
BaseType_t xQueueGenericReset | ( | QueueHandle_t | xQueue, |
BaseType_t | xNewQueue | ||
) |
References configASSERT, QueueDefinition::cRxLock, QueueDefinition::cTxLock, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, QueueDefinition::pcHead, QueueDefinition::pcReadFrom, QueueDefinition::pcTail, QueueDefinition::pcWriteTo, pdFALSE, pdPASS, queueUNLOCKED, queueYIELD_IF_USING_PREEMPTION, taskENTER_CRITICAL, taskEXIT_CRITICAL, QueueDefinition::u, QueueDefinition::uxItemSize, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, vListInitialise(), xTaskRemoveFromEventList(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTasksWaitingToSend.
Referenced by prvInitialiseNewQueue().
BaseType_t xQueueGenericSend | ( | QueueHandle_t | xQueue, |
const void *const | pvItemToQueue, | ||
TickType_t | xTicksToWait, | ||
const BaseType_t | xCopyPosition | ||
) |
References configASSERT, errQUEUE_FULL, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, pdPASS, pdTRUE, portYIELD_WITHIN_API, prvCopyDataToQueue(), prvIsQueueFull(), prvLockQueue, prvNotifyQueueSetContainer(), prvUnlockQueue(), QueueDefinition::pxQueueSetContainer, queueOVERWRITE, queueYIELD_IF_USING_PREEMPTION, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskSCHEDULER_SUSPENDED, traceBLOCKING_ON_QUEUE_SEND, traceQUEUE_SEND, traceQUEUE_SEND_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, vTaskInternalSetTimeOutState(), vTaskPlaceOnEventList(), vTaskSuspendAll(), xTaskCheckForTimeOut(), xTaskGetSchedulerState(), xTaskRemoveFromEventList(), xTaskResumeAll(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTasksWaitingToSend.
Referenced by prvInitialiseMutex(), and xQueueGiveMutexRecursive().
BaseType_t xQueueGenericSendFromISR | ( | QueueHandle_t | xQueue, |
const void *const | pvItemToQueue, | ||
BaseType_t *const | pxHigherPriorityTaskWoken, | ||
const BaseType_t | xCopyPosition | ||
) |
References configASSERT, QueueDefinition::cTxLock, errQUEUE_FULL, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, pdPASS, pdTRUE, portASSERT_IF_INTERRUPT_PRIORITY_INVALID, portCLEAR_INTERRUPT_MASK_FROM_ISR, portSET_INTERRUPT_MASK_FROM_ISR, prvCopyDataToQueue(), prvNotifyQueueSetContainer(), QueueDefinition::pxQueueSetContainer, queueOVERWRITE, queueUNLOCKED, traceQUEUE_SEND_FROM_ISR, traceQUEUE_SEND_FROM_ISR_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxLength, QueueDefinition::uxMessagesWaiting, xTaskRemoveFromEventList(), and QueueDefinition::xTasksWaitingToReceive.
BaseType_t xQueueGiveFromISR | ( | QueueHandle_t | xQueue, |
BaseType_t *const | pxHigherPriorityTaskWoken | ||
) |
References configASSERT, QueueDefinition::cTxLock, errQUEUE_FULL, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, pdPASS, pdTRUE, portASSERT_IF_INTERRUPT_PRIORITY_INVALID, portCLEAR_INTERRUPT_MASK_FROM_ISR, portSET_INTERRUPT_MASK_FROM_ISR, prvNotifyQueueSetContainer(), QueueDefinition::pxQueueSetContainer, queueQUEUE_IS_MUTEX, queueSEND_TO_BACK, queueUNLOCKED, traceQUEUE_SEND_FROM_ISR, traceQUEUE_SEND_FROM_ISR_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxMessagesWaiting, xTaskRemoveFromEventList(), and QueueDefinition::xTasksWaitingToReceive.
BaseType_t xQueueGiveMutexRecursive | ( | QueueHandle_t | xMutex | ) |
BaseType_t xQueueIsQueueEmptyFromISR | ( | const QueueHandle_t | xQueue | ) |
References configASSERT, pdFALSE, and pdTRUE.
BaseType_t xQueueIsQueueFullFromISR | ( | const QueueHandle_t | xQueue | ) |
References configASSERT, pdFALSE, and pdTRUE.
BaseType_t xQueuePeek | ( | QueueHandle_t | xQueue, |
void *const | pvBuffer, | ||
TickType_t | xTicksToWait | ||
) |
References configASSERT, errQUEUE_EMPTY, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, QueueDefinition::pcReadFrom, pdFALSE, pdPASS, pdTRUE, portYIELD_WITHIN_API, prvCopyDataFromQueue(), prvIsQueueEmpty(), prvLockQueue, prvUnlockQueue(), queueYIELD_IF_USING_PREEMPTION, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskSCHEDULER_SUSPENDED, traceBLOCKING_ON_QUEUE_PEEK, traceQUEUE_PEEK, traceQUEUE_PEEK_FAILED, QueueDefinition::u, QueueDefinition::uxMessagesWaiting, vTaskInternalSetTimeOutState(), vTaskPlaceOnEventList(), vTaskSuspendAll(), xTaskCheckForTimeOut(), xTaskGetSchedulerState(), xTaskRemoveFromEventList(), xTaskResumeAll(), and QueueDefinition::xTasksWaitingToReceive.
BaseType_t xQueuePeekFromISR | ( | QueueHandle_t | xQueue, |
void *const | pvBuffer | ||
) |
References configASSERT, QueueDefinition::pcReadFrom, pdFAIL, pdPASS, portASSERT_IF_INTERRUPT_PRIORITY_INVALID, portCLEAR_INTERRUPT_MASK_FROM_ISR, portSET_INTERRUPT_MASK_FROM_ISR, prvCopyDataFromQueue(), traceQUEUE_PEEK_FROM_ISR, traceQUEUE_PEEK_FROM_ISR_FAILED, QueueDefinition::u, QueueDefinition::uxItemSize, and QueueDefinition::uxMessagesWaiting.
BaseType_t xQueueReceive | ( | QueueHandle_t | xQueue, |
void *const | pvBuffer, | ||
TickType_t | xTicksToWait | ||
) |
References configASSERT, errQUEUE_EMPTY, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, pdPASS, pdTRUE, portYIELD_WITHIN_API, prvCopyDataFromQueue(), prvIsQueueEmpty(), prvLockQueue, prvUnlockQueue(), queueYIELD_IF_USING_PREEMPTION, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskSCHEDULER_SUSPENDED, traceBLOCKING_ON_QUEUE_RECEIVE, traceQUEUE_RECEIVE, traceQUEUE_RECEIVE_FAILED, QueueDefinition::uxMessagesWaiting, vTaskInternalSetTimeOutState(), vTaskPlaceOnEventList(), vTaskSuspendAll(), xTaskCheckForTimeOut(), xTaskGetSchedulerState(), xTaskRemoveFromEventList(), xTaskResumeAll(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTasksWaitingToSend.
Referenced by prvProcessReceivedCommands(), uart_task(), and xQueueSelectFromSet().
BaseType_t xQueueReceiveFromISR | ( | QueueHandle_t | xQueue, |
void *const | pvBuffer, | ||
BaseType_t *const | pxHigherPriorityTaskWoken | ||
) |
References configASSERT, QueueDefinition::cRxLock, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFAIL, pdFALSE, pdPASS, pdTRUE, portASSERT_IF_INTERRUPT_PRIORITY_INVALID, 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, xTaskRemoveFromEventList(), and QueueDefinition::xTasksWaitingToSend.
Referenced by xQueueSelectFromSetFromISR().
BaseType_t xQueueRemoveFromSet | ( | QueueSetMemberHandle_t | xQueueOrSemaphore, |
QueueSetHandle_t | xQueueSet | ||
) |
QueueSetMemberHandle_t xQueueSelectFromSet | ( | QueueSetHandle_t | xQueueSet, |
TickType_t const | xTicksToWait | ||
) |
References xQueueReceive().
QueueSetMemberHandle_t xQueueSelectFromSetFromISR | ( | QueueSetHandle_t | xQueueSet | ) |
References xQueueReceiveFromISR().
BaseType_t xQueueSemaphoreTake | ( | QueueHandle_t | xQueue, |
TickType_t | xTicksToWait | ||
) |
References configASSERT, errQUEUE_EMPTY, listLIST_IS_EMPTY, mtCOVERAGE_TEST_MARKER, pdFALSE, pdPASS, pdTRUE, portYIELD_WITHIN_API, prvGetDisinheritPriorityAfterTimeout(), prvIsQueueEmpty(), prvLockQueue, prvUnlockQueue(), pvTaskIncrementMutexHeldCount(), queueQUEUE_IS_MUTEX, queueYIELD_IF_USING_PREEMPTION, taskENTER_CRITICAL, taskEXIT_CRITICAL, taskSCHEDULER_SUSPENDED, traceBLOCKING_ON_QUEUE_RECEIVE, traceQUEUE_RECEIVE, traceQUEUE_RECEIVE_FAILED, QueueDefinition::uxItemSize, QueueDefinition::uxMessagesWaiting, vTaskInternalSetTimeOutState(), vTaskPlaceOnEventList(), vTaskPriorityDisinheritAfterTimeout(), vTaskSuspendAll(), xTaskCheckForTimeOut(), xTaskGetSchedulerState(), xTaskPriorityInherit(), xTaskRemoveFromEventList(), xTaskResumeAll(), QueueDefinition::xTasksWaitingToReceive, and QueueDefinition::xTasksWaitingToSend.
Referenced by xQueueTakeMutexRecursive().
BaseType_t xQueueTakeMutexRecursive | ( | QueueHandle_t | xMutex, |
TickType_t | xTicksToWait | ||
) |