fixing reset always keeping the last value, not the intended size 3... and above.
revert to the previous behaviour where the last element is preserved and
real `capacity` becomes `capacity + 1`. adjust methods accordingly.
and a slightly more verbose median funciton
generalize topic and value representation
breaking change for rpn, since the magnitude *may not* be indexed
also fixes debug logs, where we would always see units of the 1st
magnitude instead of the one being processed
since we don't have multiple instances yet, move everything into the
existing sensor instance class. for the multi-device migration, we will
only need port and it's read timeout setting. address will be stored per
device instance, where the main one will work with the port
simplify the internals and allow to use multiple instances
possibly fix comparison issue with raw int vs. float, when checking for
errors. division may not actually succeed
stronger time types, overrides
init underlying lib object as a member
this might be changed to unique_ptr, in case we really want begin() to
be idempotent and being able to re-init things
(which might not be actually possible?)
updated structure, overrides. strong time type
testing timesource changes. this should work, but might need to tweak
things if it starts to fail b/c of flash code loads
use bitset when locking, avoid manual index & mask calculation
update check() to use boolean logic instead of returning int status
remove wip address-range, just use the {begin, end} pair
uint8_t instead of unsigned char when dealing with data
Avoid confusion between ref and pointer when looping over sensors
Re-use helper class in the magnitude object as well
Remove custom code related to filter movement, just use unique_ptr
Plus, updates filter code to use stl vector where possible
Experimening with dynamic cls id. Perhaps this should be something
else... but, at least there are no longer any header-defined values.