aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariusz Ryndzionek <[email protected]>2021-09-28 18:27:07 +0200
committerMariusz Ryndzionek <[email protected]>2021-09-28 18:31:04 +0200
commitce361abb1bd2eeecfe3b4708a55db0d519480b59 (patch)
tree7ec28e8264b90b3f803d1d0a11fd3cf6036930e4
parentbce909ec1eea95f93a6887aae5aa0b37d953ec85 (diff)
Changing the casts (code review request)
-rw-r--r--embassy-stm32/Cargo.toml1
-rw-r--r--embassy-stm32/src/rcc/f1/mod.rs13
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"
28vcell = { version = "0.1.3", optional = true } 28vcell = { version = "0.1.3", optional = true }
29bxcan = "0.5.1" 29bxcan = "0.5.1"
30seq-macro = "0.2.2" 30seq-macro = "0.2.2"
31cast = { version = "0.2.2", default-features = false }
32 31
33cfg-if = "1.0.0" 32cfg-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 @@
1use core::convert::TryFrom;
1use core::marker::PhantomData; 2use core::marker::PhantomData;
2 3
3use embassy::util::Unborrow; 4use embassy::util::Unborrow;
@@ -7,8 +8,6 @@ use crate::pac::{FLASH, RCC};
7use crate::peripherals; 8use crate::peripherals;
8use crate::time::Hertz; 9use crate::time::Hertz;
9 10
10use cast::u32;
11
12use super::{set_freqs, Clocks}; 11use super::{set_freqs, Clocks};
13 12
14const HSI: u32 = 8_000_000; 13const 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