[package]
edition = "2021"
name = "embassy-rp-tests"
version = "0.1.0"
license = "MIT OR Apache-2.0"
publish = false

[features]
rp2040 = ["embassy-rp/rp2040"]
rp235xa = ["embassy-rp/rp235xa"]
rp235xb = ["embassy-rp/rp235xb"]

[dependencies]
teleprobe-meta = "1.1"

embassy-sync = { version = "0.7.2", path = "../../embassy-sync", features = ["defmt"] }
embassy-executor = { version = "0.9.0", path = "../../embassy-executor", features = ["arch-cortex-m", "executor-thread", "defmt"] }
embassy-time = { version = "0.5.0", path = "../../embassy-time", features = ["defmt", ] }
embassy-rp = { version = "0.8.0", path = "../../embassy-rp", features = [ "defmt", "unstable-pac", "time-driver", "critical-section-impl", "intrinsics", "rom-v2-intrinsics", "run-from-ram"]  }
embassy-futures = { version = "0.1.2", path = "../../embassy-futures" }
embassy-net = { version = "0.7.1", path = "../../embassy-net", features = ["defmt",  "tcp", "udp", "dhcpv4", "medium-ethernet"] }
embassy-net-wiznet = { version = "0.2.1", path = "../../embassy-net-wiznet", features = ["defmt"] }
embassy-embedded-hal = { version = "0.5.0", path = "../../embassy-embedded-hal/"}
cyw43 = { path = "../../cyw43", features = ["defmt", "firmware-logs"] }
cyw43-pio = { path = "../../cyw43-pio", features = ["defmt"] }
perf-client = { path = "../perf-client" }

defmt = "1.0.1"
defmt-rtt = "1.0.0"

cortex-m = { version = "0.7.6" }
cortex-m-rt = "0.7.0"
embedded-hal = "0.2.6"
embedded-hal-1 = { package = "embedded-hal", version = "1.0" }
embedded-hal-async = { version = "1.0" }
embedded-hal-bus = { version = "0.1", features = ["async"] }
panic-probe = { version = "1.0.0", features = ["print-defmt"] }
embedded-io-async = { version = "0.6.1" }
embedded-storage = { version = "0.3" }
static_cell = "2"
portable-atomic = { version = "1.5", features = ["critical-section"] }

# bootsel not currently supported on 2350
[[bin]]
name = "bootsel"
path = "src/bin/bootsel.rs"
required-features = [ "rp2040",]

# 2350 devboard isn't a W
[[bin]]
name = "cyw43-perf"
path = "src/bin/cyw43-perf.rs"
required-features = [ "rp2040",]

# Eth test only for the w5100s-evb-pico
[[bin]]
name = "ethernet_w5100s_perf"
path = "src/bin/ethernet_w5100s_perf.rs"
required-features = [ "rp2040",]

# Float intrinsics are only relevant for the 2040
[[bin]]
name = "float"
path = "src/bin/float.rs"
required-features = [ "rp2040",]

# RTC is only available on RP2040
[[bin]]
name = "rtc"
path = "src/bin/rtc.rs"
required-features = [ "rp2040",]

[profile.dev]
debug = 2
debug-assertions = true
opt-level = 's'
overflow-checks = true

[profile.release]
codegen-units = 1
debug = 2
debug-assertions = false
incremental = false
lto = "fat"
opt-level = 's'
overflow-checks = false

# do not optimize proc-macro crates = faster builds from scratch
[profile.dev.build-override]
codegen-units = 8
debug = false
debug-assertions = false
opt-level = 0
overflow-checks = false

[profile.release.build-override]
codegen-units = 8
debug = false
debug-assertions = false
opt-level = 0
overflow-checks = false

[package.metadata.embassy]
build = [
  { target = "thumbv6m-none-eabi", features = ["rp2040"], artifact-dir = "out/tests/rpi-pico" },
  { target = "thumbv8m.main-none-eabihf", features = ["rp235xb"], artifact-dir = "out/tests/pimoroni-pico-plus-2" }
]
