# EMU Power Manager fault definitions
# Highly Confidential and Proprietary Zoox Information. Copyright (c) Zoox.

component: PowerManager
source_enum: kEmuPowerManager
namespace: zoox
can_messages:
  - status_msg: EMU_powerAlertStatus
    log_msg: EMU_powerAlertLog
can_import: firmware/common/can/generated/vh6/emu.h
proto_imports:
  - "vehicle/common/proto/emu_diagnostics.proto"
can_namespace: vh6
faults:
- id: 0
  name: psuStale
  severity: WARNING
  description: ATX Power Supply Unit messages are missing, possibly caused by loss of power
    or CAN to ATXPSU
  set_condition: ATX_powerStatus or ATX_generalStatus is stale on AI_CAN
  clear_condition: ATX_powerStatus and ATX_generalStatus is not stale on AI_CAN
  troubleshooting_steps: Inspect harness, check device fuse.
- id: 1
  name: psuWarning
  severity: WARNING
  description: ATX Power Supply Unit reports a warning
  set_condition: Unused currently
  clear_condition: Unused currently
  troubleshooting_steps: None.
- id: 2
  name: psuFault
  severity: WARNING
  description: ATX Power Supply Unit is faulted, caused by one of the output voltages
    exceeding its limits
  set_condition: ATX_powerStatus.ATX_OutputVoltage12vRail is not within range (11.4V, 12.6V) or
    ATX_powerStatus.ATX_OutputVoltage5vRail is not within range (4.75V, 5.25V) or
    ATX_powerStatus.ATX_OutputVoltage3vRail is not within range (3.14V, 3.47V)
  clear_condition: ATX_powerStatus.ATX_OutputVoltage12vRail is within range (11.4V, 12.6V) and
    ATX_powerStatus.ATX_OutputVoltage5vRail is within range (4.75V, 5.25V) and
    ATX_powerStatus.ATX_OutputVoltage3vRail is within range (3.14V, 3.47V)
  troubleshooting_steps: Check HV bus voltage, inspect ATXPSU
- id: 3
  name: dcdc1Stale
  severity: ERROR
  description: DCDC (North) messages are missing, possibly caused by loss of power or CAN to
    DCDC.
  set_condition: DCDC_fbk1 or DCDC_fbk2 or DCDC_fbk3 or DCDC_fbk4 or DCDC_nmStatus is stale on BDY_CAN1
  clear_condition: DCDC_fbk1 and DCDC_fbk2 and DCDC_fbk3 and DCDC_fbk4 and DCDC_nmStatus are not stale on BDY_CAN1
  troubleshooting_steps: Inspect harness, check device fuse. Power cycle the robot to clear the fault.
  latching: false
  reaction:
    trajectory: NoGo
- id: 4
  name: dcdc1Warning
  severity: WARNING
  set_condition: Unused currently
  clear_condition: Unused currently
  description: DCDC (North) is in a derated state, caused by either the inputs or the outputs
    being outside of acceptable voltage ranges
  troubleshooting_steps: Check HV bus voltage
- id: 5
  name: dcdc1Fault
  severity: ERROR
  set_condition: Unused currently
  clear_condition: Unused currently
  description: DCDC (north) is faulted, caused by DCDC being in an invalid mode, or DCDC
    failing to buck
  troubleshooting_steps: Collect logs and notify FW. Power cycle the robot.
  reaction:
    power_mode_limit: Acc
- id: 6
  name: dcdc2Stale
  severity: ERROR
  description: DCDC (South) messages are missing, possibly caused by loss of power or CAN to
    DCDC.
  set_condition: DCDC_fbk1 or DCDC_fbk2 or DCDC_fbk3 or DCDC_fbk4 or DCDC_nmStatus is stale on BDY_CAN2
  clear_condition: DCDC_fbk1 and DCDC_fbk2 and DCDC_fbk3 and DCDC_fbk4 and DCDC_nmStatus are not stale on BDY_CAN2
  troubleshooting_steps: Inspect harness, check device fuse. Power cycle the robot to clear the fault.
  latching: false
  reaction:
    trajectory: NoGo
