This part of the API configures the XCPlite dependency, target scheduling, XCP endpoint, measurement/calibration capacity, virtual flash package, and optional SSH deployment.
XCPlite, scheduler, and XCP server
| Input |
Default |
Use |
XcpliteRepo |
Vector XCPlite repository |
Upstream source URL used only when an explicit update/checkout is requested. |
XcpliteRef |
V2.1.5 |
Pinned XCPlite revision. |
XcpliteDir |
<WorkDir>/external/XCPlite |
Local XCPlite source snapshot/check-out. |
XcpliteUpdate |
false |
Explicitly fetch/check out the requested revision. Not allowed with Offline=true; a bundled snapshot is intentionally immutable. |
XcpliteAllowDirty |
false |
Permit a modified Git checkout. This should remain false for reproducible builds. |
ModelCores |
[2 3] |
Linux CPU cores for the model scheduler. They must not overlap XcpCores. |
XcpCores |
1 |
Core(s) inherited by XCPlite threads. Must not overlap model cores. |
RtPriority |
80 |
Model scheduler SCHED_FIFO priority, 1 through 99. |
CpuCoreCount |
4 |
Number of exported per-core CPU diagnostic channels. |
Port |
5555 |
XCP-on-TCP listening port. |
BindAddr |
0.0.0.0 |
Local address on which the target server listens. |
XcpHost |
PiHost, otherwise 0.0.0.0 |
Endpoint written into the A2L. Set it before importing an offline-generated A2L. |
LogLevel |
3 |
XCPlite runtime diagnostic verbosity. |
Persistence |
true |
Enable target-side calibration-page freeze/persistence. |
DAQ and calibration capacity
| Input |
Default |
Use |
QueueSize |
8 MiB |
Transmit queue byte capacity. Increase only after observing DAQ burst pressure. |
DaqMemSize |
512 KiB |
Dynamic DAQ allocation memory. |
CalMemSize |
4 MiB |
Calibration page-pool capacity. |
CalSegCount |
64 |
Maximum calibration segments, including EPK segment zero. |
EventCount |
64 |
Maximum generated measurement rasters/tasks. |
MtuSize |
8000 |
XCPlite TCP packet-batching size in bytes. |
ParamChunk |
32768 |
Bytes per model-parameter calibration segment. One parameter may not cross a chunk boundary. |
CalibrationAllow |
{} |
Optional wildcard allow-list; empty permits every otherwise eligible parameter. |
CalibrationDeny |
Generated index/dimension patterns |
Wildcard deny-list for bookkeeping parameters. Dependent lookup axes are retained automatically. |
Identity, flash package, and optional deployment
| Input |
Default |
Use |
Epk |
Generated hash |
Software identity shared by application, A2L, and HEX. |
FlashBase |
0xC0000000 |
Virtual XCP programming-sector base address. |
FlashSize |
16 MiB |
Maximum virtual application image size. |
ProFName |
<Model>_XCP_Flash_ProF |
Generated INCA ProF package folder name. |
ProFTimeoutMs |
30000 |
ProF command timeout in milliseconds. |
PiHost |
Empty |
SSH deployment endpoint. The historical name works for any compatible Linux SBC. |
PiUser |
Empty |
SSH user, required for deployment or legacy remote build. |
PiPassword |
Empty |
SSH password, required for deployment/remote build. Pass it at runtime; do not store it in the project. |
PiHostKey |
Empty |
Optional pinned SSH host-key fingerprint for PuTTY/plink. |
PiAppDir |
/home/<PiUser>/xcp_app |
Application, persistence, and service directory. With no user it resolves internally to /opt/xcp_app. |
Deployment example
cfg = xcpWorkflow("Model", "xcpMultiRateTest", ...
"Offline", false, ...
"Deploy", true, ...
"PiHost", "192.168.1.50", ...
"PiUser", "target-user", ...
"PiPassword", "your-password", ...
"PiAppDir", "/opt/xcp_app", ...
"XcpHost", "192.168.1.50");
When Deploy=true or BuildMode="remote", host, user, and password must be supplied. Offline=true intentionally rejects those modes so an unattended local build never attempts a network connection.