pub struct MonoClock<T, const HZ: u32>(/* private fields */);
Implementations§
Source§impl<T, const HZ: u32> MonoClock<T, HZ>
impl<T, const HZ: u32> MonoClock<T, HZ>
Sourcepub fn new(now: fn() -> T) -> Self
pub fn new(now: fn() -> T) -> Self
! Create a new MonoClock
using e.g. RTIC’s monotonics::now()
.
!
! Args:
! * now: a closure that returns the current ticks
!
! ! // In your `app` `init()`, set up a `Monotonic` as usual, e.g.: ! use mono_clock::MonoClock, systick_monotonic::Systick; ! const HZ: u32 = 1_000; ! let sysclk = 400_000_000u32; ! let mono = Systick::<HZ>::new(c.core.SYST, sysclk); ! // Then build a `Clock` that is `Copy` and can be passed ! // around by value or reference: ! let clock = MonoClock::<u32, HZ>::new(|| monotonics::now()); !
Trait Implementations§
Source§impl<T: Copy + TimeInt + Hash, const HZ: u32> Clock for MonoClock<T, HZ>
impl<T: Copy + TimeInt + Hash, const HZ: u32> Clock for MonoClock<T, HZ>
Source§const SCALING_FACTOR: Fraction
const SCALING_FACTOR: Fraction
The duration of one clock tick in seconds, AKA the clock precision.
impl<T: Copy, const HZ: u32> Copy for MonoClock<T, HZ>
Auto Trait Implementations§
impl<T, const HZ: u32> Freeze for MonoClock<T, HZ>
impl<T, const HZ: u32> RefUnwindSafe for MonoClock<T, HZ>
impl<T, const HZ: u32> Send for MonoClock<T, HZ>
impl<T, const HZ: u32> Sync for MonoClock<T, HZ>
impl<T, const HZ: u32> Unpin for MonoClock<T, HZ>
impl<T, const HZ: u32> UnwindSafe for MonoClock<T, HZ>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more