embassy_stm32_plus/traits/dac/
mod.rs1use embassy_stm32::peripherals::{DAC1, PA4, PA5};
2use crate::builder::dac::ch1::DacCh1Builder;
3use crate::builder::dac::ch2::DacCh2Builder;
4use crate::builder::dac::DacBuilder;
5
6pub trait DacTrait {
8 fn builder(self, ch1_pin: PA4, ch2_pin: PA5) -> DacBuilder;
10
11 fn ch1_builder(self, ch1_pin: PA4) -> DacCh1Builder;
13
14 fn ch2_builder(self, ch2_pin: PA5) -> DacCh2Builder;
16}
17
18impl DacTrait for DAC1 {
20 #[inline]
21 fn builder(self, ch1_pin: PA4, ch2_pin: PA5) -> DacBuilder {
22 DacBuilder::new(self, ch1_pin, ch2_pin)
23 }
24
25 #[inline]
26 fn ch1_builder(self, ch1_pin: PA4) -> DacCh1Builder {
27 DacCh1Builder::new(self, ch1_pin)
28 }
29
30 #[inline]
31 fn ch2_builder(self, ch2_pin: PA5) -> DacCh2Builder {
32 DacCh2Builder::new(self, ch2_pin)
33 }
34}