- id: 7
  name: dcdc2Warning
  severity: WARNING
  set_condition: Unused currently
  clear_condition: Unused currently
  description: DCDC (South) is in a derated state, caused by either the inputs or the outputs
    being outside of acceptable voltage ranges
  troubleshooting_steps: Check HV Bus voltage
- id: 8
  name: dcdc2Fault
  severity: ERROR
  set_condition: Unused currently
  clear_condition: Unused currently
  description: DCDC (South) is faulted, caused by DCDC being in an invalid mode, or DCDC
    failing to buck
  troubleshooting_steps: Collect logs and notify FW. Power cycle the robot.
  reaction:
    power_mode_limit: Acc
- id: 9
  name: bms1Stale
  severity: ERROR
  set_condition: BMS_powerPredictionTotal1 or BMS_functionalStatus or BMS1_functionalStatus or
    BMS_tractionInfo or BMS1_battInfo1 or BMS1_cellInfo on DR_CAN1 is stale
  clear_condition: BMS_powerPredictionTotal1 and BMS_functionalStatus and BMS1_functionalStatus and
    BMS_tractionInfo and BMS1_battInfo1 and BMS1_cellInfo on DR_CAN1 are not stale
  description: BMS (North) messages are missing, possibly caused by loss of power or CAN to
    BMS
  troubleshooting_steps: Inspect harness, check device fuse
  reaction:
    trajectory: NoGo
- id: 10
  name: bms1Warning
  severity: WARNING
  set_condition: Unused currently
  clear_condition: Unused currently
  description: BMS (North) is in a degraded state, possibly caused by mismatched battery pack voltages
  troubleshooting_steps: Check individual pack voltages, charge vehicle if needed
- id: 11
  name: bms1ShutdownFault
  severity: ERROR
  description: BMS (North) is in SHUTDOWN_FAULT state
  troubleshooting_steps: Check that all wireless estops are powered on, and no estops are active.
  set_condition: BMS_functionalStatus.BMS_bmsState on DR_CAN1  is SHUTDOWN_FAULT.
  clear_condition: BMS_functionalStatus.BMS_bmsState on DR_CAN1  is not SHUTDOWN_FAULT.
  reaction:
    power_mode_limit: Acc
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 12
  name: bms2Stale
  severity: ERROR
  description: BMS (South) messages are missing, possibly caused by loss of power or CAN to
    BMS
  set_condition: BMS_powerPredictionTotal1 or BMS_functionalStatus or BMS2_functionalStatus or
    BMS_tractionInfo or BMS2_battInfo1 or BMS2_cellInfo on DR_CAN4 is stale
  clear_condition: BMS_powerPredictionTotal1 and BMS_functionalStatus and BMS2_functionalStatus and
    BMS_tractionInfo and BMS2_battInfo1 and BMS1_cellInfo on DR_CAN4 are not stale
  troubleshooting_steps: Inspect harness, check device fuse
  reaction:
    trajectory: NoGo
- id: 13
  name: bms2Warning
  severity: WARNING
  set_condition: Unused currently
  clear_condition: Unused currently
  description: BMS (South) is in a degraded state, possibly caused by mismatched battery pack voltage
  troubleshooting_steps: Check individual pack voltages, charge vehicle if needed
- id: 14
  name: bms2ShutdownFault
  severity: ERROR
  description: BMS (South) is in SHUTDOWN_FAULT state
  troubleshooting_steps: Check that all wireless estops are powered on, and no estops are active.
  set_condition: BMS_functionalStatus.BMS_bmsState on DR_CAN4 is SHUTDOWN_FAULT.
  clear_condition: BMS_functionalStatus.BMS_bmsState on DR_CAN4  is not SHUTDOWN_FAULT.
  reaction:
    power_mode_limit: Acc
- id: 15
  name: bbcStale
  severity: WARNING
  description: BBC messages are missing, possibly caused by loss of power or CAN to BBC
  set_condition: BBC_chargeStatus_1 is stale on DR_CAN1
  clear_condition: BBC_chargeStatus_1 is not stale on DR_CAN1
  troubleshooting_steps: Inspect BMS-BBC interpack harness, check device fuse
