zelos-uds¶
zelos-uds
performs UDS transactions on a CAN bus to a specific device.
Minimum required version: 0.0.25
The command zelos-trace
was added in version 0.0.25
. If you have not yet installed zeloscloud or are running an
earlier version, view the instructions at Installing Zelos.
User Interface¶
UDS transactions can be configured by command line arguments and/or config files. Example configurations are shipped with the package.
Supported UDS services¶
- ECU Reset
- Read Data By Identifier
- Multi-Read Data By Identifier
- Write Data By Identifier
- Session Controls
- Request Download
- Multi-Write Data By Identifier
- Tester Present
- IO Controls
- Routine Controls
- File Access Interface
- Read/Write Data By Named Identifier
Default Values¶
zeloscloud.cli.config.uds.default.yaml
contains the default configuration of all arguments
Ex. uds.channel
bus and uds.interface
are defaulted to can0
and socketcan
respectively.
Arguments¶
At a minimum, the user must specify the Transmit and Receive Message IDs
zelos-uds uds.rxid=123 uds.txid=456
zelos-uds uds.rxid=0x123 uds.txid=0x456
~/.zelos/uds/my_device.yaml
:
# Override the default config with my device's IDs
defaults:
- default
txid: 0x123
rxid: 0x456
zelos-uds uds=my_device
Pro Tip
pass in --config-dir=/path/to/my/configs/
if you are not storing configs in the default ~/.zelos/
dir
Shell completion¶
Execute the below command in a bash terminal (or put it in a bash rc) for argument completion:
eval "$(zelos-uds --shell-completion install=bash)"
zelos-uds uds.'tab''tab'
uds.can_link. uds.codec. uds.did. uds.file. uds.pretty= uds.rxid= uds.txid=
uds.channel= uds.data. uds.download. uds.interface= uds.reset= uds.session=
Example Commands¶
ECU Reset¶
zelos-uds uds.rxid=0x123 uds.txid=0x456 \
uds.reset=true
Read Data By Identifier¶
zelos-uds uds.rxid=0x123 uds.txid=0x456 \
uds.did=0x789
Write Data By Identifier¶
zelos-uds uds.rxid=0x123 uds.txid=0x456 \
uds.did=0x789 \
uds.data=0x1234
Session Controls¶
zelos-uds uds.rxid=0x123 uds.txid=0x456 \
uds.session=programming
Request Download¶
zelos-uds uds.rxid=0x123 uds.txid=0x456 \
uds.session=programming \
uds.download.path=/path/to/file
File Access¶
zelos-uds uds.rxid=0x123 uds.txid=0x456 \
uds.file.mode=read \
uds.file.local=/path/local_file.txt \
uds.file.target=/path/target_file.log
Example Configurations¶
zeloscloud.cli.config.examples
contains example configuration files
To use the example configuration files, simply set the uds config group to the corresponding example.
zelos-uds uds=example
Overriding Examples¶
This example and the other examples (i.e. example-<service>
) in addition to CLI overrides can be utilized to jumpstart complex operations.
zelos-uds uds=example uds.rxid=0x123 uds.txid=0x456
Example Download¶
zelos-uds uds=example_download uds.rxid=0x123 uds.txid=0x456 \
uds.download.path=/path/to/file
ECU Reset¶
zelos-uds uds=example_reset uds.rxid=0x123 uds.txid=0x456