这一块代码本来就写好了、根 README 里也按"已实现"描述,但一直没有进仓库, 只存在于工作区里。同一个提交里带上 `.env.example` 的两个新变量(ARMOR_TEAM、 ARMOR_THRESHOLD)——它们的说明文字就是为这套固件写的。 内容: - armor-protocol:规则层(血量、每板独立 50ms 受击冷却、受击后只有那一路灯带全黑、 按键 FSM、上报编码)。纯计算,主机上 22 个测试,已跑通。 - armor-firmware:四路压电片 ADC 连续采样、四路 WS2812(C3 只有一个 RMT 通道可用, 靠 rmt_tx_switch_gpio 轮流驱动)、NVS、BOOT 键、WiFi + UDP 广播。 - scripts:build_armor.sh / flash_armor.sh / armor_probe.py(不开界面单看广播)。 armor/ 是独立 workspace(目标 RISC-V 的 ESP32-C3),与外层 Xtensa 的图传固件互不相干, 各自 .cargo/config.toml 就是这条边界。构建产物由根 .gitignore 的 `/armor/target/` 覆盖, 本次没有把任何 target/ 或 build/ 下的东西加进来。 顺带把 `.DS_Store` 加进 .gitignore。
491 B
491 B
| 1 | # 装甲板固件(4 MB flash)的自定义分区表。 |
|---|---|
| 2 | # |
| 3 | # nvs : 颜色 / 队伍等应用设置,外加 WiFi 校准数据 |
| 4 | # phy_init : 射频校准数据 |
| 5 | # factory : 唯一的分区镜像(2 MB 余量;固件实测不到 1 MB,但默认的 1 MB 单 app |
| 6 | # 槽对带 WiFi 的固件太紧) |
| 7 | # Name, Type, SubType, Offset, Size, Flags |
| 8 | nvs, data, nvs, 0x9000, 0x6000, |
| 9 | phy_init, data, phy, 0xf000, 0x1000, |
| 10 | factory, app, factory, 0x10000, 0x200000, |