ace_uds/message/services/
negative_response.rs1use crate::{message::ServiceIdentifier, UdsError};
2use ace_macros::FrameCodec;
3
4#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, FrameCodec)]
5#[frame(error = UdsError)]
6pub struct NegativeResponse {
7 pub request_sid: ServiceIdentifier,
8 pub response_code: NegativeResponseCode,
9}
10
11#[repr(u8)]
12#[derive(Clone, Debug, PartialEq, Eq, PartialOrd, Ord, FrameCodec)]
13#[cfg_attr(feature = "serde", derive(serde::Serialize, serde::Deserialize))]
14#[frame(error = UdsError)]
15pub enum NegativeResponseCode {
16 #[frame(id = 0x00)]
17 PositiveResponse,
18 #[frame(id = 0x10)]
19 GeneralReject,
20 #[frame(id = 0x11)]
21 ServiceNotSupported,
22 #[frame(id = 0x12)]
23 SubFunctionNotSupported,
24 #[frame(id = 0x13)]
25 IncorrectMessageLengthOrInvalidFormat,
26 #[frame(id = 0x14)]
27 ReponseTooLong,
28 #[frame(id = 0x21)]
29 BusyRepeatRequest,
30 #[frame(id = 0x22)]
31 ConditionsNotCorrect,
32 #[frame(id = 0x24)]
33 RequestSequenceError,
34 #[frame(id = 0x25)]
35 NoResponseFromSubnetComponent,
36 #[frame(id = 0x26)]
37 FailurePreventsExecutionOfRequestedAction,
38 #[frame(id = 0x31)]
39 RequestOutOfRange,
40 #[frame(id = 0x33)]
41 SecurityAccessDenied,
42 #[frame(id = 0x34)]
43 AuthenticationRequired,
44 #[frame(id = 0x35)]
45 InvalidKey,
46 #[frame(id = 0x36)]
47 ExceedNumberOfAttempts,
48 #[frame(id = 0x37)]
49 RequiredTimeDelayNotExpired,
50 #[frame(id = 0x38)]
51 SecureDataTransmissionRequired,
52 #[frame(id = 0x39)]
53 SecureDataTransmissionNotAllowed,
54 #[frame(id = 0x3A)]
55 SecureDataVerificationFailed,
56 #[frame(id = 0x50)]
57 CertificateVerificationFailedInvalidTimePeriod,
58 #[frame(id = 0x51)]
59 CertificateVerificationFailedInvalidSignature,
60 #[frame(id = 0x52)]
61 CertificateVerificationFailedInvalidChainOfTrust,
62 #[frame(id = 0x53)]
63 CertificateVerificationFailedInvalidType,
64 #[frame(id = 0x54)]
65 CertificateVerificationFailedInvalidFormat,
66 #[frame(id = 0x55)]
67 CertificateVerificationFailedInvalidContent,
68 #[frame(id = 0x56)]
69 CertificateVerificationFailedInvalidScope,
70 #[frame(id = 0x57)]
71 CertificateVerificationFailedInvalidCertificateRevoked,
72 #[frame(id = 0x58)]
73 OwnershipVerificationFailed,
74 #[frame(id = 0x59)]
75 ChallengeCalculationFailed,
76 #[frame(id = 0x5A)]
77 SettingAccessRightsFailed,
78 #[frame(id = 0x5B)]
79 SessionKeyCreationDerivationFailed,
80 #[frame(id = 0x5C)]
81 ConfigurationDataUsageFailed,
82 #[frame(id = 0x5D)]
83 DeAuthenticationFailed,
84 #[frame(id = 0x70)]
85 UploadDownloadNotAccepted,
86 #[frame(id = 0x71)]
87 TransferDataSuspended,
88 #[frame(id = 0x72)]
89 GeneralProgrammingFailure,
90 #[frame(id = 0x73)]
91 WrongBlockSequenceCounter,
92 #[frame(id = 0x78)]
93 RequestCorrectlyReceivedResponsePending,
94 #[frame(id = 0x7E)]
95 SubFunctionNotSupportedInActiveSession,
96 #[frame(id = 0x7F)]
97 ServiceNotSupportedInActiveSession,
98 #[frame(id = 0x81)]
99 RPMTooHigh,
100 #[frame(id = 0x82)]
101 RPMTooLow,
102 #[frame(id = 0x83)]
103 EngineIsRunning,
104 #[frame(id = 0x84)]
105 EngineIsNotRunning,
106 #[frame(id = 0x85)]
107 EngineRunTimeTooLow,
108 #[frame(id = 0x86)]
109 TemperatureTooHigh,
110 #[frame(id = 0x87)]
111 TemperatureTooLow,
112 #[frame(id = 0x88)]
113 VehicleSpeedTooHigh,
114 #[frame(id = 0x89)]
115 VehicleSpeedTooLow,
116 #[frame(id = 0x8A)]
117 ThrottlePedalTooHigh,
118 #[frame(id = 0x8B)]
119 ThrottlePedalTooLow,
120 #[frame(id = 0x8C)]
121 TransmissionRangeNotInNeutral,
122 #[frame(id = 0x8D)]
123 TransmissionRangeNotInGear,
124 #[frame(id = 0x8F)]
125 BrakeSwitchesNotClosed,
126 #[frame(id = 0x90)]
127 ShifterLeverNotInPark,
128 #[frame(id = 0x91)]
129 TorqueConverterClutchLocked,
130 #[frame(id = 0x92)]
131 VoltageTooHigh,
132 #[frame(id = 0x93)]
133 VoltageTooLow,
134 #[frame(id = 0x94)]
135 ResourceTemporarilyNotAvailable,
136}