STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
queue.h File Reference
#include "task.h"
Include dependency graph for queue.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define queueSEND_TO_BACK   ( ( BaseType_t ) 0 )
#define queueSEND_TO_FRONT   ( ( BaseType_t ) 1 )
#define queueOVERWRITE   ( ( BaseType_t ) 2 )
#define queueQUEUE_TYPE_BASE   ( ( uint8_t ) 0U )
#define queueQUEUE_TYPE_SET   ( ( uint8_t ) 0U )
#define queueQUEUE_TYPE_MUTEX   ( ( uint8_t ) 1U )
#define queueQUEUE_TYPE_COUNTING_SEMAPHORE   ( ( uint8_t ) 2U )
#define queueQUEUE_TYPE_BINARY_SEMAPHORE   ( ( uint8_t ) 3U )
#define queueQUEUE_TYPE_RECURSIVE_MUTEX   ( ( uint8_t ) 4U )
#define xQueueSendToFront(xQueue, pvItemToQueue, xTicksToWait)
#define xQueueSendToBack(xQueue, pvItemToQueue, xTicksToWait)
#define xQueueSend(xQueue, pvItemToQueue, xTicksToWait)
#define xQueueOverwrite(xQueue, pvItemToQueue)
#define xQueueSendToFrontFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken)
#define xQueueSendToBackFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken)
#define xQueueOverwriteFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken)
#define xQueueSendFromISR(xQueue, pvItemToQueue, pxHigherPriorityTaskWoken)
#define xQueueReset(xQueue)

Typedefs

typedef struct QueueDefinition * QueueHandle_t
typedef struct QueueDefinition * QueueSetHandle_t
 Type by which queue sets are referenced.
typedef struct QueueDefinition * QueueSetMemberHandle_t
 Queue sets can contain both queues and semaphores, so the QueueSetMemberHandle_t is defined as a type to be used where a parameter or return value can be either an QueueHandle_t or an SemaphoreHandle_t.

Functions

