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.7.tar.gz
(46.5 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.7.tar.gz.
File metadata
- Download URL: uds_connect-0.1.7.tar.gz
- Upload date:
- Size: 46.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e0b70278001d9b6602b7861d4ab799242e043ce0babca1cbb5f13c926e8cd246
|
|
| MD5 |
4d427fd1fcacb7fc079a652701684532
|
|
| BLAKE2b-256 |
43f6777ef6ab2a41c00a6732e6707f3278257f02685ea627ec5d9f1397254ea2
|
File details
Details for the file uds_connect-0.1.7-py3-none-any.whl.
File metadata
- Download URL: uds_connect-0.1.7-py3-none-any.whl
- Upload date:
- Size: 92.3 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 |
79fe6458f4873ad4aeffefb24dfb745b35f3a73d2451eaddfea7f4845c697e2f
|
|
| MD5 |
e9663c26f478dd376aa26bbfdfc2af0d
|
|
| BLAKE2b-256 |
0a55becadab1ef5ce2e5710b3555c9ddf3b50422b7fd97e2ac7759557f71e6e5
|