
Simplification C-caller function API
4 views (last 30 days)
Show older comments
I'd like to have "simplified" C-function prototype since I need to pass many params to the C-fuction.
Is it somehow possible to pass the PARAMs groupped (e.g. in struct)) to the C-caller function?
0 Comments
Answers (1)
Kanishk
on 31 Jan 2025
It is possible to pass struct as an input to the S-Function in Simulink. Using a constant block with the struct as value, you can pass the signal as "Simulink.Bus". To make a bus for the struct you can follow the below linked MATLAB Answer.
In the S-Function Output Wrapper, change the input type to the newly created Bus. If you are using S-Funtion builder in Simulink, it will automatically create an header file for defining the bus else you need to define the header file while creating the Bus object and include it in the S-Function file.

For more detailed steps on how to use Bus with S-Functions in Simulink you can follow this MATLAB Documentation.
or use this command in MATLAB command window
web(fullfile(docroot, 'simulink/sfg/building-s-functions-automatically.html'))
Hope this helps!
0 Comments
See Also
Categories
Find more on Event Functions in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!