From 8fac444c4e54cc13f514a23e36da737d70cf7eea Mon Sep 17 00:00:00 2001 From: Joshua Salzedo Date: Sun, 26 Sep 2021 18:39:55 -0700 Subject: [PATCH] Flesh out v2 config writes --- embassy-stm32/src/crc/v2.rs | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/embassy-stm32/src/crc/v2.rs b/embassy-stm32/src/crc/v2.rs index 523bad10f..db4a3699a 100644 --- a/embassy-stm32/src/crc/v2.rs +++ b/embassy-stm32/src/crc/v2.rs @@ -55,9 +55,11 @@ impl Crc { CRC::reset(); let mut instance = Self { _peripheral: peripheral, + _config: config }; - instance.init(); - instance + unimplemented!(); + // instance.init(); + // instance } // Configure device settings @@ -84,4 +86,28 @@ impl Crc { )}) } } + + fn configure_polysize(&mut self) { + unsafe { + PAC_CRC.cr().modify(|w| {w.set_polysize( + match self._config.poly_size { + PolySize::Width7 => {vals::Polysize::POLYSIZE7} + PolySize::Width8 => {vals::Polysize::POLYSIZE8} + PolySize::Width16 => {vals::Polysize::POLYSIZE16} + PolySize::Width32 => {vals::Polysize::POLYSIZE32} + } + )}) + } + } + + pub fn reset(&mut self) { + unsafe { PAC_CRC.cr().modify(|w| w.set_reset(true)); } + } + + fn set_crc_init(&mut self, value: u32) { + unsafe { + PAC_CRC.init().write_value(value) + } + } + } \ No newline at end of file