FreeRTOS C++ Wrappers
1.6.0
C++ interface to FreeRTOS
|
#include <workqueue.hpp>
Classes | |
class | CWorkerThread |
Public Member Functions | |
WorkQueue (const char *const Name, uint16_t StackDepth=(configMINIMAL_STACK_SIZE *2), UBaseType_t Priority=(tskIDLE_PRIORITY+1), UBaseType_t MaxWorkItems=10) | |
WorkQueue (uint16_t StackDepth=(configMINIMAL_STACK_SIZE *2), UBaseType_t Priority=(tskIDLE_PRIORITY+1), UBaseType_t MaxWorkItems=10) | |
~WorkQueue () | |
bool | QueueWork (WorkItem *work) |
Private Attributes | |
CWorkerThread * | WorkerThread |
Queue * | WorkItemQueue |
BinarySemaphore * | ThreadComplete |
This class is the "engine" for WorkItems. Create one or more WorkQueues to accept WorkItems. WorkQueues pull WorkItems off of a FIFO queue and run them sequentially.
Definition at line 126 of file workqueue.hpp.
WorkQueue::WorkQueue | ( | const char *const | Name, |
uint16_t | StackDepth = (configMINIMAL_STACK_SIZE * 2) , |
||
UBaseType_t | Priority = (tskIDLE_PRIORITY + 1) , |
||
UBaseType_t | MaxWorkItems = 10 |
||
) |
Constructor to create a named WorkQueue.
ThreadCreateException,QueueCreateException,SemaphoreCreateException |
Name | Name of the thread internal to the WorkQueue. Only useful for debugging. |
StackDepth | Number of "words" allocated for the Thread stack. |
Priority | FreeRTOS priority of this Thread. |
MaxWorkItems | Maximum number of WorkItems this WorkQueue can hold. |
Definition at line 63 of file cworkqueue.cpp.
WorkQueue::WorkQueue | ( | uint16_t | StackDepth = (configMINIMAL_STACK_SIZE * 2) , |
UBaseType_t | Priority = (tskIDLE_PRIORITY + 1) , |
||
UBaseType_t | MaxWorkItems = 10 |
||
) |
Constructor to create an unnamed WorkQueue.
ThreadCreateException,QueueCreateException,SemaphoreCreateException |
StackDepth | Number of "words" allocated for the Thread stack. |
Priority | FreeRTOS priority of this Thread. |
MaxWorkItems | Maximum number of WorkItems this WorkQueue can hold. |
Definition at line 82 of file cworkqueue.cpp.
WorkQueue::~WorkQueue | ( | ) |
Our destructor.
Definition at line 102 of file cworkqueue.cpp.
bool WorkQueue::QueueWork | ( | WorkItem * | work | ) |
Send a WorkItem off to be executed.
work | Pointer to a WorkItem. |
Definition at line 137 of file cworkqueue.cpp.
|
private |
Semaphore to support deconstruction without race conditions.
Definition at line 240 of file workqueue.hpp.
|
private |
Pointer to our WorkerThread.
Definition at line 230 of file workqueue.hpp.
|
private |
Pointer to our work queue itself.
Definition at line 235 of file workqueue.hpp.