embassy_stm32_plus/traits/uart/
uart1.rs1use embassy_stm32::peripherals::USART1;
2use crate::builder::uart::uart1::rx::{Uart1Rx, Uart1RxBuilder};
3use crate::builder::uart::uart1::tx::{Uart1Tx, Uart1TxBuilder};
4use crate::builder::uart::uart1::Uart1Builder;
5
6pub trait Uart1Trait {
8 fn builder(self, tx: Uart1Tx, rx: Uart1Rx) -> Uart1Builder;
10
11 fn tx_builder(self,tx: Uart1Tx) -> Uart1TxBuilder;
13
14 fn rx_builder(self,rx: Uart1Rx) -> Uart1RxBuilder;
16}
17
18impl Uart1Trait for USART1 {
20 #[inline]
21 fn builder(self, tx: Uart1Tx, rx: Uart1Rx) -> Uart1Builder {
22 Uart1Builder::new(self, tx, rx)
23 }
24
25 #[inline]
26 fn tx_builder(self, tx: Uart1Tx) -> Uart1TxBuilder {
27 Uart1TxBuilder::new(self, tx)
28 }
29
30 #[inline]
31 fn rx_builder(self, rx: Uart1Rx) -> Uart1RxBuilder {
32 Uart1RxBuilder::new(self, rx)
33 }
34}