Microchip® Advanced Software Framework

freertos-7.3.0/source/include/queue.h File Reference
#include "mpu_wrappers.h"

Macros

#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 queueSEND_TO_BACK   ( 0 )
 
#define queueSEND_TO_FRONT   ( 1 )
 
#define xQueueAltPeek(xQueue, pvBuffer, xTicksToWait)   xQueueAltGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdTRUE )
 
#define xQueueAltReceive(xQueue, pvBuffer, xTicksToWait)   xQueueAltGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdFALSE )
 
#define xQueueAltSendToBack(xQueue, pvItemToQueue, xTicksToWait)   xQueueAltGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
 
#define xQueueAltSendToFront(xQueue, pvItemToQueue, xTicksToWait)   xQueueAltGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )
 
#define xQueueCreate(uxQueueLength, uxItemSize)   xQueueGenericCreate( uxQueueLength, uxItemSize, queueQUEUE_TYPE_BASE )
 
#define xQueuePeek(xQueue, pvBuffer, xTicksToWait)   xQueueGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdTRUE )
 
#define xQueueReceive(xQueue, pvBuffer, xTicksToWait)   xQueueGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdFALSE )
 
#define xQueueReset(pxQueue)   xQueueGenericReset( pxQueue, pdFALSE )
 
#define xQueueSend(xQueue, pvItemToQueue, xTicksToWait)   xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
 
#define xQueueSendFromISR(pxQueue, pvItemToQueue, pxHigherPriorityTaskWoken)   xQueueGenericSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )
 
#define xQueueSendToBack(xQueue, pvItemToQueue, xTicksToWait)   xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
 
#define xQueueSendToBackFromISR(pxQueue, pvItemToQueue, pxHigherPriorityTaskWoken)   xQueueGenericSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )
 
#define xQueueSendToFront(xQueue, pvItemToQueue, xTicksToWait)   xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )
 
#define xQueueSendToFrontFromISR(pxQueue, pvItemToQueue, pxHigherPriorityTaskWoken)   xQueueGenericSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT )
 

Typedefs

typedef void * xQueueHandle
 Type by which queues are referenced. More...
 

Functions

unsigned portBASE_TYPE uxQueueMessagesWaiting (const xQueueHandle xQueue)
 
unsigned portBASE_TYPE uxQueueMessagesWaitingFromISR (const xQueueHandle pxQueue)
 
void vQueueDelete (xQueueHandle pxQueue)
 
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)
 
signed portBASE_TYPE xQueueCRReceive (xQueueHandle pxQueue, void *pvBuffer, portTickType xTicksToWait)
 
signed portBASE_TYPE xQueueCRReceiveFromISR (xQueueHandle pxQueue, void *pvBuffer, signed portBASE_TYPE *pxTaskWoken)
 
signed portBASE_TYPE xQueueCRSend (xQueueHandle pxQueue, const void *pvItemToQueue, portTickType xTicksToWait)
 
signed portBASE_TYPE xQueueCRSendFromISR (xQueueHandle pxQueue, const void *pvItemToQueue, signed portBASE_TYPE xCoRoutinePreviouslyWoken)
 
xQueueHandle xQueueGenericCreate (unsigned portBASE_TYPE uxQueueLength, unsigned portBASE_TYPE uxItemSize, unsigned char ucQueueType)
 
signed portBASE_TYPE xQueueGenericReceive (xQueueHandle xQueue, void *const pvBuffer, portTickType xTicksToWait, portBASE_TYPE xJustPeek)
 
portBASE_TYPE xQueueGenericReset (xQueueHandle pxQueue, portBASE_TYPE xNewQueue)
 
signed portBASE_TYPE xQueueGenericSend (xQueueHandle pxQueue, const void *const pvItemToQueue, portTickType xTicksToWait, portBASE_TYPE xCopyPosition)
 
signed portBASE_TYPE xQueueGenericSendFromISR (xQueueHandle pxQueue, const void *const pvItemToQueue, signed portBASE_TYPE *pxHigherPriorityTaskWoken, portBASE_TYPE xCopyPosition)
 
void * xQueueGetMutexHolder (xQueueHandle xSemaphore)
 
portBASE_TYPE xQueueGiveMutexRecursive (xQueueHandle pxMutex)
 
signed portBASE_TYPE xQueueIsQueueEmptyFromISR (const xQueueHandle pxQueue)
 
signed portBASE_TYPE xQueueIsQueueFullFromISR (const xQueueHandle pxQueue)
 
signed portBASE_TYPE xQueueReceiveFromISR (xQueueHandle pxQueue, void *const pvBuffer, signed portBASE_TYPE *pxHigherPriorityTaskWoken)
 
portBASE_TYPE xQueueTakeMutexRecursive (xQueueHandle pxMutex, portTickType xBlockTime)
 

#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 queueSEND_TO_BACK   ( 0 )
#define queueSEND_TO_FRONT   ( 1 )
#define xQueueAltPeek (   xQueue,
  pvBuffer,
  xTicksToWait 
)    xQueueAltGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdTRUE )

