固件 0.1.4-c5:整片刀片不应答(INA226 + PCA9555 同时 NAK 200 ms)⇒ 关这一路
- t_safety:eFuse 开着、本路两颗都 NAK 连续 10 圈 ⇒ abort + 关 eFuse,新事件 20 BLADE_MUTE; 只关 eFuse,不再写刚 NAK 过的 PCA9555。只有一颗不答应仍按 §10.10 盲跑、保持供电 - 起因:板 B 第 2 槽 PRSNT2# 卡低,刀片挪走后空槽 eFuse 开了约 4 h,原判据一条没响 - 需求 §10.10 加一行 + 表后第 3 条;rack 事件 20 命名并标红 - 宿主机 26 ctest 全绿(test_t_safety_rules +4 例) Co-Authored-By: Claude Opus 5.5 <[email protected]>
这个提交包含在:
@@ -90,8 +90,8 @@ import { mA, V, W, C, ago, fmtTime, railsMw, railHealth, LEVEL_COLOR, RECOVERY_Z
|
||||
// 与 backend/prrack/protocol.py 的 EVENT_TYPES / EVENT_SEVERE 同一张表(数字来自固件 evlog.h)
|
||||
const EV = ['', '板子上电', '事件丢失', '过压关路', '欠压关路', '反灌断 VBUS', '顶高断 VBUS', 'eFuse 故障',
|
||||
'PG 变化', 'I²C 失联', '过温降载', '风扇停转', '重启序列', '命令被拒', 'mux 失联全断', '刀片不在位', 'PD 限功率',
|
||||
'上电等不到 PG', '固件升级', '开机重按']
|
||||
const SEVERE = new Set([3, 4, 5, 6, 7, 9, 11, 14, 17])
|
||||
'上电等不到 PG', '固件升级', '开机重按', '刀片不应答关路']
|
||||
const SEVERE = new Set([3, 4, 5, 6, 7, 9, 11, 14, 17, 20])
|
||||
// 开机重按(19)只有 arg bit7「最终没开起来」才算严重
|
||||
const isSevere = ev => SEVERE.has(ev[3]) || (ev[3] === 19 && (ev[4] & 0x80) !== 0)
|
||||
const evName = t => EV[t] || `事件 ${t}`
|
||||
|
||||
在新工单中引用
屏蔽一个用户