uds.can.packet.abstract_container ================================= .. py:module:: uds.can.packet.abstract_container .. autoapi-nested-parse:: Abstract definition of a container for a CAN packet. Attributes ---------- .. autoapisummary:: uds.can.packet.abstract_container.CanPacketsContainersSequence Classes ------- .. autoapisummary:: uds.can.packet.abstract_container.AbstractCanPacketContainer Module Contents --------------- .. py:class:: AbstractCanPacketContainer Bases: :py:obj:`uds.packet.abstract_packet.AbstractPacketContainer`, :py:obj:`abc.ABC` .. autoapi-inheritance-diagram:: uds.can.packet.abstract_container.AbstractCanPacketContainer :parts: 1 :private-bases: Abstract definition of CAN Packets containers. .. py:property:: can_id :type: int :abstractmethod: CAN Identifier (CAN ID) of a CAN Frame that carries this CAN packet. .. py:property:: raw_frame_data :type: bytes :abstractmethod: Raw data bytes of a CAN frame that carries this CAN packet. .. py:property:: dlc :type: int Value of Data Length Code (DLC) of a CAN Frame that carries this CAN packet. .. py:property:: addressing_format :type: uds.can.addressing.CanAddressingFormat :abstractmethod: CAN addressing format used by this CAN packet. .. py:property:: target_address :type: Optional[int] Target Address (TA) value of this CAN Packet. Target Address value is used with following :ref:`addressing formats `: - :ref:`Normal Fixed Addressing ` - :ref:`Extended Addressing ` - :ref:`Mixed 29-bit Addressing ` None in other cases. .. py:property:: source_address :type: Optional[int] Source Address (SA) value of this CAN Packet. Source Address value is used with following :ref:`addressing formats `: - :ref:`Normal Fixed Addressing ` - :ref:`Mixed 29-bit Addressing ` None in other cases. .. py:property:: address_extension :type: Optional[int] Address Extension (AE) value of this CAN Packet. Address Extension is used with following :ref:`addressing formats `: - :ref:`Mixed Addressing ` - either: - :ref:`Mixed 11-bit Addressing ` - :ref:`Mixed 29-bit Addressing ` None in other cases. .. py:property:: packet_type :type: uds.can.packet.can_packet_type.CanPacketType Type (N_PCI value) of this CAN packet. .. py:property:: data_length :type: Optional[int] Payload bytes number of a diagnostic message that is carried by this CAN packet. Data length is only provided by packets of following types: - :ref:`Single Frame ` - :ref:`Single Frame Data Length ` - :ref:`First Frame ` - :ref:`First Frame Data Length ` None in other cases. :raise NotImplementedError: There is missing implementation for the set CAN Packet Type. .. py:property:: sequence_number :type: Optional[int] Sequence Number carried by this CAN packet. :ref:`Sequence Number ` is only provided by packets of following types: - :ref:`Consecutive Frame ` None in other cases. :raise NotImplementedError: There is missing implementation for current CAN Packet Type. .. py:property:: flow_status :type: Optional[uds.can.packet.flow_control.CanFlowStatus] Flow Status carried by this CAN packet. :ref:`Flow Status ` is only provided by packets of following types: - :ref:`Flow Control ` None in other cases. :raise NotImplementedError: There is missing implementation for current CAN Packet Type. .. py:property:: block_size :type: Optional[int] Block Size value carried by this CAN packet. :ref:`Block Size ` is only provided by packets of following types: - :ref:`Flow Control ` None in other cases. :raise NotImplementedError: There is missing implementation for current CAN Packet Type. .. py:property:: st_min :type: Optional[int] Separation Time minimum (STmin) value carried by this CAN packet. :ref:`STmin ` is only provided by packets of following types: - :ref:`Flow Control ` None in other cases. :raise NotImplementedError: There is missing implementation for current CAN Packet Type. .. py:property:: addressing_type :type: uds.addressing.AddressingType :abstractmethod: Addressing type for which this CAN packet is relevant. .. py:property:: payload :type: Optional[bytes] Diagnostic message payload carried by this CAN packet. Payload is only provided by packets of following types: - :ref:`Single Frame ` - :ref:`First Frame ` - :ref:`Consecutive Frame ` None in other cases. .. warning:: For :ref:`Consecutive Frames ` this value might contain additional filler bytes (they are not part of diagnostic message payload) that were added during :ref:`CAN Frame Data Padding `. The presence of filler bytes in :ref:`Consecutive Frame ` cannot be determined basing solely on the information contained in this packet object. :raise NotImplementedError: There is missing implementation for current CAN Packet Type. .. py:data:: CanPacketsContainersSequence Alias for a sequence filled with CAN packet or packet record objects.