[package] name = "rp" version = "0.1.0" edition = "2021" [workspace] members = ["bootloader"] [dependencies] cortex-m = { version = "0.7", features = ["inline-asm"] } cortex-m-rt = "0.7" defmt = "0.3" defmt-rtt = "0.4" embassy-executor = { version = "0.3", features = [ "arch-cortex-m", "executor-thread", "executor-interrupt", "defmt", "nightly", "integrated-timers", ] } embassy-rp = { version = "0.1", features = [ "defmt", "unstable-traits", "nightly", "unstable-pac", "time-driver", "critical-section-impl", ] } embassy-boot-rp = { version = "0.1", features = ["nightly", "defmt"] } embassy-boot = { version = "0.1", features = [ "nightly", "defmt", "ed25519-salty", ] } embassy-time = { version = "0.1", features = [ "defmt", "unstable-traits", "defmt-timestamp-uptime", "nightly", ] } embassy-net = { version = "0.1", features = [ "tcp", "dhcpv4", "nightly", "medium-ethernet", "defmt", "dns", ] } embassy-sync = { version = "0.2", features = ["defmt"] } embassy-futures = { version = "0.1", features = ["defmt"] } cyw43 = { git = "https://github.com/embassy-rs/embassy", features = [ "defmt", "firmware-logs", ] } cyw43-pio = { git = "https://github.com/embassy-rs/embassy", features = [ "defmt", ] } panic-probe = { version = "0.3", features = ["print-defmt"] } static_cell = { version = "1.1", features = ["nightly"] } heapless = { version = "0.7.16", features = ["defmt", "serde"] } embedded-io-async = { version = "0.5", features = ["defmt-03"] } dsmr5 = "0.3" rust-mqtt = { version = "0.1.5", features = [ "defmt", "no_std", "tls", ], default-features = false } rand = { version = "0.8.5", features = [ "nightly", "small_rng", "std_rng", ], default-features = false } serde-json-core = "0.5.1" serde = { version = "1.0.188", default-features = false, features = ["derive"] } cfg-if = "1.0.0" # Embassy harfcodes a max of 6 dns servers, if there are more it crashes. This is a workaround # Ideally embassy returns an error instead of crashing... # Interestingly though, I only get 2 DNS servers... smoltcp = { version = "0.10.0", default-features = false, features = [ "dns-max-server-count-4", ] } nourl = { version = "0.1.1", features = ["defmt"] } reqwless = { version = "0.5.0", features = ["defmt"] } embedded-storage = "0.3.0" const_format = "0.2.31" git-version = "0.3.5" embedded-tls = { version = "0.15.0", default-features = false, features = [ "async", "defmt", ] } [patch.crates-io] embassy-executor = { git = "https://github.com/embassy-rs/embassy" } embassy-rp = { git = "https://github.com/embassy-rs/embassy" } embassy-time = { git = "https://github.com/embassy-rs/embassy" } embassy-net = { git = "https://github.com/embassy-rs/embassy" } embassy-sync = { git = "https://github.com/embassy-rs/embassy" } embassy-futures = { git = "https://github.com/embassy-rs/embassy" } embassy-boot-rp = { git = "https://github.com/embassy-rs/embassy" } embassy-boot = { git = "https://github.com/embassy-rs/embassy" } # Updated to embedded-io 0.5.0 rust-mqtt = { git = "https://git.huizinga.dev/Dreaded_X/rust-mqtt" } # Make mqtt:// and mqtts:// actually work nourl = { git = "https://git.huizinga.dev/Dreaded_X/nourl" } # Waiting for this to get updated to embedded-io 0.5 properly reqwless = { path = "../reqwless" } [build-dependencies] dotenvy = "0.15" [features] # With this feature enabled the cyw43 fiwmares are not included in the build and need to be manually flashed # This helps speed up development include_firmwares = [] invert_rx = [] [profile.release] debug = true opt-level = 's' codegen-units = 1 lto = true