Skip to content

Latest commit

 

History

History
97 lines (73 loc) · 2.88 KB

index.rst

File metadata and controls

97 lines (73 loc) · 2.88 KB

LwRB documentation

Welcome to the documentation for version .

LwRB is a generic FIFO (First In; First Out) buffer library optimized for embedded systems.

image

center

index_links

download_library getting_started Open Github Donate

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
  • Implements support for event notifications
  • User friendly MIT license

Requirements

  • C compiler
  • Less than 1kB of non-volatile memory

Contribute

Fresh contributions are always welcome. Simple instructions to proceed:

  1. Fork Github repository
  2. Respect C style & coding rules used by the library
  3. Create a pull request to develop branch with new features or bug fixes

Alternatively you may:

  1. Report a bug
  2. Ask for a feature request

Example code

Minimalistic example code to read and write data to buffer

examples_src/example_index.c

License

../LICENSE

Table of contents

self get-started/index user-manual/index tips-tricks/index api-reference/index changelog/index

LwDTC - DateTimeCron <https://github.com/MaJerle/lwdtc> LwESP - ESP-AT library <https://github.com/MaJerle/lwesp> LwEVT - Event manager <https://github.com/MaJerle/lwevt> LwGPS - GPS NMEA parser <https://github.com/MaJerle/lwgps> LwGSM - GSM-AT library <https://github.com/MaJerle/lwgsm> LwJSON - JSON parser <https://github.com/MaJerle/lwjson> LwMEM - Memory manager <https://github.com/MaJerle/lwmem> LwOW - OneWire with UART <https://github.com/MaJerle/lwow> LwPKT - Packet protocol <https://github.com/MaJerle/lwpkt> LwPRINTF - Printf <https://github.com/MaJerle/lwprintf> LwRB - Ring buffer <https://github.com/MaJerle/lwrb> LwSHELL - Shell <https://github.com/MaJerle/lwshell> LwUTIL - Utility functions <https://github.com/MaJerle/lwutil>