add error code/issue code from TPU v1.9.0, RPU v1.8.0
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
from enum import IntFlag
|
||||
|
||||
|
||||
class TpuErrorCode(IntFlag):
|
||||
"""Source: fenghuang-dsp/app/main/error_handler.h (TPU section)."""
|
||||
FLASH_CONFIG_FAULT = 1 << 0
|
||||
RF_HANDSHAKE_LOST = 1 << 1
|
||||
RF_COMM_LOST = 1 << 2
|
||||
PRI_ENABLE_TIMEOUT = 1 << 3
|
||||
RPU_CMD_ERROR = 1 << 4
|
||||
ACCEPT_ID_FAIL = 1 << 5
|
||||
LOW_COUPLING_TOO_FAR = 1 << 6
|
||||
HIGH_COUPLING_TOO_CLOSE = 1 << 7
|
||||
NO_BATTERY_DETECTED = 1 << 8
|
||||
MOS_NTC_ERROR_MASK = 1 << 9
|
||||
COIL_NTC_ERROR_MASK = 1 << 10
|
||||
HR_PWM_INIT_ERROR = 1 << 11
|
||||
MCU_OVER_TEMPERATURE = 1 << 12
|
||||
PFC_OVER_TEMPERATURE = 1 << 13
|
||||
INV_OVER_TEMPERATURE = 1 << 14
|
||||
COIL_OVER_TEMPERATURE = 1 << 15
|
||||
FORCE_CHARGING_FAIL = 1 << 16
|
||||
SEC_RAMPUP_FAIL = 1 << 17
|
||||
INV_PWM_TRIP = 1 << 18
|
||||
INV_OVER_CURRENT = 1 << 19
|
||||
INV_SEC_OVP = 1 << 20
|
||||
INV_RCU_MOVING_AWAY = 1 << 21
|
||||
PFC_START_TIMEOUT = 1 << 22
|
||||
PFC_PWM_TRIP = 1 << 23
|
||||
# bit 24 unused in firmware
|
||||
PFC_DC_UNDER_VOLTAGE = 1 << 25
|
||||
PFC_DC_OVER_VOLTAGE = 1 << 26
|
||||
PFC_IL_OVER_CURRENT = 1 << 27
|
||||
DISCOVERY_MOVE_TIMEOUT = 1 << 28
|
||||
DISCOVERY_POSITION_FAIL = 1 << 29
|
||||
PFC_AC_OVER_VOLTAGE = 1 << 30
|
||||
PFC_AC_UNDER_VOLTAGE = 1 << 31
|
||||
|
||||
|
||||
class RpuErrorCode(IntFlag):
|
||||
"""Source: garuda-dsp/app/main/error_handler.h (RPU section)."""
|
||||
FLASH_CONFIG_ERROR = 1 << 0
|
||||
# bit 1 unused in firmware
|
||||
PAIR_COMM_CONS_LOST_MASK = 1 << 2
|
||||
# bit 3 unused in firmware
|
||||
MP_TIMEOUT_MASK = 1 << 4
|
||||
PRE_RUN_COMM_NO_OK_MASK = 1 << 5
|
||||
PRE_RUN_COMM_LOW_COUPLING_MASK = 1 << 6
|
||||
PRE_RUN_COMM_HIGH_COUPLING_MASK = 1 << 7
|
||||
RUN_COMM_NO_OK_MASK = 1 << 8
|
||||
RUN_COMM_PRI_ERROR_MASK = 1 << 9
|
||||
STOP_COMM_NO_OK_MASK = 1 << 10
|
||||
COMM_LOST_MASK = 1 << 11
|
||||
MCU_OVER_TEMPERATURE_MASK = 1 << 12
|
||||
DC_OVER_CURRENT_MASK = 1 << 13
|
||||
SR_OVER_TEMPERATURE_MASK = 1 << 14
|
||||
RXP_OVER_TEMPERATURE_MASK = 1 << 15
|
||||
COMM_PRI_RETURN_ERROR_MASK = 1 << 16
|
||||
# bit 17 unused in firmware
|
||||
# bit 18 unused in firmware
|
||||
SR_PWM_SIGNAL_MISSING_MASK = 1 << 19
|
||||
CUTOFF_VOLTAGE = 1 << 20
|
||||
DC_OVER_VOLTAGE_MASK = 1 << 21
|
||||
# bit 22 unused in firmware
|
||||
# bit 23 unused in firmware
|
||||
CV_LOW_CURRENT = 1 << 24
|
||||
TPU_RAMP_FAILURE = 1 << 25
|
||||
SR_NTC_ERROR_MASK = 1 << 26
|
||||
RXP_NTC_ERROR_MASK = 1 << 27
|
||||
TPU_INV_FAILURE = 1 << 28
|
||||
TPU_PFC_FAILURE = 1 << 29
|
||||
TPU_OVER_TEMPERATURE = 1 << 30
|
||||
BLE_UART_LOSS = 1 << 31
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user