The "XCP Master" - Filter connects the BUS devices (e.g. "XCP on CAN") in the streaming graph with the "XCP-En/Decode" - filters in the filter graph. The "XCP Master" - Filter provides the functionality to read from and write to XCP frames. In order to receive only a sub set of the available XCP values it is necessary to add a Binding Proxy between the "XCP Master" - Filter and the XCP De-/Encode Filter.
The most important property of the "XCP Master" - Filter is the A2L or Xml Filename
property where you should specify the A2L file that corresponds to the ECU that should be handled.
Keep in mind that the "XCP Master" - Filter requires to be connected to one of the XCP Transport Filters/Sinks or Sources (CAN, Ethernet, FlexRay) in order to communicate with the slave ECU.
For further information about the configuration options please refer to XCP Master Filter Plugin.
Jump to top
The "XCP Decode" - Filter can be used to read out signal values of electronic control units.
These values can be transformed from XCP frames into data structures common to ADTF (mediadescription)
that are transmitted over the configured output pins.
XCP allows two different modes for reading data from the ECUs memory:
The property MapFilename
specifies a configuration file which defines, what signals are acquired and/or written and how the data structures are made up
that are sent over the filters output pins. For creating such a configuration file please see the Signal Config Filter Editor chapter.
For further information about the configuration options please refer to XCP Decode Filter Plugin.
Jump to top
The "XCP Encode" - Filter can be used to change signal values of the connected electronic control unit.
The generated DDL values will be transformed into XCP frames and transmitted via your BUS filter to the ECU.
XCP allows two different modes for writing data to the ECUs memory:
The property MapFilename
specifies a configuration file which defines what signals are acquired and/or written and how the data structures are made up
that are sent over the filters output pins. For creating such a configuration file please see the Signal Config Filter Editor chapter.
For further information about the configuration options please refer to XCP Encode Filter Plugin.
Jump to top
The XCP Emulation Filter allows you to simulate any given ECU for which an A2L description file is available.
To do so you specify the A2L file within the A2L or Xml Filename
property and connect the filter with the
XCP Transport Filter/Sink or Source (CAN, Ethernet, etc.) of your liking.
Please make sure that you enable the Slave Mode
property of your transport filter.
The behaviour of the emulated ECU is described via a mandatory configuration file that specifies several so called ECU Processors.
ECU Processors are plugins that can write to and read from ECU memory locations and react upon trigger events in the ECU.
Please see following section for details.
For further information about the configuration options please refer to XCP Emulator Filter Plugin.
The XML configuration file format is best described with the help of the following example:
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<settings>
<ecu_processors>
<processor oid="adtf.ecu_processor.cyclic" event_name="100ms" interval="100000" />
<processor oid="adtf.ecu_processor.constants" count="2" signal0="byteConstant1" value0="123" signal1="byteConstant2" value1="321" />
<processor oid="adtf.ecu_processor.counter" signal_name="wordCounter" interval="50000" />
<processor oid="adtf.ecu_processor.adtf_signal" signal_name="sawtooth" adtf_signal_name="Demo_Sawtooth_Provider/Demo Sawtooth Signal 0" />
</ecu_processors>
</settings>
You can specify as many ECU Processors as you like (even multiple of the same kind) and you can configure your own ECU Processors.
You can find a description of the already available ECU Processors in the following section.
The Cyclic Event processor can be used to trigger a DAQ Event at a specific time interval.
Property | Type | Description |
---|---|---|
event_name | String | The name of the event that should be triggered. Must be defined in the A2L file. |
interval | Integer | The interval in micro seconds at which the event should be triggered. |
The Constants processor can be used to set constant signal values at startup.
Property | Type | Description |
---|---|---|
count | Integer | The number of constants that should be set. |
signalN | String | The signal name for constant N (with N starting at 0). Must be defined in the A2L file. |
valueN | Integer/Float | The signal value for constant N (with N starting at 0). |
The Counter processor can be used to simulate a signal that represents a counter.
Property | Type | Description |
---|---|---|
signal_name | String | The name of the signal that should be provided. Must be defined in the A2L file. |
interval | Integer | The interval in mirco seconds at which the counter should be incremented. |
The ADTF Signal processor can be used to forward a signal available through the ADTF Signal Registry on XCP.
Property | Type | Description |
---|---|---|
signal_name | String | The name of the XCP signal that should be provided. Must be defined in the A2L file. |
adtf_signal_name | String | The name of the ADTF signal that should be forwarded. |
scale | Float | An optional scale factor that is applied to the signal. |
offset | Float | An optional offset that is added to the signal. |
The "XCP On CAN" - Filter can be used to communicate with ECUs that support XCP via CAN.
To use it connect:
Connected During Startup
property to Connect if FilterGraph is Ready
.
For further information about the configuration options please refer to XCP on CAN Filter Plugin.
Jump to topThe "XCP On CAN FD" - Filter can be used to communicate with ECUs that support XCP via CAN FD.
To use it connect:
Connected During Startup
property to Connect if FilterGraph is Ready
.
For further information about the configuration options please refer to XCP on CANFD Filter Plugin.
Jump to topThe "XCP On FlexRay" - Filter can be used to communicate with ECUs that support XCP via FlexRay.
To use it connect:
Connected During Startup
property to Connect if FilterGraph is Ready
.
For further information about the configuration options please refer to XCP On FlexRay Filter Plugin.
Jump to top
The "Qt5 XCP Master GUI" - Filter can be used to select XCP signals and parameters for reading and writing while runtime.
For further information about the configuration options please refer to Qt5 XCP Master GUI Filter Plugin (BETA) Plugin.
To use it connect:
Measurement Configuration
.
This configuration consists of Measurement Methods
(e.g. a DAQ - Event) which contain XCP Signals
.
Regarding the configuration the signals will be requested from the ECU and decoded.
After pushing the Re-/Start Measurement
- button, the signal values will be updated automatically and printed in the corresponding Value
cell.
Configuration View
and choose the Add Measurement Method...
- entry.
Measurement Method Dialog
, where you can create a Measurement Method
regarding your needs:
OK
- button the Measurement Method
will appear in the Configuration View
.
Due to the naming convention of the Measurement Methods
, you can easily identify the methods setting. DAQ 10 ms (1)
: DAQ - Event 10 ms
with a prescaler 1
Polling 1000000 [ms]
: A polling interval
of 1000000
millisecondsConfiguration View
context menu on a selected Measurement Method
, the
Add Signals to Measurement Method...
- entry is activated. Pushing this will open the
Signal List Editor
- Dialog.
Measurement Method
Measurement Configuration
, you're able to start the measurement by hitting the Re-/Start Measurement
- button.
The XCP Master Filter will request the XCP Signals
regarding the Measurement Method
.
Signal updates will immediately be decoded and plotted.
You can load a *.json
measurement configuration by
XCP Measurment UI - Configuration File
property, to load the measurement file with filter intialisationLoad Configuration File...
of Configuration View
context menu*.json
must declare for every measurment method:
name
for the methoddaq_event
or polling_interval
signals
array containing signal longnames
daq_prescaler
[
{
"daq_event": "10 ms",
"name": "DAQ 10 ms (1)",
"signals": [
"BitSlice",
"KL1"
]
},
{
"name": "Polling 100000 [ms]",
"polling_interval": 100000,
"signals": [
"bit12Counter"
]
}
]
The Import Configuration from Mapfile...
context menu entry will create the measurement configuration from a already existing *.map
file.
You can find brief introduction of the *.map
format here.
Save
will override the current openend *.json
file.
*.json
files. Saving measurement configurations to *.map
files is not possible!
Save As...
will open the file dialog for saving the measurement configuration to a new *.json
file.Parameter Configuration
containing XCP Parameters
.
For all configured elements, a SpinBox will be shown. With the help of these, you can change the value of the corresponding element.
Pushing the Write to ECU
- button will transmit the updates to the ECU.
Configuration View
and choose the Add Parameters...
- entry.
Signal List Editor
- Dialog will open, and you're able to add selected signals/parameters to the Parameter Configuration
.
Write to ECU
- button, to write all signal updates to the ECU.
XCP Parameter UI - Configuration File
property, to load the parameter file with filter intialisationLoad Parameter File...
context menu entry at runtime*.par
files*.dcm
files (VERSION > 2.x)
FESTWERT
and FESTWERTEBLOCK
parameter entries.
Save
will override the current openend *.par
or *.dcm
file.
Save As...
will open the file dialog for saving the parameter configuration to a new *.par
or *.dcm
file.
The "XCP On Ethernet Receiver" can be used to receive ethernet frames with XCP information and provide them to the XCP Master.
To use it connect:
For further information about the configuration options please refer to XCP On Ethernet Receiver Plugin.
Jump to top
The "XCP On Ethernet Transmitter" can be used to send the XCP frames (from XCP Master Filter) via Ethernet to the ECU.
To use it connect:
For further information about the configuration options please refer to XCP on Ethernet Transmitter Plugin.
Jump to top