Addressing

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

AddressingType

AddressingType is an enum containing all possible UDS addressing types.

Methods:

Example code:

import uds

# check if provided value is AddressingType member
uds.addressing.AddressingType.is_member(uds.addressing.AddressingType.PHYSICAL)  # True

# convert a valid string to enum member
uds.addressing.AddressingType.validate_member("Functional")  # uds.addressing.AddressingType.FUNCTIONAL

# check invalid values
uds.addressing.AddressingType.is_member(0)  # False
uds.addressing.AddressingType.validate_member("not an addressing type")  # raises ValueError

TransmissionDirection

TransmissionDirection is an enum containing 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

# convert a valid string to enum member
uds.addressing.TransmissionDirection.validate_member("Tx")  # uds.addressing.TransmissionDirection.TRANSMITTED

# check invalid values
uds.addressing.TransmissionDirection.is_member("not a direction")  # False
uds.addressing.TransmissionDirection.validate_member("not a direction")  # raises ValueError