[−][src]Trait rtfm::Monotonic
A monotonic clock / counter
Associated Types
type Instant: Copy + Ord + Sub
A measurement of this clock, use CYCCNT
as a reference implementation for Instant
.
Note that the Instant must be a signed value such as i32
.
Required methods
fn ratio() -> Fraction
The ratio between the system timer (SysTick) frequency and this clock frequency, i.e.
Monotonic clock * Fraction = System clock
The ratio must be expressed in reduced Fraction
form to prevent overflows. That is
2 / 3
instead of 4 / 6
fn now() -> Self::Instant
Returns the current time
Correctness
This function is allowed to return nonsensical values if called before reset
is invoked
by the runtime. Therefore application authors should not call this function during the
#[init]
phase.
unsafe fn reset()
Resets the counter to zero
Safety
This function will be called exactly once by the RTFM runtime after #[init]
returns and
before tasks can start; this is also the case in multi-core applications. User code must
never call this function.
fn zero() -> Self::Instant
A Self::Instant
that represents a count of zero