You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
46 lines
1015 B
46 lines
1015 B
#include "zqueue.hpp"
|
|
|
|
#include "logger.h"
|
|
using namespace iflytop;
|
|
#define TAG "ZQueue"
|
|
void ZQueue::initialize(int32_t num, int32_t eachsize) { //
|
|
xQueue = xQueueCreate(num, eachsize);
|
|
ZASSERT(xQueue);
|
|
}
|
|
void ZQueue::clear() { xQueueReset(xQueue); }
|
|
|
|
bool ZQueue::send(uint8_t *data, size_t len, int32_t overtime) {
|
|
BaseType_t xStatus;
|
|
xStatus = xQueueSend(xQueue, data, overtime);
|
|
if (xStatus == pdPASS) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
bool ZQueue::receive(uint8_t *data, size_t *len, int32_t overtime) {
|
|
BaseType_t xStatus;
|
|
xStatus = xQueueReceive(xQueue, data, overtime);
|
|
if (xStatus == pdPASS) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
bool ZQueue::isFull() {
|
|
BaseType_t xStatus = xQueueIsQueueFullFromISR(xQueue);
|
|
if (xStatus == pdTRUE) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
bool ZQueue::isEmpty() {
|
|
BaseType_t xStatus = xQueueIsQueueEmptyFromISR(xQueue);
|
|
if (xStatus == pdTRUE) {
|
|
return true;
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|