[package] edition = "2021" name = "plant-ctrl2" rust-version = "1.86" version = "0.1.0" # Explicitly configure the binary target and disable building it as a test/bench. [[bin]] name = "plant-ctrl2" path = "src/main.rs" # Prevent IDEs/Cargo from trying to compile a test harness for this no_std binary. test = false bench = false doc = false #this strips the bootloader, we need that tho #strip = true [profile.dev] lto = "fat" debug = false overflow-checks = true panic = "abort" incremental = true opt-level = "z" [profile.release] lto = "fat" #debug = false overflow-checks = true panic = "abort" incremental = false opt-level = "z" [package.metadata.espflash] partition_table = "partitions.csv" [dependencies] # Project/Shared canapi = { path = "../../Shared/canapi" } # Platform and ESP-specific runtime/boot/runtime utilities log = "0.4.28" esp-bootloader-esp-idf = { version = "0.4.0", features = ["esp32c6", "log-04"] } esp-hal = { version = "1.0.0", features = ["esp32c6", "log-04"] } esp-rtos = { version = "0.2.0", features = ["esp32c6", "embassy", "esp-radio"] } esp-backtrace = { version = "0.18.1", features = ["esp32c6", "panic-handler", "println", "colors", "custom-halt"] } esp-println = { version = "0.16.1", features = ["esp32c6", "log-04", "auto"] } esp-storage = { version = "0.8.1", features = ["esp32c6"] } esp-radio = { version = "0.17.0", features = ["esp32c6", "log-04", "smoltcp", "wifi", "unstable"] } esp-alloc = { version = "0.9.0", features = ["esp32c6", "internal-heap-stats"] } # Async runtime (Embassy core) embassy-executor = { version = "0.9.1", features = ["log", "nightly"] } embassy-time = { version = "0.5.0", features = ["log"], default-features = false } embassy-sync = { version = "0.7.2", features = ["log"] } # Networking and protocol stacks embassy-net = { version = "0.7.1", features = [ "dhcpv4", "log", "medium-ethernet", "tcp", "udp", "proto-ipv4", "dns" ] } smoltcp = { version = "0.12.0", default-features = false, features = [ "alloc", "log", "medium-ethernet", "multicast", "proto-dhcpv4", "proto-ipv6", "proto-dns", "proto-ipv4", "socket-dns", "socket-icmp", "socket-raw", "socket-tcp", "socket-udp", ] } sntpc = { version = "0.6.1", default-features = false, features = ["log", "embassy-socket", "embassy-socket-ipv6"] } edge-dhcp = "0.6.0" edge-nal = "0.5.0" edge-nal-embassy = "0.6.0" edge-http = { version = "0.6.1", features = ["log"] } # Hardware abstraction traits and HAL adapters embedded-hal = "1.0.0" embedded-storage = "0.3.1" embassy-embedded-hal = "0.5.0" embedded-can = "0.4.1" nb = "1.1.0" # Concrete hardware drivers and sensors/IO expanders onewire = "0.4.0" ds323x = "0.7.0" eeprom24x = "0.7.2" pca9535 = { version = "2.0.0" } ina219 = { version = "0.2.0" } bq34z100 = { version = "0.4.0", default-features = false } # Storage and filesystem littlefs2 = { version = "0.6.1", features = ["c-stubs", "alloc"] } littlefs2-core = "0.1.2" # Serialization / codecs serde = { version = "1.0.228", features = ["derive", "alloc"], default-features = false } serde_json = { version = "1.0.145", default-features = false, features = ["alloc"] } bincode = { version = "2.0.1", default-features = false, features = ["derive"] } # Time and time zones chrono = { version = "0.4.42", default-features = false, features = ["iana-time-zone", "alloc", "serde"] } chrono-tz = { version = "0.10.4", default-features = false, features = ["filter-by-regex"] } # Utilities and pure functional code (no hardware I/O) heapless = { version = "0.7.17", features = ["serde"] } # stay in sync with mcutie version static_cell = "2.1.1" portable-atomic = "1.11.1" crc = "3.3.0" bytemuck = { version = "1.24.0", features = ["derive", "min_const_generics", "pod_saturating", "extern_crate_alloc"] } deranged = "0.5.5" strum_macros = "0.27.2" unit-enum = "1.4.3" async-trait = "0.1.89" option-lock = { version = "0.3.1", default-features = false } measurements = "0.11.1" # Project-specific mcutie = { version = "0.3.0", default-features = false, features = ["log", "homeassistant"] } [patch.crates-io] mcutie = { git = 'https://github.com/empirephoenix/mcutie.git' } #bq34z100 = { path = "../../bq34z100_rust" } [build-dependencies] vergen = { version = "8.3.2", features = ["build", "git", "gitcl"] }