embassy_stm32_plus/traits/spi/
spi3.rs1use embassy_stm32::peripherals::SPI3;
2use crate::builder::spi::spi3::rx::{Spi3Miso, Spi3RxBuilder};
3use crate::builder::spi::spi3::{Spi3Builder, Spi3Sck};
4use crate::builder::spi::spi3::tx::{Spi3Mosi, Spi3TxBuilder};
5
6pub trait Spi3Trait {
8 fn builder(self, sck: Spi3Sck, mosi: Spi3Mosi, miso: Spi3Miso) -> Spi3Builder;
10
11 fn tx_builder(self, mosi: Spi3Mosi) -> Spi3TxBuilder;
13
14 fn rx_builder(self, sck: Spi3Sck, miso: Spi3Miso) -> Spi3RxBuilder;
16}
17
18impl Spi3Trait for SPI3 {
20 #[inline]
21 fn builder(self, sck: Spi3Sck, mosi: Spi3Mosi, miso: Spi3Miso) -> Spi3Builder {
22 Spi3Builder::new(self, sck, mosi, miso)
23 }
24
25 #[inline]
26 fn tx_builder(self, mosi: Spi3Mosi) -> Spi3TxBuilder {
27 Spi3TxBuilder::new(self, mosi)
28 }
29
30 #[inline]
31 fn rx_builder(self, sck: Spi3Sck, miso: Spi3Miso) -> Spi3RxBuilder {
32 Spi3RxBuilder::new(self, sck, miso)
33 }
34}