# EMU example fault definitions
# Note: this serves as an example only - it does not represent a real robot reaction
# Highly Confidential and Proprietary Zoox Information. Copyright (c) Zoox.

component: DriveManager
source_enum: kEmuDriveManager
proto_imports:
  - "base/diag/core/tests/test.proto"
  - "vehicle/common/proto/emu_diagnostics.proto"
namespace: zoox
can_messages:
  - status_msg: EMU_driveAlertStatus
    log_msg: EMU_driveAlertLog
can_import: firmware/common/can/generated/vh6/emu.h
can_namespace: vh6
metric: zoox::diag::TestMetric
instances:
  Instance1: 1
  Instance2: 2
faults:
  - id: 1
    name: Empty
    severity: WARNING
    description: EmptyFault description
  - id: 2
    name: Example
    severity: ERROR
    description: ExampleFault description
    troubleshooting_steps: Check Foo, Bar and Baz
  - id: 3
    name: TestError
    severity: ERROR
    description: EPAS message has not been received recently
    threshold_ms: 50
    reaction:
      trajectory: NoGo
      allowed_forward_direction: Both
      allowed_missions: All
      power_mode_limit: Hv
      robot_release_available: false
      max_speed_mps: 11
      max_driving_grade_pct: 5
      max_time_until_pull_over_s: 0
  - id: 4
    name: TestWarning
    severity: WARNING
    description: Hardware estop button is currently pressed
    threshold_ms: 50
  - id: 5
    name: TestInfo
    severity: INFO
    description: Hardware estop was pressed and fault has latched
    threshold_ms: 50
  - id: 6
    name: MutExTestInfo
    severity: INFO
    description: INFO fault for testing
  - id: 7
    name: MutExTestWarning
    severity: WARNING
    description: WARNING fault for testing
    freeze_frame: zoox.common.proto.TestFF
  - id: 8
    name: MutExTestError
    severity: ERROR
    description: ERROR fault for testing
    freeze_frame: zoox.common.proto.TestFF
  - id: 9
    name: ReproExample
    severity: ERROR
    description: Reproducible ExampleFault description
    reproducible: true
  - id: 10
    name: NonReproExample
    severity: ERROR
    description: Non reproducible ExampleFault description
    reproducible: false
  - id: 11
    name: ReqService
    severity: ERROR
    description: Default requires_service ExampleFault description
  - id: 12
    name: ReqServiceFalse
    severity: ERROR
    description: False requires_service ExampleFault description
    requires_service: false
  - id: 13
    name: ReqServiceTrue
    severity: ERROR
    description: True requires_service ExampleFault description
    requires_service: true
