Cargo Features

[dependencies]
stm32h7xx-hal = { version = "0.16.0", default-features = false, features = ["device-selected", "revision_v", "rm0433", "rm0399", "rm0455", "rm0468", "gpio-h72", "gpio-h747", "gpio-h7a2", "dsi", "cm4", "cm7", "smps", "ltdc", "xspi", "fmc", "sdmmc", "sdmmc-fatfs", "ethernet", "rtc", "can", "crc", "rand", "rt", "usb_hs", "stm32h743", "stm32h753", "stm32h750", "stm32h743v", "stm32h753v", "stm32h750v", "stm32h747cm7", "stm32h7a3", "stm32h735", "log-itm", "example-ldo", "defmt", "log"] }
default = rt

The rt feature is set by default whenever stm32h7xx-hal is added without default-features = false somewhere in the dependency tree.

device-selected stm32h735? stm32h742? stm32h742v? stm32h743? stm32h743v? stm32h747cm7? stm32h750? stm32h750v? stm32h753? stm32h753v? stm32h7a3? stm32h7b0? stm32h7b3?

Affects stm32h7xx-hal::adc, stm32h7xx-hal::dac, stm32h7xx-hal::delay, stm32h7xx-hal::dma, stm32h7xx-hal::exti, stm32h7xx-hal::flash, stm32h7xx-hal::gpio, stm32h7xx-hal::i2c, stm32h7xx-hal::independent_watchdog, stm32h7xx-hal::prelude, stm32h7xx-hal::pwm, stm32h7xx-hal::pwr, stm32h7xx-hal::qei, stm32h7xx-hal::rcc, stm32h7xx-hal::rng, stm32h7xx-hal::sai

revision_v stm32h735? stm32h742v? stm32h743v? stm32h747cm7? stm32h750v? stm32h753v? stm32h7a3? stm32h7b0? stm32h7b3?
rm0433 stm32h742? stm32h742v? stm32h743? stm32h743v? stm32h750? stm32h750v? stm32h753? stm32h753v? = gpio-h747

aka. "single core" devices

Affects adc::Resolution, usb_hs::USB2, usb_hs::Usb2BusType

rm0399 stm32h747cm7? = gpio-h747

TODO: fix gpio # aka. "dual core" devices

Affects adc::Resolution, usb_hs::USB2, usb_hs::Usb2BusType, stm32h7xx-hal::dsi

rm0455 stm32h7a3? stm32h7b0? stm32h7b3? = gpio-h7a2

aka. "high memory integration" devices

Affects bdma::BDMARegisterBlock, bdma::BDMAStream, adc::Resolution

rm0468 stm32h735? = gpio-h72

aka. "high speed" devices

Affects adc::Resolution

gpio-h72 rm0468?
gpio-h747 rm0399? rm0433?
gpio-h7a2 rm0455?
dsi stm32h747cm7? = embedded-display-controller

Affects stm32h7xx-hal::dsi

cm4
cm7 stm32h747cm7?
smps stm32h735? stm32h747cm7? stm32h7a3? stm32h7b0? stm32h7b3?
ltdc = embedded-display-controller

Affects stm32h7xx-hal::ltdc

xspi

Affects stm32h7xx-hal::xspi

fmc = stm32-fmc

Affects stm32h7xx-hal::fmc

sdmmc sdmmc-fatfs? = sdio-host

Affects stm32h7xx-hal::sdmmc

sdmmc-fatfs = embedded-sdmmc, sdmmc

Affects sdmmc::SdmmcBlockDevice

ethernet = smoltcp

Affects stm32h7xx-hal::ethernet

rtc = chrono

Affects backup::BackupREC.RTC, stm32h7xx-hal::rtc

can

Enables fdcan_h7 of fdcan

fdcan:

Peripheral map found on H7

Affects stm32h7xx-hal::can

crc

Affects stm32h7xx-hal::crc

rand = rand_core
rt default

Enables rt of stm32h7

usb_hs = synopsys-usb-otg

Enables hs of synopsys-usb-otg

Affects stm32h7xx-hal::usb_hs

stm32h742 stm32h743 = device-selected, rm0433

Enables stm32h743 of stm32h7

stm32h753 = device-selected, rm0433

Enables stm32h753 of stm32h7

stm32h750 = device-selected, rm0433

Enables stm32h743 of stm32h7

stm32h742v stm32h743v = device-selected, revision_v, rm0433

Enables stm32h743v of stm32h7

stm32h753v = device-selected, revision_v, rm0433

Enables stm32h753v of stm32h7

stm32h750v = device-selected, revision_v, rm0433

Enables stm32h743v of stm32h7

stm32h747cm7 = cm7, device-selected, dsi, revision_v, rm0399, smps

Enables stm32h747cm7 of stm32h7

stm32h7b3 stm32h7b0 stm32h7a3 = device-selected, revision_v, rm0455, smps

Enables stm32h7b3 of stm32h7

stm32h735 = device-selected, revision_v, rm0468, smps

Also applies to 723,725,730,733

Enables stm32h735 of stm32h7

log-itm

Flags for examples

log-rtt log-semihost example-smps example-ldo

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

defmt implicit feature
sdio-host sdmmc?
embedded-sdmmc sdmmc-fatfs?

Enables embedded-sdmmc ^0.5

stm32-fmc fmc?
synopsys-usb-otg usb_hs?
embedded-display-controller dsi? ltdc?
log implicit feature

Enables log

see also the dev-dependencies section

fdcan can?
chrono rtc?
rand_core rand?
smoltcp ethernet?