diff options
| -rw-r--r-- | embassy-stm32/Cargo.toml | 1 | ||||
| -rw-r--r-- | embassy-stm32/src/rcc/f1/mod.rs | 13 |
2 files changed, 6 insertions, 8 deletions
diff --git a/embassy-stm32/Cargo.toml b/embassy-stm32/Cargo.toml index 6881f13e8..b2f863377 100644 --- a/embassy-stm32/Cargo.toml +++ b/embassy-stm32/Cargo.toml | |||
| @@ -28,7 +28,6 @@ stm32-metapac = { version = "0.1.0", path = "../stm32-metapac", features = ["rt" | |||
| 28 | vcell = { version = "0.1.3", optional = true } | 28 | vcell = { version = "0.1.3", optional = true } |
| 29 | bxcan = "0.5.1" | 29 | bxcan = "0.5.1" |
| 30 | seq-macro = "0.2.2" | 30 | seq-macro = "0.2.2" |
| 31 | cast = { version = "0.2.2", default-features = false } | ||
| 32 | 31 | ||
| 33 | cfg-if = "1.0.0" | 32 | cfg-if = "1.0.0" |
| 34 | 33 | ||
diff --git a/embassy-stm32/src/rcc/f1/mod.rs b/embassy-stm32/src/rcc/f1/mod.rs index 75367d421..fc9fc128f 100644 --- a/embassy-stm32/src/rcc/f1/mod.rs +++ b/embassy-stm32/src/rcc/f1/mod.rs | |||
| @@ -1,3 +1,4 @@ | |||
| 1 | use core::convert::TryFrom; | ||
| 1 | use core::marker::PhantomData; | 2 | use core::marker::PhantomData; |
| 2 | 3 | ||
| 3 | use embassy::util::Unborrow; | 4 | use embassy::util::Unborrow; |
| @@ -7,8 +8,6 @@ use crate::pac::{FLASH, RCC}; | |||
| 7 | use crate::peripherals; | 8 | use crate::peripherals; |
| 8 | use crate::time::Hertz; | 9 | use crate::time::Hertz; |
| 9 | 10 | ||
| 10 | use cast::u32; | ||
| 11 | |||
| 12 | use super::{set_freqs, Clocks}; | 11 | use super::{set_freqs, Clocks}; |
| 13 | 12 | ||
| 14 | const HSI: u32 = 8_000_000; | 13 | const HSI: u32 = 8_000_000; |
| @@ -94,8 +93,8 @@ impl<'d> Rcc<'d> { | |||
| 94 | }) | 93 | }) |
| 95 | .unwrap_or(0b011); | 94 | .unwrap_or(0b011); |
| 96 | 95 | ||
| 97 | let ppre1: i32 = 1 << (ppre1_bits - 0b011); | 96 | let ppre1 = 1 << (ppre1_bits - 0b011); |
| 98 | let pclk1 = hclk / u32(ppre1).unwrap(); | 97 | let pclk1 = hclk / u32::try_from(ppre1).unwrap(); |
| 99 | let timer_mul1 = if ppre1 == 1 { 1 } else { 2 }; | 98 | let timer_mul1 = if ppre1 == 1 { 1 } else { 2 }; |
| 100 | 99 | ||
| 101 | assert!(pclk1 <= 36_000_000); | 100 | assert!(pclk1 <= 36_000_000); |
| @@ -113,8 +112,8 @@ impl<'d> Rcc<'d> { | |||
| 113 | }) | 112 | }) |
| 114 | .unwrap_or(0b011); | 113 | .unwrap_or(0b011); |
| 115 | 114 | ||
| 116 | let ppre2: i32 = 1 << (ppre2_bits - 0b011); | 115 | let ppre2 = 1 << (ppre2_bits - 0b011); |
| 117 | let pclk2 = hclk / u32(ppre2).unwrap(); | 116 | let pclk2 = hclk / u32::try_from(ppre2).unwrap(); |
| 118 | let timer_mul2 = if ppre2 == 1 { 1 } else { 2 }; | 117 | let timer_mul2 = if ppre2 == 1 { 1 } else { 2 }; |
| 119 | 118 | ||
| 120 | assert!(pclk2 <= 72_000_000); | 119 | assert!(pclk2 <= 72_000_000); |
| @@ -154,7 +153,7 @@ impl<'d> Rcc<'d> { | |||
| 154 | .unwrap_or(0b11); | 153 | .unwrap_or(0b11); |
| 155 | 154 | ||
| 156 | let apre = (apre_bits + 1) << 1; | 155 | let apre = (apre_bits + 1) << 1; |
| 157 | let adcclk = pclk2 / u32(apre); | 156 | let adcclk = pclk2 / unwrap!(u32::try_from(apre)); |
| 158 | 157 | ||
| 159 | assert!(adcclk <= 14_000_000); | 158 | assert!(adcclk <= 14_000_000); |
| 160 | 159 | ||
