aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Salzedo <[email protected]>2021-09-26 16:29:22 -0700
committerJoshua Salzedo <[email protected]>2021-09-26 16:29:22 -0700
commite527892d89ff14b6af4aad778945c4675423fa77 (patch)
tree573097e8719e656e38d78be6f08bd4c771d86593
parentf8d833e0c507112dcf52f621ae9730c9cacf9476 (diff)
Start work on CRC_v1
-rw-r--r--embassy-stm32/src/crc/mod.rs4
-rw-r--r--embassy-stm32/src/crc/v1.rs21
-rw-r--r--embassy-stm32/src/crc/v2.rs0
-rw-r--r--embassy-stm32/src/crc/v3.rs0
-rw-r--r--embassy-stm32/src/lib.rs2
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")]
4mod _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 @@
1use crate::pac::{CRC as PAC_CRC, RCC};
2use crate::peripherals::CRC;
3use crate::rcc::sealed::RccPeripheral;
4
5pub struct Crc {
6 _peripheral: CRC
7}
8
9impl 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;
49pub mod spi; 49pub mod spi;
50#[cfg(usart)] 50#[cfg(usart)]
51pub mod usart; 51pub mod usart;
52#[cfg(crc)]
53pub mod crc;
52 54
53#[cfg(feature = "subghz")] 55#[cfg(feature = "subghz")]
54pub mod subghz; 56pub mod subghz;