固件:首次上板修三处(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]>
这个提交包含在:
zhou yang
2026-09-27 10:26:55 +08:00
共同撰写人 Claude Opus 5.5
父节点 b8ad69681f
当前提交 dc0395fde0
共修改 10 个文件,包含 334 行新增和 4 行删除
+1 -1
查看文件
@@ -50,7 +50,7 @@ extern "C" {
/* USB2517I 的复位,上拉到 +3V3_HUB ⇒ 低有效。
⛔⛔ **运行期一个字都不许写它**(R2 D13 代价 2):ESP32 自己的控制台与烧录口
就挂在这个 Hub 的第 6 个下行口上,误复位 = 自断控制台,而且下一次烧录也进不来。
只在启动自检时脉冲一次;真出事的退路是 J33 那个 5P 应急串口。 */
只在**上电复位**时脉冲一次(其余复位原因不碰,见 app_main.c);真出事的退路是 J33 那个 5P 应急串口。 */
#define BOARD_PIN_HUB_RST_N 8 /* 模组脚 12 → U32.43 */
#define BOARD_PIN_UP_VBUS_DET 6 /* 模组脚 6 → R721/R722 分压,上游 USB-C 插没插 */