uds.can.abstract_addressing_information ======================================= .. py:module:: uds.can.abstract_addressing_information .. autoapi-nested-parse:: Abstract definition of Addressing Information handler. Classes ------- .. autoapisummary:: uds.can.abstract_addressing_information.PacketAIParamsAlias uds.can.abstract_addressing_information.AbstractCanAddressingInformation Module Contents --------------- .. py:class:: PacketAIParamsAlias Bases: :py:obj:`TypedDict` .. autoapi-inheritance-diagram:: uds.can.abstract_addressing_information.PacketAIParamsAlias :parts: 1 :private-bases: Alias of :ref:`Addressing Information ` parameters of CAN packets stream. Initialize self. See help(type(self)) for accurate signature. .. py:attribute:: addressing_format :type: uds.can.addressing_format.CanAddressingFormat .. py:attribute:: addressing_type :type: uds.transmission_attributes.AddressingType .. py:attribute:: can_id :type: int .. py:attribute:: target_address :type: Optional[int] .. py:attribute:: source_address :type: Optional[int] .. py:attribute:: address_extension :type: Optional[int] .. py:class:: AbstractCanAddressingInformation(rx_physical, tx_physical, rx_functional, tx_functional) Bases: :py:obj:`abc.ABC` .. autoapi-inheritance-diagram:: uds.can.abstract_addressing_information.AbstractCanAddressingInformation :parts: 1 :private-bases: Abstract definition of CAN Entity (either server or client) Addressing Information. Configure Addressing Information of a CAN Entity. :param rx_physical: Addressing Information parameters used for incoming physically addressed communication. :param tx_physical: Addressing Information parameters used for outgoing physically addressed communication. :param rx_functional: Addressing Information parameters used for incoming functionally addressed communication. :param tx_functional: Addressing Information parameters used for outgoing functionally addressed communication. .. py:attribute:: ADDRESSING_FORMAT_NAME :type: str :value: 'addressing_format' Name of :ref:`CAN Addressing Format ` parameter in Addressing Information. .. py:attribute:: ADDRESSING_TYPE_NAME :type: str Name of :ref:`Addressing Type ` parameter in Addressing Information. .. py:attribute:: CAN_ID_NAME :type: str :value: 'can_id' Name of CAN Identifier parameter in Addressing Information. .. py:attribute:: TARGET_ADDRESS_NAME :type: str Name of Target Address parameter in Addressing Information. .. py:attribute:: SOURCE_ADDRESS_NAME :type: str Name of Source Address parameter in Addressing Information. .. py:attribute:: ADDRESS_EXTENSION_NAME :type: str :value: 'address_extension' Name of Address Extension parameter in Addressing Information. .. py:attribute:: AI_DATA_BYTES_NUMBER :type: int Number of CAN Frame data bytes that are used to carry Addressing Information. .. py:class:: InputAIParamsAlias Bases: :py:obj:`TypedDict` .. autoapi-inheritance-diagram:: uds.can.abstract_addressing_information.AbstractCanAddressingInformation.InputAIParamsAlias :parts: 1 :private-bases: Alias of :ref:`Addressing Information ` configuration parameters. Initialize self. See help(type(self)) for accurate signature. .. py:attribute:: can_id :type: int .. py:attribute:: target_address :type: Optional[int] .. py:attribute:: source_address :type: Optional[int] .. py:attribute:: address_extension :type: Optional[int] .. py:property:: rx_packets_physical_ai :type: PacketAIParamsAlias Addressing Information parameters of incoming physically addressed CAN packets. .. py:property:: tx_packets_physical_ai :type: PacketAIParamsAlias Addressing Information parameters of outgoing physically addressed CAN packets. .. py:property:: rx_packets_functional_ai :type: PacketAIParamsAlias Addressing Information parameters of incoming functionally addressed CAN packets. .. py:property:: tx_packets_functional_ai :type: PacketAIParamsAlias Addressing Information parameters of outgoing functionally addressed CAN packets. .. py:property:: addressing_format :type: uds.can.addressing_format.CanAddressingFormat :abstractmethod: CAN Addressing format used. .. py:method:: get_other_end() Get CAN Addressing Information of CAN Entity on the other end. :return: CAN Addressing Information of a CAN node that this object communicates with. .. py:method:: validate_packet_ai(addressing_type, can_id = None, target_address = None, source_address = None, address_extension = None) :classmethod: :abstractmethod: Validate Addressing Information parameters of a CAN packet. :param addressing_type: Addressing type to validate. :param can_id: CAN Identifier value to validate. :param target_address: Target Address value to validate. :param source_address: Source Address value to validate. :param address_extension: Address Extension value to validate. :raise InconsistentArgumentsError: Provided values are not consistent with each other (cannot be used together) or with the Addressing format used. :raise UnusedArgumentError: Provided parameter is not supported by Addressing format used. :return: Normalized dictionary with the provided information. .. py:method:: _validate_node_ai(rx_packets_physical_ai, tx_packets_physical_ai, rx_packets_functional_ai, tx_packets_functional_ai) :staticmethod: :abstractmethod: Validate Node Addressing Information parameters. :param rx_packets_physical_ai: Addressing Information parameters of incoming physically addressed CAN packets to validate. :param tx_packets_physical_ai: Addressing Information parameters of outgoing physically addressed CAN packets to validate. :param rx_packets_functional_ai: Addressing Information parameters of incoming functionally addressed CAN packets to validate. :param tx_packets_functional_ai: Addressing Information parameters of outgoing functionally addressed CAN packets to validate. :raise InconsistentArgumentsError: Provided values are not consistent with each other.