[−][src]Struct sodaq_one::sercom::SPIMaster4
SPIMasterX represents the corresponding SERCOMX instance
configured to act in the role of an SPI Master.
Objects of this type implement the HAL FullDuplex
and blocking
SPI traits.
This type is generic over any valid pad mapping where there is a defined "data in pin out data out pin out" implementation.
Methods
impl<MISO, MOSI, SCK> SPIMaster4<MISO, MOSI, SCK>
[src]
pub fn new<F, T>(
clock: &Sercom4CoreClock,
freq: F,
mode: Mode,
sercom: SERCOM4,
pm: &mut PM,
padout: T
) -> SPIMaster4<MISO, MOSI, SCK> where
F: Into<Hertz>,
T: Into<SPIMaster4Padout<MISO, MOSI, SCK>>,
SPIMaster4Padout<MISO, MOSI, SCK>: DipoDopo,
[src]
clock: &Sercom4CoreClock,
freq: F,
mode: Mode,
sercom: SERCOM4,
pm: &mut PM,
padout: T
) -> SPIMaster4<MISO, MOSI, SCK> where
F: Into<Hertz>,
T: Into<SPIMaster4Padout<MISO, MOSI, SCK>>,
SPIMaster4Padout<MISO, MOSI, SCK>: DipoDopo,
Power on and configure SERCOMX to work as an SPI Master operating with the specified frequency and SPI Mode. The padout specifies which pins are bound to the MISO, MOSI, SCK functions.
You can use a tuple of three SercomXPadY instances for which there exists a From implementation for SPIMasterXPadout.
pub fn free(self) -> (SPIMaster4Padout<MISO, MOSI, SCK>, SERCOM4)
[src]
Tear down the SPI instance and yield the constituent pins and SERCOM instance. No explicit de-initialization is performed.
Trait Implementations
impl<MISO, MOSI, SCK> Default<u8> for SPIMaster4<MISO, MOSI, SCK>
[src]
impl<MISO, MOSI, SCK> Default<u8> for SPIMaster4<MISO, MOSI, SCK>
[src]
impl<MISO, MOSI, SCK> FullDuplex<u8> for SPIMaster4<MISO, MOSI, SCK>
[src]
Auto Trait Implementations
impl<MISO, MOSI, SCK> Unpin for SPIMaster4<MISO, MOSI, SCK> where
MISO: Unpin,
MOSI: Unpin,
SCK: Unpin,
MISO: Unpin,
MOSI: Unpin,
SCK: Unpin,
impl<MISO, MOSI, SCK> !Sync for SPIMaster4<MISO, MOSI, SCK>
impl<MISO, MOSI, SCK> Send for SPIMaster4<MISO, MOSI, SCK> where
MISO: Send,
MOSI: Send,
SCK: Send,
MISO: Send,
MOSI: Send,
SCK: Send,
Blanket Implementations
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<W, S> Write<W> for S where
S: Default<W>,
W: Clone,
[src]
S: Default<W>,
W: Clone,
type Error = <S as FullDuplex<W>>::Error
Error type
fn write(&mut self, words: &[W]) -> Result<(), <S as FullDuplex<W>>::Error>
[src]
impl<W, S> Transfer<W> for S where
S: Default<W>,
W: Clone,
[src]
S: Default<W>,
W: Clone,
type Error = <S as FullDuplex<W>>::Error
Error type
fn transfer(
&mut self,
words: &'w mut [W]
) -> Result<&'w [W], <S as FullDuplex<W>>::Error>
[src]
&mut self,
words: &'w mut [W]
) -> Result<&'w [W], <S as FullDuplex<W>>::Error>
impl<T> Same<T> for T
type Output = T
Should always be Self