as5600/
error.rs

1use crate::{configuration, status};
2
3/// All possible errors in this crate.
4#[derive(Debug, PartialEq, Eq, Clone, Copy)]
5pub enum Error<E> {
6    /// `I2C` communication error.
7    Communication(E),
8
9    /// Magnet status parsing/conversion error.
10    Status(status::Error),
11
12    /// Configuration parsing/conversion error.
13    Configuration(configuration::error::Error),
14
15    /// Persistence error: configuration can only be persisted 3 times.
16    MaximumPositionPersistsReached,
17
18    /// Magnet is required for persistence action.
19    MagnetRequired,
20
21    /// No more persistent writes available for maximum angle and configuration registers.
22    MangConfigPersistenceExhausted,
23}