# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO # # When uploading crates to the registry Cargo will automatically # "normalize" Cargo.toml files for maximal compatibility # with all versions of Cargo and also rewrite `path` dependencies # to registry (e.g., crates.io) dependencies. # # If you are reading this file be aware that the original Cargo.toml # will likely look very different (and much more reasonable). # See Cargo.toml.orig for the original contents. [package] edition = "2021" rust-version = "1.62" name = "stm32f4xx-hal" version = "0.22.1" authors = ["Daniel Egger "] build = "build.rs" autobins = false autoexamples = false autotests = false autobenches = false description = "Peripheral access API for STM32F4 series microcontrollers" documentation = "https://docs.rs/stm32f4xx-hal" readme = "README.md" keywords = [ "arm", "cortex-m", "stm32f4xx", "hal", ] categories = [ "embedded", "hardware-support", "no-std", ] license = "0BSD" repository = "https://github.com/stm32-rs/stm32f4xx-hal" [package.metadata.docs.rs] features = [ "stm32f429", "usb_fs", "can", "i2s", "fsmc_lcd", "rtic1", "defmt", "sdio-host", ] targets = ["thumbv7em-none-eabihf"] [profile.dev] lto = true debug = 2 [profile.release] opt-level = "s" lto = true debug = 2 [lib] name = "stm32f4xx_hal" path = "src/lib.rs" [[example]] name = "analog-stopwatch-with-spi-ssd1306" path = "examples/analog-stopwatch-with-spi-ssd1306.rs" required-features = [ "spi4", "tim2", "gpioe", "gpiog", ] [[example]] name = "blinky" path = "examples/blinky.rs" [[example]] name = "blinky-timer-irq" path = "examples/blinky-timer-irq.rs" required-features = ["tim2"] [[example]] name = "can-send" path = "examples/can-send.rs" required-features = [ "can", "stm32f405", ] [[example]] name = "delay-syst-blinky" path = "examples/delay-syst-blinky.rs" required-features = [] [[example]] name = "delay-timer-blinky" path = "examples/delay-timer-blinky.rs" required-features = [] [[example]] name = "display-touch" path = "examples/display-touch.rs" required-features = [ "fsmc_lcd", "stm32f412", ] [[example]] name = "dwt-blinky" path = "examples/dwt-blinky.rs" required-features = ["gpiog"] [[example]] name = "dynamic-gpio" path = "examples/dynamic-gpio.rs" required-features = [] [[example]] name = "f413disco-lcd-ferris" path = "examples/f413disco-lcd-ferris.rs" required-features = [ "gpiod", "gpioe", "gpiof", "gpiog", "fsmc", "fsmc_lcd", ] [[example]] name = "f469disco-lcd-test" path = "examples/f469disco-lcd-test.rs" required-features = [ "stm32f469", "defmt", ] [[example]] name = "fmc-sdram" path = "examples/fmc-sdram.rs" required-features = [ "stm32f469", "stm32-fmc", ] [[example]] name = "hd44780" path = "examples/hd44780.rs" required-features = [] [[example]] name = "i2c_scanner" path = "examples/i2c_scanner.rs" [[example]] name = "i2s-audio-out" path = "examples/i2s-audio-out.rs" required-features = [ "stm32f411", "i2s", ] [[example]] name = "ist7920-bidi-normal-spi" path = "examples/ist7920-bidi-normal-spi.rs" required-features = [] [[example]] name = "ltdc-screen" path = "examples/ltdc-screen/main.rs" required-features = ["stm32f429"] [[example]] name = "pwm" path = "examples/pwm.rs" required-features = [] [[example]] name = "pwm-dead-time" path = "examples/pwm-dead-time.rs" [[example]] name = "pwm-input" path = "examples/pwm-input.rs" required-features = ["tim8"] [[example]] name = "pwm-sinus" path = "examples/pwm-sinus.rs" required-features = ["stm32f411"] [[example]] name = "qei" path = "examples/qei.rs" required-features = ["tim2"] [[example]] name = "qspi-w25q" path = "examples/qspi-w25q.rs" required-features = ["stm32f412"] [[example]] name = "rng-display" path = "examples/rng-display.rs" required-features = ["rng"] [[example]] name = "rtc" path = "examples/rtc.rs" required-features = [] [[example]] name = "rtc_alarm" path = "examples/rtc_alarm.rs" required-features = ["stm32f411"] [[example]] name = "rtic-adc-dma" path = "examples/rtic-adc-dma.rs" required-features = ["rtic1"] [[example]] name = "rtic-button" path = "examples/rtic-button.rs" required-features = [ "stm32f411", "rtic1", ] [[example]] name = "rtic-dual-i2s-audio-in-out" path = "examples/rtic-dual-i2s-audio-in-out.rs" required-features = [ "stm32f411", "i2s", "rtic1", ] [[example]] name = "rtic-i2s-audio-in-out" path = "examples/rtic-i2s-audio-in-out.rs" required-features = [ "stm32f411", "i2s", "rtic1", ] [[example]] name = "rtic-serial-dma-rx-idle" path = "examples/rtic-serial-dma-rx-idle.rs" required-features = [ "stm32f411", "rtic1", ] [[example]] name = "rtic-spi-slave-dma" path = "examples/rtic-spi-slave-dma.rs" required-features = [ "stm32f411", "rtic1", ] [[example]] name = "rtic-tick" path = "examples/rtic-tick.rs" required-features = [ "tim2", "rtic1", ] [[example]] name = "rtic-usart-shell" path = "examples/rtic-usart-shell.rs" required-features = [ "stm32f411", "rtic1", ] [[example]] name = "rtic-usart-shell-ssd1306" path = "examples/rtic-usart-shell-ssd1306.rs" required-features = [ "stm32f411", "rtic1", ] [[example]] name = "rtic-usb-cdc-echo" path = "examples/rtic-usb-cdc-echo.rs" required-features = [ "stm32f411", "rtic1", "otg-fs", "usb_fs", ] [[example]] name = "rtic2-tick" path = "examples/rtic2-tick.rs" required-features = [ "rtic2", "rtic-tim3", ] [[example]] name = "sai-duplex" path = "examples/sai-duplex.rs" required-features = ["stm32f429"] [[example]] name = "sd" path = "examples/sd.rs" required-features = [ "gpiod", "sdio", "sdio-host", ] [[example]] name = "serial" path = "examples/serial.rs" required-features = [] [[example]] name = "serial-9bit" path = "examples/serial-9bit.rs" required-features = ["gpiod"] [[example]] name = "serial-dma" path = "examples/serial-dma.rs" required-features = ["stm32f407"] [[example]] name = "spi-dma" path = "examples/spi-dma.rs" required-features = ["stm32f411"] [[example]] name = "spi_slave" path = "examples/spi_slave.rs" [[example]] name = "ssd1306-image" path = "examples/ssd1306-image.rs" required-features = [] [[example]] name = "st7789-lcd" path = "examples/st7789-lcd.rs" required-features = [ "fsmc", "fsmc_lcd", ] [[example]] name = "stopwatch-with-ssd1306-and-interrupts" path = "examples/stopwatch-with-ssd1306-and-interrupts.rs" required-features = ["tim2"] [[example]] name = "stopwatch-with-ssd1306-and-interrupts-and-dma-i2c" path = "examples/stopwatch-with-ssd1306-and-interrupts-and-dma-i2c.rs" required-features = [ "tim2", "stm32f411", ] [[example]] name = "timer-periph" path = "examples/timer-periph.rs" required-features = [] [[example]] name = "timer-syst" path = "examples/timer-syst.rs" required-features = [] [[example]] name = "uart-dma" path = "examples/uart-dma.rs" required-features = ["stm32f405"] [[example]] name = "usb-serial-irq" path = "examples/usb-serial-irq.rs" required-features = [ "otg-fs", "usb_fs", ] [[example]] name = "usb-serial-poll" path = "examples/usb-serial-poll.rs" required-features = [ "otg-fs", "usb_fs", ] [[example]] name = "ws2812-spi" path = "examples/ws2812-spi.rs" required-features = [] [dependencies.atomic-polyfill] version = "1.0.3" optional = true [dependencies.bare-metal] version = "1" [dependencies.bxcan] version = "0.7" optional = true [dependencies.cortex-m] version = "0.7.7" features = ["critical-section-single-core"] [dependencies.cortex-m-rt] version = "0.7.3" [dependencies.cortex-m-rtic] version = "1.1.4" features = ["test-critical-section"] optional = true [dependencies.defmt] version = "0.3.5" optional = true [dependencies.display-interface] version = "0.5.0" optional = true [dependencies.display-interface-04] version = "0.4.1" optional = true package = "display-interface" [dependencies.document-features] version = "0.2" [dependencies.embedded-display-controller] version = "^0.2.0" optional = true [dependencies.embedded-dma] version = "0.2.0" [dependencies.embedded-hal] version = "1.0" [dependencies.embedded-hal-02] version = "0.2.7" features = ["unproven"] package = "embedded-hal" [dependencies.embedded-hal-async] version = "1.0" optional = true [dependencies.embedded-hal-nb] version = "1.0" [dependencies.embedded-io] version = "0.6.1" [dependencies.embedded-storage] version = "0.3" [dependencies.enumflags2] version = "0.7.8" [dependencies.fugit] version = "0.3.7" [dependencies.fugit-timer] version = "0.1.3" [dependencies.micromath] version = "2.1.0" optional = true [dependencies.nb] version = "1.1" [dependencies.rand_core] version = "0.6.4" [dependencies.rtic] version = "2.0.1" features = ["thumbv7-backend"] optional = true [dependencies.rtic-monotonic] version = "1.0" optional = true [dependencies.rtic-time] version = "2.0" optional = true [dependencies.sdio-host] version = "0.9.0" optional = true [dependencies.stm32-fmc] version = "0.3.2" optional = true [dependencies.stm32_i2s_v12x] version = "0.5.0" optional = true [dependencies.stm32f4] version = "0.16.1" features = ["atomics"] package = "stm32f4-staging" [dependencies.synopsys-usb-otg] version = "0.4.0" features = ["cortex-m"] optional = true [dependencies.systick-monotonic] version = "1.0.1" optional = true [dependencies.time] version = "0.3.14" default-features = false [dependencies.void] version = "1.0.2" default-features = false [dev-dependencies.cortex-m-semihosting] version = "0.5.0" [dev-dependencies.defmt] version = "0.3.4" [dev-dependencies.defmt-rtt] version = "0.4.0" [dev-dependencies.display-interface] version = "0.5" [dev-dependencies.display-interface-04] version = "0.4.1" package = "display-interface" [dev-dependencies.display-interface-spi] version = "0.4.1" [dev-dependencies.dwt-systick-monotonic] version = "1.1" [dev-dependencies.embedded-graphics] version = "0.8.1" [dev-dependencies.embedded-graphics-07] version = "0.7.1" package = "embedded-graphics" [dev-dependencies.ft6x06] version = "0.1.2" [dev-dependencies.hd44780-driver] version = "0.4.0" [dev-dependencies.heapless] version = "0.8" [dev-dependencies.ist7920] version = "0.1.1" [dev-dependencies.micromath] version = "2" [dev-dependencies.otm8009a] version = "0.1" [dev-dependencies.panic-halt] version = "0.2.0" [dev-dependencies.panic-probe] version = "0.3.0" features = ["print-defmt"] [dev-dependencies.panic-semihosting] version = "0.6.0" [dev-dependencies.rtt-target] version = "0.5.0" [dev-dependencies.smart-leds] version = "0.3.0" [dev-dependencies.ssd1306] version = "0.8.4" [dev-dependencies.st7789] version = "0.7.0" [dev-dependencies.time] version = "0.3" features = ["macros"] default-features = false [dev-dependencies.usb-device] version = "0.3.1" [dev-dependencies.usbd-serial] version = "0.2.0" [dev-dependencies.ushell] version = "0.3.5" [dev-dependencies.ws2812-spi] version = "0.4.0" features = [] [features] adc2 = [] adc3 = [] aes = [] can = ["dep:bxcan"] can1 = [] can2 = [] can3 = [] cryp = [] dac = [] dcmi = [] defmt = [ "dep:defmt", "stm32f4/defmt", "fugit/defmt", "nb/defmt-0-3", ] dfsdm = [] dfsdm1 = ["dfsdm"] dfsdm2 = ["dfsdm"] dma2d = [] dsihost = ["embedded-display-controller"] eth = [] fmc = [] fmpi2c1 = [] fsmc = [] fsmc_lcd = [ "dep:display-interface", "dep:display-interface-04", ] gpio-f401 = [ "gpiod", "gpioe", "i2c3", "otg-fs", "sdio", "spi3", "spi4", "tim1", "tim2", "tim3", "tim4", "tim5", "tim9", "tim10", "tim11", "rcc_shared_m", ] gpio-f410 = [ "dac", "fmpi2c1", "lptim1", "spi5", "tim1", "tim5", "tim6", "tim9", "tim11", ] gpio-f411 = [ "gpiod", "gpioe", "i2c3", "otg-fs", "sdio", "tim1", "tim2", "tim3", "tim4", "tim5", "tim9", "tim10", "tim11", "spi3", "spi4", "spi5", ] gpio-f412 = [ "gpiod", "gpioe", "gpiof", "gpiog", "can1", "can2", "dfsdm1", "fmpi2c1", "fsmc", "i2c3", "quadspi", "otg-fs", "rng", "sdio", "spi3", "spi4", "spi5", "tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14", "usart3", "rcc_i2s_apb", ] gpio-f413 = [ "gpiod", "gpioe", "gpiof", "gpiog", "can1", "can2", "can3", "dac", "dfsdm1", "dfsdm2", "fsmc", "fmpi2c1", "i2c3", "lptim1", "quadspi", "otg-fs", "rng", "sai1", "sdio", "spi3", "spi4", "spi5", "tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14", "usart3", "uart4", "uart5", "uart7", "uart8", "uart9", "uart10", "rcc_i2s_apb", ] gpio-f417 = [ "gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "adc2", "adc3", "can1", "can2", "dac", "dcmi", "eth", "fsmc", "i2c3", "otg-fs", "otg-hs", "rng", "sdio", "spi3", "tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14", "usart3", "uart4", "uart5", "rcc_shared_m", ] gpio-f427 = [ "gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok", "adc2", "adc3", "can1", "can2", "dac", "dcmi", "dma2d", "eth", "i2c3", "ltdc", "otg-fs", "otg-hs", "rng", "sai1", "sdio", "spi3", "spi4", "spi5", "spi6", "tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14", "usart3", "uart4", "uart5", "uart7", "uart8", "rcc_shared_m", ] gpio-f446 = [ "gpiod", "gpioe", "gpiof", "gpiog", "adc2", "adc3", "can1", "can2", "dac", "dcmi", "fmpi2c1", "fmc", "i2c3", "quadspi", "otg-fs", "otg-hs", "sai1", "sai2", "sdio", "spi3", "spi4", "spdifrx", "tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14", "usart3", "uart4", "uart5", "rcc_i2s_apb", ] gpio-f469 = [ "gpiod", "gpioe", "gpiof", "gpiog", "gpioi", "gpioj", "gpiok", "adc2", "adc3", "can1", "can2", "dac", "dma2d", "dcmi", "dsihost", "eth", "fmc", "i2c3", "ltdc", "quadspi", "otg-fs", "otg-hs", "rng", "sai1", "sdio", "spi3", "spi4", "spi5", "spi6", "tim1", "tim2", "tim3", "tim4", "tim5", "tim6", "tim7", "tim8", "tim9", "tim10", "tim11", "tim12", "tim13", "tim14", "usart3", "uart4", "uart5", "uart7", "uart8", "rcc_shared_m", ] gpiod = [] gpioe = [] gpiof = [] gpiog = [] gpioi = [] gpioj = [] gpiok = [] i2c3 = [] i2s = ["dep:stm32_i2s_v12x"] lptim1 = [] ltdc = ["dep:micromath"] otg-fs = [] otg-hs = [] quadspi = [] rcc_i2s_apb = [] rcc_shared_m = [] rng = [] rtic-tim2 = [] rtic-tim3 = [] rtic-tim4 = [] rtic-tim5 = [] rtic1 = [ "dep:rtic-monotonic", "dep:systick-monotonic", "cortex-m-rtic", ] rtic2 = [ "dep:rtic-time", "dep:rtic", "dep:atomic-polyfill", "dep:embedded-hal-async", ] sai = [] sai1 = ["sai"] sai2 = ["sai"] sdio = [] sdio-host = ["dep:sdio-host"] spdifrx = [] spi3 = [] spi4 = [] spi5 = [] spi6 = [] stm32f401 = [ "stm32f4/stm32f401", "gpio-f401", ] stm32f405 = [ "stm32f4/stm32f405", "gpio-f417", ] stm32f407 = [ "stm32f4/stm32f407", "gpio-f417", ] stm32f410 = [ "stm32f4/stm32f410", "gpio-f410", ] stm32f411 = [ "stm32f4/stm32f411", "gpio-f411", ] stm32f412 = [ "stm32f4/stm32f412", "gpio-f412", ] stm32f413 = [ "stm32f4/stm32f413", "gpio-f413", ] stm32f415 = [ "stm32f4/stm32f405", "gpio-f417", "cryp", ] stm32f417 = [ "stm32f4/stm32f407", "gpio-f417", "cryp", ] stm32f423 = [ "stm32f4/stm32f413", "gpio-f413", "aes", ] stm32f427 = [ "stm32f4/stm32f427", "gpio-f427", "fsmc", ] stm32f429 = [ "stm32f4/stm32f429", "gpio-f427", "fmc", ] stm32f437 = [ "stm32f4/stm32f427", "gpio-f427", "fsmc", "cryp", ] stm32f439 = [ "stm32f4/stm32f429", "gpio-f427", "fmc", "cryp", ] stm32f446 = [ "stm32f4/stm32f446", "gpio-f446", ] stm32f469 = [ "stm32f4/stm32f469", "gpio-f469", ] stm32f479 = [ "stm32f4/stm32f469", "gpio-f469", "cryp", ] tim1 = [] tim10 = [] tim11 = [] tim12 = [] tim13 = [] tim14 = [] tim2 = [] tim3 = [] tim4 = [] tim5 = [] tim6 = [] tim7 = [] tim8 = [] tim9 = [] uart10 = [] uart4 = [] uart5 = [] uart7 = [] uart8 = [] uart9 = [] usart3 = [] usb_fs = [ "dep:synopsys-usb-otg", "synopsys-usb-otg/fs", ] usb_hs = [ "dep:synopsys-usb-otg", "synopsys-usb-otg/hs", ]