Apply C code for real-time Speedgoat operation

I am trying to simulate a MCU which is programmed via C. I have tried C Caller and it does return the function's result to Scope.
I also sent a constant to Speedgoat's analog output - it outputed the required voltage.
But I cannot merge these two - when I connect C Caller output to Analog Output, I get 'code generation information file does not exist'
Is it even possible to do so? My goal is to use the original controller C code in Matlab, to simulate it. That means I would need a main() loop, which calls other functions and these functions do something (like sending and receiving CANbus messages or reading analog input).
Whole simulation consists only of three elements - C Caller, Speedgoat setup and Speedgoat analog output.

Respuestas (1)

Dimitri MANKOV
Dimitri MANKOV el 5 de Jun. de 2023

0 votos

Hi Mantas,
The integration of external C/C++ code in Simulink Real-Time is documented here. Please note that your original code might need to be adjusted in order to work with Simulink Real-Time/Speedgoat.
I hope this is helpful!
Best,
Dimitri

1 comentario

Mantas Dabrovolskas
Mantas Dabrovolskas el 6 de Jun. de 2023
Editada: Mantas Dabrovolskas el 7 de Jun. de 2023
Thanks, I'll check it out.
Well it did not give me any usable information. I tried different blocks S-function (wrapper) - still same error.

Iniciar sesión para comentar.

Productos

Versión

R2022b

Etiquetas

Preguntada:

el 5 de Jun. de 2023

Editada:

el 7 de Jun. de 2023

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by