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}