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.