1 | /* |
2 | * File: SMD_TF.h |
3 | * |
4 | * Code generated for Simulink model 'SMD_TF'. |
5 | * |
6 | * Model version : 1.7 |
7 | * Simulink Coder version : 8.10 (R2016a) 10-Feb-2016 |
8 | * C/C++ source code generated on : Sun Jun 05 15:55:07 2016 |
9 | * |
10 | * Target selection: ert.tlc |
11 | * Embedded hardware selection: ARM Compatible->ARM Cortex |
12 | * Code generation objectives: |
13 | * 1. Execution efficiency |
14 | * 2. RAM efficiency |
15 | * Validation result: Not run |
16 | */ |
17 | |
18 | #ifndef RTW_HEADER_SMD_TF_h_ |
19 | #define RTW_HEADER_SMD_TF_h_ |
20 | #include <string.h> |
21 | #ifndef SMD_TF_COMMON_INCLUDES_ |
22 | # define SMD_TF_COMMON_INCLUDES_ |
23 | #include "rtwtypes.h" |
24 | #include "rtw_continuous.h" |
25 | #include "rtw_solver.h" |
26 | #endif /* SMD_TF_COMMON_INCLUDES_ */ |
27 | |
28 | /* Macros for accessing real-time model data structure */ |
29 | #ifndef rtmGetErrorStatus |
30 | # define rtmGetErrorStatus(rtm) ((rtm)->errorStatus) |
31 | #endif |
32 | |
33 | #ifndef rtmSetErrorStatus |
34 | # define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val)) |
35 | #endif |
36 | |
37 | #ifndef rtmGetStopRequested |
38 | # define rtmGetStopRequested(rtm) ((rtm)->Timing.stopRequestedFlag) |
39 | #endif |
40 | |
41 | #ifndef rtmSetStopRequested |
42 | # define rtmSetStopRequested(rtm, val) ((rtm)->Timing.stopRequestedFlag = (val)) |
43 | #endif |
44 | |
45 | #ifndef rtmGetStopRequestedPtr |
46 | # define rtmGetStopRequestedPtr(rtm) (&((rtm)->Timing.stopRequestedFlag)) |
47 | #endif |
48 | |
49 | #ifndef rtmGetT |
50 | # define rtmGetT(rtm) (rtmGetTPtr((rtm))[0]) |
51 | #endif |
52 | |
53 | /* Forward declaration for rtModel */ |
54 | typedef struct tag_RTM RT_MODEL; |
55 | |
56 | /* Block signals and states (auto storage) for system '<Root>' */ |
57 | typedef struct { |
58 | real_T Step; /* '<Root>/Step' */ |
59 | } DW; |
60 | |
61 | /* Continuous states (auto storage) */ |
62 | typedef struct { |
63 | real_T TransferFcn_CSTATE[2]; /* '<Root>/Transfer Fcn' */ |
64 | } X; |
65 | |
66 | /* State derivatives (auto storage) */ |
67 | typedef struct { |
68 | real_T TransferFcn_CSTATE[2]; /* '<Root>/Transfer Fcn' */ |
69 | } XDot; |
70 | |
71 | /* State disabled */ |
72 | typedef struct { |
73 | boolean_T TransferFcn_CSTATE[2]; /* '<Root>/Transfer Fcn' */ |
74 | } XDis; |
75 | |
76 | #ifndef ODE4_INTG |
77 | #define ODE4_INTG |
78 | |
79 | /* ODE4 Integration Data */ |
80 | typedef struct { |
81 | real_T *y; /* output */ |
82 | real_T *f[4]; /* derivatives */ |
83 | } ODE4_IntgData; |
84 | |
85 | #endif |
86 | |
87 | /* Real-time Model Data Structure */ |
88 | struct tag_RTM { |
89 | const char_T *errorStatus; |
90 | RTWSolverInfo solverInfo; |
91 | |
92 | /* |
93 | * ModelData: |
94 | * The following substructure contains information regarding |
95 | * the data used in the model. |
96 | */ |
97 | struct { |
98 | X *contStates; |
99 | int_T *periodicContStateIndices; |
100 | real_T *periodicContStateRanges; |
101 | real_T *derivs; |
102 | boolean_T *contStateDisabled; |
103 | boolean_T zCCacheNeedsReset; |
104 | boolean_T derivCacheNeedsReset; |
105 | boolean_T blkStateChange; |
106 | real_T odeY[2]; |
107 | real_T odeF[4][2]; |
108 | ODE4_IntgData intgData; |
109 | } ModelData; |
110 | |
111 | /* |
112 | * Sizes: |
113 | * The following substructure contains sizes information |
114 | * for many of the model attributes such as inputs, outputs, |
115 | * dwork, sample times, etc. |
116 | */ |
117 | struct { |
118 | int_T numContStates; |
119 | int_T numPeriodicContStates; |
120 | int_T numSampTimes; |
121 | } Sizes; |
122 | |
123 | /* |
124 | * Timing: |
125 | * The following substructure contains information regarding |
126 | * the timing information for the model. |
127 | */ |
128 | struct { |
129 | uint32_T clockTick0; |
130 | time_T stepSize0; |
131 | uint32_T clockTick1; |
132 | SimTimeStep simTimeStep; |
133 | boolean_T stopRequestedFlag; |
134 | time_T *t; |
135 | time_T tArray[2]; |
136 | } Timing; |
137 | }; |
138 | |
139 | /* Continuous states (auto storage) */ |
140 | extern X rtX; |
141 | |
142 | /* Block signals and states (auto storage) */ |
143 | extern DW rtDW; |
144 | |
145 | /* Model entry point functions */ |
146 | extern void SMD_TF_initialize(void); |
147 | extern void SMD_TF_step(void); |
148 | |
149 | /* Real-time Model object */ |
150 | extern RT_MODEL *const rtM; |
151 | |
152 | /*- |
153 | * These blocks were eliminated from the model due to optimizations: |
154 | * |
155 | * Block '<Root>/Scope' : Unused code path elimination |
156 | */ |
157 | |
158 | /*- |
159 | * The generated code includes comments that allow you to trace directly |
160 | * back to the appropriate location in the model. The basic format |
161 | * is <system>/block_name, where system is the system number (uniquely |
162 | * assigned by Simulink) and block_name is the name of the block. |
163 | * |
164 | * Use the MATLAB hilite_system command to trace the generated code back |
165 | * to the model. For example, |
166 | * |
167 | * hilite_system('<S3>') - opens system 3 |
168 | * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3 |
169 | * |
170 | * Here is the system hierarchy for this model |
171 | * |
172 | * '<Root>' : 'SMD_TF' |
173 | */ |
174 | #endif /* RTW_HEADER_SMD_TF_h_ */ |
175 | |
176 | /* |
177 | * File trailer for generated code. |
178 | * |
179 | * [EOF] |
180 | */ |
181 |