- id: 16
  name: bbcWarning
  severity: WARNING
  set_condition: Unused currently
  clear_condition: Unused currently
  description: BBC is reporting a derated state
  troubleshooting_steps: None.
- id: 17
  name: bbcFault
  severity: WARNING
  description: BBC is reporting a faulted state, possibly caused by charger connection interruption,
    or because charge ended (known false positive)
  set_condition: BBC_chargeStatus_1.BBC_state is FAULT
  clear_condition: BBC_chargeStatus_1.BBC_state is not FAULT
  troubleshooting_steps: Inspect the charger and charging connection, collect logs
    and notify FW
- id: 18
  name: ibs12vNorthStale
  severity: WARNING
  description: IBS (North) messages are missing, possibly caused by loss of power or LIN to
    IBS
  set_condition: MON_EMU_ibs12VState1 or MON_EMU_ibs12VState2 from LIN IBS device is stale
  clear_condition: MON_EMU_ibs12VState1 and MON_EMU_ibs12VState2 from LIN IBS device is not stale
  troubleshooting_steps: Inspect harness
- id: 19
  name: ibs12vNorthWarning
  severity: WARNING
  description: IBS (North) has low voltage
  set_condition: MON_EMU_ibs12VState1.MON_EMU_batteryVoltage0 from LIN IBS device is under 12V
  clear_condition: MON_EMU_ibs12VState1.MON_EMU_linResponseError0 from LIN IBS device is over 13V
  troubleshooting_steps: Check that external 12V charger is plugged in, enter HV and wait a few minutes
- id: 20
  name: ibs12vNorthFault
  severity: WARNING
  description: IBS (North) is in a faulted state, caused by North 12V battery measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorV0 or MON_EMU_ibs12VState2.MON_EMU_ibsErrorI0 or
    MON_EMU_ibs12VState2.MON_EMU_ibsErrorT0 or MON_EMU_ibs12VState2.MON_EMU_ibsError0 or
    MON_EMU_ibs12VState1.MON_EMU_linResponseError0 or MON_EMU_ibs12VState2.MON_EMU_ibsLinFault0 from
    LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorV0 and MON_EMU_ibs12VState2.MON_EMU_ibsErrorI0 and
    MON_EMU_ibs12VState2.MON_EMU_ibsErrorT0 and MON_EMU_ibs12VState2.MON_EMU_ibsError0 and
    MON_EMU_ibs12VState1.MON_EMU_linResponseError0 and MON_EMU_ibs12VState2.MON_EMU_ibsLinFault0 from
    LIN IBS device is set to
    false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 21
  name: ibs12vSouthStale
  severity: WARNING
  description: IBS (South) messages are missing, possibly caused by Loss of power or LIN to
    IBS
  set_condition: MON_EMU_ibs12VState1 or MON_EMU_ibs12VState2 from LIN IBS device is stale
  clear_condition: MON_EMU_ibs12VState1 and MON_EMU_ibs12VState2 from LIN IBS device is not stale
  troubleshooting_steps: Inspect harness
- id: 22
  name: ibs12vSouthWarning
  severity: WARNING
  description: IBS (South) has low voltage
  set_condition: MON_EMU_ibs12VState1.MON_EMU_batteryVoltage1 from LIN IBS device is under 12V
  clear_condition: MON_EMU_ibs12VState1.MON_EMU_linResponseError1 from LIN IBS device is over 13V
  troubleshooting_steps: Check that external 12V charger is plugged in, enter HV and wait a few minutes
- id: 23
  name: ibs12vSouthFault
  severity: WARNING
  description: IBS (South) is in a faulted state, possibly caused by South 12V battery measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorV1 or MON_EMU_ibs12VState2.MON_EMU_ibsErrorI1 or
    MON_EMU_ibs12VState2.MON_EMU_ibsErrorT1 or MON_EMU_ibs12VState2.MON_EMU_ibsError1 or
    MON_EMU_ibs12VState1.MON_EMU_linResponseError1 or MON_EMU_ibs12VState2.MON_EMU_ibsLinFault1 from
    LIN IBS deviceN is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorV1 and MON_EMU_ibs12VState2.MON_EMU_ibsErrorI1 and
    MON_EMU_ibs12VState2.MON_EMU_ibsErrorT1 and MON_EMU_ibs12VState2.MON_EMU_ibsError1 and
    MON_EMU_ibs12VState1.MON_EMU_linResponseError1 and MON_EMU_ibs12VState2.MON_EMU_ibsLinFault1 from
    LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 24
  name: tbcPowerStale
  severity: WARNING
  description: TBC messages are missing, possibly caused by loss of power or CAN to TBC
  set_condition: TBC_powerFeedback is stale on BDY_CAN1
  clear_condition: TBC_powerFeedback is not stale on BDY_CAN1
  troubleshooting_steps: Inspect harness, check device fuse
