ens160_aq/error.rs
1// 2024.09.02 updated this error enum to a more modern Error style
2//use core::fmt::Formatter;
3
4//use embedded_hal::i2c::{I2c, SevenBitAddress};
5
6/// All possible errors
7/// Display not implemented for no_std support
8#[derive(Clone, Copy, Debug)]
9pub enum Error<E>
10//where
11// I2c: I2c<SevenBitAddress>
12{
13 /// Error during I2C write/read operation.
14 I2c(E),
15 //// Error during I2C write operation.
16 //WriteError(I2C::Error),
17 //// Error during I2C WriteRead operation.
18 //WriteReadError(I2C::Error),
19 /// Got an unexpected Part Id during sensor initalization.
20 UnexpectedChipId(u16),
21 /// unexpected Operation Mode
22 OpModeNotCorrect(u8),
23}
24
25//impl<I2C> core::fmt::Debug for Error<I2C>
26//where
27// I2C: I2c<SevenBitAddress>
28//{
29// fn fmt(&self, f: &mut Formatter<'_>) -> core::result::Result<(), core::fmt::Error> {
30// match self {
31// Error::WriteReadError(e) => f.debug_tuple("WriteReadError").field(e).finish(),
32// Error::WriteError(e) => f.debug_tuple("WriteError").field(e).finish(),
33// Error::UnexpectedChipId(chip_id) => f
34// .debug_tuple("Expected part id 352, got : ")
35// .field(chip_id)
36// .finish(),
37// Error::OpModeNotCorrect(expected) => f
38// .debug_tuple("Incorrect ENS160 operation, got :")
39// .field(expected)
40// .finish(),
41// }
42// }
43//}