ECU calibration with ASAP2Library and ASAP2Demo
ASAP2 is an ECU Measurement and Calibration Data Exchange Format created by the ASAM (Association for Standardization of Automation and Measuring Systems). This standard is widely used in the automotive field.
Originally created from a lightweight A2L parser, more and more automotive standards (XCP, CCP, MDF und ODX) have been added.
The ASAP2Demo application is based on the ASAP2Library and is free to use.
- Implements the complete ASAM MCD-2MC v1.7.0 (ASAP2) specification.
- .NET Framework assembly and therefore usable from any available .NET framework language (C#, VB, J#, F#,...).
- Exclusively written in managed code and therefore portable. Available for Windows or Mono (Linux/MacOS).
- Creates an object oriented, hierarchical .NET object model, see the ASAP2Library API and the demo code.
- All A2L objects and their properties are mapped to a corresponding .NET type.
- A2L syntax checking.
- A2L model checking (e.g. missing object links).
- Approximately 8 MBit/s parsing performance (maybe the fastest available ASAP2 parser).
- The object model allows to change almost any A2L object property.
- Rewrite the .NET object model (filtered and/or optimized) into an A2L file.
- The .NET object model can be exported into an XML representation and recreated from it, too.
- Reading and Writing ECU calibration data files into/from the created A2L model (supported are Intel HEX, Motorola S, INCA DCM, CANape PAR, CDF and MATLAB (.m) file formats).
- A module to convert byte streams from the calibration data file into physical values of corresponding A2L characteristics.
- A module to convert physical data into byte streams in order to save modified data into a calibration data file.
- Supports the following CAN/CAN FD hardware providers:
- 8devices USB2CAN
- Eberspächer Electronics
- ESD, including support for CAN FD
- IXXAT, including support for local ECUSimulator
- Kvaser, including support for CAN FD and a local ECUSimulator
- Lawicel CANUSB
- National Instruments (NI-CAN) (32 Bit only, see 32Bit process)
- National Instruments (XNET), including support for CAN FD
- MHS Elektronik Tiny-CAN I, Tiny-CAN II XL, Tiny-CAN IV XL, Tiny-CAN M1, ...)
- Peak, including support for CAN FD
- Vector, including support for CAN FD and a local ECUSimulator
- Supports the following LIN hardware providers:
- Implements the complete ASAM MCD-1 XCP V1.3.0 specification, supporting communication over
- Implements the complete ASAM MCD-1 CCP V2.1 specification supporting communication over CAN on supported CAN Hardware providers.
- An ECU simulator (simulating an ECU in a console application by using the A2L parser and the XCP/CCP/Diagnose modules)
- A module to read, write and edit DBC (CANdb++) files.
- A module to read, write and edit LIN description (LDF) files.
- A module to read, write and edit Open Diagnostic eXchange format (ODX, ASAM MCD-2D) files.
Implements the ISO 15765-2 ISO-TP (Transport Layer); on CAN and CANFD protocol.
Implements the ISO 14229 (Unified Diagnostic Service, UDS) protocol.
- Implements a module to read MDF format files up to v4.1.1 and write MDF format files (v3.3 and V4.10).
- A module to read ELF (Executable and Linkable format) files in order to synchronize A2L object addresses.
- Use it within any .NET application by reference
- Use it from MATLAB applications
- Use it from LabView applications
- Use it from native C/C++ applications by Wrapping Managed Objects in a native Application