component: Llc
proto_imports:
  - vehicle/kitt_gateway/llc_gateway/diagnostics/llc_diagnostics.proto
metric: proto::LlcMetric
namespace: zoox::llc_gateway
faults:
  - id: 0
    name: RESERVED
    severity: ERROR
    description:
    deprecated: true
  - id: 1
    name: ADC_ERROR
    severity: ERROR
    description: "Error reading from ADC. Possible hardware issue with L3 ECU."
    triggers_nogo: true
  - id: 2
    name: DAC_ERROR
    severity: ERROR
    description: "Error writing to DAC. Possible hardware issue with L3 ECU."
    triggers_nogo: true
  - id: 3
    name: AI_CAN_ERROR
    severity: INFO
    description: "AI CAN bus error."
  - id: 4
    name: AI_CAN_RX_ERROR
    severity: INFO
    description: "LLC failed to receive a message from AI CAN."
  - id: 5
    name: AI_CAN_TX_ERROR
    severity: INFO
    description: "LLC failed to transmit a message on AI CAN."
  - id: 6
    name: CHASSIS_CAN_ERROR
    severity: INFO
    description: "Chassis CAN bus error."
  - id: 7
    name: CHASSIS_CAN_RX_ERROR
    severity: INFO
    description: "LLC failed to receive a message from Chassis CAN."
  - id: 8
    name: CHASSIS_CAN_TX_ERROR
    severity: INFO
    description: "LLC failed to transmit a message on Chassis CAN."
  - id: 9
    name: DAS_CAN_ERROR
    severity: INFO
    description: "DAS CAN bus error."
  - id: 10
    name: DAS_CAN_RX_ERROR
    severity: INFO
    description: "LLC failed to receive a message from DAS CAN."
  - id: 11
    name: DAS_CAN_TX_ERROR
    severity: INFO
    description: "LLC failed to transmit a message on DAS CAN."
  - id: 12
    name: STEER_POWER
    severity: ERROR
    description: "Steering torque sensor failure. If power steering is not functional, disconnect the 12V battery to recover."
    triggers_nogo: true
  - id: 13
    name: STEER_IN1_INVALID
    severity: ERROR
    description: "Steering torque sensor failure. If power steering is not functional, disconnect the 12V battery to recover."
    triggers_nogo: true
  - id: 14
    name: STEER_IN2_INVALID
    severity: ERROR
    description: "Steering torque sensor failure. If power steering is not functional, disconnect the 12V battery to recover."
    triggers_nogo: true
  - id: 15
    name: STEER_OUT1_INVALID
    severity: ERROR
    description: "Steering torque output invalid. Possible hardware issue with L3 ECU."
    triggers_nogo: true
  - id: 16
    name: STEER_OUT2_INVALID
    severity: ERROR
    description: "Steering torque output invalid. Possible hardware issue with L3 ECU."
    triggers_nogo: true
  - id: 17
    name: STARTUP_CHECKS_FAILED
    severity: ERROR
    description: "Startup safety checks failed. Power cycle the vehicle to retry."
    triggers_nogo: true
  - id: 18
    name: CRUISE_STALK_STUCK
    severity: ERROR
    description: "Cruise stalk held for too long. Possible hardware issue."
    triggers_nogo: true
  - id: 19
    name: AI_MIA
    severity: ERROR
    description: "AI input not received. Make sure planner is running and has a valid route."
    triggers_nogo: true
  - id: 20
    name: SAFETY_MIA
    severity: ERROR
    description: "Safety monitor input not received."
    triggers_nogo: true
  - id: 21
    name: ESP_MIA
    severity: ERROR
    description: "ESP input not received. Check that the e-stop button is released."
    triggers_nogo: true
  - id: 22
    name: EPS_MIA
    severity: ERROR
    description: "EPS input not received. Check that the e-stop button is released."
    triggers_nogo: true
  - id: 23
    name: ACP_MIA
    severity: ERROR
    description: "ACP input not received. Check that the e-stop button is released."
    triggers_nogo: true
  - id: 24
    name: PMC_MIA
    severity: ERROR
    description: "PMC input not received. Check that the e-stop button is released."
    triggers_nogo: true
  - id: 25
    name: IC_MIA
    severity: ERROR
    description: "IC input not received. Check that the e-stop button is released."
    triggers_nogo: true
  - id: 26
    name: AI_INPUT_INVALID
    severity: ERROR
    description: "AI input is not valid. Make sure planner is running and has a valid route."
    triggers_nogo: true
  - id: 27
    name: SW_WATCHDOG
    severity: ERROR
    description: "Not implemented."
    triggers_nogo: true
  - id: 28
    name: HW_WATCHDOG
    severity: ERROR
    description: "Unexpected ECU reset. Power cycle the vehicle to restore autonomous ability."
    triggers_nogo: true
  - id: 29
    name: SW_ASSERT
    severity: ERROR
    description: "Abnormal software behavior. Contact CSE immediately."
    triggers_nogo: true
  - id: 30
    name: SAFETY_DISCONNECT
    severity: ERROR
    description: "Safety monitor disconnect. Press and release e-stop button to restore autonomous ability."
    triggers_nogo: true
  - id: 31
    name: FLASH_RESTORE
    severity: ERROR
    description: "Failed to restore odometer reading. Contact CSE to resolve."
    triggers_nogo: true
  - id: 32
    name: FLASH_SAVE
    severity: WARNING
    description: "Failed to save odometer reading. Contact CSE to resolve."
  - id: 33
    name: DS_ECU_CONTROLLING
    severity: ERROR
    description: "Drive support ECU control command detected. Possible hardware issue with L3 ECU."
    triggers_nogo: true
  - id: 34
    name: BODY_MIA
    severity: ERROR
    description: "PMC input not received. Check that the e-stop button is released."
    triggers_nogo: true
  - id: 35
    name: STEERING_RATE_SATURATED
    severity: ERROR
    description: "Steering angle rate has passed safety threshold."
    triggers_nogo: true
  - id: 36
    name: STEERING_ANGLE_SATURATED
    severity: ERROR
    description: "Steering angle has passed safety threshold."
    triggers_nogo: true
  - id: 37
    name: VEHICLE_INPUT_INVALID
    severity: ERROR
    description: "LLC not receiving inputs from vehicle."
    triggers_nogo: true
    # Start of Prius specific faults
  - id: 38
    name: THROTTLE_POWER
    severity: ERROR
    description: "Throttle sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 39
    name: THROTTLE_IN1_INVALID
    severity: ERROR
    description: "Throttle sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 40
    name: THROTTLE_IN2_INVALID
    severity: ERROR
    description: "Throttle sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 41
    name: THROTTLE_OUT1_INVALID
    severity: ERROR
    description: "Throttle output invalid. Possible hardware issue with LLC."
    triggers_nogo: true
  - id: 42
    name: THROTTLE_OUT2_INVALID
    severity: ERROR
    description: "Throttle output invalid. Possible hardware issue with LLC."
    triggers_nogo: true
  - id: 43
    name: BRAKE_PEDAL_POWER
    severity: ERROR
    description: "Brake sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 44
    name: BRAKE_PEDAL_IN1_INVALID
    severity: ERROR
    description: "Brake sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 45
    name: BRAKE_PEDAL_IN2_INVALID
    severity: ERROR
    description: "Brake sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 46
    name: BRAKE_PEDAL_OUT1_INVALID
    severity: ERROR
    description: "Brake output invalid. Possible hardware issue with LLC."
    triggers_nogo: true
  - id: 47
    name: BRAKE_PEDAL_OUT2_INVALID
    severity: ERROR
    description: "Brake output invalid. Possible hardware issue with LLC."
    triggers_nogo: true
  - id: 48
    name: BRAKE_PRES_POWER
    severity: ERROR
    description: "Brake sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 49
    name: BRAKE_PRES_IN_INVALID
    severity: ERROR
    description: "Brake sensor failure. If vehicle display has errors, try cycling ignition to recover."
    triggers_nogo: true
  - id: 50
    name: BRAKE_PRES_OUT_INVALID
    severity: ERROR
    description: "Brake output invalid. Possible hardware issue with LLC."
    triggers_nogo: true
  - id: 51
    name: INVERTER_MIA
    severity: ERROR
    description: "Inverter input not received. Possible hardware issue."
    triggers_nogo: true
  - id: 52
    name: BRAKE_BY_WIRE_UNAVAILABLE
    severity: ERROR
    description: "Brake by wire system unavailable. Disengage autonomy to recover."
    triggers_nogo: true
  - id: 53
    name: STEERING_WHEEL_ENCODER_MIA
    severity: ERROR
    description: "Steering wheel encoder message not received. Possible harnessing issue."
    triggers_nogo: true
    # End of Prius specific faults
  - id: 54
    name: STEERING_TRACKING_LOST
    severity: ERROR
    description: "Highlander EPS and Zoox Encoder Steering Angle disagree. Please follow work around for LLC reset."
    triggers_nogo: true
  - id: 55
    name: CONTROL_APP_STATE_FAULTED
    severity: ERROR
    description: "LLC Control App state machine is in a faulted state. Check other diagnostics to determine fault cause."
    triggers_nogo: true
  - id: 65
    name: NOGO_INPUT_MISSING
    severity: ERROR
    description: "Input from NOGO node missing."
    deprecated: true
  - id: 66
    name: NOGO_NOT_READY
    severity: WARNING
    description: "NOGO node not ready."
    deprecated: true
  - id: 67
    name: TRACKER_INPUT_MISSING
    severity: ERROR
    description: "Input from TRACKER node missing."
    triggers_nogo: true
  - id: 68
    name: RC_INPUT_MISSING
    severity: ERROR
    description: "Input from REMOTE CONTROL node missing."
    triggers_nogo: true
  - id: 69
    name: ZABOTAGE_INPUT_MISSING
    severity: ERROR
    description: "Input from ZABOTAGE node missing."
    triggers_nogo: true
  - id: 70
    name: CRC_INVALID
    severity: ERROR
    description: "LLC version mismatch. Please update LLC."
    triggers_nogo: true
  - id: 71
    name: HAZARD_LIGHTS_ON
    severity: INFO
    description: "Hazard lights enabled. Check for nogo."
    deprecated: true
  - id: 72
    name: ZABOTAGE_ENABLED
    severity: WARNING
    description: "ZABOTAGE enabled."
  - id: 1000
    name: AI_CAN_RX_TIMEOUT
    severity: ERROR
    description: "LLC failed to receive a message from AI CAN for sometime."
    triggers_nogo: true
  - id: 1001
    name: CHASSIS_CAN_RX_TIMEOUT
    severity: ERROR
    description: "LLC failed to receive a message from Chassis CAN for sometime."
    triggers_nogo: true
  - id: 1002
    name: DAS_CAN_RX_TIMEOUT
    severity: ERROR
    description: "LLC failed to receive a message from DAS CAN for sometime."
    triggers_nogo: true
  - id: 1003
    name: GATEWAY_UNINITIALIZED
    severity: ERROR
    description: "LLC Gateway cannot initilize. Gateway has not received the first message from the can_manager"
    triggers_nogo: true
