LwRB Lightweight, platform independent generic FIFO buffer written in C language and optimized for embedded systems
LwRB is lightweight ring buffer library implementing generic FIFO in C language. It is optimized for embedded systems with optional zero-copy operations between hardware and memory.
Features
- Written in ANSI C99, compatible with
size_t
for size data types
- Platform independent, no architecture specific code
- FIFO (First In First Out) buffer implementation
- No dynamic memory allocation, data is static array
- Uses optimized memory copy instead of loops to read/write data from/to memory
- Thread safe when used as pipe with single write and single read entries
- Interrupt safe when used as pipe with single write and single read entries
- Suitable for DMA transfers from and to memory with zero-copy overhead between buffer and application memory
- Supports data peek, skip for read and advance for write
- User friendly MIT license
Read documentation & download library
Open Github