Hardware agnostic interfaces for time and timers within the Tock kernel.
These traits are designed to be able encompass the wide
variety of hardare counters in a general yet efficient way. They
abstract the frequency of a counter through the
and the width of a time value through the
trait. Higher-level software abstractions should generally rely on
standard and common implementations of these traits (e.g..
ticks and 16MHz frequency). Hardware counter implementations and
peripherals can represent the actual hardware units an translate
into these more general ones.
Countervalue) is reached. Clients use the
AlarmClienttrait to signal when the counter has reached a pre-specified value set in
set_alarm. Alarms are intended for low-level time needs that require precision (i.e., firing on a precise clock tick). Software that needs more functionality but can tolerate some jitter should use the
Counterreaches a specific value).