[package] name = "thermostat-eem" version = "0.3.0" edition = "2021" authors = [ "Norman Krackow ", "Robert Jördens ", "Ryan Summers ", ] description = "Firmware for the Sinara Thermostat-EEM temperature controller." categories = ["embedded", "no-std", "hardware-support", "science"] license = "MIT OR Apache-2.0" keywords = ["ethernet", "stm32h7", "adc", "dac", "physics"] repository = "https://github.com/quartiq/thermostat-eem" readme = "README.md" exclude = [".gitignore"] # keep MSRV in sync in ci.yaml and Cargo.toml rust-version = "1.75.0" [features] default = ["all_differential"] all_differential = [] ai_artiq = [] nightly = [] [dependencies] cortex-m = { version = "0.7.7", features = [ "inline-asm", "critical-section-single-core", ] } cortex-m-rt = { version = "0.7", features = ["device"] } stm32h7xx-hal = { version = "0.16.0", features = [ "stm32h743v", "rt", "ethernet", "xspi", "usb_hs", ] } log = { version = "0.4", features = [ "max_level_trace", "release_max_level_info", ] } panic-probe = { version = "=0.3.0", features = ["print-rtt"] } smoltcp-nal = { version = "0.5", features = ["shared-stack"] } rtic = { version = "2.1", features = ["thumbv7-backend"] } rtic-monotonics = { version = "2.0", features = ["cortex-m-systick"] } rtic-sync = { version = "1.0" } embedded-time = "0.12.1" fugit = "0.3" mono-clock = "0.1" heapless = { version = "0.8", features = ["serde"] } minimq = "0.9" serde = { version = "1.0.203", features = ["derive"], default-features = false } serde-json-core = "0.6" rtt-logger = "0.2" rtt-target = { version = "0.3", features = ["cortex-m"] } num-traits = { version = "0.2", default-features = false, features = ["libm"] } smlang = "0.8.0" idsp = "0.15.0" embedded-hal = "0.2.7" bitbybit = "1.3.2" arbitrary-int = "1.2.7" # stabilizer = "0.9.0" lm75 = "0.2" bytemuck = { version = "1.17.0", features = [ "derive", ], default-features = false } # Note: Keep in-sync with `py/setup.py` miniconf = { version = "0.13", features = ["json-core", "derive", "postcard"] } miniconf_mqtt = "0.13" strum = { version = "0.26.1", default-features = false, features = ["derive"] } serial-settings = "0.1" postcard = "1" embedded-storage = "0.3" sequential-storage = "3" usb-device = "0.3.2" usbd-serial = "0.2" panic-persist = { version = "0.3", features = ["utf8", "custom-panic-handler"] } embassy-futures = { version = "0.1", default-features = false } embedded-io = "0.6" embedded-storage-async = "0.4" serde_with = { version = "3.9", default-features = false, features = [ "macros", ] } [profile.dev] codegen-units = 1 incremental = false opt-level = 3 [profile.release] opt-level = 3 debug = true lto = true codegen-units = 1 [build-dependencies] built = { version = "0.7", features = ["git2"], default-features = false }