add error code/issue code from TPU v1.9.0, RPU v1.8.0

This commit is contained in:
2026-08-07 09:49:30 +08:00
parent 90b15752a3
commit 90eee4c7f0
2 changed files with 166 additions and 0 deletions
+93
View File
@@ -0,0 +1,93 @@
from enum import IntEnum
# Source: fenghuang-dsp/garuda-dsp app/event/global_event_code.h (shared by TPU+RPU)
class Severity(IntEnum):
NORMAL = 0
INFO = 1
WARNING = 2
ERROR = 3
FAULT = 4
class Category(IntEnum):
ALIGNMENT = 1
COMM = 2
BATTERY = 3
AC_INPUT = 4
POWER = 5
THERMAL = 6
HARDWARE = 7
def make_event(severity, category, index):
return (int(severity) << 12) | (int(category) << 8) | index
class IssueCode(IntEnum):
"""Packed 16-bit issue codes. Value = make_event(severity, category, index)."""
N_AL00 = make_event(Severity.NORMAL, Category.ALIGNMENT, 0) # 0x0100 - Alignment in-range
W_AL01 = make_event(Severity.WARNING, Category.ALIGNMENT, 1) # 0x2101 - Gap distance too close
W_AL02 = make_event(Severity.WARNING, Category.ALIGNMENT, 2) # 0x2102 - Gap distance too far
W_AL03 = make_event(Severity.WARNING, Category.ALIGNMENT, 3) # 0x2103 - RXP misaligned and rampup fail
W_AL04 = make_event(Severity.WARNING, Category.ALIGNMENT, 4) # 0x2104 - RXP moving away
W_AL05 = make_event(Severity.WARNING, Category.ALIGNMENT, 5) # 0x2105 - Discovery auto-align fail
W_AL06 = make_event(Severity.WARNING, Category.ALIGNMENT, 6) # 0x2106 - Discovery auto-align timeout
N_CM00 = make_event(Severity.NORMAL, Category.COMM, 0) # 0x0200 - Handshake completed
W_CM01 = make_event(Severity.WARNING, Category.COMM, 1) # 0x2201 - Wireless comm disconnected
W_CM02 = make_event(Severity.WARNING, Category.COMM, 2) # 0x2202 - Wireless comm disconnected in handshake
W_CM03 = make_event(Severity.WARNING, Category.COMM, 3) # 0x2203 - TPU detected RPU error
W_CM04 = make_event(Severity.WARNING, Category.COMM, 4) # 0x2204 - Wrong accept ID
W_CM05 = make_event(Severity.WARNING, Category.COMM, 5) # 0x2205 - TPU charging enable fails
W_CM06 = make_event(Severity.WARNING, Category.COMM, 6) # 0x2206 - RPU detected TPU error (inactive)
W_CM07 = make_event(Severity.WARNING, Category.COMM, 7) # 0x2207 - RPU detected TPU error
I_BT01 = make_event(Severity.INFO, Category.BATTERY, 1) # 0x1301 - CV low current, charging completed
I_BT02 = make_event(Severity.INFO, Category.BATTERY, 2) # 0x1302 - Cutoff voltage, charging completed
W_BT03 = make_event(Severity.WARNING, Category.BATTERY, 3) # 0x2303 - Battery disconnected
W_BT04 = make_event(Severity.WARNING, Category.BATTERY, 4) # 0x2304 - Output over current
W_BT05 = make_event(Severity.WARNING, Category.BATTERY, 5) # 0x2305 - Battery is not detected
W_BT06 = make_event(Severity.WARNING, Category.BATTERY, 6) # 0x2306 - Manual charging fails
I_BT07 = make_event(Severity.INFO, Category.BATTERY, 7) # 0x1307 - RPU CV current limit
I_BT08 = make_event(Severity.INFO, Category.BATTERY, 8) # 0x1308 - RPU power limit
W_AC01 = make_event(Severity.WARNING, Category.AC_INPUT, 1) # 0x2401 - AC input under-voltage
W_AC02 = make_event(Severity.WARNING, Category.AC_INPUT, 2) # 0x2402 - AC input over-voltage
I_AC03 = make_event(Severity.INFO, Category.AC_INPUT, 3) # 0x1403 - AC current limit
W_AC04 = make_event(Severity.WARNING, Category.AC_INPUT, 4) # 0x2404 - PFC fails
W_PW01 = make_event(Severity.WARNING, Category.POWER, 1) # 0x2501 - PFC over current
W_PW02 = make_event(Severity.WARNING, Category.POWER, 2) # 0x2502 - PFC DC over voltage
W_PW03 = make_event(Severity.WARNING, Category.POWER, 3) # 0x2503 - PFC DC under voltage
W_PW04 = make_event(Severity.WARNING, Category.POWER, 4) # 0x2504 - PFC PWM trip
W_PW05 = make_event(Severity.WARNING, Category.POWER, 5) # 0x2505 - INV over current
W_PW06 = make_event(Severity.WARNING, Category.POWER, 6) # 0x2506 - INV PWM trip
I_PW07 = make_event(Severity.INFO, Category.POWER, 7) # 0x1507 - INV current limit
W_PW08 = make_event(Severity.WARNING, Category.POWER, 8) # 0x2508 - RPU PWM trip
I_PW09 = make_event(Severity.INFO, Category.POWER, 9) # 0x1509 - Coil voltage limit
I_TH01 = make_event(Severity.INFO, Category.THERMAL, 1) # 0x1601 - TPU thermal derating level 1
I_TH02 = make_event(Severity.INFO, Category.THERMAL, 2) # 0x1602 - TPU thermal derating level 2
W_TH03 = make_event(Severity.WARNING, Category.THERMAL, 3) # 0x2603 - TPU coil over temperature
W_TH04 = make_event(Severity.WARNING, Category.THERMAL, 4) # 0x2604 - INV over temperature
W_TH05 = make_event(Severity.WARNING, Category.THERMAL, 5) # 0x2605 - PFC over temperature
W_TH06 = make_event(Severity.WARNING, Category.THERMAL, 6) # 0x2606 - SR MOS over temperature
W_TH07 = make_event(Severity.WARNING, Category.THERMAL, 7) # 0x2607 - TPU MCU over temperature
F_TH08 = make_event(Severity.FAULT, Category.THERMAL, 8) # 0x4608 - TXP coil NTC fault
F_TH09 = make_event(Severity.FAULT, Category.THERMAL, 9) # 0x4609 - TPU MOS NTC fault
F_TH0A = make_event(Severity.FAULT, Category.THERMAL, 10) # 0x460A - RXP coil NTC fault
F_TH0B = make_event(Severity.FAULT, Category.THERMAL, 11) # 0x460B - RPU MOS NTC fault
I_TH0C = make_event(Severity.INFO, Category.THERMAL, 12) # 0x160C - RPU thermal derating level 1
I_TH0D = make_event(Severity.INFO, Category.THERMAL, 13) # 0x160D - RPU thermal derating level 2
W_TH0E = make_event(Severity.WARNING, Category.THERMAL, 14) # 0x260E - RPU coil over temperature
W_TH0F = make_event(Severity.WARNING, Category.THERMAL, 15) # 0x260F - RPU MCU over temperature
F_HW01 = make_event(Severity.FAULT, Category.HARDWARE, 1) # 0x4701 - TPU PWM init error
F_HW02 = make_event(Severity.FAULT, Category.HARDWARE, 2) # 0x4702 - TPU flash config error
F_HW03 = make_event(Severity.FAULT, Category.HARDWARE, 3) # 0x4703 - RPU flash config error
EVENT_OK = 0x0000
EVENT_NONE = 0xFFFF