- id: 25
  name: tbcPowerWarning
  severity: WARNING
  description: TBC-power is in a degraded state
  set_condition: Unused currently
  clear_condition: Unused currently
  troubleshooting_steps: None.
- id: 26
  name: tbcPowerFault
  severity: WARNING
  description: TBC-power is faulted, caused by TBC staleness
  set_condition: Unused currently
  clear_condition: Unused currently
  troubleshooting_steps: Inspect harness, check device fuse
- id: 27
  name: bothBmsStale
  severity: ERROR
  description: Both BMS's are stale, possibly caused by loss of CAN or power
  set_condition: Any of the BMS1 messages stale on DR_CAN1 and any of the BMS2 messages are stale on DR_CAN4.
    Refer to the message list in the individual BMS stale faults4
  clear_condition: All the BMS1 messages are not stale on DR_CAN1 or All the BMS2 messages are not stale on DR_CAN4.
    Refer to the message list in the individual BMS stale faults
  troubleshooting_steps: Inspect harness, check device fuse
  reaction:
    power_mode_limit: Acc
    trajectory: NoGo
- id: 28
  name: ibs12vNorthMeasErrorI
  severity: WARNING
  description: IBS (North) is in a faulted state, caused by a current measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorI0 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_MON_EMU_ibsErrorI0 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 29
  name: ibs12vNorthMeasErrorV
  severity: WARNING
  description: IBS (North) is in a faulted state, caused by a voltage measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorV0 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_MON_EMU_ibsErrorV0 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 30
  name: ibs12vNorthMeasErrorT
  severity: WARNING
  description: IBS (North) is in a faulted state, caused by a temperature measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorT0 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_MON_EMU_ibsErrorT0 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 31
  name: ibs12vNorthSensorError
  severity: WARNING
  description: IBS (North) is in a faulted state, caused by a sensor error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsError0 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_ibsError0 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 32
  name: ibs12vNorthLinRespError
  severity: WARNING
  description: IBS (North) is in a faulted state, caused by a LIN response error
  set_condition: MON_EMU_ibs12VState1.MON_EMU_linResponseError0 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState1.MON_EMU_linResponseError0 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 33
  name: ibs12vNorthLinFault
  severity: WARNING
  description: IBS (North) is in a faulted state, caused by a LIN fault
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsLinFault0 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_ibsLinFault0 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 34
  name: ibs12vSouthMeasErrorI
  severity: WARNING
  description: IBS (South) is in a faulted state, caused by a current measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorI1 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_MON_EMU_ibsErrorI1 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 35
  name: ibs12vSouthMeasErrorV
  severity: WARNING
  description: IBS (South) is in a faulted state, caused by a voltage measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorV1 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_MON_EMU_ibsErrorV1 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 36
  name: ibs12vSouthMeasErrorT
  severity: WARNING
  description: IBS (South) is in a faulted state, caused by a temperature measurement error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsErrorT1 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_MON_EMU_ibsErrorT1 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 37
  name: ibs12vSouthSensorError
  severity: WARNING
  description: IBS (South) is in a faulted state, caused by a sensor error
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsError1 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_ibsError1 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 38
  name: ibs12vSouthLinRespError
  severity: WARNING
  description: IBS (South) is in a faulted state, caused by a LIN response error
  set_condition: MON_EMU_ibs12VState1.MON_EMU_linResponseError1 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState1.MON_EMU_linResponseError1 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 39
  name: ibs12vSouthLinFault
  severity: WARNING
  description: IBS (South) is in a faulted state, caused by a LIN fault
  set_condition: MON_EMU_ibs12VState2.MON_EMU_ibsLinFault1 from LIN IBS device is set to true
  clear_condition: MON_EMU_ibs12VState2.MON_EMU_ibsLinFault1 from LIN IBS device is set to false
  troubleshooting_steps: Inspect harness, collect logs and notify FW
