Skip to main content

ODX generation for PoC

This is a modification of the Eclipse OpenSOVD classic-diagnostic-adapter(CDA) testcontainer ODX generation setup, specifically creating Powertrain diagnostic services for use with the powertrain-mode-controller uService.

The entry point for this is the generate.py script, with some subsequent modifications to related code.

Managing MDD files​

The ODX/PDX generated by the Python scripts in this folder can be converted to the MDD format, which is what the classic-diagnostic-adapter works with. To perform the conversion, you need the odxtools binary (also from the OpenSOVD project).

To manually generate MDD files, run the following commands (this step is only necessary when changes to the ECU database have been made):

# Generate ODX files
cd odx
./generate_docker.sh
cd ..

# Convert PDX to MDD (you need to have previously built the converter)
cd odx
java -jar <path-to-odx-converter>/converter/build/libs/converter-all.jar blueprint-ecu.pdx
cd ..

Regenerating the diagnostic data is not required for running the use cases, because the repository already contains the preprocessed MDD file. The Docker Compose file mounts it from config/cda/odx/blueprint-ecu.mdd into the sovd-cda container. To use a regenerated file, copy the converted blueprint-ecu.mdd to the config/cda/odx/ folder and recreate the sovd-cda container.

The generated service definitions include the PowerTrain_Mode_Read and PowerTrain_Mode_Write operations, which are implemented by the corresponding ECU simulation.