diff options
| author | Joshua Salzedo <[email protected]> | 2021-09-26 16:29:22 -0700 |
|---|---|---|
| committer | Joshua Salzedo <[email protected]> | 2021-09-26 16:29:22 -0700 |
| commit | e527892d89ff14b6af4aad778945c4675423fa77 (patch) | |
| tree | 573097e8719e656e38d78be6f08bd4c771d86593 | |
| parent | f8d833e0c507112dcf52f621ae9730c9cacf9476 (diff) | |
Start work on CRC_v1
| -rw-r--r-- | embassy-stm32/src/crc/mod.rs | 4 | ||||
| -rw-r--r-- | embassy-stm32/src/crc/v1.rs | 21 | ||||
| -rw-r--r-- | embassy-stm32/src/crc/v2.rs | 0 | ||||
| -rw-r--r-- | embassy-stm32/src/crc/v3.rs | 0 | ||||
| -rw-r--r-- | embassy-stm32/src/lib.rs | 2 |
5 files changed, 27 insertions, 0 deletions
diff --git a/embassy-stm32/src/crc/mod.rs b/embassy-stm32/src/crc/mod.rs new file mode 100644 index 000000000..79e00be73 --- /dev/null +++ b/embassy-stm32/src/crc/mod.rs | |||
| @@ -0,0 +1,4 @@ | |||
| 1 | #[cfg_attr(crc_v1, path = "v1.rs")] | ||
| 2 | #[cfg_attr(crc_v2, path = "v2.rs")] | ||
| 3 | #[cfg_attr(crc_v3, path = "v3.rs")] | ||
| 4 | mod _version; \ No newline at end of file | ||
diff --git a/embassy-stm32/src/crc/v1.rs b/embassy-stm32/src/crc/v1.rs new file mode 100644 index 000000000..4fc23fe39 --- /dev/null +++ b/embassy-stm32/src/crc/v1.rs | |||
| @@ -0,0 +1,21 @@ | |||
| 1 | use crate::pac::{CRC as PAC_CRC, RCC}; | ||
| 2 | use crate::peripherals::CRC; | ||
| 3 | use crate::rcc::sealed::RccPeripheral; | ||
| 4 | |||
| 5 | pub struct Crc { | ||
| 6 | _peripheral: CRC | ||
| 7 | } | ||
| 8 | |||
| 9 | impl Crc{ | ||
| 10 | pub fn new(peripheral: CRC) -> Self{ | ||
| 11 | // enable CRC clock in RCC. | ||
| 12 | CRC::enable(); | ||
| 13 | // Reset CRC to default values. | ||
| 14 | CRC::reset(); | ||
| 15 | Self { _peripheral: peripheral} | ||
| 16 | } | ||
| 17 | |||
| 18 | pub fn reset() { | ||
| 19 | unsafe { PAC_CRC.cr().modify(|w| w.set_reset(true)) }; | ||
| 20 | } | ||
| 21 | } \ No newline at end of file | ||
diff --git a/embassy-stm32/src/crc/v2.rs b/embassy-stm32/src/crc/v2.rs new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/embassy-stm32/src/crc/v2.rs | |||
diff --git a/embassy-stm32/src/crc/v3.rs b/embassy-stm32/src/crc/v3.rs new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/embassy-stm32/src/crc/v3.rs | |||
diff --git a/embassy-stm32/src/lib.rs b/embassy-stm32/src/lib.rs index 073e79f2f..711c29971 100644 --- a/embassy-stm32/src/lib.rs +++ b/embassy-stm32/src/lib.rs | |||
| @@ -49,6 +49,8 @@ pub mod sdmmc; | |||
| 49 | pub mod spi; | 49 | pub mod spi; |
| 50 | #[cfg(usart)] | 50 | #[cfg(usart)] |
| 51 | pub mod usart; | 51 | pub mod usart; |
| 52 | #[cfg(crc)] | ||
| 53 | pub mod crc; | ||
| 52 | 54 | ||
| 53 | #[cfg(feature = "subghz")] | 55 | #[cfg(feature = "subghz")] |
| 54 | pub mod subghz; | 56 | pub mod subghz; |
