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

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