Struct variables are generated inconsistently with Embedded Coder
Show older comments
I am trying to generate a C++ code for my Simulink model. Everything works fine, but the problem I have is that the struct name that is generated is not consistent, and I am not sure what the problem is, although I have not changed anything in the Embedded Coder Configurations.
For example:
Before the struct was generated as follows:
struct ExtY_moduleName_T
Now it's just:
struct ExtY
Or
// Parameters (default storage)
struct P_moduleName_T
Now it's just:
// Parameters (default storage)
struct P
How can I keep this consistent, what causes the _moduleName identifier to be removed ? I checked under Settings -> Code Generation -> Identifiers and this is what I got:
On the left are the expected values and on the right are the new values (without _moduleName), why did it change ?

I'm using Matlab R2023b.
Answers (1)
Fangjun Jiang
on 15 May 2024
0 votes
That can be explained by the "$N$R$M_T" on the left and "$N$M" on the right for "Global types". "$R" means root model name. "_T" is explicit suffix.
What do you mean by "expected" and "new". They are two model configurations. They are apparently different or has been changed for naming rules for "Global types".
2 Comments
Ghassen
on 15 May 2024
Fangjun Jiang
on 15 May 2024
Left side seems to be the default for ert.tlc.
Categories
Find more on Simulink Coder 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!