BaseType_t xQueueGenericSend (QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION
BaseType_t xQueuePeek (QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
BaseType_t xQueuePeekFromISR (QueueHandle_t xQueue, void *const pvBuffer) PRIVILEGED_FUNCTION
BaseType_t xQueueReceive (QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
UBaseType_t uxQueueMessagesWaiting (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
UBaseType_t uxQueueSpacesAvailable (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
void vQueueDelete (QueueHandle_t xQueue) PRIVILEGED_FUNCTION
BaseType_t xQueueGenericSendFromISR (QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION
BaseType_t xQueueGiveFromISR (QueueHandle_t xQueue, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
BaseType_t xQueueReceiveFromISR (QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken) PRIVILEGED_FUNCTION
BaseType_t xQueueIsQueueEmptyFromISR (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
BaseType_t xQueueIsQueueFullFromISR (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
UBaseType_t uxQueueMessagesWaitingFromISR (const QueueHandle_t xQueue) PRIVILEGED_FUNCTION
BaseType_t xQueueCRSendFromISR (QueueHandle_t xQueue, const void *pvItemToQueue, BaseType_t xCoRoutinePreviouslyWoken)
BaseType_t xQueueCRReceiveFromISR (QueueHandle_t xQueue, void *pvBuffer, BaseType_t *pxTaskWoken)
BaseType_t xQueueCRSend (QueueHandle_t xQueue, const void *pvItemToQueue, TickType_t xTicksToWait)
BaseType_t xQueueCRReceive (QueueHandle_t xQueue, void *pvBuffer, TickType_t xTicksToWait)
QueueHandle_t xQueueCreateMutex (const uint8_t ucQueueType) PRIVILEGED_FUNCTION
QueueHandle_t xQueueCreateMutexStatic (const uint8_t ucQueueType, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION
QueueHandle_t xQueueCreateCountingSemaphore (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount) PRIVILEGED_FUNCTION
QueueHandle_t xQueueCreateCountingSemaphoreStatic (const UBaseType_t uxMaxCount, const UBaseType_t uxInitialCount, StaticQueue_t *pxStaticQueue) PRIVILEGED_FUNCTION
BaseType_t xQueueSemaphoreTake (QueueHandle_t xQueue, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
TaskHandle_t xQueueGetMutexHolder (QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION
TaskHandle_t xQueueGetMutexHolderFromISR (QueueHandle_t xSemaphore) PRIVILEGED_FUNCTION
BaseType_t xQueueTakeMutexRecursive (QueueHandle_t xMutex, TickType_t xTicksToWait) PRIVILEGED_FUNCTION
BaseType_t xQueueGiveMutexRecursive (QueueHandle_t xMutex) PRIVILEGED_FUNCTION
QueueSetHandle_t xQueueCreateSet (const UBaseType_t uxEventQueueLength) PRIVILEGED_FUNCTION
BaseType_t xQueueAddToSet (QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
BaseType_t xQueueRemoveFromSet (QueueSetMemberHandle_t xQueueOrSemaphore, QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
QueueSetMemberHandle_t xQueueSelectFromSet (QueueSetHandle_t xQueueSet, const TickType_t xTicksToWait) PRIVILEGED_FUNCTION
QueueSetMemberHandle_t xQueueSelectFromSetFromISR (QueueSetHandle_t xQueueSet) PRIVILEGED_FUNCTION
void vQueueWaitForMessageRestricted (QueueHandle_t xQueue, TickType_t xTicksToWait, const BaseType_t xWaitIndefinitely) PRIVILEGED_FUNCTION
BaseType_t xQueueGenericReset (QueueHandle_t xQueue, BaseType_t xNewQueue) PRIVILEGED_FUNCTION
void vQueueSetQueueNumber (QueueHandle_t xQueue, UBaseType_t uxQueueNumber) PRIVILEGED_FUNCTION
UBaseType_t uxQueueGetQueueNumber (QueueHandle_t xQueue) PRIVILEGED_FUNCTION
uint8_t ucQueueGetQueueType (QueueHandle_t xQueue) PRIVILEGED_FUNCTION
UBaseType_t uxQueueGetQueueItemSize (QueueHandle_t xQueue) PRIVILEGED_FUNCTION
UBaseType_t uxQueueGetQueueLength (QueueHandle_t xQueue) PRIVILEGED_FUNCTION

Macro Definition Documentation

◆ queueOVERWRITE

#define queueOVERWRITE   ( ( BaseType_t ) 2 )

Definition at line 70 of file queue.h.

Referenced by prvCopyDataToQueue(), xQueueGenericSend(), and xQueueGenericSendFromISR().

◆ queueQUEUE_TYPE_BASE

#define queueQUEUE_TYPE_BASE   ( ( uint8_t ) 0U )

Definition at line 73 of file queue.h.

◆ queueQUEUE_TYPE_BINARY_SEMAPHORE

#define queueQUEUE_TYPE_BINARY_SEMAPHORE   ( ( uint8_t ) 3U )

Definition at line 77 of file queue.h.

◆ queueQUEUE_TYPE_COUNTING_SEMAPHORE

#define queueQUEUE_TYPE_COUNTING_SEMAPHORE   ( ( uint8_t ) 2U )

Definition at line 76 of file queue.h.

◆ queueQUEUE_TYPE_MUTEX

#define queueQUEUE_TYPE_MUTEX   ( ( uint8_t ) 1U )

Definition at line 75 of file queue.h.

◆ queueQUEUE_TYPE_RECURSIVE_MUTEX

#define queueQUEUE_TYPE_RECURSIVE_MUTEX   ( ( uint8_t ) 4U )

Definition at line 78 of file queue.h.

◆ queueQUEUE_TYPE_SET

#define queueQUEUE_TYPE_SET   ( ( uint8_t ) 0U )

Definition at line 74 of file queue.h.

◆ queueSEND_TO_BACK

#define queueSEND_TO_BACK   ( ( BaseType_t ) 0 )

Definition at line 68 of file queue.h.

Referenced by prvCopyDataToQueue().

◆ queueSEND_TO_FRONT

#define queueSEND_TO_FRONT   ( ( BaseType_t ) 1 )

Definition at line 69 of file queue.h.

◆ xQueueOverwrite

#define xQueueOverwrite ( xQueue,
pvItemToQueue )
Value:
xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), 0, queueOVERWRITE )
#define queueOVERWRITE
Definition queue.h:70
BaseType_t xQueueGenericSend(QueueHandle_t xQueue, const void *const pvItemToQueue, TickType_t xTicksToWait, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION
Definition queue.c:884

Definition at line 597 of file queue.h.

◆ xQueueOverwriteFromISR

#define xQueueOverwriteFromISR ( xQueue,
pvItemToQueue,
pxHigherPriorityTaskWoken )
Value:
xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueOVERWRITE )
BaseType_t xQueueGenericSendFromISR(QueueHandle_t xQueue, const void *const pvItemToQueue, BaseType_t *const pxHigherPriorityTaskWoken, const BaseType_t xCopyPosition) PRIVILEGED_FUNCTION
Definition queue.c:1096

Definition at line 1197 of file queue.h.

◆ xQueueReset

#define xQueueReset ( xQueue)
Value:
#define pdFALSE
Definition projdefs.h:45
BaseType_t xQueueGenericReset(QueueHandle_t xQueue, BaseType_t xNewQueue) PRIVILEGED_FUNCTION
Definition queue.c:296

Definition at line 1510 of file queue.h.

Referenced by osMessageQueueReset().

◆ xQueueSend

#define xQueueSend ( xQueue,
pvItemToQueue,
xTicksToWait )
Value:
xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
#define queueSEND_TO_BACK
Definition queue.h:68

Definition at line 513 of file queue.h.

◆ xQueueSendFromISR

#define xQueueSendFromISR ( xQueue,
pvItemToQueue,
pxHigherPriorityTaskWoken )
Value:
xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )

Definition at line 1272 of file queue.h.

◆ xQueueSendToBack

#define xQueueSendToBack ( xQueue,
pvItemToQueue,
xTicksToWait )
Value:
xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )

Definition at line 428 of file queue.h.

Referenced by osMessageQueuePut().

◆ xQueueSendToBackFromISR

#define xQueueSendToBackFromISR ( xQueue,
pvItemToQueue,
pxHigherPriorityTaskWoken )
Value:
xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )

Definition at line 1109 of file queue.h.

Referenced by osMessageQueuePut().

◆ xQueueSendToFront

#define xQueueSendToFront ( xQueue,
pvItemToQueue,
xTicksToWait )
Value:
xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )
#define queueSEND_TO_FRONT
Definition queue.h:69

Definition at line 345 of file queue.h.

◆ xQueueSendToFrontFromISR

#define xQueueSendToFrontFromISR ( xQueue,
pvItemToQueue,
pxHigherPriorityTaskWoken )
Value:
xQueueGenericSendFromISR( ( xQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT )

Definition at line 1037 of file queue.h.

Typedef Documentation

◆ QueueHandle_t

typedef struct QueueDefinition* QueueHandle_t

Definition at line 51 of file queue.h.

◆ QueueSetHandle_t

Type by which queue sets are referenced.

For example, a call to xQueueCreateSet() returns an xQueueSet variable that can then be used as a parameter to xQueueSelectFromSet(), xQueueAddToSet(), etc.

Definition at line 58 of file queue.h.

◆ QueueSetMemberHandle_t

Queue sets can contain both queues and semaphores, so the QueueSetMemberHandle_t is defined as a type to be used where a parameter or return value can be either an QueueHandle_t or an SemaphoreHandle_t.

Definition at line 65 of file queue.h.

Function Documentation

◆ ucQueueGetQueueType()

uint8_t ucQueueGetQueueType ( QueueHandle_t xQueue)

References PRIVILEGED_FUNCTION.

◆ uxQueueGetQueueItemSize()

UBaseType_t uxQueueGetQueueItemSize ( QueueHandle_t xQueue)

Definition at line 2197 of file queue.c.

◆ uxQueueGetQueueLength()

UBaseType_t uxQueueGetQueueLength ( QueueHandle_t xQueue)

Definition at line 2203 of file queue.c.

◆ uxQueueGetQueueNumber()

UBaseType_t uxQueueGetQueueNumber ( QueueHandle_t xQueue)

References PRIVILEGED_FUNCTION.

◆ uxQueueMessagesWaiting()

UBaseType_t uxQueueMessagesWaiting ( const QueueHandle_t xQueue)

Definition at line 2079 of file queue.c.

References configASSERT, taskENTER_CRITICAL, and taskEXIT_CRITICAL.

Referenced by osMessageQueueGetCount().

◆ uxQueueMessagesWaitingFromISR()

UBaseType_t uxQueueMessagesWaitingFromISR ( const QueueHandle_t xQueue)

Definition at line 2112 of file queue.c.

References configASSERT, and QueueDefinition::uxMessagesWaiting.

Referenced by osMessageQueueGetCount().

◆ uxQueueSpacesAvailable()

UBaseType_t uxQueueSpacesAvailable ( const QueueHandle_t xQueue)

◆ vQueueDelete()

void vQueueDelete ( QueueHandle_t xQueue)

◆ vQueueSetQueueNumber()

void vQueueSetQueueNumber ( QueueHandle_t xQueue,
UBaseType_t uxQueueNumber )

References PRIVILEGED_FUNCTION.

◆ vQueueWaitForMessageRestricted()

void vQueueWaitForMessageRestricted ( QueueHandle_t xQueue,
TickType_t xTicksToWait,
const BaseType_t xWaitIndefinitely )

References PRIVILEGED_FUNCTION.

◆ xQueueAddToSet()

BaseType_t xQueueAddToSet ( QueueSetMemberHandle_t xQueueOrSemaphore,
QueueSetHandle_t xQueueSet )

References PRIVILEGED_FUNCTION.

◆ xQueueCreateCountingSemaphore()

QueueHandle_t xQueueCreateCountingSemaphore ( const UBaseType_t uxMaxCount,
const UBaseType_t uxInitialCount )

References PRIVILEGED_FUNCTION.

◆ xQueueCreateCountingSemaphoreStatic()

QueueHandle_t xQueueCreateCountingSemaphoreStatic ( const UBaseType_t uxMaxCount,
const UBaseType_t uxInitialCount,
StaticQueue_t * pxStaticQueue )

References PRIVILEGED_FUNCTION.

◆ xQueueCreateMutex()

QueueHandle_t xQueueCreateMutex ( const uint8_t ucQueueType)

References PRIVILEGED_FUNCTION.

◆ xQueueCreateMutexStatic()

QueueHandle_t xQueueCreateMutexStatic ( const uint8_t ucQueueType,
StaticQueue_t * pxStaticQueue )

References PRIVILEGED_FUNCTION.

◆ xQueueCreateSet()

QueueSetHandle_t xQueueCreateSet ( const UBaseType_t uxEventQueueLength)

References PRIVILEGED_FUNCTION.

◆ xQueueCRReceive()

BaseType_t xQueueCRReceive ( QueueHandle_t xQueue,
void * pvBuffer,
TickType_t xTicksToWait )

◆ xQueueCRReceiveFromISR()

BaseType_t xQueueCRReceiveFromISR ( QueueHandle_t xQueue,
void * pvBuffer,
BaseType_t * pxTaskWoken )

◆ xQueueCRSend()

BaseType_t xQueueCRSend ( QueueHandle_t xQueue,
const void * pvItemToQueue,
TickType_t xTicksToWait )

◆ xQueueCRSendFromISR()

BaseType_t xQueueCRSendFromISR ( QueueHandle_t xQueue,
const void * pvItemToQueue,
BaseType_t xCoRoutinePreviouslyWoken )

◆ xQueueGenericReset()

◆ xQueueGenericSend()

◆ xQueueGenericSendFromISR()

◆ xQueueGetMutexHolder()

TaskHandle_t xQueueGetMutexHolder ( QueueHandle_t xSemaphore)

References PRIVILEGED_FUNCTION.

◆ xQueueGetMutexHolderFromISR()

TaskHandle_t xQueueGetMutexHolderFromISR ( QueueHandle_t xSemaphore)

References PRIVILEGED_FUNCTION.

◆ xQueueGiveFromISR()

◆ xQueueGiveMutexRecursive()

BaseType_t xQueueGiveMutexRecursive ( QueueHandle_t xMutex)

References PRIVILEGED_FUNCTION.

◆ xQueueIsQueueEmptyFromISR()

BaseType_t xQueueIsQueueEmptyFromISR ( const QueueHandle_t xQueue)

Definition at line 2481 of file queue.c.

References configASSERT, pdFALSE, pdTRUE, and QueueDefinition::uxMessagesWaiting.

◆ xQueueIsQueueFullFromISR()

BaseType_t xQueueIsQueueFullFromISR ( const QueueHandle_t xQueue)

◆ xQueuePeek()

◆ xQueuePeekFromISR()

◆ xQueueReceive()

◆ xQueueReceiveFromISR()

◆ xQueueRemoveFromSet()

BaseType_t xQueueRemoveFromSet ( QueueSetMemberHandle_t xQueueOrSemaphore,
QueueSetHandle_t xQueueSet )

References PRIVILEGED_FUNCTION.

◆ xQueueSelectFromSet()

QueueSetMemberHandle_t xQueueSelectFromSet ( QueueSetHandle_t xQueueSet,
const TickType_t xTicksToWait )

References PRIVILEGED_FUNCTION.

◆ xQueueSelectFromSetFromISR()

QueueSetMemberHandle_t xQueueSelectFromSetFromISR ( QueueSetHandle_t xQueueSet)

References PRIVILEGED_FUNCTION.

◆ xQueueSemaphoreTake()

◆ xQueueTakeMutexRecursive()

BaseType_t xQueueTakeMutexRecursive ( QueueHandle_t xMutex,
TickType_t xTicksToWait )

References PRIVILEGED_FUNCTION.