FreeRTOS C++ Wrappers
1.6.0
C++ interface to FreeRTOS
|
#include <queue.hpp>
Public Member Functions | |
Queue (UBaseType_t maxItems, UBaseType_t itemSize) | |
virtual | ~Queue () |
virtual bool | Enqueue (void *item) |
virtual bool | Enqueue (void *item, TickType_t Timeout) |
bool | Dequeue (void *item, TickType_t Timeout=portMAX_DELAY) |
bool | Peek (void *item, TickType_t Timeout=portMAX_DELAY) |
virtual bool | EnqueueFromISR (void *item, BaseType_t *pxHigherPriorityTaskWoken) |
bool | DequeueFromISR (void *item, BaseType_t *pxHigherPriorityTaskWoken) |
bool | PeekFromISR (void *item) |
bool | IsEmpty () |
bool | IsFull () |
void | Flush () |
UBaseType_t | NumItems () |
UBaseType_t | NumSpacesLeft () |
Protected Attributes | |
QueueHandle_t | handle |
Queue class wrapper for FreeRTOS queues. This class provides enqueue and dequeue operations.
Queue::Queue | ( | UBaseType_t | maxItems, |
UBaseType_t | itemSize | ||
) |
Our constructor.
QueueCreateException |
maxItems | Maximum number of items this queue can hold. |
itemSize | Size of an item in a queue. |
Definition at line 46 of file cqueue.cpp.
|
virtual |
Our destructor.
Definition at line 60 of file cqueue.cpp.
bool Queue::Dequeue | ( | void * | item, |
TickType_t | Timeout = portMAX_DELAY |
||
) |
Remove an item from the front of the queue.
item | Where the item you are removing will be returned to. |
Timeout | How long to wait to remove an item if the queue is currently empty. |
Definition at line 86 of file cqueue.cpp.
bool Queue::DequeueFromISR | ( | void * | item, |
BaseType_t * | pxHigherPriorityTaskWoken | ||
) |
Remove an item from the front of the queue in ISR context.
item | Where the item you are removing will be returned to. |
pxHigherPriorityTaskWoken | Did this operation result in a rescheduling event. |
Definition at line 116 of file cqueue.cpp.
|
virtual |
Add an item to the back of the queue.
item | The item you are adding. |
Reimplemented in cpp_freertos::BinaryQueue.
Definition at line 66 of file cqueue.cpp.
|
virtual |
Add an item to the back of the queue.
item | The item you are adding. |
Timeout | How long to wait to add the item to the queue if the queue is currently full. |
Definition at line 76 of file cqueue.cpp.
|
virtual |
Add an item to the back of the queue in ISR context.
item | The item you are adding. |
pxHigherPriorityTaskWoken | Did this operation result in a rescheduling event. |
Reimplemented in cpp_freertos::BinaryQueue.
Definition at line 106 of file cqueue.cpp.
void Queue::Flush | ( | ) |
Remove all objects from the queue.
Definition at line 152 of file cqueue.cpp.
bool Queue::IsEmpty | ( | ) |
Is the queue empty?
Definition at line 136 of file cqueue.cpp.
bool Queue::IsFull | ( | ) |
Is the queue full?
Definition at line 144 of file cqueue.cpp.
UBaseType_t Queue::NumItems | ( | ) |
How many items are currently in the queue.
Definition at line 158 of file cqueue.cpp.
UBaseType_t Queue::NumSpacesLeft | ( | ) |
How many empty spaves are currently left in the queue.
Definition at line 164 of file cqueue.cpp.
bool Queue::Peek | ( | void * | item, |
TickType_t | Timeout = portMAX_DELAY |
||
) |
Make a copy of an item from the front of the queue. This will not remove it from the head of the queue.
item | Where the item you are removing will be returned to. |
Timeout | How long to wait to remove an item if the queue is currently empty. |
Definition at line 96 of file cqueue.cpp.
bool Queue::PeekFromISR | ( | void * | item | ) |
Make a copy of an item from the front of the queue. This will not remove it from the head of the queue.
item | Where the item you are removing will be returned to. |
Definition at line 126 of file cqueue.cpp.
|
protected |