Struct rp2040_hal::timer::monotonic::Monotonic
source · pub struct Monotonic<A>(pub Timer, _);
Expand description
RTIC Monotonic Implementation
Tuple Fields§
§0: Timer
Implementations§
Trait Implementations§
source§impl<A: Alarm> Monotonic for Monotonic<A>
impl<A: Alarm> Monotonic for Monotonic<A>
§type Instant = Instant<u64, 1, 1000000>
type Instant = Instant<u64, 1, 1000000>
The type for instant, defining an instant in time. Read more
§type Duration = Duration<u64, 1, 1000000>
type Duration = Duration<u64, 1, 1000000>
The type for duration, defining an duration of time. Read more
source§const DISABLE_INTERRUPT_ON_EMPTY_QUEUE: bool = false
const DISABLE_INTERRUPT_ON_EMPTY_QUEUE: bool = false
This tells RTIC if it should disable the interrupt bound to the monotonic if there are no
scheduled tasks. One may want to set this to
false
if one is using the on_interrupt
method to perform housekeeping and need overflow interrupts to happen, such as when
extending a 16 bit timer to 32/64 bits, even if there are no scheduled tasks.source§fn set_compare(&mut self, instant: Instant)
fn set_compare(&mut self, instant: Instant)
Set the compare value of the timer interrupt. Read more
source§fn clear_compare_flag(&mut self)
fn clear_compare_flag(&mut self)
Clear the compare interrupt flag.
source§fn zero() -> Self::Instant
fn zero() -> Self::Instant
The time at time zero. Used by RTIC before the monotonic has been initialized.
source§unsafe fn reset(&mut self)
unsafe fn reset(&mut self)
Optionally resets the counter to zero for a fixed baseline in a system. Read more
source§fn on_interrupt(&mut self)
fn on_interrupt(&mut self)
Optional. Commonly used for performing housekeeping of a timer when it has been extended,
e.g. a 16 bit timer extended to 32/64 bits. This will be called at the end of the interrupt
handler after all other operations have finished.
source§fn enable_timer(&mut self)
fn enable_timer(&mut self)
Optional. This is used to save power, this is called when the Monotonic interrupt is
enabled.
source§fn disable_timer(&mut self)
fn disable_timer(&mut self)
Optional. This is used to save power, this is called when the Monotonic interrupt is
disabled.
Auto Trait Implementations§
impl<A> Freeze for Monotonic<A>where
A: Freeze,
impl<A> RefUnwindSafe for Monotonic<A>where
A: RefUnwindSafe,
impl<A> Send for Monotonic<A>where
A: Send,
impl<A> Sync for Monotonic<A>where
A: Sync,
impl<A> Unpin for Monotonic<A>where
A: Unpin,
impl<A> UnwindSafe for Monotonic<A>where
A: UnwindSafe,
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
source§impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
impl<Choices> CoproductSubsetter<CNil, HNil> for Choices
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more