Enumeration Code Generation with Embedded Coder (autosar.tlc)
Show older comments
Hello,
does anyone have a clue what causes the following error message and how I can overcome this problem? I have a Simulink model that uses the enumeration defined in "State_Car.m"
classdef State_Car < Simulink.IntEnumType
enumeration
PARKEN_BN_NIO(1)
PARKEN_BN_IO(2)
STANDFKT_KUNDE_NICHT_IM_FZG(3)
WOHNEN(5)
PRUEFEN_ANALYSE_DIAGNOSE(7)
FAHRBEREITSCHAFT_HERSTELLEN(8)
FAHREN(10)
FAHRBEREITSCHAFT_BEENDEN(12)
SIGNAl_UNBEFUELLT(15)
end
end
The error message I get during build process is:
### Build procedure for model: 'swc_heat_2017b' aborted due to an error.
The header file of the enumerated type State_Car, should be set to Rte_Type.h. To fix this error, update the getHeaderFile method of the enumeration type to return Rte_Type.h
1 Comment
Y
on 12 Jun 2025
Hello for the enumeration problem, I have a little sharing to help everyone
1-If enumeration is only used within SWC, there is no need to define the Rte_type. h header file; If the SWC external port also needs to be enumerated, it is necessary to add the Rte_type. h header file
2-Enumeration generates different forms define or typedef , as shown in the following example:
2.1-Generate enumeration exists in the form of define
classdef BulbStatus < uint8
enumeration
On(0)
Off(1)
end
end
2.2-Generate enumeration exists in the form of typedef
classdef BulbStatus < Simulink.IntEnumType
enumeration
On(0)
Off(1)
end
end
Accepted Answer
More Answers (2)
Manuel Stumpf
on 16 Jul 2018
0 votes
It looks like I have a similar problem: Is it possible to use a RTE data type inside a referenced subsystem (e.g. in state flow)? I want to use the same data types inside of referenced subsystems and the external interface of my SWC. Right now I keep getting error messages like above.
Regards, Manuel
2 Comments
Lucas Lebert
on 16 Jul 2018
Hi, Manuel!
I would need to have a closer look at this. Could you please submit a help request to support@mathworks.de so I or one of my colleagues can have a look at this?
Thanks! ~Lucas
Manuel Stumpf
on 16 Jul 2018
Thanks Lucas,
your answer to Yu's question gave me the hint that I needed. Code generation for Autosar is successful now! Thanks again, Manuel
Zhenwei Sun
on 11 Sep 2018
0 votes
hi, i'm with same issues. i don't need the data def in "Rte_Types.h" due to this class is only for my SWC used. anyone have fix this problem?
1 Comment
Tarun Jhamnani
on 31 Aug 2020
classdef (Enumeration) EnColor < uint8
enumeration
Red (0)
Green (1)
Blue (2)
end
methods (Static = true)
function retValue = getDefaultValue()
retValue = EnColor.Red;
end
end
end
Define enum as above, you can change the base data type as you like. Secondly, What Lucas recommended setting.
Generated code will be something like below :
typedef uint8_T EnColor;
#define Red ((EnColor)0)
#define Green ((EnColor)1)
#define Blue ((EnColor)2)
Categories
Find more on Timers and Scheduling 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!
