uds.can.addressing.abstract_addressing_information
Abstract definition of Addressing Information handler.
Classes
Addressing Information parameters collection for a single CAN Packet. |
|
Abstract definition of storage for addressing related parameters for UDS entity operating on CAN bus. |
Module Contents
- class uds.can.addressing.abstract_addressing_information.CANAddressingParams[source]
Bases:
TypedDict
Addressing Information parameters collection for a single CAN Packet.
Initialize self. See help(type(self)) for accurate signature.
- addressing_format: uds.can.addressing.addressing_format.CanAddressingFormat
- addressing_type: uds.addressing.AddressingType
- class uds.can.addressing.abstract_addressing_information.AbstractCanAddressingInformation(rx_physical_params, tx_physical_params, rx_functional_params, tx_functional_params)[source]
Bases:
uds.addressing.abstract_addressing_information.AbstractAddressingInformation,abc.ABC
Abstract definition of storage for addressing related parameters for UDS entity operating on CAN bus.
Configure Addresses of UDS Entity (either a server or a client) for UDS over CAN communication.
- Parameters:
rx_physical_params (InputAIParams) – Addressing parameters for incoming physically addressed communication.
tx_physical_params (InputAIParams) – Addressing parameters for outgoing physically addressed communication.
rx_functional_params (InputAIParams) – Addressing parameters for incoming functionally addressed communication.
tx_functional_params (InputAIParams) – Addressing parameters for outgoing functionally addressed communication.
- class InputAIParams[source]
Bases:
TypedDict
Addressing Information configuration parameters.
Initialize self. See help(type(self)) for accurate signature.
- class CanIdAIParams[source]
Bases:
TypedDict
ref:Addressing Information <knowledge-base-n-ai> parameters that are carried by CAN Identifier.
Initialize self. See help(type(self)) for accurate signature.
- class DataBytesAIParamsAlias[source]
Bases:
TypedDict
Alias of Addressing Information parameters encoded in data field.
Initialize self. See help(type(self)) for accurate signature.
- class DecodedAIParamsAlias[source]
Bases:
TypedDict
Alias of Addressing Information parameters encoded in CAN ID and data field.
Initialize self. See help(type(self)) for accurate signature.
- ADDRESSING_FORMAT: uds.can.addressing.addressing_format.CanAddressingFormat
CAN Addressing Format used.
- AI_DATA_BYTES_NUMBER: int
Number of CAN Frame data bytes that are used to carry UDS Addressing Information.
- classmethod validate_addressing_params(addressing_type, addressing_format, can_id=None, target_address=None, source_address=None, address_extension=None)[source]
- Abstractmethod:
- Parameters:
addressing_type (uds.addressing.AddressingType)
addressing_format (uds.can.addressing.addressing_format.CanAddressingFormat)
can_id (Optional[int])
target_address (Optional[int])
source_address (Optional[int])
address_extension (Optional[int])
- Return type:
Validate Addressing Information parameters of a CAN packet.
- Parameters:
addressing_type (uds.addressing.AddressingType) – Addressing type to validate.
addressing_format (uds.can.addressing.addressing_format.CanAddressingFormat) – CAN Addressing Format used.
can_id (Optional[int]) – CAN Identifier value to validate.
target_address (Optional[int]) – Target Address value to validate.
source_address (Optional[int]) – Source Address value to validate.
address_extension (Optional[int]) – Address Extension value to validate.
- Raises:
UnusedArgumentError – At least one provided parameter is not supported by Addressing format used.
InconsistencyError – Provided values are not consistent with each other (cannot be used together) or with the Addressing format used.
- Returns:
Normalized dictionary with the provided information.
- Return type:
- static is_compatible_can_id(can_id, addressing_type)[source]
- Abstractmethod:
- Parameters:
can_id (int)
addressing_type (Optional[uds.addressing.AddressingType])
- Return type:
Check whether provided CAN ID is consistent with this CAN Addressing Format.
- Parameters:
can_id (int) – Value of CAN ID to check.
addressing_type (Optional[uds.addressing.AddressingType]) – Addressing type for which consistency to be performed. Leave None to skip crosscheck between CAN Identifier and Addressing Type.
- Returns:
True if CAN ID value is compatible with this CAN Addressing Format, False otherwise.
- Return type:
- static decode_can_id_ai_params(can_id)[source]
- Abstractmethod:
- Parameters:
can_id (int)
- Return type:
Decode Addressing Information parameters from CAN Identifier.
- Parameters:
can_id (int) – Value of a CAN Identifier.
- Returns:
Decoded Addressing Information parameters.
- Return type:
- static decode_data_bytes_ai_params(ai_data_bytes)[source]
- Abstractmethod:
- Parameters:
ai_data_bytes (uds.utilities.RawBytesAlias)
- Return type:
Decode Addressing Information parameters from CAN data bytes.
- Parameters:
ai_data_bytes (uds.utilities.RawBytesAlias) – Data bytes containing Addressing Information.
- Returns:
Decoded Addressing Information parameters.
- Return type:
- classmethod decode_frame_ai_params(can_id, raw_frame_data)[source]
Decode Addressing Information parameters from a CAN Frame.
- Parameters:
can_id (int) – CAN Identifier value of a CAN frame.
raw_frame_data (uds.utilities.RawBytesAlias) – Raw data bytes of a CAN frame.
- Returns:
Decoded Addressing Information parameters.
- Return type:
- classmethod encode_ai_data_bytes(target_address=None, address_extension=None)[source]
- Abstractmethod:
- Parameters:
- Return type:
Generate data bytes that carry Addressing Information.
- is_input_packet(can_id, raw_frame_data, **_)[source]
Check if a frame with provided attributes is an input packet for this UDS Entity.
- Parameters:
raw_frame_data (uds.utilities.RawBytesAlias) – Raw data bytes carried by a CAN frame to check.
can_id (int) – CAN Identifier of a CAN frame to check.
_ (Any)
- Returns:
Addressing Type used for transmission of this packet, None otherwise.
- Return type:
Optional[uds.addressing.AddressingType]