Skip to content

Commit 5791476

Browse files
authored
Merge pull request #334 from stm32-rs/clean
more feature cleanups
2 parents f1d18b4 + 4891053 commit 5791476

File tree

7 files changed

+174
-618
lines changed

7 files changed

+174
-618
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
4141

4242
- Add `Spi::new` and deprecate `Spi:spix`, deprecate `Serial::usartx`, remove deprecated `I2c::i2cx`
4343
- Deprecate `free` in favour of `release`
44-
- Clean features in `serial`
44+
- Clean features in `serial`, `spi`, `i2c`, `timer`
4545
- Internal implementation of GPIO Pin API changed to use Const Generics
4646
- Update the sdio driver to match the changes in the PAC
4747
- Update README.md with current information

src/adc.rs

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1042,34 +1042,10 @@ macro_rules! adc {
10421042

10431043
adc!(ADC1 => (adc1, ADC_COMMON, 8));
10441044

1045-
#[cfg(any(
1046-
feature = "stm32f405",
1047-
feature = "stm32f415",
1048-
feature = "stm32f407",
1049-
feature = "stm32f417",
1050-
feature = "stm32f427",
1051-
feature = "stm32f437",
1052-
feature = "stm32f429",
1053-
feature = "stm32f439",
1054-
feature = "stm32f446",
1055-
feature = "stm32f469",
1056-
feature = "stm32f479",
1057-
))]
1045+
#[cfg(feature = "adc2")]
10581046
adc!(ADC2 => (adc2, ADC_COMMON, 9));
10591047

1060-
#[cfg(any(
1061-
feature = "stm32f405",
1062-
feature = "stm32f415",
1063-
feature = "stm32f407",
1064-
feature = "stm32f417",
1065-
feature = "stm32f427",
1066-
feature = "stm32f437",
1067-
feature = "stm32f429",
1068-
feature = "stm32f439",
1069-
feature = "stm32f446",
1070-
feature = "stm32f469",
1071-
feature = "stm32f479",
1072-
))]
1048+
#[cfg(feature = "adc3")]
10731049
adc!(ADC3 => (adc3, ADC_COMMON, 10));
10741050

10751051
#[cfg(feature = "stm32f401")]

src/i2c.rs

Lines changed: 40 additions & 142 deletions
Original file line numberDiff line numberDiff line change
@@ -8,105 +8,12 @@ use crate::rcc::{Enable, Reset};
88
use crate::pac::I2C3;
99
use crate::pac::{I2C1, I2C2, RCC};
1010

