InvertedPin

Struct InvertedPin 

Source
pub struct InvertedPin<P> { /* private fields */ }
Expand description

Inverted input/output pin

If wrapping an output pin, whenever setting this pin to a high or low level, the wrapped pin will be set to the opposite level.

Likewise, if wrapping an input pin, whenever reading this pin it will read the wrapped input pin and return the opposite level.

Implementations§

Source§

impl<P> InvertedPin<P>

Source

pub fn new(pin: P) -> Self

Create new instance

Source

pub fn destroy(self) -> P

Destroy instance and return the wrapped pin

Trait Implementations§

Source§

impl<P: Clone> Clone for InvertedPin<P>

Source§

fn clone(&self) -> InvertedPin<P>

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<P: Debug> Debug for InvertedPin<P>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<P, E> ErrorType for InvertedPin<P>
where P: ErrorType<Error = E>, E: Error,

Source§

type Error = E

Error type
Source§

impl<P, E> InputPin for InvertedPin<P>
where P: InputPin<Error = E>, E: Error,

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?
Source§

impl<P, E> OutputPin for InvertedPin<P>
where P: OutputPin<Error = E>, E: Error,

Source§

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

Drives the pin high. Read more
Source§

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

Drives the pin low. Read more
Source§

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

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

impl<P, E> StatefulOutputPin for InvertedPin<P>
where P: StatefulOutputPin<Error = E>, E: Error,

Source§

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

Is the pin in drive high mode? Read more
Source§

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

Is the pin in drive low mode? Read more
Source§

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

Toggle pin output.
Source§

impl<P: Copy> Copy for InvertedPin<P>

Auto Trait Implementations§

§

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

§

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

§

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

§

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

§

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

§

impl<P> UnwindSafe for InvertedPin<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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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 = 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.