#ifndef _RING_BUF_H_ #define _RING_BUF_H_ #include #include #include "typedef.h" typedef struct { U8* p_o; /**< Original pointer */ U8* volatile p_r; /**< Read pointer */ U8* volatile p_w; /**< Write pointer */ volatile I32 fill_cnt; /**< Number of filled slots */ I32 size; /**< Buffer size */ } RINGBUF; I16 ICACHE_FLASH_ATTR RINGBUF_Init(RINGBUF *r, U8* buf, I32 size); I16 ICACHE_FLASH_ATTR RINGBUF_Put(RINGBUF *r, U8 c); I16 ICACHE_FLASH_ATTR RINGBUF_Get(RINGBUF *r, U8* c); #endif