Struct ftdi_embedded_hal::SpiDevice
source · [−]pub struct SpiDevice<'a, Device: MpsseCmdExecutor> { /* private fields */ }
Expand description
FTDI SPI device, a SPI bus with chip select pin.
This is created by calling FtHal::spi_device
.
This is specific to embedded-hal version 1.
Implementations
sourceimpl<'a, Device, E> SpiDevice<'a, Device>where
Device: MpsseCmdExecutor<Error = E>,
E: Error,
Error<E>: From<E>,
impl<'a, Device, E> SpiDevice<'a, Device>where
Device: MpsseCmdExecutor<Error = E>,
E: Error,
Error<E>: From<E>,
sourcepub fn set_clock_polarity<P: Into<Polarity>>(&mut self, cpol: P)
pub fn set_clock_polarity<P: Into<Polarity>>(&mut self, cpol: P)
Set the SPI clock polarity.
FTD2XX devices only supports SPI mode 0 and 2, clock phase is fixed.
Example
use eh1::spi::Polarity;
use ftdi_embedded_hal as hal;
let device = libftd2xx::Ft2232h::with_description("Dual RS232-HS A")?;
let hal = hal::FtHal::init_freq(device, 3_000_000)?;
let mut spi = hal.spi_device(3)?;
spi.set_clock_polarity(Polarity::IdleLow);
Trait Implementations
sourceimpl<'a, Device: Debug + MpsseCmdExecutor> Debug for SpiDevice<'a, Device>
impl<'a, Device: Debug + MpsseCmdExecutor> Debug for SpiDevice<'a, Device>
sourceimpl<'a, Device, E> ErrorType for SpiDevice<'a, Device>where
Device: MpsseCmdExecutor<Error = E>,
E: Error,
Error<E>: From<E>,
impl<'a, Device, E> ErrorType for SpiDevice<'a, Device>where
Device: MpsseCmdExecutor<Error = E>,
E: Error,
Error<E>: From<E>,
type Error = Error<E>
type Error = Error<E>
Error type
sourceimpl<'a, Device, E> SpiDevice for SpiDevice<'a, Device>where
Device: MpsseCmdExecutor<Error = E>,
E: Error,
Error<E>: From<E>,
impl<'a, Device, E> SpiDevice for SpiDevice<'a, Device>where
Device: MpsseCmdExecutor<Error = E>,
E: Error,
Error<E>: From<E>,
type Bus = SpiDeviceBus<'a, Device>
type Bus = SpiDeviceBus<'a, Device>
SPI Bus type for this device.
sourcefn transaction<R>(
&mut self,
f: impl FnOnce(&mut Self::Bus) -> Result<R, <Self::Bus as ErrorType>::Error>
) -> Result<R, Self::Error>
fn transaction<R>(
&mut self,
f: impl FnOnce(&mut Self::Bus) -> Result<R, <Self::Bus as ErrorType>::Error>
) -> Result<R, Self::Error>
Perform a transaction against the device. Read more
sourcefn write<Word>(&mut self, buf: &[Word]) -> Result<(), Self::Error>where
Word: Copy,
Self::Bus: SpiBusWrite<Word>,
fn write<Word>(&mut self, buf: &[Word]) -> Result<(), Self::Error>where
Word: Copy,
Self::Bus: SpiBusWrite<Word>,
Do a write within a transaction. Read more
sourcefn read<Word>(&mut self, buf: &mut [Word]) -> Result<(), Self::Error>where
Word: Copy,
Self::Bus: SpiBusRead<Word>,
fn read<Word>(&mut self, buf: &mut [Word]) -> Result<(), Self::Error>where
Word: Copy,
Self::Bus: SpiBusRead<Word>,
Do a read within a transaction. Read more
Auto Trait Implementations
impl<'a, Device> RefUnwindSafe for SpiDevice<'a, Device>
impl<'a, Device> Send for SpiDevice<'a, Device>where
Device: Send,
impl<'a, Device> Sync for SpiDevice<'a, Device>where
Device: Send,
impl<'a, Device> Unpin for SpiDevice<'a, Device>
impl<'a, Device> UnwindSafe for SpiDevice<'a, Device>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more