aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreZio Pan <[email protected]>2024-02-27 14:20:58 +0800
committereZio Pan <[email protected]>2024-02-27 14:20:58 +0800
commitbf44adc4bcd4725f19ec99428acd70700b48e8cd (patch)
treec6edd037158b4dc9ea341fb031465bdf7be20b80
parentd5a2b3be58185384fca86391e9e16b219f2711ed (diff)
allow higher psc value for iwdg_v3
-rw-r--r--embassy-stm32/src/wdg/mod.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/embassy-stm32/src/wdg/mod.rs b/embassy-stm32/src/wdg/mod.rs
index dc701ef64..2ff0db09e 100644
--- a/embassy-stm32/src/wdg/mod.rs
+++ b/embassy-stm32/src/wdg/mod.rs
@@ -42,9 +42,13 @@ impl<'d, T: Instance> IndependentWatchdog<'d, T> {
42 // Prescaler value 42 // Prescaler value
43 let psc = 2u16.pow(psc_power); 43 let psc = 2u16.pow(psc_power);
44 44
45 #[cfg(not(iwdg_v3))]
46 assert!(psc <= 256, "IWDG prescaler should be no more than 256");
47 #[cfg(iwdg_v3)] // H5, U5, WBA
48 assert!(psc <= 1024, "IWDG prescaler should be no more than 1024");
49
45 // Convert prescaler power to PR register value 50 // Convert prescaler power to PR register value
46 let pr = psc_power as u8 - 2; 51 let pr = psc_power as u8 - 2;
47 assert!(pr <= 0b110);
48 52
49 // Reload value 53 // Reload value
50 let rl = reload_value(psc, timeout_us); 54 let rl = reload_value(psc, timeout_us);