Trait embedded_time::clock::Clock[][src]

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

    const SCALING_FACTOR: Fraction;

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

    fn new_timer<Dur: Duration>(
        &self,
        duration: Dur
    ) -> Timer<'_, OneShot, Armed, Self, Dur>
    where
        Dur: 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.

Associated Types

type T: TimeInt + Hash[src]

The type to hold the tick count

Associated Constants

const SCALING_FACTOR: Fraction[src]

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

Required methods

fn try_now(&self) -> Result<Instant<Self>, Error>[src]

Provided methods

fn new_timer<Dur: Duration>(
    &self,
    duration: Dur
) -> Timer<'_, OneShot, Armed, Self, Dur> where
    Dur: FixedPoint
[src]

Spawn a new, OneShot Timer from this clock

Implementors