|
|
@ -0,0 +1,46 @@ |
|
|
|
#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; |
|
|
|
} |
|
|
|
} |