/** \file ring_buffer.h */ #if !defined(RING_BUFFER_H__002F3B3E_9C40_4947_A8EE_139D5ADFF045__INCLUDED_) #define RING_BUFFER_H__002F3B3E_9C40_4947_A8EE_139D5ADFF045__INCLUDED_ #include "define.h" #include "board_config.h" typedef struct ring_buffer { uint8_t* pBuffer; uint32_t BufferSize; bool isOverWrite; int32_t front, rear; }RING_BUFFER; bool RingBuffer_Initialization(RING_BUFFER* pRingbuffer, bool isOverWrite, uint32_t buffer_size, uint8_t* pBuffer); bool RingBuffer_Clear(RING_BUFFER* pRingbuffer); bool RingBuffer_isEmpty(RING_BUFFER* pRingbuffer); bool RingBuffer_isFull(RING_BUFFER* pRingbuffer); bool RingBuffer_Enqueue(RING_BUFFER* pRingbuffer, uint8_t value) ; bool RingBuffer_Dequeue(RING_BUFFER* pRingbuffer, uint8_t* pRetValue); bool RingBuffer_GetData(RING_BUFFER* pRingbuffer, uint8_t* pRetValue); bool RingBuffer_PopData(RING_BUFFER* pRingbuffer); uint32_t RingBuffer_Get_DataSize(RING_BUFFER* pRingbuffer); #endif