embassy-mcxa

Crates

git

Versions

mcx-a256

Flavors

Input

Struct Input 

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

GPIO input driver that owns a Flex pin.

Implementations§

Source§

impl<'d> Input<'d>

Source

pub fn new(pin: Peri<'d, impl GpioPin>, pull_select: Pull) -> Self

Create a GPIO input driver for a GpioPin.

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 into_flex(self, strength: DriveStrength, slew_rate: SlewRate) -> Flex<'d>

Expose the inner Flex if callers need to reconfigure the pin.

Since Drive Strength and Slew Rate are not set when creating the Input pin, they need to be set when converting

Source

pub fn get_level(&self) -> Level

Get the pin level.

Source§

impl<'d> Input<'d>

Async methods

Source

pub fn wait_for_high(&mut self) -> impl Future<Output = ()> + use<'_, 'd>

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

Source

pub fn wait_for_low(&mut self) -> impl Future<Output = ()> + use<'_, 'd>

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

Source

pub fn wait_for_rising_edge(&mut self) -> impl Future<Output = ()> + use<'_, 'd>

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

Source

pub fn wait_for_falling_edge( &mut self, ) -> impl Future<Output = ()> + use<'_, 'd>

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

Source

pub fn wait_for_any_edge(&mut self) -> impl Future<Output = ()> + use<'_, 'd>

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

Trait Implementations§

Source§

impl ErrorType for Input<'_>

Source§

type Error = Infallible

Error type
Source§

impl InputPin for Input<'_>

Source§

type Error = Infallible

Error type
Source§

fn is_high(&self) -> Result<bool, Self::Error>

Is the input pin high?
Source§

fn is_low(&self) -> Result<bool, Self::Error>

Is the input pin low?
Source§

impl InputPin for Input<'_>

Source§

fn is_high(&mut self) -> Result<bool, Self::Error>

Is the input pin high?
Source§

fn is_low(&mut self) -> Result<bool, Self::Error>

Is the input pin low?
Source§

impl Wait for Input<'_>

Source§

async fn wait_for_high(&mut self) -> Result<(), Self::Error>

Wait until the pin is high. If it is already high, return immediately. Read more
Source§

async fn wait_for_low(&mut self) -> Result<(), Self::Error>

Wait until the pin is low. If it is already low, return immediately. Read more
Source§

async fn wait_for_rising_edge(&mut self) -> Result<(), Self::Error>

Wait for the pin to undergo a transition from low to high. Read more
Source§

async fn wait_for_falling_edge(&mut self) -> Result<(), Self::Error>

Wait for the pin to undergo a transition from high to low. Read more
Source§

async fn wait_for_any_edge(&mut self) -> Result<(), Self::Error>

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

Auto Trait Implementations§

§

impl<'d> Freeze for Input<'d>

§

impl<'d> !RefUnwindSafe for Input<'d>

§

impl<'d> !Send for Input<'d>

§

impl<'d> !Sync for Input<'d>

§

impl<'d> Unpin for Input<'d>

§

impl<'d> !UnwindSafe for Input<'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.