@@ -47,6 +47,7 @@ systick-monotonic = { version = "1.0", optional = true }
47
47
enumflags2 = " 0.7.8"
48
48
embedded-storage = " 0.3"
49
49
vcell = " 0.1.3"
50
+ document-features = " 0.2"
50
51
51
52
[dependencies .time ]
52
53
version = " 0.3.14"
@@ -99,27 +100,30 @@ default-features = false
99
100
features = [" macros" ]
100
101
101
102
[features ]
102
- device-selected = []
103
- rt = [] # deprecated
103
+ # ! Use one of the supported STM32-serie related features:
104
+ # ! `stm32f401`, `stm32f405`, `stm32f407`, `stm32f415`, `stm32f417`, `stm32f410`,
105
+ # ! `stm32f411`, `stm32f412`, `stm32f413`, `stm32f423`, `stm32f427`, `stm32f429`,
106
+ # ! `stm32f437`, `stm32f439`, `stm32f446`, `stm32f469`, `stm32f479`.
107
+
104
108
# Note: stm32f4 has only one feature for some very similar device families,
105
109
# so it's intended for e.g. stm32f405/415 to both enable stm32f4/stm32f405.
106
- stm32f401 = [" stm32f4/stm32f401" , " device-selected " , " gpio-f401" ,]
107
- stm32f405 = [" stm32f4/stm32f405" , " device-selected " , " gpio-f417" ]
108
- stm32f407 = [" stm32f4/stm32f407" , " device-selected " , " gpio-f417" ]
109
- stm32f415 = [" stm32f4/stm32f405" , " device-selected " , " gpio-f417" , " cryp" ]
110
- stm32f417 = [" stm32f4/stm32f407" , " device-selected " , " gpio-f417" , " cryp" ]
111
- stm32f410 = [" stm32f4/stm32f410" , " device-selected " , " gpio-f410" ]
112
- stm32f411 = [" stm32f4/stm32f411" , " device-selected " , " gpio-f411" ]
113
- stm32f412 = [" stm32f4/stm32f412" , " device-selected " , " gpio-f412" ]
114
- stm32f413 = [" stm32f4/stm32f413" , " device-selected " , " gpio-f413" ]
115
- stm32f423 = [" stm32f4/stm32f413" , " device-selected " , " gpio-f413" , " aes" ]
116
- stm32f427 = [" stm32f4/stm32f427" , " device-selected " , " gpio-f427" , " fsmc" ]
117
- stm32f429 = [" stm32f4/stm32f429" , " device-selected " , " gpio-f427" , " fmc" ]
118
- stm32f437 = [" stm32f4/stm32f427" , " device-selected " , " gpio-f427" , " fsmc" , " cryp" ]
119
- stm32f439 = [" stm32f4/stm32f429" , " device-selected " , " gpio-f427" , " fmc" , " cryp" ]
120
- stm32f446 = [" stm32f4/stm32f446" , " device-selected " , " gpio-f446" ]
121
- stm32f469 = [" stm32f4/stm32f469" , " device-selected " , " gpio-f469" ]
122
- stm32f479 = [" stm32f4/stm32f469" , " device-selected " , " gpio-f469" , " cryp" ]
110
+ stm32f401 = [" stm32f4/stm32f401" , " gpio-f401" ,]
111
+ stm32f405 = [" stm32f4/stm32f405" , " gpio-f417" ]
112
+ stm32f407 = [" stm32f4/stm32f407" , " gpio-f417" ]
113
+ stm32f415 = [" stm32f4/stm32f405" , " gpio-f417" , " cryp" ]
114
+ stm32f417 = [" stm32f4/stm32f407" , " gpio-f417" , " cryp" ]
115
+ stm32f410 = [" stm32f4/stm32f410" , " gpio-f410" ]
116
+ stm32f411 = [" stm32f4/stm32f411" , " gpio-f411" ]
117
+ stm32f412 = [" stm32f4/stm32f412" , " gpio-f412" ]
118
+ stm32f413 = [" stm32f4/stm32f413" , " gpio-f413" ]
119
+ stm32f423 = [" stm32f4/stm32f413" , " gpio-f413" , " aes" ]
120
+ stm32f427 = [" stm32f4/stm32f427" , " gpio-f427" , " fsmc" ]
121
+ stm32f429 = [" stm32f4/stm32f429" , " gpio-f427" , " fmc" ]
122
+ stm32f437 = [" stm32f4/stm32f427" , " gpio-f427" , " fsmc" , " cryp" ]
123
+ stm32f439 = [" stm32f4/stm32f429" , " gpio-f427" , " fmc" , " cryp" ]
124
+ stm32f446 = [" stm32f4/stm32f446" , " gpio-f446" ]
125
+ stm32f469 = [" stm32f4/stm32f469" , " gpio-f469" ]
126
+ stm32f479 = [" stm32f4/stm32f469" , " gpio-f469" , " cryp" ]
123
127
124
128
gpio-f401 = [
125
129
" gpiod" , " gpioe" ,
@@ -255,16 +259,29 @@ gpio-f469 = [
255
259
" usart3" , " uart4" , " uart5" , " uart7" , " uart8" ,
256
260
]
257
261
258
- usb_fs = [" synopsys-usb-otg" , " synopsys-usb-otg/fs" ]
259
- usb_hs = [" synopsys-usb-otg" , " synopsys-usb-otg/hs" ]
262
+ # # Support monotonic timers that can be used by [RTIC framework](https://crates.io/crates/cortex-m-rtic)
263
+ rtic = [" dep:rtic-monotonic" , " dep:systick-monotonic" ]
264
+
265
+ # # Implementation of `defmt::Format` for public enums and structures. See [defmt](https://crates.io/crates/defmt)
266
+ defmt = [" dep:defmt" , " fugit/defmt" , " nb/defmt-0-3" ]
260
267
261
- can = [" bxcan" ]
268
+ # # bxCAN peripheral support. See [bxcan](https://crates.io/crates/bxcan)
269
+ can = [" dep:bxcan" ]
262
270
263
- i2s = [" stm32_i2s_v12x" ]
271
+ # # I2S peripheral support. See [stm32_i2s_v12x](https://crates.io/crates/stm32_i2s_v12x)
272
+ i2s = [" dep:stm32_i2s_v12x" ]
264
273
265
- fsmc_lcd = [" display-interface" ]
274
+ # # USB OTG-FS peripheral support. See [synopsys-usb-otg](https://crates.io/crates/synopsys-usb-otg)
275
+ usb_fs = [" dep:synopsys-usb-otg" , " synopsys-usb-otg/fs" ]
276
+ # # USB OTG-HS peripheral support. See [synopsys-usb-otg](https://crates.io/crates/synopsys-usb-otg)
277
+ usb_hs = [" dep:synopsys-usb-otg" , " synopsys-usb-otg/hs" ]
278
+
279
+ # # LCD support via FMC/FSMC peripheral. See [display-interface](https://crates.io/crates/display-interface)
280
+ fsmc_lcd = [" dep:display-interface" ]
281
+
282
+ # # SDIO peripheral support. See [sdio-host](https://crates.io/crates/sdio-host)
283
+ sdio-host = [" dep:sdio-host" ]
266
284
267
- defmt = [" dep:defmt" , " fugit/defmt" , " nb/defmt-0-3" ]
268
285
dfsdm = []
269
286
sai = []
270
287
@@ -328,8 +345,6 @@ uart8 = []
328
345
uart9 = []
329
346
uart10 = []
330
347
331
- rtic = [" rtic-monotonic" , " systick-monotonic" ]
332
-
333
348
[profile .dev ]
334
349
debug = true
335
350
lto = true
@@ -355,11 +370,11 @@ required-features = ["can", "stm32f405"]
355
370
356
371
[[example ]]
357
372
name = " delay-syst-blinky"
358
- required-features = [" device-selected " ] # stm32f411
373
+ required-features = [] # stm32f411
359
374
360
375
[[example ]]
361
376
name = " delay-timer-blinky"
362
- required-features = [" device-selected " ] # stm32f411
377
+ required-features = [] # stm32f411
363
378
364
379
[[example ]]
365
380
name = " display-touch"
@@ -371,27 +386,27 @@ required-features = ["gpiog"] # "stm32f429"
371
386
372
387
[[example ]]
373
388
name = " dynamic-gpio"
374
- required-features = [" device-selected " ]
389
+ required-features = []
375
390
376
391
[[example ]]
377
392
name = " f413disco-lcd-ferris"
378
393
required-features = [" gpiod" , " gpioe" , " gpiof" , " gpiog" , " fsmc" , " fsmc_lcd" ] # stm32f413
379
394
380
395
[[example ]]
381
396
name = " hd44780"
382
- required-features = [" device-selected " ]
397
+ required-features = []
383
398
384
399
[[example ]]
385
400
name = " i2s-audio-out"
386
401
required-features = [" stm32f411" , " i2s" ]
387
402
388
403
[[example ]]
389
404
name = " ist7920-bidi-normal-spi"
390
- required-features = [" device-selected " ]
405
+ required-features = []
391
406
392
407
[[example ]]
393
408
name = " pwm"
394
- required-features = [" device-selected " ]
409
+ required-features = []
395
410
396
411
[[example ]]
397
412
name = " pwm-input"
@@ -415,15 +430,15 @@ required-features = ["rng"] # stm32f407
415
430
416
431
[[example ]]
417
432
name = " rtc"
418
- required-features = [" device-selected " ]
433
+ required-features = []
419
434
420
435
[[example ]]
421
436
name = " rtc_alarm"
422
437
required-features = [" stm32f411" ]
423
438
424
439
[[example ]]
425
440
name = " rtic-adc-dma"
426
- required-features = [" device-selected " , " rtic" ] # stm32f401
441
+ required-features = [" rtic" ] # stm32f401
427
442
428
443
[[example ]]
429
444
name = " rtic-button"
@@ -467,7 +482,7 @@ required-features = ["gpiod", "sdio", "sdio-host"] # stm32f405
467
482
468
483
[[example ]]
469
484
name = " serial"
470
- required-features = [" device-selected " ]
485
+ required-features = []
471
486
472
487
[[example ]]
473
488
name = " serial-9bit"
@@ -483,7 +498,7 @@ required-features = ["stm32f405"]
483
498
484
499
[[example ]]
485
500
name = " ssd1306-image"
486
- required-features = [" device-selected " ] # stm32f411
501
+ required-features = [] # stm32f411
487
502
488
503
[[example ]]
489
504
name = " st7789-lcd"
@@ -499,11 +514,11 @@ required-features = ["tim2", "stm32f411"] # stm32f411
499
514
500
515
[[example ]]
501
516
name = " timer-periph"
502
- required-features = [" device-selected " ]
517
+ required-features = []
503
518
504
519
[[example ]]
505
520
name = " timer-syst"
506
- required-features = [" device-selected " ]
521
+ required-features = []
507
522
508
523
[[example ]]
509
524
name = " usb-serial-irq"
@@ -515,4 +530,4 @@ required-features = ["otg-fs", "usb_fs"] # stm32f401
515
530
516
531
[[example ]]
517
532
name = " ws2812-spi"
518
- required-features = [" device-selected " ]
533
+ required-features = []
0 commit comments