What it solves
Embedded applications repeatedly need small, well-bounded control, signal, sequence and state operations without adopting a framework or paying for unused code.
How it works
1Application-owned state→2focused ONE module→3explicit result→4application policy
Use it when
Apply bounded slew, hysteresis, filtering or quantization to a control signal
Arbitrate work, generate a fractional rate or calculate capped retry delay
Track freshness, replay windows, cyclic sequence numbers or K-of-N votes
Use fixed-capacity buffers, packed fields, sets, records and traces without a general container framework
Quick Start
#include <one.h>
uint32_t current = 0u;
(void)one_slew_u32(100u, 10u, 20u, ¤t);
/* current advances toward 100 by at most 10 on this call. */Engineering evidence
- 22 independent modules are exposed through one.h; using the umbrella header does not pull every module into a static-linked binary
- The module family covers scheduling; signal and numeric operations; sequence and protocol handling; and fixed-capacity state containers
- Repository documentation records Debug, Release, AddressSanitizer and MSVC /W4 /WX test configurations, plus a linker-map-based footprint report
Known limits
- It is a collection of independent primitives, not an RTOS, scheduler, hardware abstraction layer or application framework
- Mutable one_*_t objects remain owned and synchronized by the caller
- Callers must check documented status values and preserve each API’s numeric-domain contracts