11-
#[cfg(feature = "i2c3")]
12-
use crate::gpio::gpioa::PA8;
13-
14-
#[cfg(any(
15-
feature = "stm32f405",
16-
feature = "stm32f407",
17-
feature = "stm32f410",
18-
feature = "stm32f411",
19-
feature = "stm32f412",
20-
feature = "stm32f413",
21-
feature = "stm32f415",
22-
feature = "stm32f417",
23-
feature = "stm32f423",
24-
feature = "stm32f427",
25-
feature = "stm32f429",
26-
feature = "stm32f437",
27-
feature = "stm32f439",
28-
feature = "stm32f446",
29-
feature = "stm32f469",
30-
feature = "stm32f479"
31-
))]
32-
use crate::gpio::gpiob::PB11;
33-
#[cfg(any(
34-
feature = "stm32f401",
35-
feature = "stm32f410",
36-
feature = "stm32f411",
37-
feature = "stm32f412",
38-
feature = "stm32f413",
39-
feature = "stm32f423",
40-
feature = "stm32f446"
41-
))]
42-
use crate::gpio::gpiob::PB3;
43-
#[cfg(any(
44-
feature = "stm32f401",
45-
feature = "stm32f411",
46-
feature = "stm32f412",
47-
feature = "stm32f413",
48-
feature = "stm32f423",
49-
feature = "stm32f446"
50-
))]
51-
use crate::gpio::gpiob::PB4;
52-
#[cfg(any(
53-
feature = "stm32f401",
54-
feature = "stm32f405",
55-
feature = "stm32f407",
56-
feature = "stm32f410",
57-
feature = "stm32f411",
58-
feature = "stm32f412",
59-
feature = "stm32f413",
60-
feature = "stm32f415",
61-
feature = "stm32f417",
62-
feature = "stm32f423",
63-
feature = "stm32f427",
64-
feature = "stm32f429",
65-
feature = "stm32f437",
66-
feature = "stm32f439",
67-
feature = "stm32f446",
68-
feature = "stm32f469",
69-
feature = "stm32f479"
70-
))]
71-
use crate::gpio::gpiob::{PB10, PB6, PB7, PB8, PB9};
72-
73-
#[cfg(any(feature = "stm32f446"))]
74-
use crate::gpio::gpioc::PC12;
75-
76-
#[cfg(feature = "i2c3")]
77-
use crate::gpio::gpioc::PC9;
78-
79-
#[cfg(any(
80-
feature = "stm32f405",
81-
feature = "stm32f407",
82-
feature = "stm32f412",
83-
feature = "stm32f413",
84-
feature = "stm32f415",
85-
feature = "stm32f417",
86-
feature = "stm32f423",
87-
feature = "stm32f427",
88-
feature = "stm32f429",
89-
feature = "stm32f437",
90-
feature = "stm32f439",
91-
feature = "stm32f446",
92-
feature = "stm32f469",
93-
feature = "stm32f479"
94-
))]
95-
use crate::gpio::gpiof::{PF0, PF1};
96-
97-
#[cfg(any(
98-
feature = "stm32f405",
99-
feature = "stm32f407",
100-
feature = "stm32f415",
101-
feature = "stm32f417",
102-
feature = "stm32f427",
103-
feature = "stm32f429",
104-
feature = "stm32f437",
105-
feature = "stm32f439",
106-
feature = "stm32f469",
107-
feature = "stm32f479"
108-
))]
109-
use crate::gpio::gpioh::{PH4, PH5, PH7, PH8};
11+
#[allow(unused)]
12+
#[cfg(feature = "gpiof")]
13+
use crate::gpio::gpiof;
14+
#[allow(unused)]
15+
use crate::gpio::gpioh;
16+
use crate::gpio::{gpioa, gpiob, gpioc};
11017

11118
use crate::gpio::AlternateOD;
11219

@@ -137,13 +44,13 @@ where
13744
{
13845
}
13946

140-
impl PinScl<I2C1> for PB6<AlternateOD<4>> {}
141-
impl PinSda<I2C1> for PB7<AlternateOD<4>> {}
142-
impl PinScl<I2C1> for PB8<AlternateOD<4>> {}
143-
impl PinSda<I2C1> for PB9<AlternateOD<4>> {}
47+
impl PinScl<I2C1> for gpiob::PB6<AlternateOD<4>> {}
48+
impl PinSda<I2C1> for gpiob::PB7<AlternateOD<4>> {}
49+
impl PinScl<I2C1> for gpiob::PB8<AlternateOD<4>> {}
50+
impl PinSda<I2C1> for gpiob::PB9<AlternateOD<4>> {}
14451

