Skip to main content

embedded_aim_motor/
error.rs

1use defmt::Format;
2
3pub type Result<T> = core::result::Result<T, Error>;
4
5#[derive(thiserror::Error, Debug, Format, Clone, PartialEq, Eq)]
6pub enum Error {
7    #[error("Transport error")]
8    Transport,
9
10    #[error("Communication timeout")]
11    Timeout,
12
13    #[error("MODBUS protocol error")]
14    Modbus,
15
16    #[error("Response type was not the one expected")]
17    UnexpectedResponseType,
18
19    #[error("Expected {0} bytes, but got {1}")]
20    UnexpectedResponseLength(usize, usize),
21
22    #[error("Response contains data that was not expected")]
23    UnexpectedResponseData,
24}