Output

Struct Output 

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

A GPIO output.

Implementations§

§

impl<'a> Output<'a>

pub fn new<P>( pin: impl IntoPeripheral<'a, P>, initial_level: Level, ) -> Output<'a>
where P: OutputPin + 'a,

Returns a configured Output.

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, initial_level: Level) -> OutputBuilder<'a, T, P>
where T: IntoPeripheral<'a, P>, P: OutputPin + 'a,

Returns an OutputBuilder, allowing to configure the GPIO output 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 set_high(&mut self)

Sets the output as high.

pub fn set_low(&mut self)

Sets the output as low.

pub fn set_level(&mut self, level: Level)

Sets the output level.

pub fn toggle(&mut self)

Toggles the output level.

Trait Implementations§

§

impl OutputPin for Output<'_>

§

fn set_high(&mut self) -> Result<(), <Output<'_> as ErrorType>::Error>

Drives the pin high. Read more
§

fn set_low(&mut self) -> Result<(), <Output<'_> as ErrorType>::Error>

Drives the pin low. Read more
§

fn set_state(&mut self, state: PinState) -> Result<(), Self::Error>

Drives the pin high or low depending on the provided value. Read more
§

impl StatefulOutputPin for Output<'_>

§

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

Is the pin in drive high mode? Read more
§

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

Is the pin in drive low mode? Read more
§

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

Toggle pin output.

Auto Trait Implementations§

§

impl<'a> Freeze for Output<'a>

§

impl<'a> RefUnwindSafe for Output<'a>

§

impl<'a> Send for Output<'a>

§

impl<'a> Sync for Output<'a>

§

impl<'a> Unpin for Output<'a>

§

impl<'a> UnwindSafe for Output<'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