feat: 初始化

This commit is contained in:
Horldsence
2026-09-22 20:05:16 +08:00
commit 7d87987e41
54 changed files with 6446 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
# 开发常用命令。未安装 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}}"