|
ecor
|
ISR-safe 4-cursor circular buffer for managing in-flight transactions. More...
#include <ecor.hpp>
Public Attributes | |
| std::atomic< uint16_t > | deliver = 0 |
| std::atomic< uint16_t > | enqueue = 0 |
| std::atomic< uint16_t > | rx = 0 |
| std::atomic< uint16_t > | tx = 0 |
ISR-safe 4-cursor circular buffer for managing in-flight transactions.
Cursors are: enqueue -> tx -> rx -> deliver
Cursors use std::atomic for safe cross-context access (main loop vs ISR).
T: Element type (must be trivial).N: Buffer capacity (must be a power of 2, < 65536).