aboutsummaryrefslogtreecommitdiff
path: root/rtic-monotonics/src
diff options
context:
space:
mode:
authorAnton Lazarev <antonok35@gmail.com>2025-06-23 22:17:54 -0700
committerHenrik Tjäder <henrik@tjaders.com>2025-06-30 20:15:31 +0000
commitb4a0c9057df8df239edcd7c6bc2b5661868ef1bb (patch)
tree5f7bb8e86d8752409b530b12fab036ad461e7a26 /rtic-monotonics/src
parent1104a12ca3de42cffd037df0969fb3723f599057 (diff)
panic if STM32 clock prescaler value overflows
Diffstat (limited to 'rtic-monotonics/src')
-rw-r--r--rtic-monotonics/src/stm32.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/rtic-monotonics/src/stm32.rs b/rtic-monotonics/src/stm32.rs
index e6cb71b..b3da4a6 100644
--- a/rtic-monotonics/src/stm32.rs
+++ b/rtic-monotonics/src/stm32.rs
@@ -238,8 +238,10 @@ macro_rules! make_timer {
$timer.cr1().modify(|r| r.set_cen(false));
assert!((tim_clock_hz % timer_hz) == 0, "Unable to find suitable timer prescaler value!");
- let psc = tim_clock_hz / timer_hz - 1;
- $timer.psc().write(|r| r.set_psc(psc as u16));
+ let Ok(psc) = u16::try_from(tim_clock_hz / timer_hz - 1) else {
+ panic!("Clock prescaler overflowed!");
+ };
+ $timer.psc().write(|r| r.set_psc(psc));
// Enable full-period interrupt.
$timer.dier().modify(|r| r.set_uie(true));