1use embedded_hal::i2c as ehal;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
5pub enum Error<E> {
6 I2c(E),
8 Crc,
10 UnexpectedResponse,
12 InvalidInput,
14}
15
16impl<E> From<E> for Error<E> {
17 fn from(e: E) -> Self {
18 Self::I2c(e)
19 }
20}
21
22impl<E> ehal::Error for Error<E>
23where
24 E: ehal::Error,
25{
26 fn kind(&self) -> ehal::ErrorKind {
27 match self {
28 Self::I2c(e) => e.kind(),
29 Self::Crc | Self::UnexpectedResponse | Self::InvalidInput => ehal::ErrorKind::Other,
30 }
31 }
32}