Getting started using the ASAP2Demo...
Table of contents:
- Graphical user interface description
- Find and select ASAP2 objects
- Change ASAP2 objects
- Add ECU calibration data
- Display, adjust and store calibration data
- Export and import calibration data
- Synchronizing A2L object addresses from an ELF file
- Connect to an ECU with XCP over Ethernet(TCP/UDP)
- Activating and connecting to CAN hardware
- Connect to an ECU with XCP on CAN or CCP
- Configuring DAQ lists for online measuring
- The ECUSimulator
- Starting the ECUSimulator manually
- Activating and connecting to LIN hardware
- Force ASAP2Demo to run as a 32Bit process
or watch demos on the
After starting the ASAP2Demo...
- Open an example file from [File|Open] menu
- Open an existing ASAP2 (*.a2l) file from the [File|Open] menu
- Drag&Drop one or more ASAP2 (*.a2l) files onto the ASAP2Demo application
For each specified ASAP2 file a document is created displaying the ASAP2 hierarchy in a tree, the original content and the received ASAP2 parser messages in a data table. After selecting a specific ASAP2 object in the tree, the property grid below the tree displays properties corresponding to the selected ASAP2 object.
Graphical user interface:
How to find and select ASAP2 objects...
- Use the tree view to select your ASAP2 object.
- Open the search window with the CTRL+F shortcut to open the object search window. Selecting an object in the search window synchronizes the tree view and A2L content.
- Select a position in the A2L content manually.
Synchronize the tree and property view by a double-click or the context menu to the selected position.
How to change ASAP2 object properties
- You may change properties of selected ASAP2 objects in the ASAP2 object properties window.
- After changing ASAP2 object properties, ensure to save and reload the A2L file by using the 'File|Save' command to activate the changed properties.
- I recommend to never override the original A2L file!
How to add ECU calibration data files to the A2L model
- The ASAP2Demo application tries to load a suitable calibration (HEX/S19) data file anytime a A2L file is opened.
Falls eine gleichnamige Datei im selben Verzeichnis gefunden wird, wird diese automatisch geladen, ansonsten wird die erste im selben Verzeichnis gefundene Datei geladen.
To ensure loading the desired data file automatically, it is recommended to put the A2L and its data file into a standalone directory.
- You can load a calibration data file by the [File|Load data file] menu command.
- You may save a changed calibration data file by using its context menu [Save file] command.
How to display, adjust and store calibration data
After a calibration data file is loaded...
- Select the tab 'Calibration data' to display or adjust calibration data
- By selecting a specific A2L function or group from the A2L object tree, the list of characteristics gets filtered
- Depending on the selected A2L characteristic
- A 2D-Control displays values for A2L single value type
- A ComboBox control display A2L single values depending on a dictionary (TAB_VERB and TAB_NOINTP computation types)
- A TextBox control displays A2L ASCII value types.
- A 3D-Control displays the values for A2L value block, curve and map characteristic types. Use the mouse and the 3D-control's context menu to adjust perspective, zoom and view.
- Numeric characteristic values are adjustable by context menu [Edit value...] or just start typing a new value on the keyboard.
- Numeric characteristic values are adjustable by the '+/-' keys with it's default increment
- For characteristic values containing multiple values (value block, curve, map) a cell selection within the displayed data has to be done before adjusting with the '+/-' keys.
- The minimum increment/decrement value for a characteristic depends on the A2L defined data type and format.
After a calibration data file is changed...
- Use the context menu of the calibration page to store the adjustments as Intel Hex or Motorola-S file use:
How to export and import calibration data
After a calibration data file is loaded...
- Use the context menu of the calibration page to export or import calibration data as INCA DCM, CANape PAR, CDF or MATLAB-m file format.
Synchronizing A2L object addresses from an ELF file
- Open any A2L file with ASAP2Demo
- Open an ELF file containing symbols corresponding to the A2L objects
- The ELF File demo window displays a table with known A2L objects, the original A2L address,
the symbol's address read from the ELF file and a synchronizer message
- If no A2L file is opened before the ELF File demo window displays only the ELF file analysis tabs.
ASAP2Demo only allows the updated A2L file to be saved with a licensed version, see ASAP2Demo licensing.
For an example of how to do an A2L address update using the ASAP2Library see the ELF example.
How to connect to an ECU over XCP on Ethernet (TCP/UDP)
After an XCP over Ethernet supporting A2L File is loaded...
- You are asked to connect to the 'real' ECU or simulate the ECU using the ECU simulator.
- ASAP2Demo lets you...
- Enable/disable the ECU connection
- Define a Seed&Key DLL to get access to the ECU
- Change the active calibration page (Flash or RAM)
- Read and Write calibration data from and to the ECU
- Copy the ECU's Flash page to the ECU's RAM page and vice versa
- Start/stop/configure data acquisition
Activating and connecting to CAN hardware
The philosophy of ASAP2Demo/ASAP2Library is to remain independent of vendor CAN hardware. The ASAP2Demo installer does not provide drivers for CAN hardware, but uses only CAN hardware drivers installed on the target system.
Depending on the CAN Hardware driver, ASAP2Demo searches the '%SYSTEMROOT%\system32' directory for a driver DLL. Manufacturer-specific information can be found in the following list of supported CAN hardware.
|CAN provider||32 Bit driver||64 Bit driver||Supports
|Advantech||not needed||not needed|
|MHS Elektronik Tiny-CAN||mhstcan.dll||mhstcan.dll|
|National Instruments (NI-CAN)||nican.dll||not available|
|National Instruments (XNET)||nixnet.dll||nixnet.dll||✓|
How to connect to an ECU over XCP on CAN/CANFD or CCP
Prerequisites (for a Vector CAN enabled product), for any other type of CAN hardware, the same procedure of configuration applies:
- Open the options menu (F8), chapter CAN.
- Click the configure button for 'Vector CAN'.
- Select hardware and the desired configuration.
Using the ECUSimulator on the same machine, the hardware type must be set to 'Virtual'.
- After this, enable the checkbox to use the Vector CAN device in the options dialog. ASAP2Demo should now be able to access the CAN device. If the configuration is successful, the ASAP2Demo shows an accessible CAN device in it's status bar:
Configuring DAQ lists for online measuring
The XCP and CCP DAQ selection pages displays available DAQ lists and connected DAQ events. The page allows to enable or disable each single DAQ List to be used in online measuring.
The ECU Simulator
- The ECUSimulator is implemented as a standalone console application (ECUSimulator.exe in the ASAP2Demo installation directory).
- The ECUSimulator may be started on any machine supporting the .NET Framework.
- Multiple instances of the ECUSimulator may be started on different IP ports on the same machine.
- Instances of the ECUSimulator on the local machine are connected, started and stopped automatically by ASAP2Demo.
- Never ever run more than one instance of ASAP2Demo with the same A2L in simulating mode! This leads to multiple XCP/CCP Master access on a single Slave. The behavior is not predictable in this case.
Starting the ECU Simulator manually
- Open a console window in the ASAP2Demo installation folder.
- The following command line is required to start the ECUSimulator process:
ECUSimulator [-debug] TCP:Port|UDP:Port|CAN:Driver:Port|CCP:Driver:Port|UDS:Driver:Port A2LFile [DataFile]
XCP on TCP Simulator on port 1800:
ECUSimulator TCP:1800 ASAP2Example.a2l ASAP2Example.hex
XCP on CAN Simulator using the Vector CAN driver on Port 2:
ECUSimulator CAN:vector:1 ASAP2Example.a2l ASAP2Example.hex
CCP Simulator using the Kvaser CAN driver on Port 1:
ECUSimulator CCP:kvaser ASAP2Example.a2l ASAP2Example.hex
UDS Simulator using the Kvaser CAN driver on Port 3:
ECUSimulator UDS:kvaser:2 ODXExample.odx
The result is an ECUSimulator process supporting the specified protocol. The process simulates an ECU defined in the ASAP2Example.a2l with calibration data from ASAP2Example.hex.
Activating and connecting to LIN hardware
The philosophy of ASAP2Demo/ASAP2Library is to remain independent of vendor specific LIN hardware. The ASAP2Demo installer does not provide drivers for LIN hardware, but uses only LIN hardware drivers installed on the target system.
Depending on the LIN Hardware driver, ASAP2Demo searches the '%SYSTEMROOT%\system32' directory for a driver DLL. Manufacturer-specific information can be found in the following list of supported LIN hardware.
|LIN provider||32 Bit driver||64 Bit driver||Installed by hardware device driver|
Force ASAP2Demo to run as a 32 Bit process
This paragraph is only of interest if ASAP2Demo is installed on a 64 Bit OS, but usually this is the default in these days.
As the ASAP2Demo/ECUSimulator starts in this case in 64 Bit mode, using 32 Bit CAN drivers (the National Instruments CAN driver only supports 32 Bit applications) or using a 32 Bit Seed&Key DLL to get CCP/XCP/UDS access on ECUs will fail.
ASAP2Demo offers the following solution for this case:
- The shortcut 'Force to run as 32Bit Process' in the ASAP2Demo folder forces ASAP2Demo/ECUSimulator to start as 32 Bit process.
- This only needs to be done once after ASAP2Demo has been installed or upgraded to a newer version.
- Executing the shortcut requires administrator privileges.
- Before executing the command, running ASAP2Demo/ECUSimulator processes must be stopped.