ariel_os::gpio::input

Struct InputBuilder

pub struct InputBuilder<P>
where P: Peripheral, <P as Peripheral>::P: InputPin,
{ /* private fields */ }
Expand description

Builder type for Input, can be obtained with Input::builder().

Implementations§

§

impl<P> InputBuilder<P>
where P: Peripheral + 'static, <P as Peripheral>::P: InputPin,

pub fn schmitt_trigger(self, enable: bool) -> InputBuilder<P>

Configures the input’s Schmitt trigger.

§Note

Fails to compile if the HAL does not support configuring Schmitt trigger on inputs.

§

impl<P> InputBuilder<P>
where P: Peripheral + 'static, <P as Peripheral>::P: InputPin,

pub fn build(self) -> Input

Returns an Input by finalizing the builder.

pub fn build_with_interrupt(self) -> Result<IntEnabledInput, Error>

Available on crate feature external-interrupts only.

Returns an IntEnabledInput by finalizing the builder.

§Errors

On some MCU families, the number of external interrupts that can simultaneously be enabled is limited by the number of hardware interrupt channels. Some MCU families also have other limitations, for instance it may not be possible to register interrupts on a pin if one is already registered on the pin with the same pin number of another port (e.g., PA0 and PB0). In these cases, this returns an Error::InterruptChannel, with a HAL-specific error.

Auto Trait Implementations§

§

impl<P> Freeze for InputBuilder<P>
where P: Freeze,

§

impl<P> RefUnwindSafe for InputBuilder<P>
where P: RefUnwindSafe,

§

impl<P> Send for InputBuilder<P>
where P: Send,

§

impl<P> Sync for InputBuilder<P>
where P: Sync,

§

impl<P> Unpin for InputBuilder<P>
where P: Unpin,

§

impl<P> UnwindSafe for InputBuilder<P>
where P: UnwindSafe,

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