FreeRTOS Addons
|
#include <queue.hpp>
Public Member Functions | |
Deque (UBaseType_t maxItems, UBaseType_t itemSize) | |
bool | EnqueueToFront (void *item, TickType_t Timeout=portMAX_DELAY) |
bool | EnqueueToFrontFromISR (void *item, BaseType_t *pxHigherPriorityTaskWoken) |
Public Member Functions inherited from cpp_freertos::Queue | |
Queue (UBaseType_t maxItems, UBaseType_t itemSize) | |
virtual | ~Queue () |
bool | Dequeue (void *item, TickType_t Timeout=portMAX_DELAY) |
bool | DequeueFromISR (void *item, BaseType_t *pxHigherPriorityTaskWoken) |
virtual bool | Enqueue (const void *item) |
virtual bool | Enqueue (const void *item, TickType_t Timeout) |
virtual bool | EnqueueFromISR (const void *item, BaseType_t *pxHigherPriorityTaskWoken) |
void | Flush () |
bool | IsEmpty () |
bool | IsFull () |
UBaseType_t | NumItems () |
UBaseType_t | NumSpacesLeft () |
bool | Peek (void *item, TickType_t Timeout=portMAX_DELAY) |
bool | PeekFromISR (void *item) |
Additional Inherited Members | |
Protected Attributes inherited from cpp_freertos::Queue | |
QueueHandle_t | handle |
Enhanced queue class that implements a double ended queue (a "deque"), almost. Unlike the traditional CommSci version, there is no way to dequeue from the back. Practically, this most likely isn't a big deal.
Deque::Deque | ( | UBaseType_t | maxItems, |
UBaseType_t | itemSize | ||
) |
Our constructor.
QueueCreateException |
maxItems | Maximum number of items thsi queue can hold. |
itemSize | Size of an item in a queue. |
bool Deque::EnqueueToFront | ( | void * | item, |
TickType_t | Timeout = portMAX_DELAY |
||
) |
Add an item to the front of the queue. This will result in the item being removed first, ahead of all of the items added by the base calss Dequeue() function.
item | The item you are adding. |
Timeout | How long to wait to add the item to the queue if the queue is currently full. |
bool Deque::EnqueueToFrontFromISR | ( | void * | item, |
BaseType_t * | pxHigherPriorityTaskWoken | ||
) |
Add an item to the front of the queue. This will result in the item being removed first, ahead of all of the items added by the base calss Dequeue() function.
item | The item you are adding. |
pxHigherPriorityTaskWoken | Did this operation result in a rescheduling event. |