Referenced by prvSendFrontAndBackTest().

#define xQueueAltReceive (   xQueue,
  pvBuffer,
  xTicksToWait 
)    xQueueAltGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdFALSE )
#define xQueueAltSendToBack (   xQueue,
  pvItemToQueue,
  xTicksToWait 
)    xQueueAltGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
#define xQueueAltSendToFront (   xQueue,
  pvItemToQueue,
  xTicksToWait 
)    xQueueAltGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )

Referenced by prvSendFrontAndBackTest().

#define xQueuePeek (   xQueue,
  pvBuffer,
  xTicksToWait 
)    xQueueGenericReceive( ( xQueue ), ( pvBuffer ), ( xTicksToWait ), pdTRUE )
#define xQueueReset (   pxQueue)    xQueueGenericReset( pxQueue, pdFALSE )
#define xQueueSend (   xQueue,
  pvItemToQueue,
  xTicksToWait 
)    xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
#define xQueueSendFromISR (   pxQueue,
  pvItemToQueue,
  pxHigherPriorityTaskWoken 
)    xQueueGenericSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )

Referenced by sys_mbox_trypost().

#define xQueueSendToBack (   xQueue,
  pvItemToQueue,
  xTicksToWait 
)    xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_BACK )
#define xQueueSendToBackFromISR (   pxQueue,
  pvItemToQueue,
  pxHigherPriorityTaskWoken 
)    xQueueGenericSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_BACK )
#define xQueueSendToFront (   xQueue,
  pvItemToQueue,
  xTicksToWait 
)    xQueueGenericSend( ( xQueue ), ( pvItemToQueue ), ( xTicksToWait ), queueSEND_TO_FRONT )
#define xQueueSendToFrontFromISR (   pxQueue,
  pvItemToQueue,
  pxHigherPriorityTaskWoken 
)    xQueueGenericSendFromISR( ( pxQueue ), ( pvItemToQueue ), ( pxHigherPriorityTaskWoken ), queueSEND_TO_FRONT )

typedef void* xQueueHandle

Type by which queues are referenced.

For example, a call to xQueueCreate returns (via a pointer parameter) an xQueueHandle variable that can then be used as a parameter to xQueueSend(), xQueueReceive(), etc.

unsigned portBASE_TYPE uxQueueMessagesWaiting ( const xQueueHandle  xQueue)
unsigned portBASE_TYPE uxQueueMessagesWaitingFromISR ( const xQueueHandle  pxQueue)
void vQueueDelete ( xQueueHandle  pxQueue)
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)
signed portBASE_TYPE xQueueCRReceive ( xQueueHandle  pxQueue,
void *  pvBuffer,
portTickType  xTicksToWait 
)
signed portBASE_TYPE xQueueCRReceiveFromISR ( xQueueHandle  pxQueue,
void *  pvBuffer,
signed portBASE_TYPE *  pxTaskWoken 
)
signed portBASE_TYPE xQueueCRSend ( xQueueHandle  pxQueue,
const void *  pvItemToQueue,
portTickType  xTicksToWait 
)
signed portBASE_TYPE xQueueCRSendFromISR ( xQueueHandle  pxQueue,
const void *  pvItemToQueue,
signed portBASE_TYPE  xCoRoutinePreviouslyWoken 
)
xQueueHandle xQueueGenericCreate ( unsigned portBASE_TYPE  uxQueueLength,
unsigned portBASE_TYPE  uxItemSize,
unsigned char  ucQueueType 
)
signed portBASE_TYPE xQueueGenericReceive ( xQueueHandle  xQueue,
void *const  pvBuffer,
portTickType  xTicksToWait,
portBASE_TYPE  xJustPeek 
)
signed portBASE_TYPE xQueueGenericSend ( xQueueHandle  pxQueue,
const void *const  pvItemToQueue,
portTickType  xTicksToWait,
portBASE_TYPE  xCopyPosition 
)
signed portBASE_TYPE xQueueGenericSendFromISR ( xQueueHandle  pxQueue,
const void *const  pvItemToQueue,
signed portBASE_TYPE *  pxHigherPriorityTaskWoken,
portBASE_TYPE  xCopyPosition 
)
void* xQueueGetMutexHolder ( xQueueHandle  xSemaphore)
portBASE_TYPE xQueueGiveMutexRecursive ( xQueueHandle  pxMutex)
signed portBASE_TYPE xQueueIsQueueEmptyFromISR ( const xQueueHandle  pxQueue)
signed portBASE_TYPE xQueueIsQueueFullFromISR ( const xQueueHandle  pxQueue)
signed portBASE_TYPE xQueueReceiveFromISR ( xQueueHandle  pxQueue,
void *const  pvBuffer,
signed portBASE_TYPE *  pxHigherPriorityTaskWoken 
)
portBASE_TYPE xQueueTakeMutexRecursive ( xQueueHandle  pxMutex,
portTickType  xBlockTime 
)