embassy_stm32_plus/traits/usb/
mod.rs1use embassy_stm32::peripherals::{PA11, PA12};
2#[cfg(USB)]
3use embassy_stm32::peripherals::USB;
4#[cfg(USB_OTG_FS)]
5use embassy_stm32::peripherals::USB_OTG_FS;
6#[cfg(USB)]
7use crate::builder::usb::basis::UsbBuilder;
8#[cfg(USB_OTG_FS)]
9use crate::builder::usb::otg::UsbBuilder;
10
11pub trait UsbTrait {
13 fn builder(self, dp: PA12, dm: PA11) -> UsbBuilder;
15}
16
17#[cfg(USB)]
19impl UsbTrait for USB {
20 #[inline]
21 fn builder(self, dp: PA12, dm: PA11) -> UsbBuilder {
22 UsbBuilder::new(self, dp, dm)
23 }
24}
25
26#[cfg(USB_OTG_FS)]
28impl UsbTrait for USB_OTG_FS {
29 #[inline]
30 fn builder(self, dp: PA12, dm: PA11) -> UsbBuilder {
31 UsbBuilder::new(self, dp, dm)
32 }
33}