embassy-stm32

Crates

git

Versions

stm32h745xg-cm7

Flavors

Skip to main content

Input

Struct Input 

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

GPIO input driver.

Implementations§

Source§

impl<'d> Input<'d>

Source

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

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

Source

pub const fn from_flex(pin: Flex<'d>) -> Self

Create a GPIO input driver from an existing Flex pin.

This is useful when a pin was previously used in bidirectional mode and needs to be converted to a typed input driver without re-acquiring the peripheral token. The pin should already be configured as an input via Flex::set_as_input().

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 level(&self) -> Level

Get the current pin input level.

Source

pub fn persist(self)

Give up the pin, leaving it configured.

Dropping disconnects the pin, this doesn’t. The pin keeps its configuration after the borrow it came from ends.

Trait Implementations§

Source§

impl<'d> ErrorType for Input<'d>

Source§

type Error = !

Error type
Source§

impl<'d> InputPin for Input<'d>

Source§

type Error = !

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> InputPin for Input<'d>

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

§

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> UnsafeUnpin 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 = !

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.