Skip to content

Commit 1524cb1

Browse files
HarkonenBadetherealprof
authored andcommitted
Update to stm32f0 - 0.6.0 (#52)
* Updated stm32f0 to 0.6.0 and neatened other deps * Adjusted names and removed unneeded unsafe blocks * Overhauled RCC to gate HSI48 correctly and add a selector function for it to CFGR
1 parent cc5dbe0 commit 1524cb1

File tree

6 files changed

+208
-92
lines changed

6 files changed

+208
-92
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
1111

1212
- Support for stm32f0x8 line - @jessebraham
1313

14+
### Changed
15+
16+
- Updated to stm32-rs v0.6.0 - @HarkonenBade
17+
1418
## [v0.12.0] - 2019-01-13
1519

1620
### Added

Cargo.toml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,13 @@ features = ["stm32f042", "rt"]
3030

3131
[dependencies]
3232
bare-metal = { version = "0.2.4", features = ["const-fn"] }
33+
cast = { version = "0.2.2", default-features = false }
3334
cortex-m = "0.5.8"
3435
cortex-m-rt = "0.6.7"
36+
embedded-hal = { version = "0.2.2", features = ["unproven"] }
37+
stm32f0 = "0.6.0"
3538
nb = "0.1.1"
3639
void = { version = "1.0.2", default-features = false }
37-
stm32f0 = "0.5.0"
38-
39-
[dependencies.cast]
40-
default-features = false
41-
version = "0.2.2"
42-
43-
[dependencies.embedded-hal]
44-
features = ["unproven"]
45-
version = "0.2.2"
4640

4741
[dev-dependencies]
4842
panic-halt = "0.2.0"

examples/led_hal_button_irq.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ fn main() -> ! {
4040

4141
let gpioa = p.GPIOA.split(&mut rcc);
4242
let gpiob = p.GPIOB.split(&mut rcc);
43-
let syscfg = p.SYSCFG_COMP;
43+
let syscfg = p.SYSCFG;
4444
let exti = p.EXTI;
4545

4646
// Configure PB1 as input (button)
@@ -57,7 +57,7 @@ fn main() -> ! {
5757

5858
// Enable external interrupt for PB1
5959
syscfg
60-
.syscfg_exticr1
60+
.exticr1
6161
.modify(|_, w| unsafe { w.exti1().bits(1) });
6262

6363
// Set interrupt request mask for line 1

src/adc.rs

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -84,20 +84,18 @@ pub enum AdcSampleTime {
8484

8585
impl AdcSampleTime {
8686
fn write_bits(self, adc: &mut stm32::ADC) {
87-
unsafe {
88-
adc.smpr.write(|w| {
89-
w.smpr().bits(match self {
90-
AdcSampleTime::T_1 => 0b000_u8,
91-
AdcSampleTime::T_7 => 0b001_u8,
92-
AdcSampleTime::T_13 => 0b010_u8,
93-
AdcSampleTime::T_28 => 0b011_u8,
94-
AdcSampleTime::T_41 => 0b100_u8,
95-
AdcSampleTime::T_55 => 0b101_u8,
96-
AdcSampleTime::T_71 => 0b110_u8,
97-
AdcSampleTime::T_239 => 0b111_u8,
98-
})
99-
});
100-
}
87+
adc.smpr.write(|w| {
88+
w.smp().bits(match self {
89+
AdcSampleTime::T_1 => 0b000_u8,
90+
AdcSampleTime::T_7 => 0b001_u8,
91+
AdcSampleTime::T_13 => 0b010_u8,
92+
AdcSampleTime::T_28 => 0b011_u8,
93+
AdcSampleTime::T_41 => 0b100_u8,
94+
AdcSampleTime::T_55 => 0b101_u8,
95+
AdcSampleTime::T_71 => 0b110_u8,
96+
AdcSampleTime::T_239 => 0b111_u8,
97+
})
98+
});
10199
}
102100

103101
/// Get the default sample time (currently 239.5 cycles)
@@ -161,16 +159,14 @@ pub enum AdcPrecision {
161159

162160
impl AdcPrecision {
163161
fn write_bits(self, adc: &mut stm32::ADC) {
164-
unsafe {
165-
adc.cfgr1.write(|w| {
166-
w.res().bits(match self {
167-
AdcPrecision::B_12 => 0b00_u8,
168-
AdcPrecision::B_10 => 0b01_u8,
169-
AdcPrecision::B_8 => 0b10_u8,
170-
AdcPrecision::B_6 => 0b11_u8,
171-
})
172-
});
173-
}
162+
adc.cfgr1.write(|w| {
163+
w.res().bits(match self {
164+
AdcPrecision::B_12 => 0b00_u8,
165+
AdcPrecision::B_10 => 0b01_u8,
166+
AdcPrecision::B_8 => 0b10_u8,
167+
AdcPrecision::B_6 => 0b11_u8,
168+
})
169+
});
174170
}
175171

176172
/// Get the default precision (currently 12 bit precision)

0 commit comments

Comments
 (0)