Skip to content

Python package for communication via UDS (Unified Diagnostic Services) protocol. The package supports typical buses (i.e. CAN, Ethernet, LIN, FlexRay, K-Line) with possible extensions to any bus.

License

Notifications You must be signed in to change notification settings

mdabrowski1990/uds

Repository files navigation

UDS

Continuous Integration Status Security Scan Status CII Best Practices ReadTheDocs Build Status Software Tests Coverage

The latest Version of UDS package Supported Python versions PyPI status Total PyPI downloads Monthly PyPI downloads License Type

Python package for handling Unified Diagnostic Services (UDS) protocol defined by ISO 14229. It supports different communication buses on both communication sides (client and server).

Documentation

User documentation is hosted by ReadTheDocs portal and available under the following link: https://uds.readthedocs.io/

Security policy for this package is defined in SECURITY.md file.

If you want to become a contributor, please read CONTRIBUTING.md file.

Why another UDS package?

There are a few already existing python packages to handle UDS protocol, so you might wonder why would you consider using this one?

This package is meant to support multiple buses (including CAN, LIN, Ethernet, K-Line, FlexRay) and multiple bus managers (e.g. python-can). Additionally, it handles both communication nodes (client and server), decoding monitored UDS communication, and contains detailed configuration to fully control all timing and transmission parameters.

Thanks to all these features, this package can have multiple use-cases, including:

  • simple send-receive packets/messages to/from any network
  • comprehensive node simulations
  • testing of UDS protocol communication implementation - either on client (diagnostic tester / ECU) or server (ECU) side
  • sniffing (and decoding) UDS communication

Unfortunately, all previously mentioned plans make the project quite huge. At the time of writing, the implementation process of these features is still ongoing (and probably the development would slowly progress over at least a few more years, unless more people get engaged in the project and/or more sponsors are found). On the other hand, the architecture to support all these features is already designed and some of them are already implemented with others defined or planned.

To check the current implementation status, visit:

Alternative options

python-udsoncan

Link: https://github.com/pylessard/python-udsoncan

python-uds

Link: https://github.com/richClubb/python-uds

Contact

About

Python package for communication via UDS (Unified Diagnostic Services) protocol. The package supports typical buses (i.e. CAN, Ethernet, LIN, FlexRay, K-Line) with possible extensions to any bus.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Languages