- id: 40
  name: canGainPowerLimitStandby
  severity: ERROR
  description: Power state limited to Standby, requested via CAN gain.
  troubleshooting_steps: Reset power limit through Can gain or restart
  set_condition: When DBG_EMU_canGain message on UI_CAN is set for enum PWR_FAULT_PWR_LIMIT_STANDBY
  clear_condition: When DBG_EMU_canGain message on UI_CAN is reset for the enum PWR_FAULT_PWR_LIMIT_STANDBY
  latching: false
  reaction:
    power_mode_limit: Standby
- id: 41
  name: canGainPowerLimitAcc
  severity: ERROR
  description: Power state limited to Accessory, requested via CAN gain.
  troubleshooting_steps: Reset power limit through Can gain or restart
  set_condition: When DBG_EMU_canGain message on UI_CAN is set for enum PWR_FAULT_PWR_LIMIT_ACC
  clear_condition: When DBG_EMU_canGain message on UI_CAN is reset for the enum PWR_FAULT_PWR_LIMIT_ACC
  latching: false
  reaction:
    power_mode_limit: Acc
- id: 42
  name: canGainChargingBlocked
  severity: WARNING
  description: Charging blocked, requested via CAN gain.
  troubleshooting_steps: Reset charging limit through Can gain or restart
  set_condition: When DBG_EMU_canGain message on UI_CAN is set for enum PWR_BLOCK_CHARGING
  clear_condition: When DBG_EMU_canGain message on UI_CAN is reset for the enum PWR_BLOCK_CHARGING
- id: 43
  name: hvActiveTimeout
  severity: ERROR
  description: Power state dropped out of HV since the HV contactors were not getting closed.
  troubleshooting_steps: Check the HV bus and investigate why BMS was not able to close the contactors
  set_condition: Contactors didn't get closed within 10s of going into HV.
  clear_condition: Power state not in HV or Charging.
  latching: false
  reaction:
    power_mode_limit: Acc
- id: 44
  name: hvExceedsSafeLimits
  severity: ERROR
  description: HV bus voltage exceeded safe range and it is unsafe to stay in HV
  troubleshooting_steps: Check the BMS for the HV bus voltage limits.
  set_condition: Voltage is not in the range of Minimum Discharge Voltage(280V) and Maximum Charge Voltage(403V).
  clear_condition: Power state not in HV or Charging.
  latching: false
  reaction:
    power_mode_limit: Acc
- id: 45
  name: ChargingTimeout
  severity: WARNING
  description: Charge Power state timed out because of failure to exchange all the charging parameters with EVSE and go into the Charge State.
  troubleshooting_steps: Check the EVSE fault codes and possible harness issues with charging system.
  set_condition: Charge power state didn't go to Charge state in 150 seconds.
  clear_condition: Power state not in Charge state
- id: 46
  name: lvBatteryDischarging
  severity: WARNING
  description: 12V Battery is discharging. Power manager is not in HV State and Iota battery charger are not connected.
  troubleshooting_steps: Connect the Iota battery charger.
  set_condition: LV battery is being discharged.(When not in HV mode and LV rail voltage is under 12.6V for 3 seconds)
  clear_condition: LV battery not being discharged.(In HV mode or when LV rail voltage is above 12.6V for 3 seconds)
- id: 47
  name: bms1SocDeviated
  severity: WARNING
  description: BMS1 calculated SOC from pack voltage is deviated from reported SOC value by more than 10%.
  troubleshooting_steps: Restart vehicle and collect logs and report to FW
  set_condition: BMS1 reported SOC value is not in sync with calculated SOC on EMU for 5 seconds
  clear_condition: BMS reported SOC and calculated SOC are in sync for 5 seconds
