Struct nrf51_hal::Spi[][src]

pub struct Spi<T>(_);
Expand description

Interface to a SPI instance.

Implementations

impl<T> Spi<T> where
    T: Instance
[src]

pub fn new(spi: T, pins: Pins, frequency: FREQUENCY_A, mode: Mode) -> Spi<T>[src]

pub fn free(self) -> T[src]

Return the raw interface to the underlying SPI peripheral.

Trait Implementations

impl<T> FullDuplex<u8> for Spi<T> where
    T: Instance
[src]

pub fn read(&mut self) -> Result<u8, Error<<Spi<T> as FullDuplex<u8>>::Error>>[src]

Must only be called after send as the interface will read and write at the same time.

pub fn send(
    &mut self,
    byte: u8
) -> Result<(), Error<<Spi<T> as FullDuplex<u8>>::Error>>
[src]

Must only be called the same number of times as read.

nRF51 is double buffered; two bytes can be written before data must be read.

type Error = Error

An enumeration of SPI errors

impl<T> Default<u8> for Spi<T> where
    T: Instance,
    Spi<T>: FullDuplex<u8>, 
[src]

impl<T> Default<u8> for Spi<T> where
    T: Instance,
    Spi<T>: FullDuplex<u8>, 
[src]

impl<T> Default<u8> for Spi<T> where
    T: Instance,
    Spi<T>: FullDuplex<u8>, 
[src]

Auto Trait Implementations

impl<T> Send for Spi<T> where
    T: Send

impl<T> Sync for Spi<T> where
    T: Sync

impl<T> Unpin for Spi<T> where
    T: Unpin

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

pub fn type_id(&self) -> TypeId[src]

Gets the TypeId of self. Read more

impl<T> Az for T[src]

pub fn az<Dst>(self) -> Dst where
    T: Cast<Dst>, 
[src]

Casts the value.

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

pub fn borrow(&self) -> &T[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

pub fn borrow_mut(&mut self) -> &mut T[src]

Mutably borrows from an owned value. Read more

impl<T> CheckedAs for T[src]

pub fn checked_as<Dst>(self) -> Option<Dst> where
    T: CheckedCast<Dst>, 
[src]

Casts the value.

impl<T> From<T> for T[src]

pub fn from(t: T) -> T[src]

Performs the conversion.

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

pub fn into(self) -> U[src]

Performs the conversion.

impl<Src, Dst> LosslessTryInto<Dst> for Src where
    Dst: LosslessTryFrom<Src>, 
[src]

pub fn lossless_try_into(self) -> Option<Dst>[src]

Performs the conversion.

impl<Src, Dst> LossyInto<Dst> for Src where
    Dst: LossyFrom<Src>, 
[src]

pub fn lossy_into(self) -> Dst[src]

Performs the conversion.

impl<T> OverflowingAs for T[src]

pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
    T: OverflowingCast<Dst>, 
[src]

Casts the value.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> SaturatingAs for T[src]

pub fn saturating_as<Dst>(self) -> Dst where
    T: SaturatingCast<Dst>, 
[src]

Casts the value.

impl<W, S> Transfer<W> for S where
    W: Clone,
    S: Default<W>, 
[src]

type Error = <S as FullDuplex<W>>::Error

Error type

pub fn transfer(
    &mut self,
    words: &'w mut [W]
) -> Result<&'w [W], <S as FullDuplex<W>>::Error>
[src]

Sends words to the slave. Returns the words received from the slave

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]

Performs the conversion.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>[src]

Performs the conversion.

impl<T> UnwrappedAs for T[src]

pub fn unwrapped_as<Dst>(self) -> Dst where
    T: UnwrappedCast<Dst>, 
[src]

Casts the value.

impl<T> WrappingAs for T[src]

pub fn wrapping_as<Dst>(self) -> Dst where
    T: WrappingCast<Dst>, 
[src]

Casts the value.

impl<W, S> Write<W> for S where
    W: Clone,
    S: Default<W>, 
[src]

type Error = <S as FullDuplex<W>>::Error

Error type

pub fn write(&mut self, words: &[W]) -> Result<(), <S as FullDuplex<W>>::Error>[src]

Sends words to the slave, ignoring all the incoming words

impl<W, S> WriteIter<W> for S where
    W: Clone,
    S: Default<W>, 
[src]

type Error = <S as FullDuplex<W>>::Error

Error type

pub fn write_iter<WI>(
    &mut self,
    words: WI
) -> Result<(), <S as FullDuplex<W>>::Error> where
    WI: IntoIterator<Item = W>, 
[src]

Sends words to the slave, ignoring all the incoming words