pub struct ChipSelectPin<CSPIN>(/* private fields */);
Expand description

Wrapper for the CS pin

Used to contain the chip-select pin during operation to prevent its mode from being changed from Output. This is necessary because the SPI state machine would otherwise reset itself to SPI slave mode immediately. This wrapper can be used just like an output pin, because it implements all the same traits from embedded-hal.

Trait Implementations§

source§

impl<CSPIN: PinOps> ErrorType for ChipSelectPin<CSPIN>

§

type Error = Infallible

Error type
source§

impl<CSPIN: PinOps> OutputPin for ChipSelectPin<CSPIN>

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<CSPIN: PinOps> OutputPin for ChipSelectPin<CSPIN>

§

type Error = Infallible

Error type
source§

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

Drives the pin low Read more
source§

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

Drives the pin high 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<CSPIN: PinOps> StatefulOutputPin for ChipSelectPin<CSPIN>

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<CSPIN: PinOps> StatefulOutputPin for ChipSelectPin<CSPIN>

source§

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

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

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

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

impl<CSPIN: PinOps> ToggleableOutputPin for ChipSelectPin<CSPIN>

§

type Error = Infallible

Error type
source§

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

Toggle pin output.

Auto Trait Implementations§

§

impl<CSPIN> RefUnwindSafe for ChipSelectPin<CSPIN>
where CSPIN: RefUnwindSafe,

§

impl<CSPIN> Send for ChipSelectPin<CSPIN>
where CSPIN: Send,

§

impl<CSPIN> Sync for ChipSelectPin<CSPIN>
where CSPIN: Sync,

§

impl<CSPIN> Unpin for ChipSelectPin<CSPIN>
where CSPIN: Unpin,

§

impl<CSPIN> UnwindSafe for ChipSelectPin<CSPIN>
where CSPIN: 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.

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>,

§

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>,

§

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.