Skip to main content

NrcError

Trait NrcError 

Source
pub trait NrcError: Into<u8> + Debug {
Show 40 methods // Required methods fn general_reject() -> Self; fn service_not_supported() -> Self; fn sub_function_not_supported() -> Self; fn incorrect_message_length_or_invalid_format() -> Self; fn response_too_long() -> Self; fn busy_repeat_request() -> Self; fn conditions_not_correct() -> Self; fn request_sequence_error() -> Self; fn no_response_from_subnet_component() -> Self; fn failure_prevents_execution_of_requested_action() -> Self; fn request_out_of_range() -> Self; fn security_access_denied() -> Self; fn invalid_key() -> Self; fn exceeded_number_of_attempts() -> Self; fn required_time_delay_not_expired() -> Self; fn upload_download_not_accepted() -> Self; fn transfer_data_suspended() -> Self; fn general_programming_failure() -> Self; fn wrong_block_sequence_counter() -> Self; fn response_pending() -> Self; fn sub_function_not_supported_in_active_session() -> Self; fn service_not_supported_in_active_session() -> Self; fn rpm_too_high() -> Self; fn rpm_too_low() -> Self; fn engine_is_running() -> Self; fn engine_is_not_running() -> Self; fn engine_run_time_too_low() -> Self; fn temperature_too_high() -> Self; fn temperature_too_low() -> Self; fn vehicle_speed_too_high() -> Self; fn vehicle_speed_too_low() -> Self; fn throttle_pedal_too_high() -> Self; fn throttle_pedal_too_low() -> Self; fn transmission_range_not_in_neutral() -> Self; fn transmission_range_not_in_gear() -> Self; fn brake_switches_not_closed() -> Self; fn shifter_level_not_in_park() -> Self; fn torque_converter_clutch_locked() -> Self; fn voltage_too_high() -> Self; fn voltage_too_low() -> Self;
}
Expand description

A trait for application error types that can be converted into UDS Negative Response Codes (NRCs).

The server state machine uses this to construct NRC responses without knowing the application’s error type internals. The application defines the mapping via Into<u8>.

Required Methods§

Source

fn general_reject() -> Self

0x10 - general reject

Source

fn service_not_supported() -> Self

0x11 - serviceNotSupported

Source

fn sub_function_not_supported() -> Self

0x12 - subFunctionNotSupported

Source

fn incorrect_message_length_or_invalid_format() -> Self

0x13 - incorrectMessageLengthOrInvalidFormat

Source

fn response_too_long() -> Self

0x14 - response too long

Source

fn busy_repeat_request() -> Self

0x21 - busy repeat request

Source

fn conditions_not_correct() -> Self

0x22 - conditionsNotCorrect

Source

fn request_sequence_error() -> Self

0x24 - requestSequenceError

Source

fn no_response_from_subnet_component() -> Self

0x25 - no response from subnet component

Source

fn failure_prevents_execution_of_requested_action() -> Self

0x26 - failure prevents execution of requested action

Source

fn request_out_of_range() -> Self

0x31 - requestOutOfRange

Source

fn security_access_denied() -> Self

0x33 - securityAccessDenied

Source

fn invalid_key() -> Self

0x35 - invalidKey

Source

fn exceeded_number_of_attempts() -> Self

0x36 - exceededNumberOfAttempts

Source

fn required_time_delay_not_expired() -> Self

0x37 - requiredTimeDelayNotExpired

Source

fn upload_download_not_accepted() -> Self

0x70 - uploadDownloadNotAccepted

Source

fn transfer_data_suspended() -> Self

0x71 - transferDataSuspended

Source

fn general_programming_failure() -> Self

0x72 - generalProgrammingFailure

Source

fn wrong_block_sequence_counter() -> Self

0x73 - wrongBlockSequenceCounter

Source

fn response_pending() -> Self

0x78 - requestCorrectlyReceivedResponsePending

Source

fn sub_function_not_supported_in_active_session() -> Self

0x7E - subFunctionNotSupportedInActiveSession

Source

fn service_not_supported_in_active_session() -> Self

0x7F - serviceNotSupportedInActiveSession

Source

fn rpm_too_high() -> Self

0x81 - rpmTooHigh

Source

fn rpm_too_low() -> Self

0x82 - rpmTooLow

Source

fn engine_is_running() -> Self

0x83 - engineIsRunning

Source

fn engine_is_not_running() -> Self

0x84 - engineIsNotRunning

Source

fn engine_run_time_too_low() -> Self

0x85 - engineRunTimeTooLow

Source

fn temperature_too_high() -> Self

0x86 - temperatureTooHigh

Source

fn temperature_too_low() -> Self

0x87 - temperatureTooLow

Source

fn vehicle_speed_too_high() -> Self

0x88 - vehicleSpeedTooHigh

Source

fn vehicle_speed_too_low() -> Self

0x89 - vehicleSpeedTooLow

Source

fn throttle_pedal_too_high() -> Self

0x8A - throttlePedalTooHigh

Source

fn throttle_pedal_too_low() -> Self

0x8B - throttlePedalTooLow

Source

fn transmission_range_not_in_neutral() -> Self

0x8C - transmissionRangeNotInNeutral

Source

fn transmission_range_not_in_gear() -> Self

0x8D - transmissionRangeNotInGear

Source

fn brake_switches_not_closed() -> Self

0x8F - brakeSwitchesNotClosed

Source

fn shifter_level_not_in_park() -> Self

0x90 - shifterLevelNotInPark

Source

fn torque_converter_clutch_locked() -> Self

0x91 - torqueConverterClutchLocked

Source

fn voltage_too_high() -> Self

0x92 - voltageTooHigh

Source

fn voltage_too_low() -> Self

0x93 - voltageTooLow

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§