固件 A15:启动顺序 + 降级矩阵(bringup.{h,c},已上板)

- 启动序列从 app_main.c 拆进 main/bringup.{h,c},宿主机可测:
  bringup_devices()(§10.9 第 1~4 步)→ 起 t_safety → bringup_power_restore()(第 5~6 步)
- 六片 INA226 写 Config/Calibration(之前没做,电流恒 0);输入侧 0x43 登记对调接
- 按「意图」逐路上电、错开 100 ms、每路等 PG 500 ms,等不到关回去并记 LOG_EV_PG_TIMEOUT(17)
- 意图只由 power 命令改(cmd_env_t.intent → NVS phonerail/rail_want)
- §10.10 逐行降级:INA/DAC/PCA9555/mux/PRSNT#/CH224A;mux 失联时不碰主干
- BOOT 事件 arg = 复位原因;HUB_RST# 仍只在上电复位时脉冲
- rail_volt_init() 一片失败不再放弃另一片;CH224A 主干 / 通道 5 两处都找
- sim:sim_gpio_rise_us / sim_gpio_set_hook,sim_gpio_drive 可在配置前调
- test_bringup.c 24 例 + test_cmd 意图 1 例,共 425 例全绿;版本 0.1.0-a15
- rack:事件表加 17 PG_TIMEOUT(已部署)

Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
zhou yang
2026-09-27 13:24:17 +08:00
共同撰写人 Claude Opus 5.5
父节点 da6af4ef1c
当前提交 c85eec53e6
共修改 24 个文件,包含 1479 行新增和 201 行删除
+7
查看文件
@@ -1,5 +1,12 @@
# 进度与交接
## ⭐ 2026-09-27 晚:固件 A15(启动顺序 + 降级矩阵)完成,已上板
- 启动序列从 `app_main.c` 拆到 `firmware/main/bringup.{h,c}`,宿主机 `test_bringup.c` 24 例(逐个拔器件对 §10.10 逐行),全工程 425 例全绿。
- 板 B 已烧 **0.1.0-a15**:输入侧电流第一次读出真值(+98.5 mA,以前没写 Calibration 恒 0);BOOT 事件带复位原因;CH224A 读到 5000 mA ⇒ 100 W(⚠️ 与 09-27 早上记的 20V/3A 不一致,待核)。
- 新事件号 17 `PG_TIMEOUT`;`rack/backend/prrack/protocol.py` 已加并已部署(服务器 26 例过,板 B 显示 a15)。
- 仍欠:A16 风扇闭环;I²C 总线挂死恢复(HAL 层);PD 上限的降载动作(§8.3)。详见 `firmware/HANDOFF.md`。
## ⭐ 2026-09-27 下午:机架管理全链路打通(固件 A12~A14 + 服务器前后端)
- **固件**(`firmware/HANDOFF.md`):A12 命令处理器、A13 USB 分帧、A14 WiFi/MQTT + C1 配网,板 B(`b81f3fc9c8bc`,COM5)已烧 0.1.0-a14、真连网。