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}