# EMU Robot Monitor fault definitions
# Highly Confidential and Proprietary Zoox Information. Copyright (c) Zoox.
# @todo FW-7575 update HriRemoteFault to have a reaction when DriveManager ready
component: RemoteControl
source_enum: kEmuRemoteControl
namespace: zoox
faults:
  # HRI Remote Driver
  - id: 0
    name: HriButtonsInvalid
    severity: ERROR
    description: HRI Remote's face buttons are invalid.
    troubleshooting_steps: Collect CAN logs and notify FW.
    reaction:
      trajectory: NoGo
  - id: 1
    name: HriLeftJoystickInvalid
    severity: ERROR
    description: HRI Remote's left joystick is invalid.
    troubleshooting_steps: Collect CAN logs and notify FW.
    reaction:
      trajectory: NoGo
  - id: 2
    name: HriRightJoystickInvalid
    severity: ERROR
    description: HRI Remote's right joystick invalid.
    troubleshooting_steps: Collect CAN logs and notify FW.
    reaction:
      trajectory: NoGo
  - id: 3
    name: HriModeError
    severity: ERROR
    description: HRI Remote is reporting an error over CAN.
    troubleshooting_steps: Collect CAN logs and notify FW.
    reaction:
      trajectory: NoGo
  - id: 4
    name: HriRemoteStale
    severity: ERROR
    description: HRI Remote is stale over CAN.
    troubleshooting_steps: Collect CAN logs and notify FW.
    reaction:
      trajectory: NoGo
  # Component IPC
  - id: 5
    name: CommandTxError
    severity: WARNING
    description: Publishing of IPC control command failed
  - id: 6
    name: DriveFeedbackRxStale
    severity: ERROR
    description: Drive manager IPC feedback stale
    reaction:
      trajectory: Estop
  # Component logic
  - id: 7
    name: NoGoButtonPressed
    severity: ERROR
    description: Rovebot nogo button is pressed.
    reaction:
      trajectory: NoGo
  - id: 8
    name: EstopButtonPressed
    severity: ERROR
    description: Rovebot eStop button is pressed.
    reaction:
      trajectory: Estop
