Struct embassy_stm32::gpio::Input

source ·
pub struct Input<'d, T: Pin> { /* private fields */ }
Expand description

GPIO input driver.

Implementations§

source§

impl<'d, T: Pin> Input<'d, T>

source

pub fn new(pin: impl Peripheral<P = T> + 'd, pull: Pull) -> Self

Create GPIO input driver for a Pin with the provided Pull configuration.

source

pub fn degrade(self) -> Input<'d, AnyPin>

Type-erase (degrade) this pin into an AnyPin.

This converts pin singletons (PA5, PB6, …), which are all different types, into the same type. It is useful for creating arrays of pins, or avoiding generics.

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.

Trait Implementations§

source§

impl<'d, T: Pin> ErrorType for Input<'d, T>

§

type Error = Infallible

Error type
source§

impl<'d, T: Pin> InputPin for Input<'d, T>

§

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<'d, T: Pin> InputPin for Input<'d, T>

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?

Auto Trait Implementations§

§

impl<'d, T> RefUnwindSafe for Input<'d, T>
where T: RefUnwindSafe,

§

impl<'d, T> Send for Input<'d, T>
where T: Send,

§

impl<'d, T> Sync for Input<'d, T>
where T: Sync,

§

impl<'d, T> Unpin for Input<'d, T>
where T: Unpin,

§

impl<'d, T> !UnwindSafe for Input<'d, T>

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>,

§

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>,

§

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.