The RA ODX-API is a well-engineered library with very stable models and various backing implementations.

Kompoenten Icons ODX API mit Hintergrund

The solution for reading and analyzing ODX data

The ODX API library has been used for years for various RA products and custom applications to read and analyze ODX data. It fully complies with the ASAM MCD-2 D standard (ISO 22901-1:2008) and is available for the .NET and Java platforms.

Key features

Supports ODX / PDX files and RA ODX runtime databases

The library is flexible and can handle not only ODX containers (PDX files) or folders containing the ODX files, but also arbitrarily composed sets of ODX files or individual ODX files. If the application often works with the same ODX data, then there is a possibility to convert the ODX data into RA ODX runtime database. The library can process the RA ODX runtime databases in the same way and also offers the ODX data from the ODX runtime database via the same interface.

Corresponding runtime and definition models

The library’s interface provides a definition model for processing ODX data very close to the definition in ODX. The second interface of the library is also built on the definition model: the runtime model. The runtime model implements some basic rules from the ODX standard, including resolving most references (ODXLINK, SNREF, SNPATHREF) and value inheritance. Thus the applications can be developed which do not have to care about the complex ODX rules anymore.

Neutral model independent of the ODX standard version

The library handles many of the differences between ODX versions and provides a version neutral model. This makes it much easier to write applications that need to support multiple ODX versions.

Additional features

Overview of the most important information from ODX

The library provides a separate interface to query the important information about the defined entries for ODX CATEGORY and ODX DIAG-LAYER without having to parse the ODX files completely.

Configuration of error handling

The library provides an interface to configure the error handling options.



Using an event-driven interface, the application can monitor the library’s logging output or integrate it with your own logging output for error analysis.


Multi-threading control

The library works a lot with parallelization of internal tasks. The application can monitor the thread pool and control it if necessary.


Progress monitoring

Through using the application, you can monitor the current progress of your analysis to ensure that it is running properly.



StandardsASAM ODX 2.0.1, 2.1.0 and 2.2.0; ISO 22901-1:2008
Supported platforms.NET Standard 2.0 and Java 8

Additionally available

ODX Viewer

Display, check and filter ODX data in a simple and
and clear way.

Display ODX data

  • Quick overview of all diagnostic data in one window
  • Detailed display for parameters and conversion
  • User-defined filters and views
  • Structure view via ODX Explorer


  • Exports ODX data as CSV, XML, PDF


  • Decode raw diagnostic requests and diagnostic responses based on ODX definition

Diagnostic data decoder

Library that complements the ODX API and enables generic decoding of raw diagnostic data (requests and responses). The decoded data including decoding errors are output as a model similar to the MCDRequest / MCDResponse of D-Server (ISO 22900-3). Available for .NET Standard 2.0 and Java 8.

Decoding of diagnostic raw data for DIAG-SERVICE
Decode the diagnostic raw data for a specific DIAG SERVICE from ODX. The decoding errors are also stored in this model.

Search for matching ODX definitions for raw data
Searches the best matching REQUESTs, POS-RESPONSEs or (GLOBAL-)NEG-RESPONSEs for the given diagnostic raw data for the respective DIAG-LAYER from ODX. The best matches contain not only the match probability but also the decoded data.

ECU variant identification
Assembles the required queries for the identification of the ECU variant (ECU-VARIANT) and determines the appropriate ECU variant based on the answers given.

DiagRA® S

DiagRA® S offers the option of carrying out diagnostic communication even without a physical interface, bus connection or control units. You can use it to test and validate your diagnostic software quickly and cost-effectively.


  • Simulation of one or more control units
  • Physical and functional communication
  • Diagnostic communication both via the calibration layer (e.g. UDS, SAE J1939-73) and via the transport layer (ISO-TP, SAE J1939-21, DoIP)
  • Support for multiple simulation models and diagnostic interfaces
  • Simulation is also possible without an interface and without installation


  • Communication via the supplied D-PDU API, SAE J2534 or RP 1210 interface (no additional hardware is required)
  • Physical communication to the CAN bus via the D-PDU API interface and Ethernet (for DoIP). The supplied RA® D-PDU API can be used as a bridge for using the interfaces with J2534 and RP 1210 interfaces
  • Simulation of the remaining network communication on the CAN bus

Create and edit simulation files

  • Fast filling of simulation models from imported diagnostic log files
  • Editor for simulation files based on configured ODX databases
© RA Consulting GmbH, 2024    USt.-Ident.-Nr.: DE143081464    HRB: 231127 ASAMAETAElektromobilität Süde-West
RA Consulting GmbH