Microchip® Advanced Software Framework

freertos-8.0.1/Source/queue.c File Reference
#include <stdlib.h>
#include <string.h>
#include "FreeRTOS.h"
#include "task.h"
#include "queue.h"

Data Structures

struct  QueueDefinition
 

Macros

#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
 
#define prvLockQueue(pxQueue)
 
#define pxMutexHolder   pcTail
 
#define queueLOCKED_UNMODIFIED   ( ( BaseType_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   ( ( BaseType_t ) -1 )
 
#define queueYIELD_IF_USING_PREEMPTION()
 
#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 void prvCopyDataToQueue (Queue_t *const pxQueue, const void *pvItemToQueue, const BaseType_t xPosition) PRIVILEGED_FUNCTION
 
static BaseType_t prvIsQueueEmpty (const Queue_t *pxQueue) PRIVILEGED_FUNCTION
 
static BaseType_t prvIsQueueFull (const Queue_t *pxQueue) 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)
 
QueueHandle_t xQueueGenericCreate (const UBaseType_t uxQueueLength, const UBaseType_t uxItemSize, const uint8_t ucQueueType)
 
BaseType_t xQueueGenericReceive (QueueHandle_t xQueue, void *const pvBuffer, TickType_t xTicksToWait, const BaseType_t xJustPeeking)
 
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 xQueueIsQueueEmptyFromISR (const QueueHandle_t xQueue)
 
BaseType_t xQueueIsQueueFullFromISR (const QueueHandle_t xQueue)
 
BaseType_t xQueuePeekFromISR (QueueHandle_t xQueue, void *const pvBuffer)
 
BaseType_t xQueueReceiveFromISR (QueueHandle_t xQueue, void *const pvBuffer, BaseType_t *const pxHigherPriorityTaskWoken)
 

#define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
#define prvLockQueue (   pxQueue)
Value:
{ \
if( ( pxQueue )->xRxLock == queueUNLOCKED ) \
{ \
( pxQueue )->xRxLock = queueLOCKED_UNMODIFIED; \
} \
if( ( pxQueue )->xTxLock == queueUNLOCKED ) \
{ \
( pxQueue )->xTxLock = queueLOCKED_UNMODIFIED; \
} \
} \
if((SERIAL_RX_BUF_SIZE_HOST-1)==serial_rx_buf_tail)
Definition: sio2host.c:258
#define queueLOCKED_UNMODIFIED
Definition: freertos-8.0.1/Source/queue.c:91
#define taskENTER_CRITICAL()
Definition: freertos-7.5.2/Source/include/task.h:192
#define taskEXIT_CRITICAL()
Definition: freertos-7.5.2/Source/include/task.h:206
#define queueUNLOCKED
Definition: freertos-8.0.1/Source/queue.c:90

Referenced by xQueueGenericReceive(), and xQueueGenericSend().

#define pxMutexHolder   pcTail
#define queueLOCKED_UNMODIFIED   ( ( BaseType_t ) 0 )

Referenced by prvUnlockQueue().

#define queueMUTEX_GIVE_BLOCK_TIME   ( ( TickType_t ) 0U )
#define queueQUEUE_IS_MUTEX   NULL
#define queueSEMAPHORE_QUEUE_ITEM_LENGTH   ( ( UBaseType_t ) 0 )
#define queueUNLOCKED   ( ( BaseType_t ) -1 )
#define queueYIELD_IF_USING_PREEMPTION ( )
#define uxQueueType   pcHead

typedef xQUEUE Queue_t
typedef struct QueueDefinition xQUEUE

static BaseType_t prvIsQueueEmpty ( const Queue_t pxQueue)
static
static BaseType_t prvIsQueueFull ( const Queue_t pxQueue)
static
UBaseType_t uxQueueMessagesWaiting ( const QueueHandle_t  xQueue)
UBaseType_t uxQueueMessagesWaitingFromISR ( const QueueHandle_t  xQueue)

References configASSERT.

UBaseType_t uxQueueSpacesAvailable ( const QueueHandle_t  xQueue)
QueueHandle_t xQueueGenericCreate ( const UBaseType_t  uxQueueLength,
const UBaseType_t  uxItemSize,
const uint8_t  ucQueueType 
)
BaseType_t xQueueIsQueueEmptyFromISR ( const QueueHandle_t  xQueue)

References configASSERT, pdFALSE, and pdTRUE.

BaseType_t xQueueIsQueueFullFromISR ( const QueueHandle_t  xQueue)

References configASSERT, pdFALSE, and pdTRUE.