Embedded Coder: How can I configure a Simulink model to generate model parameters as regular (non-static) C++ class members?

22 views (last 30 days)
Using Embedded Coder, I would like to generate C++ code from my Simulink model and then use multiple instances of the C++ class in my custom C++ code.
How can I prevent model parameters from being generated with the static keyword, so that multiple instances of the generated model class can be used?
I tried different Model settings, StorageClasses and Code Mapping, but the code for the model parameters is always generated as "static":
// Tunable parameters
static P_signalGen_T signalGen_P;

Accepted Answer

Pramil
Pramil on 29 Jul 2025
Hi Wojciech,
You can follow the instructions mentioned in the following MATLAB answer to make the model parameters "non-static":
Hope this helps!
  1 Comment
Wojciech Przystas
Wojciech Przystas on 22 Aug 2025 at 9:57
Hi,
I tried the solution you recommended, and it worked for me - thank you!
However, I find the current setting a bit unintuitive from a user experience perspective.
I’d like to suggest an improvement: it would be helpful to allow users to define the parameter scope directly within the Code Mappings dialog. Since this is where users configure the structure of the generated C++ code, adding a "Scope" column - where one could choose between 'static' and 'local' - would make the configuration more transparent and user-friendly.
Thanks again!

Sign in to comment.

More Answers (0)

Categories

Find more on Deployment, Integration, and Supported Hardware in Help Center and File Exchange

Products


Release

R2025a

Community Treasure Hunt

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

Start Hunting!