Replacing RTW types with actual C-style types

15 views (last 30 days)
I am new to the code generation capabilities of Simulink and have been working with both Simulink Coder and Embedded Coder. So, far I have been able to get the model to compile and running but I am not a huge fan of the embedded coder types. Is there a way to have the embedded coder put the standard C-types in there? It obvously knows what they should be as it typedefs them in the rtwtypes.h but this just seems redundant to me.
Thanks.

Accepted Answer

TAB
TAB on 9 Aug 2012
Edited: TAB on 9 Aug 2012
You can not replace the datatype names generated by embedded coder with C-style type names.
But, if you don't like the type name generated by embedded coder (I think MISRA standard in not your friend), you can configure the embedded coder to replace the type names with your own type names.
For example you can configure embedded coder to generate My_u16 instead of uint16_T for unsigned int.
See Data Type Replacement pane in configuration window. Apart from this setting you need resolve the each type names with Simulink.AliasType object created in base workspace.
  2 Comments
craq
craq on 15 Jun 2016
I wish I were allowed to replace uint16_T with uint16_t or real_T with double, and then dispense with rtwtypes.h altogether. But Simulink complains that "double is a C keyword and cannot be used as a replacement type."
Danijel Domazet
Danijel Domazet on 21 Apr 2020
Hi,
You say "Apart from this setting you need resolve the each type names with Simulink.AliasType object created in base workspace."
How do I do that? How do I add Simuling.AliasType?
Thank you!

Sign in to comment.

More Answers (0)

Categories

Find more on Simulink Coder in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!