- id: 48
  name: bms2SocDeviated
  severity: WARNING
  description: BMS2 calculated SOC from pack voltage is deviated from reported SOC value by more than 10%.
  troubleshooting_steps: Restart vehicle and collect logs and report to FW
  set_condition: BMS2 reported SOC value is not in sync with calculated SOC on EMU for 5 seconds
  clear_condition: BMS2 reported SOC and calculated SOC are in sync for 5 seconds
- id: 49
  name: bmsDoNotStartMission
  severity: WARNING
  description: BMS Operation status is DO_NOT_START_MISSION.
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS_functionalStatus.BMS_bmsOperationStatus is DO_NOT_START_MISSION.
  clear_condition: BMS_functionalStatus.BMS_bmsOperationStatus is not DO_NOT_START_MISSION.
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 50
  name: bmsEndMission
  severity: ERROR
  description: BMS Operation status is END_MISSION.
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS_functionalStatus.BMS_bmsOperationStatus is END_MISSION.
  clear_condition: BMS_functionalStatus.BMS_bmsOperationStatus is not END_MISSION.
  reaction:
    trajectory: NoGo
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 51
  name: bmsStopImmediately
  severity: ERROR
  description: BMS Operation status is STOP_IMMEDIATELY.
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS_functionalStatus.BMS_bmsOperationStatus is STOP_IMMEDIATELY.
  clear_condition: BMS_functionalStatus.BMS_bmsOperationStatus is not STOP_IMMEDIATELY.
  reaction:
    power_mode_limit: Acc
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 52
  name: bmsChargeStateFault
  severity: WARNING
  description: BMS Charge state is STOP_IMMEDIATELY.
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS_functionalStatus.BMS_chargeState is STOP_IMMEDIATELY.
  clear_condition: BMS_functionalStatus.BMS_chargeState is not STOP_IMMEDIATELY.
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 53
  name: bmsChargeStateShutdown
  severity: WARNING
  description: BMS Charge state is SHUTDOWN.
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS_functionalStatus.BMS_chargeState is SHUTDOWN.
  clear_condition: BMS_functionalStatus.BMS_chargeState is not SHUTDOWN.
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 54
  name: bms1EmergencyState
  severity: WARNING
  description: BMS1 is in Emergency state
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS1_functionalStatus.BMS1_emergencyState is SHUTDOWN.
  clear_condition: BMS1_functionalStatus.BMS1_emergencyState is not SHUTDOWN.
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 55
  name: bms2EmergencyState
  severity: WARNING
  description: BMS2 is in Emergency state
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS2_functionalStatus.BMS2_emergencyState is SHUTDOWN.
  clear_condition: BMS2_functionalStatus.BMS2_emergencyState is not SHUTDOWN.
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 56
  name: bothBmsEmergencyState
  severity: ERROR
  description: Both BMS is in Emergency state
  troubleshooting_steps: Note down the RoE, collect logs, contact FW and EEI Team
  set_condition: BMS1_functionalStatus.BMS1_emergencyState and BMS2_functionalStatus.BMS2_emergencyState is SHUTDOWN.
  clear_condition: BMS1_functionalStatus.BMS1_emergencyState and BMS2_functionalStatus.BMS2_emergencyState is not SHUTDOWN.
  reaction:
    power_mode_limit: Acc
  freeze_frame: zoox.common.proto.BmsDiagnosticsFF
