[package] authors = ["Jorge Aparicio ", "Daniel Egger "] categories = ["embedded", "hardware-support", "no-std"] description = "HAL for the STM32F1xx family of microcontrollers" keywords = ["arm", "cortex-m", "stm32", "hal"] license = "MIT OR Apache-2.0" name = "stm32f1xx-hal" repository = "https://github.com/stm32-rs/stm32f1xx-hal" documentation = "https://docs.rs/stm32f1xx-hal" readme = "README.md" edition = "2018" version = "0.7.0" [package.metadata.docs.rs] features = ["stm32f103", "rt", "stm32-usbd"] default-target = "x86_64-unknown-linux-gnu" [dependencies] cortex-m = "0.6.0" nb = "0.1.2" cortex-m-rt = "0.6.8" stm32f1 = "0.11.0" embedded-dma = "0.1.2" bxcan = "0.4.0" [dependencies.void] default-features = false version = "1.0.2" [dependencies.cast] default-features = false version = "0.2.2" [dependencies.embedded-hal] version = "0.2.3" features = ["unproven"] [dependencies.stm32-usbd] version = "0.5.0" features = ["ram_access_1x16"] optional = true [dev-dependencies] panic-halt = "0.2.0" panic-semihosting = "0.5.2" panic-itm = "0.4.1" cortex-m-rtic = "0.5" cortex-m-semihosting = "0.3.3" heapless = "0.5.6" m = "0.1.1" mfrc522 = "0.2.0" serde_derive = "1.0.90" usb-device = "0.2.3" usbd-serial = "0.1.0" [dev-dependencies.byteorder] default-features = false version = "1.3.1" [dev-dependencies.cobs] default-features = false version = "0.1.4" [dev-dependencies.crc16] default-features = false version = "0.4.0" [dev-dependencies.either] default-features = false version = "1.5.2" [dev-dependencies.serde] default-features = false version = "1.0.90" [features] device-selected = [] doc = [] rt = ["stm32f1/rt"] stm32f100 = ["stm32f1/stm32f100", "device-selected"] stm32f101 = ["stm32f1/stm32f101", "device-selected"] stm32f103 = ["stm32f1/stm32f103", "device-selected", "has-can"] stm32f105 = ["stm32f1/stm32f107", "device-selected", "connectivity"] stm32f107 = ["stm32f1/stm32f107", "device-selected", "connectivity"] # Devices with 64 or 128 Kb ROM medium = [] # Devices with 256 or 512 Kb ROM high = ["medium"] # Devices with 768 Kb ROM or more xl = ["high"] # Connectivity line devices (`stm32f105xx` and `stm32f107xx`) connectivity = ["medium", "has-can"] # Devices with CAN interface has-can = [] [profile.dev] incremental = false codegen-units = 1 [profile.release] codegen-units = 1 debug = true lto = true [[example]] name = "usb_serial" required-features = ["rt", "stm32-usbd"] [[example]] name = "usb_serial_interrupt" required-features = ["rt", "stm32-usbd"] [[example]] name = "usb_serial_rtic" required-features = ["rt", "stm32-usbd"] [[example]] name = "blinky_timer_irq" required-features = ["rt"] [[example]] name = "blinky_rtcalarm_irq" required-features = ["rt"] [[example]] name = "qei" required-features = ["medium"] [[example]] name = "timer-interrupt-rtic" required-features = ["rt", "medium"] [[example]] name = "exti" required-features = ["rt"] [[example]] name = "can-echo" required-features = ["has-can"] [[example]] name = "can-loopback" required-features = ["has-can"] [[example]] name = "can-rtic" required-features = ["has-can", "rt"]