embassy_stm32_plus/traits/crc/mod.rs
1#[cfg(CRC_v3)]
2use embassy_stm32::crc::Config;
3use embassy_stm32::crc::Crc;
4use embassy_stm32::Peripheral;
5use embassy_stm32::peripherals::CRC;
6
7/// crc trait
8pub trait CrcTrait: Peripheral<P=CRC> + 'static {
9 #[cfg(not(CRC_v3))]
10 fn build(self) -> Crc<'static> {
11 Crc::new(self)
12 }
13
14 #[cfg(CRC_v3)]
15 fn build(self, config: Config) -> Crc<'static> {
16 Crc::new(self, config)
17 }
18}
19
20/// support crc
21impl CrcTrait for CRC {}