librfn
An ad-hoc utility library
|
Benchmark | Benchmark mechanism for real-time processing modules |
Bit operations | Utility functions to perform bit operations |
Command console | Lightweight command interpreter implemented as a protothreads |
Enumerations | Convert enumerations to strings and strings to enumerations |
Fibre | Lightweight run-to-completion task scheduler supporting protothreads |
Fuzzy comparisions | Compare floating point numbers match within a tolerance |
Hex dump | Hexidecimal dump to stdout or a FILE |
Singly linked list | A singly linked list with fast head/tail insertion and sorted insert support |
Message queue | Lockless message queue implementation using C11 atomic operations |
In-memory logging | Log text messages to a circular memory buffer |
Bitstream pack/unpack | Insert and extract data from a bitstream |
Protothreads | Cooperative multi-tasking without context switching |
Random numbers | Pseudo random number generators |
Register dump | Symbolic register dump routines |
Ring buffer | Lockless byte-based ring buffer using C11 atomic operations |
Rotary encoder | Utility functions to decode signals from a 2-bit rotary encoder |
Statistics | Simple statistics accumulation |
String manipulation | Various string manipulation routines |
Time management | Easy to use, high resolution timer functions |
Miscellaneous utilities | Utility functions that did not fit into other modules |
WAV file header | Routines to pack/unpack WAV file headers |