14552
#[cfg(any(feature = "stm32f446"))]
146-
impl PinSda<I2C2> for PB3<AlternateOD<4>> {}
53+
impl PinSda<I2C2> for gpiob::PB3<AlternateOD<4>> {}
14754
#[cfg(any(
14855
feature = "stm32f401",
14956
feature = "stm32f410",
@@ -152,16 +59,16 @@ impl PinSda<I2C2> for PB3<AlternateOD<4>> {}
15259
feature = "stm32f413",
15360
feature = "stm32f423"
15461
))]
155-
impl PinSda<I2C2> for PB3<AlternateOD<9>> {}
62+
impl PinSda<I2C2> for gpiob::PB3<AlternateOD<9>> {}
15663
#[cfg(any(
15764
feature = "stm32f410",
15865
feature = "stm32f411",
15966
feature = "stm32f412",
16067
feature = "stm32f413",
16168
feature = "stm32f423"
16269
))]
163-
impl PinSda<I2C2> for PB9<AlternateOD<9>> {}
164-
impl PinScl<I2C2> for PB10<AlternateOD<4>> {}
70+
impl PinSda<I2C2> for gpiob::PB9<AlternateOD<9>> {}
71+
impl PinScl<I2C2> for gpiob::PB10<AlternateOD<4>> {}
16572
#[cfg(any(
16673
feature = "stm32f405",
16774
feature = "stm32f407",
@@ -180,9 +87,9 @@ impl PinScl<I2C2> for PB10<AlternateOD<4>> {}
18087
feature = "stm32f469",
18188
feature = "stm32f479"
18289
))]
183-
impl PinSda<I2C2> for PB11<AlternateOD<4>> {}
90+
impl PinSda<I2C2> for gpiob::PB11<AlternateOD<4>> {}
18491
#[cfg(any(feature = "stm32f446"))]
185-
impl PinSda<I2C2> for PC12<AlternateOD<4>> {}
92+
impl PinSda<I2C2> for gpioc::PC12<AlternateOD<4>> {}
18693
#[cfg(any(
18794
feature = "stm32f405",
18895
feature = "stm32f407",
@@ -199,7 +106,7 @@ impl PinSda<I2C2> for PC12<AlternateOD<4>> {}
199106
feature = "stm32f469",
200107
feature = "stm32f479"
201108
))]
202-
impl PinScl<I2C2> for PF1<AlternateOD<4>> {}
109+
impl PinScl<I2C2> for gpiof::PF1<AlternateOD<4>> {}
203110
#[cfg(any(
204111
feature = "stm32f405",
205112
feature = "stm32f407",
@@ -216,7 +123,7 @@ impl PinScl<I2C2> for PF1<AlternateOD<4>> {}
216123
feature = "stm32f469",
217124
feature = "stm32f479"
218125
))]
219-
impl PinSda<I2C2> for PF0<AlternateOD<4>> {}
126+
impl PinSda<I2C2> for gpiof::PF0<AlternateOD<4>> {}
220127
#[cfg(any(
221128
feature = "stm32f405",
222129
feature = "stm32f407",
@@ -229,7 +136,7 @@ impl PinSda<I2C2> for PF0<AlternateOD<4>> {}
229136
feature = "stm32f469",
230137
feature = "stm32f479"
231138
))]
232-
impl PinScl<I2C2> for PH4<AlternateOD<4>> {}
139+
impl PinScl<I2C2> for gpioh::PH4<AlternateOD<4>> {}
233140
#[cfg(any(
234141
feature = "stm32f405",
235142
feature = "stm32f407",
@@ -242,30 +149,30 @@ impl PinScl<I2C2> for PH4<AlternateOD<4>> {}
242149
feature = "stm32f469",
243150
feature = "stm32f479"
244151
))]
245-
impl PinSda<I2C2> for PH5<AlternateOD<4>> {}
152+
impl PinSda<I2C2> for gpioh::PH5<AlternateOD<4>> {}
246153

247154
#[cfg(feature = "i2c3")]
248-
impl PinScl<I2C3> for PA8<AlternateOD<4>> {}
155+
impl PinScl<I2C3> for gpioa::PA8<AlternateOD<4>> {}
249156
#[cfg(any(feature = "stm32f446"))]
250-
impl PinSda<I2C3> for PB4<AlternateOD<4>> {}
157+
impl PinSda<I2C3> for gpiob::PB4<AlternateOD<4>> {}
251158
#[cfg(any(
252159
feature = "stm32f401",
253160
feature = "stm32f411",
254161
feature = "stm32f412",
255162
feature = "stm32f413",
256163
feature = "stm32f423"
257164
))]
258-
impl PinSda<I2C3> for PB4<AlternateOD<9>> {}
165+
impl PinSda<I2C3> for gpiob::PB4<AlternateOD<9>> {}
259166
#[cfg(any(
260167
feature = "stm32f411",
261168
feature = "stm32f412",
262169
feature = "stm32f413",
263170
feature = "stm32f423"
264171
))]
265-
impl PinSda<I2C3> for PB8<AlternateOD<9>> {}
172+
impl PinSda<I2C3> for gpiob::PB8<AlternateOD<9>> {}
266173

267174
#[cfg(feature = "i2c3")]
268-
impl PinSda<I2C3> for PC9<AlternateOD<4>> {}
175+
impl PinSda<I2C3> for gpioc::PC9<AlternateOD<4>> {}
269176
#[cfg(any(
270177
feature = "stm32f405",
271178
feature = "stm32f407",
@@ -278,7 +185,7 @@ impl PinSda<I2C3> for PC9<AlternateOD<4>> {}
278185
feature = "stm32f469",
279186
feature = "stm32f479"
280187
))]
281-
impl PinScl<I2C3> for PH7<AlternateOD<4>> {}
188+
impl PinScl<I2C3> for gpioh::PH7<AlternateOD<4>> {}
282189
#[cfg(any(
283190
feature = "stm32f405",
284191
feature = "stm32f407",
@@ -291,55 +198,46 @@ impl PinScl<I2C3> for PH7<AlternateOD<4>> {}
291198
feature = "stm32f469",
292199
feature = "stm32f479"
293200
))]
294-
impl PinSda<I2C3> for PH8<AlternateOD<4>> {}
201+
impl PinSda<I2C3> for gpioh::PH8<AlternateOD<4>> {}
295202

