iso14229_1/error.rs
1use crate::DataIdentifier;
2
3#[derive(thiserror::Error, Debug)]
4pub enum Error {
5 #[error("ISO 14229-1 - invalid parameter `{0}`")]
6 InvalidParam(String),
7
8 #[error("ISO 14229-1 - data: {0} is invalid")]
9 InvalidData(String),
10
11 #[error("ISO 14229-1 - received message doesn't correspond to expected length(expect: {expect}, actual: {actual})")]
12 InvalidDataLength { expect: usize, actual: usize },
13
14 #[error("ISO 14229-1 - the length of data identifier: {0:?} is not configured")]
15 DidNotSupported(DataIdentifier),
16
17 #[error("ISO 14229-1 - invalid dynamically defined data identifier: {0:x}")]
18 InvalidDynamicallyDefinedDID(u16),
19
20 #[error("ISO 14229-1 - invalid session data {0}")]
21 InvalidSessionData(String),
22
23 #[error("ISO 14229-1 - ISO/SAEReserved: {0}")]
24 ReservedError(String),
25
26 // #[error("ISO 14229-1 - service `{service}` got an unexpected sub-function(expect: {expect}, actual: {actual})")]
27 // UnexpectedSubFunction { service: Service, expect: u8, actual: u8 },
28
29 // #[error("ISO 14229-1 - service `{expect}` got an unexpect response `{actual}`")]
30 // UnexpectedResponse { expect: Service, actual: Service },
31
32 // #[error("ISO 14229-1 - block sequence number of response (0x{actual:02x}) does not match request block sequence number (0x{expect:02x})")]
33 // UnexpectedTransferSequence { expect: u8, actual: u8 },
34
35 // #[error("ISO 14229-1 - service `{service}` got a NRC({code:?})")]
36 // NRCError { service: Service, code: Code },
37
38 // #[error("ISO 14229-1 - security algorithm error: {0}")]
39 // SecurityAlgoError(String),
40
41 // #[error("{0}")]
42 // IsoTpError(IsoTpError),
43
44 #[error("ISO 14229-1 - other error: {0}")]
45 OtherError(String),
46
47 // #[error("ISO 14229-1 - service: {0} is not implement")]
48 // NotImplement(Service),
49}