Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Lightweight generic ring buffer manager library

License

NotificationsYou must be signed in to change notification settings

MaJerle/lwrb

Repository files navigation

Library provides generic FIFO ring buffer implementation.

Read first:Documentation

Features

  • Written in C (C11), compatible withsize_t for size data types
  • Platform independent default code - with restrictions for smaller CPU architectures (< sizeof(size_t))
  • 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 - when CPU read/write operation forsize_t are single instruction (ARM Cortex-M for instance)
  • Interrupt safe when used as pipe with single write and single read entries - when CPU read/write operation forsize_t are single instruction (ARM Cortex-M for instance)
  • For CPU systems with smaller architecture thansizeof(size_t) (AVR for instance), atomic protection is required for read-write operation of buffer writes
  • 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

Contribute

Fresh contributions are always welcome. Simple instructions to proceed:

  1. Fork Github repository
  2. FollowC style & coding rules already used in the project
  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

[8]ページ先頭

©2009-2025 Movatter.jp