Timer

Struct Timer 

Source
pub struct Timer { /* private fields */ }
Expand description

Software timer with a safe Rust callback.

The timer stores a function pointer and generates an internal trampoline so the user callback is a plain fn() — no unsafe, no raw pointers.

Implementations§

Source§

impl Timer

Source

pub fn new(callback: fn(), period_ms: u32, one_shot: bool) -> Result<Self>

Create a new timer via heap allocation (only in heap mode).

  • callback — safe Rust function called each time the timer fires.
  • period_ms — timer period in milliseconds.
  • one_shot — if true, the timer fires once and stops.
Source

pub fn start(&self) -> Result<()>

Start the timer, beginning countdown from now.

§Errors

Returns an error if the underlying RTOS call fails.

Source

pub fn stop(&self) -> Result<()>

Stop the timer, preventing further callbacks until restarted.

§Errors

Returns an error if the underlying RTOS call fails.

Source

pub fn reset(&self) -> Result<()>

Reset the timer, restarting the period from now.

If the timer is stopped, this also starts it.

§Errors

Returns an error if the underlying RTOS call fails.

Trait Implementations§

Source§

impl Debug for Timer

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Drop for Timer

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl Send for Timer

Source§

impl Sync for Timer

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.