- id: 57
  name: dcdc1DeratingLvUnderVoltage
  severity: WARNING
  description: DCDC1 derating because of Low Voltage at LV side
  troubleshooting_steps: Check LV rail voltage and compare it with the DCDC LV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernUndrUdcLv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernUndrUdcLv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 58
  name: dcdc1DeratingLvOverVoltage
  severity: WARNING
  description: DCDC1 derating because of High Voltage at LV side
  troubleshooting_steps: Check LV rail voltage and compare it with the DCDC LV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernOvrUdcLv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrUdcLv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 59
  name: dcdc1DeratingHvUnderVoltage
  severity: WARNING
  description: DCDC1 derating because of Low Voltage at HV side
  troubleshooting_steps: Check the BMS traction voltage and compare it with the DCDC HV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernUndrUdcHv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernUndrUdcHv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 60
  name: dcdc1DeratingHvOverVoltage
  severity: WARNING
  description: DCDC1 derating because of High Voltage at HV side
  troubleshooting_steps: Check the BMS traction voltage and compare it with the DCDC HV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernOvrUdcHv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrUdcHv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 61
  name: dcdc1DeratingLvOverCurrent
  severity: WARNING
  description: DCDC2 derating because of High Current at LV side
  troubleshooting_steps: Check the fuse and inspect the wires between the DCDC and 12v battery.
  set_condition: DCDC_Fbk3.DCDC_bDernOvrIdcLv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrIdcLv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 62
  name: dcdc1DeratingHvOverCurrent
  severity: WARNING
  description: DCDC1 derating because of High Current at HV side
  troubleshooting_steps: Check the DCDC1 HV side current
  set_condition: DCDC_Fbk3.DCDC_bDernOvrIdcHv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrIdcHv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 63
  name: dcdc1DeratingOverTemperature
  severity: WARNING
  description: DCDC1 derating because of DCDC overtemperature.
  troubleshooting_steps: Check the upstream and downstream coolant temperature and compare it with the DCDC temperature feedback on DCDC_fbk4
  set_condition: DCDC_Fbk3.DCDC_bDernTemp is set
  clear_condition: DCDC_Fbk3.DCDC_bDernTemp is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 64
  name: dcdc1ErrorLimitedPerformance
  severity: INFO
  description: DCDC1 Error because of limited performance of DCDC due to internal failure.
  troubleshooting_steps: Check the DCDC sensors. Power cycle the robot to clear the fault
  set_condition: DCDC_Fbk3.DCDC_errLimitedPerformance is set
  clear_condition: DCDC_Fbk3.DCDC_errLimitedPerformance is cleared
