diff --git a/include/HRingBuffer.h b/include/HRingBuffer.h index 3f8f934..701a825 100644 --- a/include/HRingBuffer.h +++ b/include/HRingBuffer.h @@ -26,6 +26,11 @@ enum eRingBufferFlag { typedef uint8_t HRingBufferType; // 环转缓冲区类型 typedef uint32_t HRingBufferDataType; // 环转缓冲区统一数据类型 +// 使用2字节长度 +#ifndef _HRING_BUFFER_LEN_USE16 +#define _HRING_BUFFER_LEN_USE16 +#endif + #ifdef _HRING_BUFFER_LEN_USE32 #define HRING_BUFFER_ERROR (0xffffffff) diff --git a/src/HRingBuffer.c b/src/HRingBuffer.c index 758c73d..6222059 100644 --- a/src/HRingBuffer.c +++ b/src/HRingBuffer.c @@ -44,8 +44,8 @@ static uint8_t GetRingBufferType(const HRingBufferType *ringBuffer) { return base->flag & kHRingBufferFlagAllMask; } -static HRingBufferLenType GetRingBufferTypeSize(const HRingBufferType *vector) { - switch(GetRingBufferType(vector)) { +static HRingBufferLenType GetRingBufferTypeSize(const HRingBufferType *ringBuffer) { + switch(GetRingBufferType(ringBuffer)) { case kHRingBufferFlag8: return sizeof(uint8_t); break; case kHRingBufferFlag16: return sizeof(uint16_t); break; case kHRingBufferFlag32: return sizeof(uint32_t); break; @@ -54,33 +54,33 @@ static HRingBufferLenType GetRingBufferTypeSize(const HRingBufferType *vector) { return 0; } -static HRingBufferDataType GetRingBufferData(const HRingBufferType *vector, HRingBufferLenType pos) { - switch(GetRingBufferType(vector)) { - case kHRingBufferFlag8: return ((const _HRingBuffer8 *)vector)->data[pos]; break; - case kHRingBufferFlag16: return ((const _HRingBuffer16 *)vector)->data[pos]; break; - case kHRingBufferFlag32: return ((const _HRingBuffer32 *)vector)->data[pos]; break; +static HRingBufferDataType GetRingBufferData(const HRingBufferType *ringBuffer, HRingBufferLenType pos) { + switch(GetRingBufferType(ringBuffer)) { + case kHRingBufferFlag8: return ((const _HRingBuffer8 *)ringBuffer)->data[pos]; break; + case kHRingBufferFlag16: return ((const _HRingBuffer16 *)ringBuffer)->data[pos]; break; + case kHRingBufferFlag32: return ((const _HRingBuffer32 *)ringBuffer)->data[pos]; break; } return HRING_BUFFER_ERROR; } -static void SetRingBufferData(HRingBufferType *vector, HRingBufferLenType pos, HRingBufferDataType data) { - switch(GetRingBufferType(vector)) { - case kHRingBufferFlag8: ((_HRingBuffer8 *)vector)->data[pos] = (uint8_t)data; break; - case kHRingBufferFlag16: ((_HRingBuffer16 *)vector)->data[pos] = (uint16_t)data; break; - case kHRingBufferFlag32: ((_HRingBuffer32 *)vector)->data[pos] = (uint32_t)data; break; +static void SetRingBufferData(HRingBufferType *ringBuffer, HRingBufferLenType pos, HRingBufferDataType data) { + switch(GetRingBufferType(ringBuffer)) { + case kHRingBufferFlag8: ((_HRingBuffer8 *)ringBuffer)->data[pos] = (uint8_t)data; break; + case kHRingBufferFlag16: ((_HRingBuffer16 *)ringBuffer)->data[pos] = (uint16_t)data; break; + case kHRingBufferFlag32: ((_HRingBuffer32 *)ringBuffer)->data[pos] = (uint32_t)data; break; } } -static uint8_t IsRingBufferFull(const HRingBufferType *vector) { - InitRingBuffer((HRingBufferType *)vector); - const _HRingBufferBase *base = (const _HRingBufferBase *)vector; +static uint8_t IsRingBufferFull(const HRingBufferType *ringBuffer) { + InitRingBuffer((HRingBufferType *)ringBuffer); + const _HRingBufferBase *base = (const _HRingBufferBase *)ringBuffer; return (base->flag & kHRingBufferFull) == kHRingBufferFull; } -static void SetRingBufferFull(HRingBufferType *vector, uint8_t full) { - InitRingBuffer((HRingBufferType *)vector); - _HRingBufferBase *base = (_HRingBufferBase *)vector; +static void SetRingBufferFull(HRingBufferType *ringBuffer, uint8_t full) { + InitRingBuffer((HRingBufferType *)ringBuffer); + _HRingBufferBase *base = (_HRingBufferBase *)ringBuffer; if (full) { base->flag |= kHRingBufferFull; } else {