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:
is_member()– check if a value is a valid enum membervalidate_member()– validate and convert a value to an enum member
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:
is_member()– check if a value is a valid enum membervalidate_member()– validate and convert a value to an enum member
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