pub trait Clock: Sized {
    type T: TimeInt + Hash;

    const SCALING_FACTOR: Fraction;

    fn try_now(&self) -> Result<Instant<Self>, Error>;

    fn new_timer<Dur>(
        &self,
        duration: Dur
    ) -> Timer<'_, OneShot, Armed, Self, Dur>
    where
        Dur: Duration + FixedPoint
, { ... } }
Expand description

The Clock trait provides an abstraction for hardware-specific timer peripherals, external timer devices, RTCs, etc.

The Clock is characterized by an inner unsigned integer storage type (either u32 or u64), a u32/u32 Fraction defining the duration (in seconds) of one count of the Clock, and a custom error type representing errors that may be generated by the implementation.

In addition to the Clock::try_now() method which returns an Instant, software Timers can be spawned from a Clock object.

Required Associated Types§

The type to hold the tick count

Required Associated Constants§

The duration of one clock tick in seconds, AKA the clock precision.

Required Methods§

Provided Methods§

Spawn a new, OneShot Timer from this clock

Implementors§