 zhou yang和Claude Opus 5.5
|
dc0395fde0
|
固件:首次上板修三处(Hub 复位 / 空槽不走总线 / 关 I²C 驱动日志)+ I²C 扫描工具
2026-09-27 底板上板(未插刀片)发现:
- HUB_RST 只在上电复位(ESP_RST_POWERON)时脉冲。原先每次重启都脉冲,
esptool 经 USB 复位芯片即把自己的 COM 口断掉,只能走 J33 手动下载。
实测:USB 复位(原因 11)后日志「不动 HUB_RST#」,COM 口全程不掉。
- t_safety 空槽不走总线。原先五路无条件读,空槽 NAK 每次十几 ms,
槽 1 就吃光 10 ms 整圈预算,槽 2~5 与主干输入侧 0x43 一圈都没读到。
新用例 test_empty_slots_are_never_touched_and_the_input_still_reads(去掉修复即红)。
- 关掉 i2c.master 驱动日志:NAK 日志在持锁期间同步打印,拖垮 20 ms 节拍。
失败仍计入 t_safety 的 i2c_err。
- 上板结果:空机 skipped=0 i2c_err=0 过载 0 最迟 0 ms。
tools/i2c_scan:独立的只读扫描固件(主干 + mux 8 通道,读身份寄存器,不写任何输出)。
实测主干 0x22/0x23/0x43/0x4A/0x4B/0x70 全在,另有 0x47 应答(推测 DAC63204 广播地址)。
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-09-27 10:26:55 +08:00 |
|
 zhou yang和Claude Opus 5.5
|
b8ad69681f
|
固件:R2 迁移 R-0 ~ R-6(底板 + 5 片同构刀片)
2026-09-16 完成、当时未提交,这里补提交(原样,不含 09-27 上板的修改)。
- 器件层 / 拓扑层整体从 R1 换到 R2:TCA9548A 分通道、五路同址 INA226 0x40 + 输入侧 0x43、
刀片 PCA9555(VBUS_EN 挪到 P0.4)、CH224A 只读驱动、风扇闭环 t_thermal
- 新增 i2cbus(mux 原子事务)、slot(刀片 I/O 门面)、host/qtest.sh
- 74HC595 链退役(代码与测试保留)
- 判据阈值与时间常量未动;19 个 ctest 全绿,idf.py build 通过
Co-Authored-By: Claude Opus 5.5 <[email protected]>
|
2026-09-27 10:26:24 +08:00 |
|
 zhou yang和Claude Opus 5
|
45de84ed3c
|
A7:五路配置表 + 表驱动遍历 + 启动自检
六组编号(INA 地址 / DAC 片通道 / 三个按键位 / EDL 位 / 两根 EN 的 GPIO)拼成
一张 const 表 rail_cfg(1..5),没有一列是顺排的。开机 rail_selftest() 把它和
A3~A6 四个驱动的表逐格对账,再查全板引脚重复 / 越界,不过就 abort ——
那四个自检谓词至此全部有了调用点。
判据拎成 rail_selftest_table(t) 单独可调:真表是 const 的,不这么做就没法证明
「真有事的时候查得出来」。测试复制一张表出来逐样改坏,六种坏法都验过。
顺带修一个真 bug:HAL 两侧 GPIO 边界写的是 pin < 48,而 EFUSE_EN2 就在 IO48
上 —— CH2 的 eFuse 既开不了也关不掉。sim 与 ESP 两份都改成 0~48 含。
9 条 ctest(131 个用例)全绿,idf.py build 通过,16 条注错 15 条变红
(唯一没红的那条与原因记在 HANDOFF.md)。
Co-Authored-By: Claude Opus 5 <[email protected]>
|
2026-09-07 07:13:04 +08:00 |
|