@@ -49,6 +49,7 @@ systick-monotonic = { version = "1.0", optional = true }
49
49
enumflags2 = " 0.7.8"
50
50
embedded-storage = " 0.3"
51
51
vcell = " 0.1.3"
52
+ document-features = " 0.2"
52
53
53
54
[dependencies .time ]
54
55
version = " 0.3.14"
@@ -94,27 +95,30 @@ default-features = false
94
95
features = [" macros" ]
95
96
96
97
[features ]
97
- device-selected = []
98
- rt = [] # deprecated
98
+ # ! Use one of the supported STM32-serie related features:
99
+ # ! `stm32f401`, `stm32f405`, `stm32f407`, `stm32f415`, `stm32f417`, `stm32f410`,
100
+ # ! `stm32f411`, `stm32f412`, `stm32f413`, `stm32f423`, `stm32f427`, `stm32f429`,
101
+ # ! `stm32f437`, `stm32f439`, `stm32f446`, `stm32f469`, `stm32f479`.
102
+
99
103
# Note: stm32f4 has only one feature for some very similar device families,
100
104
# so it's intended for e.g. stm32f405/415 to both enable stm32f4/stm32f405.
101
- stm32f401 = [" stm32f4/stm32f401" , " device-selected " , " gpio-f401" ,]
102
- stm32f405 = [" stm32f4/stm32f405" , " device-selected " , " gpio-f417" ]
103
- stm32f407 = [" stm32f4/stm32f407" , " device-selected " , " gpio-f417" ]
104
- stm32f415 = [" stm32f4/stm32f405" , " device-selected " , " gpio-f417" , " cryp" ]
105
- stm32f417 = [" stm32f4/stm32f407" , " device-selected " , " gpio-f417" , " cryp" ]
106
- stm32f410 = [" stm32f4/stm32f410" , " device-selected " , " gpio-f410" ]
107
- stm32f411 = [" stm32f4/stm32f411" , " device-selected " , " gpio-f411" ]
108
- stm32f412 = [" stm32f4/stm32f412" , " device-selected " , " gpio-f412" ]
109
- stm32f413 = [" stm32f4/stm32f413" , " device-selected " , " gpio-f413" ]
110
- stm32f423 = [" stm32f4/stm32f413" , " device-selected " , " gpio-f413" , " aes" ]
111
- stm32f427 = [" stm32f4/stm32f427" , " device-selected " , " gpio-f427" , " fsmc" ]
112
- stm32f429 = [" stm32f4/stm32f429" , " device-selected " , " gpio-f427" , " fmc" ]
113
- stm32f437 = [" stm32f4/stm32f427" , " device-selected " , " gpio-f427" , " fsmc" , " cryp" ]
114
- stm32f439 = [" stm32f4/stm32f429" , " device-selected " , " gpio-f427" , " fmc" , " cryp" ]
115
- stm32f446 = [" stm32f4/stm32f446" , " device-selected " , " gpio-f446" ]
116
- stm32f469 = [" stm32f4/stm32f469" , " device-selected " , " gpio-f469" ]
117
- stm32f479 = [" stm32f4/stm32f469" , " device-selected " , " gpio-f469" , " cryp" ]
105
+ stm32f401 = [" stm32f4/stm32f401" , " gpio-f401" ,]
106
+ stm32f405 = [" stm32f4/stm32f405" , " gpio-f417" ]
107
+ stm32f407 = [" stm32f4/stm32f407" , " gpio-f417" ]
108
+ stm32f415 = [" stm32f4/stm32f405" , " gpio-f417" , " cryp" ]
109
+ stm32f417 = [" stm32f4/stm32f407" , " gpio-f417" , " cryp" ]
110
+ stm32f410 = [" stm32f4/stm32f410" , " gpio-f410" ]
111
+ stm32f411 = [" stm32f4/stm32f411" , " gpio-f411" ]
112
+ stm32f412 = [" stm32f4/stm32f412" , " gpio-f412" ]
113
+ stm32f413 = [" stm32f4/stm32f413" , " gpio-f413" ]
114
+ stm32f423 = [" stm32f4/stm32f413" , " gpio-f413" , " aes" ]
115
+ stm32f427 = [" stm32f4/stm32f427" , " gpio-f427" , " fsmc" ]
116
+ stm32f429 = [" stm32f4/stm32f429" , " gpio-f427" , " fmc" ]
117
+ stm32f437 = [" stm32f4/stm32f427" , " gpio-f427" , " fsmc" , " cryp" ]
118
+ stm32f439 = [" stm32f4/stm32f429" , " gpio-f427" , " fmc" , " cryp" ]
119
+ stm32f446 = [" stm32f4/stm32f446" , " gpio-f446" ]
120
+ stm32f469 = [" stm32f4/stm32f469" , " gpio-f469" ]
121
+ stm32f479 = [" stm32f4/stm32f469" , " gpio-f469" , " cryp" ]
118
122
119
123
gpio-f401 = [
120
124
" gpiod" , " gpioe" ,
@@ -250,16 +254,29 @@ gpio-f469 = [
250
254
" usart3" , " uart4" , " uart5" , " uart7" , " uart8" ,
251
255
]
252
256
253
- usb_fs = [" synopsys-usb-otg" , " synopsys-usb-otg/fs" ]
254
- usb_hs = [" synopsys-usb-otg" , " synopsys-usb-otg/hs" ]
257
+ # # Support monotonic timers that can be used by [RTIC framework](https://crates.io/crates/cortex-m-rtic)
258
+ rtic = [" dep:rtic-monotonic" , " dep:systick-monotonic" ]
259
+
260
+ # # Implementation of `defmt::Format` for public enums and structures. See [defmt](https://crates.io/crates/defmt)
261
+ defmt = [" dep:defmt" , " fugit/defmt" , " nb/defmt-0-3" ]
255
262
256
- can = [" bxcan" ]
263
+ # # bxCAN peripheral support. See [bxcan](https://crates.io/crates/bxcan)
264
+ can = [" dep:bxcan" ]
257
265
258
- i2s = [" stm32_i2s_v12x" ]
266
+ # # I2S peripheral support. See [stm32_i2s_v12x](https://crates.io/crates/stm32_i2s_v12x)
267
+ i2s = [" dep:stm32_i2s_v12x" ]
259
268
260
- fsmc_lcd = [" display-interface" ]
269
+ # # USB OTG-FS peripheral support. See [synopsys-usb-otg](https://crates.io/crates/synopsys-usb-otg)
270
+ usb_fs = [" dep:synopsys-usb-otg" , " synopsys-usb-otg/fs" ]
271
+ # # USB OTG-HS peripheral support. See [synopsys-usb-otg](https://crates.io/crates/synopsys-usb-otg)
272
+ usb_hs = [" dep:synopsys-usb-otg" , " synopsys-usb-otg/hs" ]
273
+
274
+ # # LCD support via FMC/FSMC peripheral. See [display-interface](https://crates.io/crates/display-interface)
275
+ fsmc_lcd = [" dep:display-interface" ]
276
+
277
+ # # SDIO peripheral support. See [sdio-host](https://crates.io/crates/sdio-host)
278
+ sdio-host = [" dep:sdio-host" ]
261
279
262
- defmt = [" dep:defmt" , " fugit/defmt" , " nb/defmt-0-3" ]
263
280
dfsdm = []
264
281
sai = []
265
282
@@ -323,8 +340,6 @@ uart8 = []
323
340
uart9 = []
324
341
uart10 = []
325
342
326
- rtic = [" rtic-monotonic" , " systick-monotonic" ]
327
-
328
343
[profile .dev ]
329
344
debug = true
330
345
lto = true
@@ -350,11 +365,11 @@ required-features = ["can", "stm32f405"]
350
365
351
366
[[example ]]
352
367
name = " delay-syst-blinky"
353
- required-features = [" device-selected " ] # stm32f411
368
+ required-features = [] # stm32f411
354
369
355
370
[[example ]]
356
371
name = " delay-timer-blinky"
357
- required-features = [" device-selected " ] # stm32f411
372
+ required-features = [] # stm32f411
358
373
359
374
[[example ]]
360
375
name = " display-touch"
@@ -366,27 +381,27 @@ required-features = ["gpiog"] # "stm32f429"
366
381
367
382
[[example ]]
368
383
name = " dynamic-gpio"
369
- required-features = [" device-selected " ]
384
+ required-features = []
370
385
371
386
[[example ]]
372
387
name = " f413disco-lcd-ferris"
373
388
required-features = [" gpiod" , " gpioe" , " gpiof" , " gpiog" , " fsmc" , " fsmc_lcd" ] # stm32f413
374
389
375
390
[[example ]]
376
391
name = " hd44780"
377
- required-features = [" device-selected " ]
392
+ required-features = []
378
393
379
394
[[example ]]
380
395
name = " i2s-audio-out"
381
396
required-features = [" stm32f411" , " i2s" ]
382
397
383
398
[[example ]]
384
399
name = " ist7920-bidi-normal-spi"
385
- required-features = [" device-selected " ]
400
+ required-features = []
386
401
387
402
[[example ]]
388
403
name = " pwm"
389
- required-features = [" device-selected " ]
404
+ required-features = []
390
405
391
406
[[example ]]
392
407
name = " pwm-input"
@@ -410,15 +425,15 @@ required-features = ["rng"] # stm32f407
410
425
411
426
[[example ]]
412
427
name = " rtc"
413
- required-features = [" device-selected " ]
428
+ required-features = []
414
429
415
430
[[example ]]
416
431
name = " rtc_alarm"
417
432
required-features = [" stm32f411" ]
418
433
419
434
[[example ]]
420
435
name = " rtic-adc-dma"
421
- required-features = [" device-selected " , " rtic" ] # stm32f401
436
+ required-features = [" rtic" ] # stm32f401
422
437
423
438
[[example ]]
424
439
name = " rtic-button"
@@ -462,7 +477,7 @@ required-features = ["gpiod", "sdio", "sdio-host"] # stm32f405
462
477
463
478
[[example ]]
464
479
name = " serial"
465
- required-features = [" device-selected " ]
480
+ required-features = []
466
481
467
482
[[example ]]
468
483
name = " serial-9bit"
@@ -478,7 +493,7 @@ required-features = ["stm32f405"]
478
493
479
494
[[example ]]
480
495
name = " ssd1306-image"
481
- required-features = [" device-selected " ] # stm32f411
496
+ required-features = [] # stm32f411
482
497
483
498
[[example ]]
484
499
name = " st7789-lcd"
@@ -494,11 +509,11 @@ required-features = ["tim2", "stm32f411"] # stm32f411
494
509
495
510
[[example ]]
496
511
name = " timer-periph"
497
- required-features = [" device-selected " ]
512
+ required-features = []
498
513
499
514
[[example ]]
500
515
name = " timer-syst"
501
- required-features = [" device-selected " ]
516
+ required-features = []
502
517
503
518
[[example ]]
504
519
name = " usb-serial-irq"
@@ -510,4 +525,4 @@ required-features = ["otg-fs", "usb_fs"] # stm32f401
510
525
511
526
[[example ]]
512
527
name = " ws2812-spi"
513
- required-features = [" device-selected " ]
528
+ required-features = []
0 commit comments