#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; } }