Fix Qgen(C/Ada) mapping
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:
- Create an OpenGeode-SDL function and a QGenC function.
- Connect them, so that the OpenGeode can call the QGenC function cyclically.
- 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.