Welcome to UDS documentation!

Overview

The purpose of this project is to provide python tool to handle Unified Diagnostic Services (UDS) protocol defined by ISO-14229. The created package helps to simulate either communication side (client or server), monitoring and decode diagnostic communication.

The architecture enables to use it with various communication buses (e.g. CAN, LIN).

The most likely use cases of this package are:

  • communication with your vehicle (e.g. reading Diagnostic Trouble Codes)

  • monitoring and decoding UDS communication

  • performing tests against on-board ECU (server)

  • performing tests against OBD Tester (client)

Implementation Status

The package is currently in the early development phase, therefore only a few features are currently available. If you want to speed up the development, please visit contribution section to find out what are your options.

Features

Current implementation status of package features:

Feature

Implementation Status

UDS Messages and Packets

Available since version 0.0.2

UDS Packets Reception and Transmission

Available since version 0.3.0

UDS Messages Reception and Transmission

Available since version 1.0.0

Messages Segmentation

Available since version 0.2.0

UDS Packets Desegmentation

Available since version 0.2.0

Client Simulation

Planned

Server Simulation

Planned

UDS Sniffer

Planned

Support for Messages Databases

Planned

Buses supported

Current implementation status of support for communication buses:

Bus

Implementation Status

CAN

Full

FlexRay

Planned

Ethernet

Planned

K-Line

Planned

LIN

Planned

License

The project is licensed under the MIT license - https://github.com/mdabrowski1990/uds/blob/main/LICENSE

Contact

Documentation generated

Oct 29, 2024