#ifndef __HYP_RINGBUFFER_H__ #define __HYP_RINGBUFFER_H__ #ifdef __cplusplus extern "C" { #endif #include "main.h" #define HYP_RINGBUFFER_SIZE 256U typedef struct { uint8_t buffer[HYP_RINGBUFFER_SIZE]; volatile uint16_t head; volatile uint16_t tail; } HYP_RINGBUFFER_Obj; typedef HYP_RINGBUFFER_Obj *HYP_RINGBUFFER_Handle; void RingBuffer_Init(HYP_RINGBUFFER_Handle ringBuffer); uint16_t RingBuffer_Write(HYP_RINGBUFFER_Handle ringBuffer, const uint8_t *data, uint16_t len); uint16_t RingBuffer_Read(HYP_RINGBUFFER_Handle ringBuffer, uint8_t *data, uint16_t len); uint16_t RingBuffer_Available(HYP_RINGBUFFER_Handle ringBuffer); #ifdef __cplusplus } #endif #endif