Which is the best way to replace the typedefs of rtwtypes.h with the ones defined in my firmware?

15 views (last 30 days)
Andrea Comina
Andrea Comina on 14 Oct 2021
Commented: Bogdan Bodnarescu on 25 Jan 2022
I want to use the typedefs that I defined in my firmware. I see that it is possible to use the Data Type Replacement in the Model configuration. Doing this way I only change the names in the rtwtypes.h. Then, after I changed the names with the ones from the firmware, I need to change manually the includes. I need to include the .h file from my firmware and to remove the rtwtypes.h. Am I right?
Is there any way more clean? A way that doesn't rely on manual modifications after the code generation procedure? Can you give me some hints on where find examples and documentation?
  1 Comment
Bogdan Bodnarescu
Bogdan Bodnarescu on 25 Jan 2022
You can import the .h file that is defining the types in your firmware as a Datatype in the Model Workspace or a Simulink Data Dictionary.
Then when you use the Datatype Replacement inside rtwtypes.h you will have an include to that file.
I suppose you still have to copy rtwtypes.h with the files that you are compiling and then the compilation should work.

Sign in to comment.

Answers (1)

Jogger
Jogger on 14 Oct 2021
Edited: Jogger on 14 Oct 2021
You can have one of the following approach to get rid of rtwtypes.h
  • Use standard ANSI complaint #include <stdint.h> and #include <stdtype.h>, based on your requirement
  • You can define in enable custom data type tab during code generation Like uint8 to uint8_t
  • You can import custom types as well for your project
Example

Community Treasure Hunt

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

Start Hunting!