uds.transport_interface.can_transport_interface.common
Definition of UDS Transport Interface for CAN bus.
Classes
Abstract definition of Transport Interface for managing UDS on CAN bus. |
Module Contents
- class uds.transport_interface.can_transport_interface.common.AbstractCanTransportInterface(can_bus_manager, addressing_information, **kwargs)[source]
Bases:
uds.transport_interface.abstract_transport_interface.AbstractTransportInterface
Abstract definition of Transport Interface for managing UDS on CAN bus.
CAN Transport Interfaces are meant to handle UDS middle layers (Transport and Network) on CAN bus.
Create Transport Interface (an object for handling UDS Transport and Network layers).
- Parameters:
can_bus_manager (Any) – An object that handles CAN bus (Physical and Data layers of OSI Model).
addressing_information (uds.can.AbstractCanAddressingInformation) – Addressing Information of CAN Transport Interface.
kwargs (Any) –
Optional arguments that are specific for CAN bus.
- parameter n_as_timeout:
Timeout value for N_As time parameter.
- parameter n_ar_timeout:
Timeout value for N_Ar time parameter.
- parameter n_bs_timeout:
Timeout value for N_Bs time parameter.
- parameter n_br:
Value of N_Br time parameter to use in communication.
- parameter n_cs:
Value of N_Cs time parameter to use in communication.
- parameter n_cr_timeout:
Timeout value for N_Cr time parameter.
- parameter dlc:
Base CAN DLC value to use for CAN packets.
- parameter use_data_optimization:
Information whether to use CAN Frame Data Optimization.
- parameter filler_byte:
Filler byte value to use for CAN Frame Data Padding.
- parameter flow_control_parameters_generator:
Generator with Flow Control parameters to use.
- Raises:
TypeError – Provided Addressing Information value has unexpected type.
- N_AS_TIMEOUT: uds.utilities.TimeMillisecondsAlias = 1000
Timeout value of N_As time parameter according to ISO 15765-2.
- N_AR_TIMEOUT: uds.utilities.TimeMillisecondsAlias = 1000
Timeout value of N_Ar time parameter according to ISO 15765-2.
- N_BS_TIMEOUT: uds.utilities.TimeMillisecondsAlias = 1000
Timeout value of N_Bs time parameter according to ISO 15765-2.
- N_CR_TIMEOUT: uds.utilities.TimeMillisecondsAlias = 1000
Timeout value of N_Cr time parameter according to ISO 15765-2.
- DEFAULT_N_CS: uds.utilities.TimeMillisecondsAlias | None = None
Default value of N_Cs time parameter.
- DEFAULT_FLOW_CONTROL_PARAMETERS
Default value of Flow Control parameters (Flow Status, Block Size, Separation Time minimum).
- __addressing_information: uds.can.AbstractCanAddressingInformation
- __n_bs_measured: Tuple[uds.utilities.TimeMillisecondsAlias, Ellipsis] | None = None
- __n_cr_measured: Tuple[uds.utilities.TimeMillisecondsAlias, Ellipsis] | None = None
- property n_as_timeout: uds.utilities.TimeMillisecondsAlias
Timeout value for N_As time parameter.
- Return type:
uds.utilities.TimeMillisecondsAlias
- property n_ar_timeout: uds.utilities.TimeMillisecondsAlias
Timeout value for N_Ar time parameter.
- Return type:
uds.utilities.TimeMillisecondsAlias
- property n_bs_timeout: uds.utilities.TimeMillisecondsAlias
Timeout value for N_Bs time parameter.
- Return type:
uds.utilities.TimeMillisecondsAlias
- property n_cr_timeout: uds.utilities.TimeMillisecondsAlias
Timeout value for N_Cr time parameter.
- Return type:
uds.utilities.TimeMillisecondsAlias
- property n_br: uds.utilities.TimeMillisecondsAlias
Get the value of N_Br time parameter which is currently set.
Note
The actual (observed on the bus) value will be slightly longer as it also includes computation and CAN Interface delays.
- Return type:
uds.utilities.TimeMillisecondsAlias
- property n_cs: uds.utilities.TimeMillisecondsAlias | None
Get the value of N_Cs time parameter which is currently set.
Note
The actual (observed on the bus) value will be slightly longer as it also includes computation and CAN Interface delays.
- Return type:
Optional[uds.utilities.TimeMillisecondsAlias]
- property flow_control_parameters_generator: uds.can.AbstractFlowControlParametersGenerator
Get generator of Flow Control parameters (Flow Status, Block Size, Separation Time minimum).
- Return type:
uds.can.AbstractFlowControlParametersGenerator
- __segmenter
- _update_n_bs_measured(message)[source]
Update measured values of N_Bs according to timestamps of CAN packet records.
- Parameters:
message (uds.message.UdsMessageRecord) – Record of UDS message transmitted over CAN.
- Return type:
None
- _update_n_cr_measured(message)[source]
Update measured values of N_Cr according to timestamps of CAN packet records.
- Parameters:
message (uds.message.UdsMessageRecord) – Record of UDS message transmitted over CAN.
- Return type:
None
- property segmenter: uds.segmentation.CanSegmenter
Value of the segmenter used by this CAN Transport Interface.
- Return type:
uds.segmentation.CanSegmenter
- property n_as_measured: uds.utilities.TimeMillisecondsAlias | None
- Abstractmethod:
- Return type:
Optional[uds.utilities.TimeMillisecondsAlias]
Get the last measured value of N_As time parameter.
Note
The last measurement comes from the last transmission of Single Frame or First Fame CAN Packet using either
send_packet()orasync_send_packet()method.- Returns:
Time in milliseconds or None if the value was never measured.
- Return type:
Optional[uds.utilities.TimeMillisecondsAlias]
- property n_ar_measured: uds.utilities.TimeMillisecondsAlias | None
- Abstractmethod:
- Return type:
Optional[uds.utilities.TimeMillisecondsAlias]
Get the last measured value of N_Ar time parameter.
Note
The last measurement comes from the last transmission of Flow Control CAN Packet using either
send_packet()orasync_send_packet()method.- Returns:
Time in milliseconds or None if the value was never measured.
- Return type:
Optional[uds.utilities.TimeMillisecondsAlias]
- property n_bs_measured: Tuple[uds.utilities.TimeMillisecondsAlias, Ellipsis] | None
Get the last measured values of N_Bs time parameter.
Note
The last measurement comes from the last transmission of UDS message using either
send_message()orasync_send_message()method.- Returns:
Tuple with times in milliseconds or None if the values could not be measured.
- Return type:
Optional[Tuple[uds.utilities.TimeMillisecondsAlias, Ellipsis]]
- property n_br_max: uds.utilities.TimeMillisecondsAlias
Get the maximum valid value of N_Br time parameter.
Warning
To assess maximal value of N_Br, the actual value of N_Ar time parameter is required. Either the latest measured value of N_Ar would be used, or 0ms would be assumed (if there are no measurement result).
- Return type:
uds.utilities.TimeMillisecondsAlias
- property n_cs_max: uds.utilities.TimeMillisecondsAlias
Get the maximum valid value of N_Cs time parameter.
Warning
To assess maximal value of N_Cs, the actual value of N_As time parameter is required. Either the latest measured value of N_As would be used, or 0ms would be assumed (if there are no measurement result).
- Return type:
uds.utilities.TimeMillisecondsAlias
- property n_cr_measured: Tuple[uds.utilities.TimeMillisecondsAlias, Ellipsis] | None
Get the last measured values of N_Cr time parameter.
Note
The last measurement comes from the last reception of UDS message using either
receive_message()orasync_receive_message()method.- Returns:
Tuple with times in milliseconds or None if the values could not be measured.
- Return type:
Optional[Tuple[uds.utilities.TimeMillisecondsAlias, Ellipsis]]
- property addressing_information: uds.can.AbstractCanAddressingInformation
Addressing Information of Transport Interface.
Warning
Once the value is set, it must not be changed as it might cause communication problems.
- Return type:
uds.can.AbstractCanAddressingInformation
- property dlc: int
Value of base CAN DLC to use for output CAN packets.
Note
All output CAN packets will have this DLC value set unless CAN Frame Data Optimization is used.
- Return type:
int
- property use_data_optimization: bool
Information whether to use CAN Frame Data Optimization during CAN packets creation.
See also
- Return type:
bool
- property filler_byte: int
Filler byte value to use for output CAN Frame Data Padding during segmentation.
See also
- Return type:
int