Struct AonTimer

Source
pub struct AonTimer { /* private fields */ }

Implementations§

Source§

impl AonTimer

Source

pub const fn new( base: StaticRef<AonTimerRegisters>, aon_clk_freq: u32, ) -> AonTimer

Source

pub fn handle_interrupt(&self)

Trait Implementations§

Source§

impl WatchDog for AonTimer

Source§

fn setup(&self)

The always-on timer will run on a ~125KHz (Verilator) or ~250kHz clock. The timers themselves are 32b wide, giving a maximum timeout window of roughly ~6 hours. For the wakeup timer, the pre-scaler extends the maximum timeout to ~1000 days.

The AON HW_IP has a watchdog and a wake-up timer (counts independantly of eachother), although struct AonTimer implements the wakeup timer functionality, we only start and use the watchdog in the code below.

Source§

fn tickle(&self)

This function must tickle the watchdog to reset the timer. If the watchdog was previously suspended then this should also resume the timer.
Source§

fn suspend(&self)

Suspends the watchdog timer. After calling this the timer should not fire until after tickle() has been called. This function is called before sleeping.
Source§

fn resume(&self)

Resumes the watchdog timer. After calling this the timer should be running again. This is called after returning from sleep, after suspend() was called.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.