Input

Struct Input 

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

A GPIO input.

If support for external interrupts is needed, use InputBuilder::build_with_interrupt() to obtain an IntEnabledInput.

Implementations§

§

impl<'a> Input<'a>

pub fn new<P>(pin: impl IntoPeripheral<'a, P>, pull: Pull) -> Input<'a>
where P: InputPin + 'a,

Returns a configured Input.

If you want to re-use a pin at runtime, you can give the result of .reborrow() of the pin instance to this constructor. This driver and the child pin instance need to be dropped before being able to use the pin in another driver.

pub fn builder<T, P>(pin: T, pull: Pull) -> InputBuilder<'a, T, P>
where T: IntoPeripheral<'a, P>, P: InputPin + 'a,

Returns an InputBuilder, allowing to configure the GPIO input further.

If you want to re-use a pin at runtime, you can give the result of .reborrow() of the pin instance to this constructor. This driver and the child pin instance need to be dropped before being able to use the pin in another driver.

pub fn is_high(&self) -> bool

Returns whether the input level is high.

pub fn is_low(&self) -> bool

Returns whether the input level is low.

pub fn get_level(&self) -> Level

Returns the input level.

Trait Implementations§

§

impl InputPin for Input<'_>

§

fn is_high(&mut self) -> Result<bool, <Input<'_> as ErrorType>::Error>

Is the input pin high?
§

fn is_low(&mut self) -> Result<bool, <Input<'_> as ErrorType>::Error>

Is the input pin low?

Auto Trait Implementations§

§

impl<'a> Freeze for Input<'a>

§

impl<'a> RefUnwindSafe for Input<'a>

§

impl<'a> Send for Input<'a>

§

impl<'a> Sync for Input<'a>

§

impl<'a> Unpin for Input<'a>

§

impl<'a> UnwindSafe for Input<'a>

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.

§

impl<T, W> HasTypeWitness<W> for T
where W: MakeTypeWitness<Arg = T>, T: ?Sized,

§

const WITNESS: W = W::MAKE

A constant of the type witness
§

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

§

const TYPE_EQ: TypeEq<T, <T as Identity>::Type> = TypeEq::NEW

Proof that Self is the same type as Self::Type, provides methods for casting between Self and Self::Type.
§

type Type = T

The same type as Self, used to emulate type equality bounds (T == U) with associated type equality constraints (T: Identity<Type = U>).
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> Same for T

Source§

type Output = T

Should always be Self
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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V