pub struct Rtc<'a> { /* private fields */ }
Implementations§
Trait Implementations§
source§impl<'a> Alarm<'a> for Rtc<'a>
impl<'a> Alarm<'a> for Rtc<'a>
source§fn set_alarm_client(&self, client: &'a dyn AlarmClient)
fn set_alarm_client(&self, client: &'a dyn AlarmClient)
Specify the callback for when the counter reaches the alarm
value. If there was a previously installed callback this call
replaces it.
source§fn set_alarm(
&self,
reference: <Rtc<'a> as Time>::Ticks,
dt: <Rtc<'a> as Time>::Ticks,
)
fn set_alarm( &self, reference: <Rtc<'a> as Time>::Ticks, dt: <Rtc<'a> as Time>::Ticks, )
Specify when the callback should be called and enable it. The
callback will be enqueued when
Time::now() == reference + dt
. The
callback itself may not run exactly at this time, due to delays.
However, it it assured to execute after reference + dt
: it can
be delayed but will never fire early. The method takes reference
and dt
rather than a single value denoting the counter value so it
can distinguish between alarms which have very recently already
passed and those in the far far future (see #1651).source§fn get_alarm(&self) -> <Rtc<'a> as Time>::Ticks
fn get_alarm(&self) -> <Rtc<'a> as Time>::Ticks
Return the current alarm value. This is undefined at boot and
otherwise returns
now + dt
from the last call to set_alarm
.source§fn disarm(&self) -> Result<(), ErrorCode>
fn disarm(&self) -> Result<(), ErrorCode>
Disable the alarm and stop it from firing in the future.
Valid
Result<(), ErrorCode>
codes are: Read moresource§fn is_armed(&self) -> bool
fn is_armed(&self) -> bool
Returns whether the alarm is currently armed. Note that this
does not reliably indicate whether there will be a future
callback: it is possible that the alarm has triggered (and
disarmed) and a callback is pending and has not been called yet.
In this case it possible for
is_armed
to return false yet to
receive a callback.source§impl<'a> Counter<'a> for Rtc<'a>
impl<'a> Counter<'a> for Rtc<'a>
source§fn set_overflow_client(&self, client: &'a dyn OverflowClient)
fn set_overflow_client(&self, client: &'a dyn OverflowClient)
Specify the callback for when the counter overflows its maximum
value (defined by
Ticks
). If there was a previously registered
callback this call replaces it.source§fn start(&self) -> Result<(), ErrorCode>
fn start(&self) -> Result<(), ErrorCode>
Starts the free-running hardware counter. Valid
Result<(), ErrorCode>
values are: Read moresource§fn stop(&self) -> Result<(), ErrorCode>
fn stop(&self) -> Result<(), ErrorCode>
Stops the free-running hardware counter. Valid
Result<(), ErrorCode>
values are: Read moresource§fn reset(&self) -> Result<(), ErrorCode>
fn reset(&self) -> Result<(), ErrorCode>
Resets the counter to 0. This may introduce jitter on the counter.
Resetting the counter has no effect on any pending overflow callbacks.
If a client needs to reset and clear pending callbacks it should
call
stop
before reset
.
Valid Result<(), ErrorCode>
values are: Read moresource§fn is_running(&self) -> bool
fn is_running(&self) -> bool
Returns whether the counter is currently running.
Auto Trait Implementations§
impl<'a> !Freeze for Rtc<'a>
impl<'a> !RefUnwindSafe for Rtc<'a>
impl<'a> !Send for Rtc<'a>
impl<'a> !Sync for Rtc<'a>
impl<'a> Unpin for Rtc<'a>
impl<'a> !UnwindSafe for Rtc<'a>
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