component: LidarDiagnostic
proto_imports:
  - vehicle/sensors/lidar/lidar_driver_diagnostics.proto
metric: LidarDriverMetrics
namespace: zoox::lidar
faults:
  - id: 1
    name: LidarDataMissing
    severity: ERROR
    description: Lidar data packets not received
    freeze_frame: DataMissingFreezeFrame
    triggers_nogo: true
  - id: 2
    name: LidarWrongReturnMode
    severity: ERROR
    description: Lidar data packet in the wrong return mode
    triggers_nogo: True
  - id: 3
    name: LidarUnknownReturnMode
    severity: ERROR
    description: Lidar data packet in an unknown return mode
    triggers_nogo: True
  - id: 4
    name: LidarPacketRateLow
    severity: ERROR
    description: Lidar data packet rate low over last 100ms
    triggers_nogo: true
  - id: 5
    name: LidarInvalidAzimuth
    severity: ERROR
    description: Lidar data packet has uninterpretable azimuth data
    triggers_nogo: True
# TODO(dwillis) move shared faults like RPM and serial number checks here.
# This is non-trivial because they are fetched differently for different models
