XCP Driver
jumpstarter-driver-xcp provides XCP (Universal Measurement and Calibration Protocol) support
for Jumpstarter, enabling remote measurement, calibration, DAQ (data acquisition), and
programming of XCP-enabled ECUs.
It wraps the pyXCP library and supports Ethernet (TCP/UDP), CAN, USB, and Serial (SxI) transports.
Installation
pip3 install --extra-index-url https://pkg.jumpstarter.dev/simple/ jumpstarter-driver-xcp
Configuration
Ethernet (TCP)
export:
xcp:
type: jumpstarter_driver_xcp.driver.Xcp
config:
transport: ETH
host: "192.168.1.100"
port: 5555
protocol: TCP
Ethernet (UDP)
export:
xcp:
type: jumpstarter_driver_xcp.driver.Xcp
config:
transport: ETH
host: "192.168.1.100"
port: 5555
protocol: UDP
CAN
export:
xcp:
type: jumpstarter_driver_xcp.driver.Xcp
config:
transport: CAN
can_interface: vector
channel: 0
bitrate: 500000
can_id_master: 0x7E0
can_id_slave: 0x7E1
Using a pyXCP Config File
For advanced configuration (seed & key, DAQ policies, etc.), provide a pyXCP configuration file:
export:
xcp:
type: jumpstarter_driver_xcp.driver.Xcp
config:
transport: ETH
config_file: /path/to/xcp_config.py
Configuration Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
transport |
str |
ETH |
Transport layer: ETH, CAN, USB, SXI |
host |
str |
localhost |
IP address or hostname (Ethernet only) |
port |
int |
5555 |
Port number (Ethernet only) |
protocol |
str |
TCP |
TCP or UDP (Ethernet only) |
can_interface |
str |
None |
python-can interface name (CAN only) |
channel |
str|int |
None |
CAN channel (CAN only) |
bitrate |
int |
None |
CAN bitrate in bits/s (CAN only) |
can_id_master |
int |
None |
CAN ID for master -> slave (CAN only) |
can_id_slave |
int |
None |
CAN ID for slave -> master (CAN only) |
config_file |
str |
None |
Path to a pyXCP config file (overrides individual params) |
Usage
from jumpstarter.common.utils import env
with env() as client:
xcp = client.xcp
info = xcp.connect()
print(f"Max CTO: {info.max_cto}, Max DTO: {info.max_dto}")
xcp.unlock()
data = xcp.upload(4, 0x1000)
print(f"Memory at 0x1000: {data.hex()}")
xcp.download(0x2000, b"\x42\x00\x00\x00")
xcp.disconnect()
API Reference
.. autoclass:: jumpstarter_driver_xcp.driver.Xcp()
Release files for jumpstarter-driver-xcp 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| jumpstarter_driver_xcp-0.9.0.tar.gz | 14.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| jumpstarter_driver_xcp-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 31.3 kB
Release files / jumpstarter_driver_xcp-0.9.0.tar.gz
| Download URL | jumpstarter_driver_xcp-0.9.0.tar.gz |
|---|---|
| Size | 14.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bc788769980d0ab916c48ff63bcb36e0d54d9d2d92c4e79151be4e15e59989bf
|
|
BLAKE2b-256 checksum How to use checksums |
0040ccc297663b2613ae7cd9dbc8ec1caebcc8934d73ebaf6ea917ac22a2abc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|
Release files / jumpstarter_driver_xcp-0.9.0-py3-none-any.whl
| Download URL | jumpstarter_driver_xcp-0.9.0-py3-none-any.whl |
|---|---|
| Size | 17.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
cb5360232339681aab023c89a3844a624e30763a0e2b3078e52fb53b7b586f3d
|
|
BLAKE2b-256 checksum How to use checksums |
91885a401c908f656671f081dd9258cefc76fb6c6ea1a43489ae229f95272591
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.8.22
|