embassy-nxp

Crates

git

Versions

mimxrt1011

Flavors

Struct OutputOpenDrain

Source
pub struct OutputOpenDrain<'d> { /* private fields */ }
Expand description

GPIO output open-drain driver.

Note that pins will return to their floating state when OutputOpenDrain is dropped. If pins should retain their state indefinitely, either keep ownership of the OutputOpenDrain, or pass it to core::mem::forget.

Implementations§

Source§

impl<'d> OutputOpenDrain<'d>

Source

pub fn new(pin: Peri<'d, impl Pin>, initial_output: Level) -> Self

Create a new GPIO open drain output driver for a Pin with the provided Level.

Source

pub fn is_high(&self) -> bool

Get whether the pin input level is high.

Source

pub fn is_low(&self) -> bool

Get whether the pin input level is low.

Source

pub fn get_level(&self) -> Level

Get the current pin input level.

Source

pub fn set_high(&mut self)

Set the output as high.

Source

pub fn set_low(&mut self)

Set the output as low.

Source

pub fn set_level(&mut self, level: Level)

Set the output level.

Source

pub fn is_set_high(&self) -> bool

Get whether the output level is set to high.

Source

pub fn is_set_low(&self) -> bool

Get whether the output level is set to low.

Source

pub fn get_output_level(&self) -> Level

Get the current output level.

Source

pub fn toggle(&mut self)

Toggle pin output

Source

pub async fn wait_for_high(&mut self)

Wait until the pin is high. If it is already high, return immediately.

Source

pub async fn wait_for_low(&mut self)

Wait until the pin is low. If it is already low, return immediately.

Source

pub async fn wait_for_rising_edge(&mut self)

Wait for the pin to undergo a transition from low to high.

Source

pub async fn wait_for_falling_edge(&mut self)

Wait for the pin to undergo a transition from high to low.

Source

pub async fn wait_for_any_edge(&mut self)

Wait for the pin to undergo any transition, i.e low to high OR high to low.

Auto Trait Implementations§

§

impl<'d> Freeze for OutputOpenDrain<'d>

§

impl<'d> RefUnwindSafe for OutputOpenDrain<'d>

§

impl<'d> Send for OutputOpenDrain<'d>

§

impl<'d> Sync for OutputOpenDrain<'d>

§

impl<'d> Unpin for OutputOpenDrain<'d>

§

impl<'d> !UnwindSafe for OutputOpenDrain<'d>

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.