General Utilities (hf-utils-general)
Header-only C++ utility library with no platform dependencies.
Data Structures
| Class |
Description |
CircularBuffer<T, N> |
Fixed-size FIFO buffer with overflow semantics |
RingBuffer<T, N> |
Ring buffer with Front/Back access |
SimpleLinkedList<T> |
Minimal singly-linked list |
FlagSet<T> |
Bitfield flag management |
Filters & Math
| Class |
Description |
AveragingFilter<T, N> |
Sliding-window moving average with safe Reset() (returns last average, guards against division by zero when empty) |
LinearInterpolation |
Point-based linear interpolation |
PiecewiseLinearSegment |
Multi-segment piecewise linear functions |
CrcUtil |
CRC-8 calculation |
Timing & Scheduling
| Class |
Description |
ActionTimer |
Start/stop duration measurement |
IntervalAction |
Periodic action execution at fixed intervals |
TaskScheduler |
Multi-task cooperative scheduler |
DeferredAction |
RAII deferred execution (like Go’s defer) |
State Management
| Class |
Description |
StateMachineBase |
Abstract state machine with transitions |
ExtendedStateMachine |
State machine with guard conditions |
Other
| Class |
Description |
SoftwareVersion |
Semantic versioning (major.minor.build) |
PhysicalUnit |
Value + unit string container |
Test Coverage
See examples/esp32/main/utils_tests/general_utils_comprehensive_test.cpp.