chore: tooling improvements
- Add cargo-binutils to mise.toml (needed for `just size`) - Remove jj from mise.toml (optional, not a build dependency) - Silence `mise install` output when tools are current (--quiet) - Add `just outdated` recipe with embassy-executor exclusion (esp-rtos 0.2 pins embassy-executor ^0.9; 0.10 renamed arch-* features to platform-*, which crashes cargo-outdated) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
5 files changed
+53
-26
No files matched your search
Generated
+13
-11
@@ -1782,18 +1782,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toml_datetime"
|
name = "toml_datetime"
|
||||||
version = "1.1.0+spec-1.1.0"
|
version = "1.1.1+spec-1.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "97251a7c317e03ad83774a8752a7e81fb6067740609f75ea2b585b569a59198f"
|
checksum = "3165f65f62e28e0115a00b2ebdd37eb6f3b641855f9d636d3cd4103767159ad7"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"serde_core",
|
"serde_core",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toml_edit"
|
name = "toml_edit"
|
||||||
version = "0.25.8+spec-1.1.0"
|
version = "0.25.9+spec-1.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "16bff38f1d86c47f9ff0647e6838d7bb362522bdf44006c7068c2b1e606f1f3c"
|
checksum = "da053d28fe57e2c9d21b48261e14e7b4c8b670b54d2c684847b91feaf4c7dac5"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"indexmap",
|
"indexmap",
|
||||||
"toml_datetime",
|
"toml_datetime",
|
||||||
@@ -1803,9 +1803,9 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "toml_parser"
|
name = "toml_parser"
|
||||||
version = "1.1.0+spec-1.1.0"
|
version = "1.1.1+spec-1.1.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "2334f11ee363607eb04df9b8fc8a13ca1715a72ba8662a26ac285c98aabb4011"
|
checksum = "39ca317ebc49f06bd748bfba29533eac9485569dc9bf80b849024b025e814fb9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"winnow",
|
"winnow",
|
||||||
]
|
]
|
||||||
@@ -1818,7 +1818,9 @@ checksum = "562d481066bde0658276a35467c4af00bdc6ee726305698a55b86e61d7ad82bb"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ucobs"
|
name = "ucobs"
|
||||||
version = "0.3.1"
|
version = "0.3.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "6a8e4344120e8d40560381899031725b5b71d5afbb45be9a1cd124eee031492c"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "ufmt-write"
|
name = "ufmt-write"
|
||||||
@@ -1982,18 +1984,18 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zerocopy"
|
name = "zerocopy"
|
||||||
version = "0.8.47"
|
version = "0.8.48"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "efbb2a062be311f2ba113ce66f697a4dc589f85e78a4aea276200804cea0ed87"
|
checksum = "eed437bf9d6692032087e337407a86f04cd8d6a16a37199ed57949d415bd68e9"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"zerocopy-derive",
|
"zerocopy-derive",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "zerocopy-derive"
|
name = "zerocopy-derive"
|
||||||
version = "0.8.47"
|
version = "0.8.48"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "0e8bc7269b54418e7aeeef514aa68f8690b8c0489a06b0136e5f57c4c5ccab89"
|
checksum = "70e3cd084b1788766f53af483dd21f93881ff30d7320490ec3ef7526d203bad4"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|||||||
+24
-6
@@ -29,7 +29,7 @@ embassy-sync = "0.8"
|
|||||||
embassy-time = "0.5"
|
embassy-time = "0.5"
|
||||||
embassy-usb = { version = "0.6", features = ["defmt"] }
|
embassy-usb = { version = "0.6", features = ["defmt"] }
|
||||||
embassy-usb-driver = "0.2"
|
embassy-usb-driver = "0.2"
|
||||||
ucobs = { path = "../ucobs", features = ["legacy-msrv"] }
|
ucobs = { version = "0.3", features = ["legacy-msrv"] }
|
||||||
heapless = "0.9"
|
heapless = "0.9"
|
||||||
lora-phy = "3.0"
|
lora-phy = "3.0"
|
||||||
static_cell = "2.1"
|
static_cell = "2.1"
|
||||||
@@ -44,14 +44,32 @@ embedded-io-async = "0.7"
|
|||||||
embassy-futures = "0.1"
|
embassy-futures = "0.1"
|
||||||
|
|
||||||
# ESP32-S3 (Heltec V3) — requires esp toolchain (espup)
|
# ESP32-S3 (Heltec V3) — requires esp toolchain (espup)
|
||||||
esp-backtrace = { version = "0.18", optional = true, features = ["esp32s3", "panic-handler", "defmt"] }
|
esp-backtrace = { version = "0.18", optional = true, features = [
|
||||||
esp-hal = { version = "1.0", optional = true, features = ["esp32s3", "unstable"] }
|
"esp32s3",
|
||||||
esp-println = { version = "0.16", optional = true, features = ["esp32s3", "defmt-espflash"] }
|
"panic-handler",
|
||||||
esp-rtos = { version = "0.2", optional = true, features = ["esp32s3", "embassy"] }
|
"defmt",
|
||||||
|
] }
|
||||||
|
esp-hal = { version = "1.0", optional = true, features = [
|
||||||
|
"esp32s3",
|
||||||
|
"unstable",
|
||||||
|
] }
|
||||||
|
esp-println = { version = "0.16", optional = true, features = [
|
||||||
|
"esp32s3",
|
||||||
|
"defmt-espflash",
|
||||||
|
] }
|
||||||
|
esp-rtos = { version = "0.2", optional = true, features = [
|
||||||
|
"esp32s3",
|
||||||
|
"embassy",
|
||||||
|
] }
|
||||||
|
|
||||||
# nRF52840 (RAK 4631)
|
# nRF52840 (RAK 4631)
|
||||||
cortex-m-rt = { version = "0.7", optional = true }
|
cortex-m-rt = { version = "0.7", optional = true }
|
||||||
embassy-nrf = { version = "0.10", optional = true, features = ["nrf52840", "gpiote", "time-driver-rtc1", "defmt"] }
|
embassy-nrf = { version = "0.10", optional = true, features = [
|
||||||
|
"nrf52840",
|
||||||
|
"gpiote",
|
||||||
|
"time-driver-rtc1",
|
||||||
|
"defmt",
|
||||||
|
] }
|
||||||
panic-probe = { version = "1.0", optional = true, features = ["print-defmt"] }
|
panic-probe = { version = "1.0", optional = true, features = ["print-defmt"] }
|
||||||
|
|
||||||
[build-dependencies]
|
[build-dependencies]
|
||||||
|
|||||||
+7
-7
@@ -2,28 +2,28 @@ set shell := ["bash", "-c"]
|
|||||||
|
|
||||||
# Receive LoRa packets (Ctrl-C to stop)
|
# Receive LoRa packets (Ctrl-C to stop)
|
||||||
rx *args:
|
rx *args:
|
||||||
@mise install && uv run {{source_directory()}}/simple_rx.py {{args}}
|
@mise install --quiet && uv run {{source_directory()}}/simple_rx.py {{args}}
|
||||||
|
|
||||||
# Transmit a single packet
|
# Transmit a single packet
|
||||||
tx *args:
|
tx *args:
|
||||||
@mise install && uv run {{source_directory()}}/simple_tx.py {{args}}
|
@mise install --quiet && uv run {{source_directory()}}/simple_tx.py {{args}}
|
||||||
|
|
||||||
# Two-dongle ping-pong demo (--role tx|rx)
|
# Two-dongle ping-pong demo (--role tx|rx)
|
||||||
ping-pong *args:
|
ping-pong *args:
|
||||||
@mise install && uv run {{source_directory()}}/ping_pong.py {{args}}
|
@mise install --quiet && uv run {{source_directory()}}/ping_pong.py {{args}}
|
||||||
|
|
||||||
# Exercise all DongLoRa commands
|
# Exercise all DongLoRa commands
|
||||||
test-commands *args:
|
test-commands *args:
|
||||||
@mise install && uv run {{source_directory()}}/all_commands.py {{args}}
|
@mise install --quiet && uv run {{source_directory()}}/all_commands.py {{args}}
|
||||||
|
|
||||||
# Two-way LoRa bridge over TCP
|
# Two-way LoRa bridge over TCP
|
||||||
bridge *args:
|
bridge *args:
|
||||||
@mise install && uv run {{source_directory()}}/lora_bridge.py {{args}}
|
@mise install --quiet && uv run {{source_directory()}}/lora_bridge.py {{args}}
|
||||||
|
|
||||||
# MeshCore packet decoder/monitor
|
# MeshCore packet decoder/monitor
|
||||||
meshcore *args:
|
meshcore *args:
|
||||||
@mise install && uv run {{source_directory()}}/meshcore/meshcore_rx.py {{args}}
|
@mise install --quiet && uv run {{source_directory()}}/meshcore/meshcore_rx.py {{args}}
|
||||||
|
|
||||||
# Run any example by name (e.g. just ex run simple_rx)
|
# Run any example by name (e.g. just ex run simple_rx)
|
||||||
run script *args:
|
run script *args:
|
||||||
@mise install && uv run {{source_directory()}}/{{script}}.py {{args}}
|
@mise install --quiet && uv run {{source_directory()}}/{{script}}.py {{args}}
|
||||||
@@ -91,6 +91,13 @@ size board:
|
|||||||
test:
|
test:
|
||||||
DONGLORA_HOST_TEST=1 cargo test
|
DONGLORA_HOST_TEST=1 cargo test
|
||||||
|
|
||||||
|
# Check for outdated dependencies
|
||||||
|
outdated:
|
||||||
|
@# embassy-executor 0.10 renamed arch-* → platform-* features.
|
||||||
|
@# esp-rtos 0.2 still pins embassy-executor ^0.9, blocking the upgrade.
|
||||||
|
@# cargo-outdated crashes trying to resolve 0.10 with the old feature name.
|
||||||
|
cargo outdated --exclude embassy-executor
|
||||||
|
|
||||||
# Example scripts (just ex rx, just ex tx, just ex meshcore, ...)
|
# Example scripts (just ex rx, just ex tx, just ex meshcore, ...)
|
||||||
mod ex 'examples/justfile'
|
mod ex 'examples/justfile'
|
||||||
|
|
||||||
@@ -99,7 +106,7 @@ mod ex 'examples/justfile'
|
|||||||
# Install mise-managed tools if any are missing (fast no-op when current)
|
# Install mise-managed tools if any are missing (fast no-op when current)
|
||||||
[private]
|
[private]
|
||||||
_ensure_tools:
|
_ensure_tools:
|
||||||
@mise install
|
@mise install --quiet
|
||||||
|
|
||||||
# Run a cargo command for a board.
|
# Run a cargo command for a board.
|
||||||
# Xtensa: nightly cargo + esp rustc (via RUSTC override) + -Zbuild-std=core
|
# Xtensa: nightly cargo + esp rustc (via RUSTC override) + -Zbuild-std=core
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ rust = "1.93"
|
|||||||
python = "3.14"
|
python = "3.14"
|
||||||
uv = "latest"
|
uv = "latest"
|
||||||
just = "latest"
|
just = "latest"
|
||||||
jj = "latest"
|
|
||||||
|
|
||||||
|
"cargo:cargo-binutils" = "latest" # `cargo size`, `cargo objdump`, etc.
|
||||||
"cargo:espup" = "0.16"
|
"cargo:espup" = "0.16"
|
||||||
"cargo:espflash" = "3" # 4.x has broken nix dependency on current stable Rust
|
"cargo:espflash" = "3" # 4.x has broken nix dependency on current stable Rust
|
||||||
"cargo:probe-rs-tools" = "0.31"
|
"cargo:probe-rs-tools" = "0.31"
|
||||||
Reference in new issue
Block a user