- id: 65
  name: dcdc1ErrorVoltageRange
  severity: WARNING
  description: DCDC1 shutdown because of Over/Undervoltage at I/O side.
  troubleshooting_steps: Contact Hardware team. Power cycle the robot to clear the fault
  set_condition: DCDC_Fbk3.DCDC_bErrVltg is set
  clear_condition: DCDC_Fbk3.DCDC_bErrVltg is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 66
  name: dcdc1DeratingShutDown
  severity: WARNING
  description: DCDC1 derating because of DCDC shutdown.
  troubleshooting_steps: Contact Hardware team. Power cycle the robot to clear the fault
  set_condition: DCDC_Fbk3.DCDC_errShtOff is set
  clear_condition: DCDC_Fbk3.DCDC_errShtOff is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 67
  name: dcdc1Failure
  severity: ERROR
  description: DCDC1 is in standby and no LV output.
  set_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN1 is FAILURE
  clear_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN1 is not FAILURE
  troubleshooting_steps:  Check other faults. Power cycle the robot and contact the hardware team if the issue persist.
  latching: false
  reaction:
    trajectory: NoGo
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 68
  name: dcdc1IncorrectMode
  severity: ERROR
  description: DCDC1 is in BUCK/DISCHARGE/PRECHARGE
  set_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN1 is BUCK or DISCHARGE or PRECHARGE
  clear_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN1 is not BUCK or DISCHARGE or PRECHARGE
  troubleshooting_steps: Put the power mode to Acc and to HV. Contact the hardware team if the issue persist.
  latching: false
  reaction:
    trajectory: NoGo
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 69
  name: dcdc2DeratingLvUnderVoltage
  severity: WARNING
  description: DCDC2 derating because of Low Voltage at LV side
  troubleshooting_steps: Check LV rail voltage and compare it with the DCDC LV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernUndrUdcLv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernUndrUdcLv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 70
  name: dcdc2DeratingLvOverVoltage
  severity: WARNING
  description: DCDC2 derating because of High Voltage at LV side
  troubleshooting_steps: Check LV rail voltage and compare it with the DCDC LV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernOvrUdcLv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrUdcLv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 71
  name: dcdc2DeratingHvUnderVoltage
  severity: WARNING
  description: DCDC2 derating because of Low Voltage at HV side
  troubleshooting_steps: Check the BMS traction voltage and compare it with the DCDC HV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernUndrUdcHv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernUndrUdcHv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 72
  name: dcdc2DeratingHvOverVoltage
  severity: WARNING
  description: DCDC2 derating because of High Voltage at HV side
  troubleshooting_steps: Check the BMS traction voltage and compare it with the DCDC HV side voltage feedback from DCDC_fbk1.
  set_condition: DCDC_Fbk3.DCDC_bDernOvrUdcHv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrUdcHv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 73
  name: dcdc2DeratingLvOverCurrent
  severity: WARNING
  description: DCDC2 derating because of High Current at LV side
  troubleshooting_steps: Check the fuse and inspect the wires between the DCDC and 12v battery.
  set_condition: DCDC_Fbk3.DCDC_bDernOvrIdcLv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrIdcLv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 74
  name: dcdc2DeratingHvOverCurrent
  severity: WARNING
  description: DCDC2 derating because of High Current at HV side
  troubleshooting_steps: Check the DCDC1 HV side current
  set_condition: DCDC_Fbk3.DCDC_bDernOvrIdcHv is set
  clear_condition: DCDC_Fbk3.DCDC_bDernOvrIdcHv is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 75
  name: dcdc2DeratingOverTemperature
  severity: WARNING
  description: DCDC2 derating because of DCDC overtemperature.
  troubleshooting_steps: Check the upstream and downstream coolant temperature and compare it with the DCDC temperature feedback on DCDC_fbk4
  set_condition: DCDC_Fbk3.DCDC_bDernTemp is set
  clear_condition: DCDC_Fbk3.DCDC_bDernTemp is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 76
  name: dcdc2ErrorLimitedPerformance
  severity: INFO
  description: DCDC2 Error because of limited performance of DCDC due to internal failure.
  troubleshooting_steps: Check the DCDC sensors. Power cycle the robot to clear the fault
  set_condition: DCDC_Fbk3.DCDC_errLimitedPerformance is set
  clear_condition: DCDC_Fbk3.DCDC_errLimitedPerformance is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 77
  name: dcdc2ErrorVoltageRange
  severity: WARNING
  description: DCDC2 shutdown because of Over/Undervoltage at I/O side.
  troubleshooting_steps: Contact Hardware team. Power cycle the robot to clear the fault
  set_condition: DCDC_Fbk3.DCDC_bErrVltg is set
  clear_condition: DCDC_Fbk3.DCDC_bErrVltg is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 78
  name: dcdc2DeratingShutDown
  severity: WARNING
  description: DCDC2 derating because of DCDC shutdown.
  troubleshooting_steps: Contact Hardware team. Power cycle the robot to clear the fault
  set_condition: DCDC_Fbk3.DCDC_errShtOff is set
  clear_condition: DCDC_Fbk3.DCDC_errShtOff is cleared
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 79
  name: dcdc2Failure
  severity: ERROR
  description: DCDC2 is in standby and no LV output.
  set_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN2 is FAILURE
  clear_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN2 is not FAILURE
  troubleshooting_steps:  Check other faults. Power cycle the robot and contact the hardware team if the issue persist.
  latching: false
  reaction:
    trajectory: NoGo
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 80
  name: dcdc2IncorrectMode
  severity: ERROR
  description: DCDC2 is in BUCK/DISCHARGE/PRECHARGE
  set_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN2 is BUCK or DISCHARGE or PRECHARGE
  clear_condition: DCDC_Fbk1.DCDC_mode on BDY_CAN2 is not BUCK or DISCHARGE or PRECHARGE
  troubleshooting_steps: Put the power mode to Acc and to HV. Contact the hardware team if the issue persist.
  latching: false
  reaction:
    trajectory: NoGo
  freeze_frame: zoox.common.proto.DcdcDiagnosticsFF
- id: 81
  name: hvRetryLimitReached
  severity: ERROR
  description: "Attempts to enter High Voltage power state are failing after multiple retries."
  troubleshooting_steps: This fault can only be cleared by power cycling the robot. Check for other errors in diagnostics that could cause HV attempt failures and then acknowledge this fault after that is root caused. Provide logs to firmware team.
  set_condition: Fault happened in HV state three times in the last 60 seconds.
  clear_condition: Power cycling the robot.
  reaction:
    power_mode_limit: Acc
