61 Queue(
unsigned portBASE_TYPE length,
char const* name){
62 handle = xQueueCreate(length,
sizeof(T));
63 #if configQUEUE_REGISTRY_SIZE > 0
64 vQueueAddToRegistry(handle, name);
74 return uxQueueMessagesWaiting(handle);
77 bool push(T
const& item, TickType_t time = portMAX_DELAY){
78 return xQueueSendToFront(handle, &item, time);
81 bool add(T
const& item, TickType_t time = portMAX_DELAY){
82 return xQueueSendToBack(handle, &item, time);
85 bool pop(T& var, TickType_t time = portMAX_DELAY) {
86 return xQueueReceive(handle, &var, time);
89 bool peek(T& var, TickType_t time = portMAX_DELAY) {
90 return xQueuePeek(handle, &var, time);
94 return 0 < uxQueueSpacesAvailable(handle);
98 return uxQueueMessagesWaiting(handle) == 0;
102 return xQueueSendToFrontFromISR(handle, &item, waswoken);
106 return xQueueSendToBackFromISR(handle, &item, waswoken);
110 return xQueueReceiveFromISR(handle, &var, waswoken);
114 return xQueuePeekFromISR(handle, &var, waswoken);
118 return xQueueIsQueueFullFromISR(handle);
122 return xQueueIsQueueEmptyFromISR(handle);
126 return uxQueueMessagesWaitingFromISR(handle);
129 void start_ISR(portBASE_TYPE& flag) { waswoken = &flag; }
134 #if __cplusplus < 201101L
136 void operator =(
Queue const&);
139 void operator =(
Queue const&) =
delete;
140 #endif // __cplusplus
bool add_ISR(T const &item)
Definition: QueueCPP.h:105
bool pop_ISR(T &var)
Definition: QueueCPP.h:109
bool peek(T &var, TickType_t time=portMAX_DELAY)
Definition: QueueCPP.h:89
bool full_ISR()
Definition: QueueCPP.h:117
Queue(unsigned portBASE_TYPE length, char const *name)
Definition: QueueCPP.h:61
unsigned portBASE_TYPE waiting() const
Definition: QueueCPP.h:73
~Queue()
Definition: QueueCPP.h:69
void start_ISR(portBASE_TYPE &flag)
Definition: QueueCPP.h:129
unsigned waiting_ISR()
Definition: QueueCPP.h:125
bool full()
Definition: QueueCPP.h:93
bool empty()
Definition: QueueCPP.h:97
bool add(T const &item, TickType_t time=portMAX_DELAY)
Definition: QueueCPP.h:81
bool empty_ISR()
Definition: QueueCPP.h:121
bool push_ISR(T const &item)
Definition: QueueCPP.h:101
bool peek_ISR(T &var)
Definition: QueueCPP.h:113
Queue Wrapper.
Definition: QueueCPP.h:58
bool pop(T &var, TickType_t time=portMAX_DELAY)
Definition: QueueCPP.h:85
bool push(T const &item, TickType_t time=portMAX_DELAY)
Definition: QueueCPP.h:77