A package to interface with UDS via different CAN interfaces
Project description
uds_connect
uds_connect is a Python package for interacting with UDS (Unified Diagnostic Services) over various CAN interfaces, such as peak, kvaser, and vector.
Installation
pip install uds_connect
Example Usage
from uds_connect import initialize_uds, send_with_retry
# Define the driver type, request ID, and response ID
driver_type = "kvaser" # Options: 'peak', 'kvaser', 'vector'
request_id = 0x7D2
response_id = 0x7D3
# Additional parameters based on the driver type
additional_params = {
# "device": "PCAN_USBBUS1", # For 'peak' driver
"channel": 0, # For 'kvaser' or 'vector' drivers
"bitrate": 500000, # For 'kvaser' driver
# "app_name": "BALCAN" # For 'vector' driver
}
# Initialize the UDS instance with the specified configuration
uds_instance = initialize_uds(driver_type, request_id, response_id, **additional_params)
# UDS requests
vin_number = send_with_retry(uds_instance, [0x22, 0xF1, 0x90])
hex_file = send_with_retry(uds_instance, [0x22, 0xF1, 0x11])
assembly_part_num = send_with_retry(uds_instance, [0x22, 0xF1, 0x87])
hw_serial_number = send_with_retry(uds_instance, [0x22, 0xF1, 0x8C])
# Format responses by removing the first three bytes (header)
formatted_vin = vin_number[3:]
formatted_hex = hex_file[3:]
formatted_assembly_num = assembly_part_num[3:]
formatted_hw_serial_num = hw_serial_number[3:]
# Convert byte data to a readable string format
result_vin = ''.join(chr(num) for num in formatted_vin)
result_hex = ''.join(chr(num) for num in formatted_hex)
result_assembly_num = ''.join(chr(num) for num in formatted_assembly_num)
result_serial_num = ''.join(chr(num) for num in formatted_hw_serial_num)
# Collect vehicle data in a dictionary
vehicle_data = {
'vin_number': result_vin,
'hex_file_name': result_hex,
'assembly_part_number': result_assembly_num,
'hw_serial_number': result_serial_num
}
print(vehicle_data)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
uds_connect-0.1.9.tar.gz
(46.3 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uds_connect-0.1.9.tar.gz.
File metadata
- Download URL: uds_connect-0.1.9.tar.gz
- Upload date:
- Size: 46.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4396657546751877535762fd1e4325a1d844da15f3915ae94a1f596e3e56fe48
|
|
| MD5 |
2d5527ce6b9d659c5083e6370be6318e
|
|
| BLAKE2b-256 |
24de138aa3ce7f6776be7341632d1b8bbb8bc629a8dc4222f1dbb74db8ea04c3
|
File details
Details for the file uds_connect-0.1.9-py3-none-any.whl.
File metadata
- Download URL: uds_connect-0.1.9-py3-none-any.whl
- Upload date:
- Size: 91.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
09fe332caed8e3a8de8e968a8cbc970a9c6f7578b55ac2f2c02a2f5e0c46fadc
|
|
| MD5 |
73cdaafc47f90a42de7aa1b9bc98881d
|
|
| BLAKE2b-256 |
4d93acf4c6125064880f93b0e8aee4845708c5152e5b9b3974ea913d4c7faf59
|