# 开发常用命令。未安装 just 时可直接使用 README 中的 cargo 命令。 default: @just --list # 格式化全部代码 fmt: cargo fmt --all # 本地检查(与 CI 同标准) lint: cargo fmt --all -- --check cargo clippy --workspace --all-targets -- -D warnings # 运行全部单测与集成测试(Linux 专属 vcan 测试自动跳过) test: cargo test --workspace # Linux:搭建 vcan0 并运行真实内核 CAN 栈集成测试 vcan-test: sudo modprobe vcan sudo ip link add dev vcan0 type vcan || true sudo ip link set up vcan0 cargo test -p dji-esc-socketcan -- --ignored --test-threads 1 # 无硬件全链路演示(macOS / Linux 均可) run-mock: cargo run -p chassisd -- --mock # 交叉检查目标板架构 check-aarch64: cargo check --workspace --target aarch64-unknown-linux-gnu # 交叉编译 armv7 静态二进制(目标板:创龙 T153 / Buildroot) build-armv7: rustup target add armv7-unknown-linux-musleabihf cargo build --release -p chassisd --target armv7-unknown-linux-musleabihf # 推送到板子并试运行(默认 mock 模式) deploy board="root@169.254.63.4" mode="--mock": just build-armv7 ssh {{board}} "mkdir -p /tmp/chassisd" scp -q target/armv7-unknown-linux-musleabihf/release/chassisd {{board}}:/tmp/chassisd/chassisd ssh {{board}} "/tmp/chassisd/chassisd {{mode}}" # 板端:拉起 CAN 接口(1Mbps,bus-off 后 100ms 自动恢复) can-up board="root@169.254.63.4" iface="can0": ssh {{board}} "ip link set {{iface}} down; ip link set {{iface}} up type can bitrate 1000000 restart-ms 100 && ip -br link show {{iface}}"