Struct esp_idf_svc::hal::delay::FreeRtos

source ·
pub struct FreeRtos;
Expand description

FreeRTOS-based delay provider for delays larger than 10 ms.

Delays bigger than 1000 / TICK_RATE_HZ milliseconds (typically 10 ms) used in a loop would starve the FreeRTOS IDLE tasks as they are low prio tasks and hence the IDLE task’s watchdog could trigger. This delayer avoids that by yielding to the OS during the delay.

Implementations§

source§

impl FreeRtos

source

pub fn delay_ms(ms: u32)

Pauses execution for at minimum ms milliseconds. The delay can be longer due to rounding and/or runtime effects.

Trait Implementations§

source§

impl DelayMs<u16> for FreeRtos

source§

fn delay_ms(&mut self, ms: u16)

Pauses execution for ms milliseconds
source§

impl DelayMs<u32> for FreeRtos

source§

fn delay_ms(&mut self, ms: u32)

Pauses execution for ms milliseconds
source§

impl DelayMs<u8> for FreeRtos

source§

fn delay_ms(&mut self, ms: u8)

Pauses execution for ms milliseconds
source§

impl DelayNs for FreeRtos

source§

fn delay_ns(&mut self, ns: u32)

Pauses execution for at minimum ns nanoseconds. Pause can be longer if the implementation requires it due to precision/timing issues.
source§

fn delay_us(&mut self, us: u32)

Pauses execution for at minimum us microseconds. Pause can be longer if the implementation requires it due to precision/timing issues.
source§

fn delay_ms(&mut self, ms: u32)

Pauses execution for at minimum ms milliseconds. Pause can be longer if the implementation requires it due to precision/timing issues.
source§

impl DelayUs<u16> for FreeRtos

source§

fn delay_us(&mut self, us: u16)

Pauses execution for us microseconds
source§

impl DelayUs<u32> for FreeRtos

source§

fn delay_us(&mut self, us: u32)

Pauses execution for us microseconds
source§

impl DelayUs<u8> for FreeRtos

source§

fn delay_us(&mut self, us: u8)

Pauses execution for us microseconds

Auto Trait Implementations§

§

impl Freeze for FreeRtos

§

impl RefUnwindSafe for FreeRtos

§

impl Send for FreeRtos

§

impl Sync for FreeRtos

§

impl Unpin for FreeRtos

§

impl UnwindSafe for FreeRtos

Blanket Implementations§

§

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

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

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

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

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

§

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

Mutably borrows from an owned value. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

fn into(self) -> U

Calls U::from(self).

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

§

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

§

type Error = Infallible

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

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

Performs the conversion.
§

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

§

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

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

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

Performs the conversion.