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