pub struct Alarm1<D>(/* private fields */)
where
D: TimerDevice;Expand description
An alarm that can be used to schedule events in the future. Alarms can also be configured to trigger interrupts.
Trait Implementations§
Source§impl<D> Alarm for Alarm1<D>where
D: TimerDevice,
impl<D> Alarm for Alarm1<D>where
D: TimerDevice,
Source§fn clear_interrupt(&mut self)
fn clear_interrupt(&mut self)
Clear the interrupt flag. This should be called after interrupt TIMER_IRQ_1 is called.
The interrupt is unable to trigger a 2nd time until this interrupt is cleared.
Source§fn enable_interrupt(&mut self)
fn enable_interrupt(&mut self)
Enable this alarm to trigger an interrupt. This alarm will trigger TIMER_IRQ_1.
After this interrupt is triggered, make sure to clear the interrupt with clear_interrupt.
Source§fn disable_interrupt(&mut self)
fn disable_interrupt(&mut self)
Disable this alarm, preventing it from triggering an interrupt.
Source§fn schedule(
&mut self,
countdown: Duration<u32, 1, 1000000>,
) -> Result<(), ScheduleAlarmError>
fn schedule( &mut self, countdown: Duration<u32, 1, 1000000>, ) -> Result<(), ScheduleAlarmError>
Schedule the alarm to be finished after countdown. If enable_interrupt is called,
this will trigger interrupt TIMER_IRQ_1 whenever this time elapses.
Source§fn schedule_at(
&mut self,
timestamp: Instant<u64, 1, 1000000>,
) -> Result<(), ScheduleAlarmError>
fn schedule_at( &mut self, timestamp: Instant<u64, 1, 1000000>, ) -> Result<(), ScheduleAlarmError>
Schedule the alarm to be finished at the given timestamp. If enable_interrupt is
called, this will trigger interrupt TIMER_IRQ_1 whenever this timestamp is reached.
The rp235x is unable to schedule an event taking place in more than
u32::MAX microseconds.
Auto Trait Implementations§
impl<D> Freeze for Alarm1<D>
impl<D> RefUnwindSafe for Alarm1<D>where
D: RefUnwindSafe,
impl<D> Send for Alarm1<D>where
D: Send,
impl<D> Sync for Alarm1<D>where
D: Sync,
impl<D> Unpin for Alarm1<D>where
D: Unpin,
impl<D> UnwindSafe for Alarm1<D>where
D: 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
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>
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>
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