component: VisionDiagnostic
proto_imports:
  - "vision/diagnostics/vision_diagnostic.proto"
metric: vision::VisionMetric
namespace: vision
faults:
    # Deprecated.
  - id: 1
    name: DetectorLatencyTooHigh
    severity: WARNING
    description: "One of the object detectors is taking longer than expected."
    deprecated: true
    # Deprecated.
  - id: 2
    name: TrackerLatencyTooHigh
    severity: WARNING
    description: "One of the 2D trackers is taking longer than expected."
    deprecated: true
    # Deprecated.
  - id: 3
    name: StereoLatencyTooHigh
    severity: WARNING
    description: "Stereo is taking longer than expected."
    deprecated: true
  - id: 4
    name: DetectorNotActive
    severity: ERROR
    description: "Detector is not initialized."
    triggers_nogo: true
  - id: 5
    name: TrackerNotActive
    severity: ERROR
    description: "Tracker is not initialized."
    triggers_nogo: true
    # Deprecated.
  - id: 6
    name: StereoNotActive
    severity: ERROR
    description: "Stereo is not initialized."
    deprecated: true
    # Deprecated.
  - id: 7
    name: StereoInputImagesNotAvailable
    severity: INFO
    description: "The time gap between both images is too large or input to stereo is not ready."
    deprecated: true
  - id: 8
    name: AttributeFilterNotActive
    severity: ERROR
    description: "At least one of the attribute filters was not initialized."
    triggers_nogo: true
    # Deprecated.
  - id: 9
    name: StereoFilterNotActive
    severity: ERROR
    description: "Stereo filter is not initialized."
    deprecated: true
  - id: 10
    name: HeroStateLatencyTooHigh
    severity: WARNING
    description: "HeroState is not provided before images are queued, SF location is temporarily used."
    # Fault should be a WARNING once vision actually uses phase-lock information.
  - id: 11
    name: UnexpectedLidarPhaseLockPeriod
    severity: INFO
    description: "Lidar phase lock information is outside expected range."
    freeze_frame: vision.UnexpectedLidarPhaseLockPeriodFreezeFrame
  - id: 100
    name: Uncalibrated
    severity: ERROR
    description: "One or more cameras in the vision machine are not calibrated."
    triggers_nogo: true
    # Deprecated.
  - id: 101
    name: InvalidTimestamps
    severity: ERROR
    description: "Camera timestamps are not reasonable."
    deprecated: true
  - id: 1000
    name: DayMode
    severity: INFO
    description: "Vision instantiated in `day-time` mode."
  - id: 1001
    name: NightMode
    severity: INFO
    description: "Vision instantiated in `night-time` mode."
  - id: 1002
    name: AutoTimeOfDayMode
    severity: INFO
    description: "Vision instantiated in `auto-time-of-day` mode."
  - id: 2000
    name: IncorrectTimeOfDayMode
    severity: ERROR
    description: "Vision not instantiated with the correct time-of-day mode."
    triggers_nogo: true
  - id: 3000
    name: LoadingVisionModels
    severity: ERROR
    description: "Loading vision models is in progress, vision functionalities temporarily disabled."
    triggers_nogo: true
  - id: 3001
    name: RaindropOnCameraLens
    severity: WARNING
    description: "Detected raindrop on camera lens."
  - id: 3002
    name: CameraFullyObstructed
    severity: WARNING
    description: "Camera fully obstructed."
  - id: 4000
    name: VisionTrackWarning
    severity: WARNING
    description: "A non-fatal error occured in vision tracker."
