Addressing

The addressing related implementation that is common for all networks is located in uds.addressing sub-package. Each network type has its own specific implementation for addressing information encoding and extracting from packets.

AddressingType

AddressingType class is enum with all possible UDS addressing types defined in it.

Methods:

Example code:

import uds

# check if provided value is AddressingType member
uds.addressing.AddressingType.is_member(uds.addressing.AddressingType.PHYSICAL)  # True
uds.addressing.AddressingType.validate_member("Functional")  # uds.addressing.AddressingType.FUNCTIONAL
uds.addressing.AddressingType.is_member(0)  # False
uds.addressing.AddressingType.validate_member("not an addressing type")  # raises ValueError

TransmissionDirection

TransmissionDirection class is enum with all possible communication directions.

Methods:

Example code:

import uds

# check if provided value is TransmissionDirection member
uds.addressing.TransmissionDirection.is_member(uds.addressing.TransmissionDirection.RECEIVED)  # True
uds.addressing.TransmissionDirection.validate_member("Tx")  # uds.addressing.TransmissionDirection.TRANSMITTED
uds.addressing.TransmissionDirection.is_member("not a direction")  # False
uds.addressing.TransmissionDirection.validate_member("not a direction")  # raises ValueError