Fix Qgen(C/Ada) mapping

Angel Perez Muñoz requested to merge feature_qgen_integration into feature_bullseye

The following bug was discovered while testing the capabilities the TASTE and QGen integration. There is an issue with the .adb generated in the QGenC function wrapper.

Steps to reproduce:

  1. Create an OpenGeode-SDL function and a QGenC function.
  2. Connect them, so that the OpenGeode can call the QGenC function cyclically.
  3. Create the Deployment View and build the system.

Results:

Kazoo generated the wrappers/<QGenC-provided-interface>.adb code with one error because the return value of one of its functions is ignored. I didn't spot this error before because I used only C functions, and the .gpr did not include Ada as a programming language. But now with the OpenGeode-SDL function, it is included.

Additional info:

I tested a similar scenario with an OpenGeode-SDL and a Simulink function, and everything was OK; i.e., the return value of the Ada function was not ignored.

Proposed solution:

The issues were located in synchronousTool.py. Specifically, the bytes_integer output parameter was missing and the returned value from one function was ignored.

Edited by Angel Perez Muñoz

Merge request reports