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.6.tar.gz
(46.9 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.6.tar.gz.
File metadata
- Download URL: uds_connect-0.1.6.tar.gz
- Upload date:
- Size: 46.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e25b86a05cd6201c9f499396745453732e51fcff1254e7abe9e2d1f17ee8f6c9
|
|
| MD5 |
8b8d780ca94343810ce6538d5a0ed76d
|
|
| BLAKE2b-256 |
ff90be1ee044621f32a7c0c18504bd92317cb9f65d8dc998d29e7ff08fe6baf6
|
File details
Details for the file uds_connect-0.1.6-py3-none-any.whl.
File metadata
- Download URL: uds_connect-0.1.6-py3-none-any.whl
- Upload date:
- Size: 92.4 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 |
329f8a0b5729b790a63f07c31ea6c07a75f117edea283d4c58cea392115bcacc
|
|
| MD5 |
79692fbef288e92ec3024ba2dae0bd90
|
|
| BLAKE2b-256 |
010641fd61ce9131d775eeb4e957f8cb82e9615d20ed704e52a442a91c68f73e
|