//! LIDAR-Lite v3 operation errors. use kaptan_log::KaptanError; /// LIDAR-Lite v3 operation failure. #[derive(Debug, Eq, PartialEq, KaptanError)] pub enum Error { /// The selected I²C route rejected a transaction submission. Start(BusError), /// An acquisition request arrived while another measurement was active. NotReady, /// The selected I²C route reported a terminal transaction fault. TransferFault, /// The device reported a process error for the completed measurement. ProcessError, /// The device reported that its reference or receiver bias is unhealthy. Unhealthy, /// The device reported that no usable signal peak was detected. InvalidSignal, /// A measurement remained busy beyond the driver's bounded acquisition interval. MeasurementTimeout, /// The device reported a documented no-signal sentinel distance of zero or one centimetre. NoSignal, } /// LIDAR-Lite v3 startup lifecycle failure. #[derive(Clone, Copy, Debug, Eq, PartialEq, KaptanError)] pub enum StartupError { /// Startup completion was reported when the driver was not settling. NotSettling, }