Skip to content

Commit f11dcaa

Browse files
bors[bot]burrbull
andauthored
Merge #474
474: IntoAf, generated from CubeMX r=therealprof a=burrbull Co-authored-by: Andrey Zgarbul <[email protected]>
2 parents 5d324ab + 7e9e039 commit f11dcaa

File tree

10 files changed

+1450
-291
lines changed

10 files changed

+1450
-291
lines changed

CHANGELOG.md

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

1010
### Changed
1111

12+
- Add restriction for setting pins in alternate mode (`IntoAF`), add docs
1213
- Explicit order for PINS, more smart aliases for peripherals
1314
- Add `AFn` type aliases for `Alternate<n>`
1415
- CI updates + cache

Cargo.toml

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -91,20 +91,18 @@ device-selected = []
9191
rt = ["stm32f4/rt"]
9292
# Note: stm32f4 has only one feature for some very similar device families,
9393
# so it's intended for e.g. stm32f405/415 to both enable stm32f4/stm32f405.
94-
stm32f401 = ["stm32f4/stm32f401", "device-selected",
95-
"gpiod", "gpioe",
94+
stm32f401 = ["stm32f4/stm32f401", "device-selected", "gpio-f401",
9695
"i2c3",
9796
"otg-fs",
9897
"sdio",
9998
"spi3", "spi4",
10099
"tim2",
101100
]
102-
stm32f405 = ["stm32f4/stm32f405", "device-selected",
101+
stm32f405 = ["stm32f4/stm32f405", "device-selected", "gpio-f417",
103102
"adc2", "adc3",
104103
"can1", "can2",
105104
"dac",
106105
"fsmc",
107-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi",
108106
"i2c3",
109107
"otg-fs",
110108
"otg-hs",
@@ -114,12 +112,11 @@ stm32f405 = ["stm32f4/stm32f405", "device-selected",
114112
"tim2", "tim8",
115113
"usart3", "uart4", "uart5",
116114
]
117-
stm32f407 = ["stm32f4/stm32f407", "device-selected",
115+
stm32f407 = ["stm32f4/stm32f407", "device-selected", "gpio-f417",
118116
"adc2", "adc3",
119117
"can1", "can2",
120118
"dac",
121119
"fsmc",
122-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi",
123120
"i2c3",
124121
"otg-fs",
125122
"otg-hs",
@@ -129,22 +126,20 @@ stm32f407 = ["stm32f4/stm32f407", "device-selected",
129126
"tim2", "tim8",
130127
"usart3", "uart4", "uart5",
131128
]
132-
stm32f410 = ["stm32f4/stm32f410", "device-selected",
129+
stm32f410 = ["stm32f4/stm32f410", "device-selected", "gpio-f410",
133130
"dac",
134131
"spi5",
135132
]
136-
stm32f411 = ["stm32f4/stm32f411", "device-selected",
137-
"gpiod", "gpioe",
133+
stm32f411 = ["stm32f4/stm32f411", "device-selected", "gpio-f411",
138134
"i2c3",
139135
"otg-fs",
140136
"sdio",
141137
"tim2",
142138
"spi3", "spi4", "spi5",
143139
]
144-
stm32f412 = ["stm32f4/stm32f412", "device-selected",
140+
stm32f412 = ["stm32f4/stm32f412", "device-selected", "gpio-f412",
145141
"can1", "can2",
146142
"fsmc",
147-
"gpiod", "gpioe", "gpiof", "gpiog",
148143
"i2c3",
149144
"otg-fs",
150145
"rng",
@@ -153,12 +148,11 @@ stm32f412 = ["stm32f4/stm32f412", "device-selected",
153148
"tim2", "tim8",
154149
"usart3",
155150
]
156-
stm32f413 = ["stm32f4/stm32f413", "device-selected",
151+
stm32f413 = ["stm32f4/stm32f413", "device-selected", "gpio-f413",
157152
"can1", "can2", "can3",
158153
"dac",
159154
"fsmc",
160155
"fmpi2c1",
161-
"gpiod", "gpioe", "gpiof", "gpiog",
162156
"i2c3",
163157
"otg-fs",
164158
"rng",
@@ -167,12 +161,11 @@ stm32f413 = ["stm32f4/stm32f413", "device-selected",
167161
"tim2", "tim8",
168162
"usart3", "uart4", "uart5", "uart7", "uart8", "uart9", "uart10",
169163
]
170-
stm32f415 = ["stm32f4/stm32f405", "device-selected",
164+
stm32f415 = ["stm32f4/stm32f405", "device-selected", "gpio-f417",
171165
"adc2", "adc3",
172166
"can1", "can2",
173167
"dac",
174168
"fsmc",
175-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi",
176169
"i2c3",
177170
"otg-fs",
178171
"otg-hs",
@@ -182,12 +175,11 @@ stm32f415 = ["stm32f4/stm32f405", "device-selected",
182175
"tim2", "tim8",
183176
"usart3", "uart4", "uart5",
184177
]
185-
stm32f417 = ["stm32f4/stm32f407", "device-selected",
178+
stm32f417 = ["stm32f4/stm32f407", "device-selected", "gpio-f417",
186179
"adc2", "adc3",
187180
"can1", "can2",
188181
"dac",
189182
"fsmc",
190-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi",
191183
"i2c3",
192184
"otg-fs",
193185
"otg-hs",
@@ -197,12 +189,11 @@ stm32f417 = ["stm32f4/stm32f407", "device-selected",
197189
"tim2", "tim8",
198190
"usart3", "uart4", "uart5",
199191
]
200-
stm32f423 = ["stm32f4/stm32f413", "device-selected",
192+
stm32f423 = ["stm32f4/stm32f413", "device-selected", "gpio-f413",
201193
"can1", "can2", "can3",
202194
"dac",
203195
"fsmc",
204196
"fmpi2c1",
205-
"gpiod", "gpioe", "gpiof", "gpiog",
206197
"i2c3",
207198
"otg-fs",
208199
"rng",
@@ -211,12 +202,11 @@ stm32f423 = ["stm32f4/stm32f413", "device-selected",
211202
"tim2", "tim8",
212203
"usart3", "uart4", "uart5", "uart7", "uart8", "uart9", "uart10",
213204
]
214-
stm32f427 = ["stm32f4/stm32f427", "device-selected",
205+
stm32f427 = ["stm32f4/stm32f427", "device-selected", "gpio-f427",
215206
"adc2", "adc3",
216207
"can1", "can2",
217208
"dac",
218209
"fsmc",
219-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
220210
"i2c3",
221211
"otg-fs",
222212
"otg-hs",
@@ -226,12 +216,11 @@ stm32f427 = ["stm32f4/stm32f427", "device-selected",
226216
"tim2", "tim8",
227217
"usart3", "uart4", "uart5", "uart7", "uart8",
228218
]
229-
stm32f429 = ["stm32f4/stm32f429", "device-selected",
219+
stm32f429 = ["stm32f4/stm32f429", "device-selected", "gpio-f427",
230220
"adc2", "adc3",
231221
"can1", "can2",
232222
"dac",
233223
"fmc",
234-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
235224
"i2c3",
236225
"otg-fs",
237226
"otg-hs",
@@ -241,12 +230,11 @@ stm32f429 = ["stm32f4/stm32f429", "device-selected",
241230
"tim2", "tim8",
242231
"usart3", "uart4", "uart5", "uart7", "uart8",
243232
]
244-
stm32f437 = ["stm32f4/stm32f427", "device-selected",
233+
stm32f437 = ["stm32f4/stm32f427", "device-selected", "gpio-f427",
245234
"adc2", "adc3",
246235
"can1", "can2",
247236
"dac",
248237
"fsmc",
249-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
250238
"i2c3",
251239
"otg-fs",
252240
"otg-hs",
@@ -256,12 +244,11 @@ stm32f437 = ["stm32f4/stm32f427", "device-selected",
256244
"tim2", "tim8",
257245
"usart3", "uart4", "uart5", "uart7", "uart8",
258246
]
259-
stm32f439 = ["stm32f4/stm32f429", "device-selected",
247+
stm32f439 = ["stm32f4/stm32f429", "device-selected", "gpio-f427",
260248
"adc2", "adc3",
261249
"can1", "can2",
262250
"dac",
263251
"fmc",
264-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
265252
"i2c3",
266253
"otg-fs",
267254
"otg-hs",
@@ -271,25 +258,23 @@ stm32f439 = ["stm32f4/stm32f429", "device-selected",
271258
"tim2", "tim8",
272259
"usart3", "uart4", "uart5", "uart7", "uart8",
273260
]
274-
stm32f446 = ["stm32f4/stm32f446", "device-selected",
261+
stm32f446 = ["stm32f4/stm32f446", "device-selected", "gpio-f446",
275262
"adc2", "adc3",
276263
"can1", "can2",
277264
"dac",
278265
"fmc",
279-
"gpiod", "gpioe", "gpiof", "gpiog",
280266
"i2c3",
281267
"otg-fs",
282268
"otg-hs",
283269
"spi3", "spi4",
284270
"tim2", "tim8",
285271
"usart3", "uart4", "uart5",
286272
]
287-
stm32f469 = ["stm32f4/stm32f469", "device-selected",
273+
stm32f469 = ["stm32f4/stm32f469", "device-selected", "gpio-f469",
288274
"adc2", "adc3",
289275
"can1", "can2",
290276
"dac",
291277
"fmc",
292-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
293278
"i2c3",
294279
"otg-fs",
295280
"otg-hs",
@@ -299,12 +284,11 @@ stm32f469 = ["stm32f4/stm32f469", "device-selected",
299284
"tim2", "tim8",
300285
"usart3", "uart4", "uart5", "uart7", "uart8",
301286
]
302-
stm32f479 = ["stm32f4/stm32f469", "device-selected",
287+
stm32f479 = ["stm32f4/stm32f469", "device-selected", "gpio-f469",
303288
"adc2", "adc3",
304289
"can1", "can2",
305290
"dac",
306291
"fmc",
307-
"gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok",
308292
"i2c3",
309293
"otg-fs",
310294
"otg-hs",
@@ -315,6 +299,16 @@ stm32f479 = ["stm32f4/stm32f469", "device-selected",
315299
"usart3", "uart4", "uart5", "uart7", "uart8",
316300
]
317301

302+
gpio-f401 = ["gpiod", "gpioe"]
303+
gpio-f410 = []
304+
gpio-f411 = ["gpiod", "gpioe"] #, "gpioi"
305+
gpio-f412 = ["gpiod", "gpioe", "gpiof", "gpiog"]
306+
gpio-f413 = ["gpiod", "gpioe", "gpiof", "gpiog"]
307+
gpio-f417 = ["gpiod", "gpioe", "gpiof", "gpiog", "gpioi"]
308+
gpio-f427 = ["gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok"]
309+
gpio-f446 = ["gpiod", "gpioe", "gpiof", "gpiog"]
310+
gpio-f469 = ["gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok"]
311+
318312
usb_fs = ["synopsys-usb-otg", "synopsys-usb-otg/fs"]
319313
usb_hs = ["synopsys-usb-otg", "synopsys-usb-otg/hs"]
320314

0 commit comments

Comments
 (0)