296203
#[cfg(feature = "fmpi2c1")]
297-
use crate::{
298-
gpio::{
299-
gpiob::{PB13, PB14, PB15},
300-
gpioc::{PC6, PC7},
301-
gpiod::{PD12, PD14, PD15},
302-
gpiof::{PF14, PF15},
303-
},
304-
pac::fmpi2c1,
305-
pac::FMPI2C1,
306-
};
204+
use crate::{gpio::gpiod, pac::fmpi2c1, pac::FMPI2C1};
307205

308206
#[cfg(feature = "fmpi2c1")]
309-
impl PinScl<FMPI2C1> for PC6<AlternateOD<4>> {}
207+
impl PinScl<FMPI2C1> for gpioc::PC6<AlternateOD<4>> {}
310208

311209
#[cfg(feature = "fmpi2c1")]
312-
impl PinSda<FMPI2C1> for PC7<AlternateOD<4>> {}
210+
impl PinSda<FMPI2C1> for gpioc::PC7<AlternateOD<4>> {}
313211

314212
#[cfg(feature = "fmpi2c1")]
315-
impl PinSda<FMPI2C1> for PB3<AlternateOD<4>> {}
213+
impl PinSda<FMPI2C1> for gpiob::PB3<AlternateOD<4>> {}
316214

317215
#[cfg(feature = "fmpi2c1")]
318-
impl PinScl<FMPI2C1> for PB10<AlternateOD<9>> {}
216+
impl PinScl<FMPI2C1> for gpiob::PB10<AlternateOD<9>> {}
319217

320218
#[cfg(feature = "fmpi2c1")]
321-
impl PinSda<FMPI2C1> for PB14<AlternateOD<4>> {}
219+
impl PinSda<FMPI2C1> for gpiob::PB14<AlternateOD<4>> {}
322220

323221
#[cfg(feature = "fmpi2c1")]
324-
impl PinScl<FMPI2C1> for PB15<AlternateOD<4>> {}
222+
impl PinScl<FMPI2C1> for gpiob::PB15<AlternateOD<4>> {}
325223

326224
#[cfg(feature = "fmpi2c1")]
327-
impl PinScl<FMPI2C1> for PD12<AlternateOD<4>> {}
225+
impl PinScl<FMPI2C1> for gpiod::PD12<AlternateOD<4>> {}
328226

329227
#[cfg(feature = "fmpi2c1")]
330-
impl PinScl<FMPI2C1> for PB13<AlternateOD<4>> {}
228+
impl PinScl<FMPI2C1> for gpiob::PB13<AlternateOD<4>> {}
331229

332230
#[cfg(feature = "fmpi2c1")]
333-
impl PinScl<FMPI2C1> for PD14<AlternateOD<4>> {}
231+
impl PinScl<FMPI2C1> for gpiod::PD14<AlternateOD<4>> {}
334232

335233
#[cfg(feature = "fmpi2c1")]
336-
impl PinScl<FMPI2C1> for PD15<AlternateOD<4>> {}
234+
impl PinScl<FMPI2C1> for gpiod::PD15<AlternateOD<4>> {}
337235

338236
#[cfg(feature = "fmpi2c1")]
339-
impl PinScl<FMPI2C1> for PF14<AlternateOD<4>> {}
237+
impl PinScl<FMPI2C1> for gpiof::PF14<AlternateOD<4>> {}
340238

341239
#[cfg(feature = "fmpi2c1")]
342-
impl PinScl<FMPI2C1> for PF15<AlternateOD<4>> {}
240+
impl PinScl<FMPI2C1> for gpiof::PF15<AlternateOD<4>> {}
343241

344242
#[derive(Debug, Eq, PartialEq, Copy, Clone)]
345243
pub enum Error {

0 commit comments

Comments
 (0)