140 lines
4.2 KiB
TOML
140 lines
4.2 KiB
TOML
[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"] }
|