1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
use simulink_binder::import;

import! {Mount_Drv_PDR2021,
r##"
#define NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION
/*
 * File: Mount_Drv_PDR2021.h
 *
 * Code generated for Simulink model 'Mount_Drv_PDR2021'.
 *
 * Model version                  : 1.1193
 * Simulink Coder version         : 9.0 (R2018b) 24-May-2018
 * C/C++ source code generated on : Wed Apr 20 15:30:05 2022
 *
 * Target selection: ert.tlc
 * Embedded hardware selection: Intel->x86-64 (Linux 64)
 * Code generation objectives: Unspecified
 * Validation result: Not run
 */

#ifndef RTW_HEADER_Mount_Drv_PDR2021_h_
#define RTW_HEADER_Mount_Drv_PDR2021_h_
#include <string.h>
#include <stddef.h>
#ifndef Mount_Drv_PDR2021_COMMON_INCLUDES_
# define Mount_Drv_PDR2021_COMMON_INCLUDES_
#include "rtwtypes.h"
#endif                                 /* Mount_Drv_PDR2021_COMMON_INCLUDES_ */

#include "Mount_Drv_PDR2021_types.h"

/* Macros for accessing real-time model data structure */
#ifndef rtmGetErrorStatus
# define rtmGetErrorStatus(rtm)        ((rtm)->errorStatus)
#endif

#ifndef rtmSetErrorStatus
# define rtmSetErrorStatus(rtm, val)   ((rtm)->errorStatus = (val))
#endif

/* Block states (default storage) for system '<Root>' */
typedef struct {
  real_T AZ_delay_DSTATE[4];           /* '<S1>/AZ_delay' */
  real_T AZ_TFd_states;                /* '<S1>/AZ_TFd' */
  real_T EL_delay_DSTATE[4];           /* '<S1>/EL_delay' */
  real_T EL_TFd_states;                /* '<S1>/EL_TFd' */
  real_T GIR_delay_DSTATE[4];          /* '<S1>/GIR_delay' */
  real_T GIR_TFd_states;               /* '<S1>/GIR_TFd' */
  uint32_T CircBufIdx;                 /* '<S1>/AZ_delay' */
  uint32_T CircBufIdx_p;               /* '<S1>/EL_delay' */
  uint32_T CircBufIdx_n;               /* '<S1>/GIR_delay' */
} DW_Mount_Drv_PDR2021_T;

/* External inputs (root inport signals with default storage) */
typedef struct {
  real_T Mount_cmd[3];                 /* '<Root>/Mount_cmd' */
  real_T Mount_pos[14];                /* '<Root>/Mount_pos' */
} ExtU_Mount_Drv_PDR2021_T;

/* External outputs (root outports fed by signals with default storage) */
typedef struct {
  real_T Mount_T[20];                  /* '<Root>/Mount_T' */
} ExtY_Mount_Drv_PDR2021_T;

/* Real-time Model Data Structure */
struct tag_RTM_Mount_Drv_PDR2021_T {
  const char_T * volatile errorStatus;
};

/* Block states (default storage) */
extern DW_Mount_Drv_PDR2021_T Mount_Drv_PDR2021_DW;

/* External inputs (root inport signals with default storage) */
extern ExtU_Mount_Drv_PDR2021_T Mount_Drv_PDR2021_U;

/* External outputs (root outports fed by signals with default storage) */
extern ExtY_Mount_Drv_PDR2021_T Mount_Drv_PDR2021_Y;

/* Model entry point functions */
extern void Mount_Drv_PDR2021_initialize(void);
extern void Mount_Drv_PDR2021_step(void);
extern void Mount_Drv_PDR2021_terminate(void);

/* Real-time Model object */
extern RT_MODEL_Mount_Drv_PDR2021_T *const Mount_Drv_PDR2021_M;

/*-
 * These blocks were eliminated from the model due to optimizations:
 *
 * Block '<S2>/Discrete-Time Integrator' : Unused code path elimination
 * Block '<S2>/Sum' : Unused code path elimination
 * Block '<S9>/Divide' : Unused code path elimination
 * Block '<S9>/Gain' : Unused code path elimination
 * Block '<S9>/Math Function' : Unused code path elimination
 * Block '<S9>/Math Function1' : Unused code path elimination
 * Block '<S9>/Sum' : Unused code path elimination
 * Block '<S9>/Unary Minus' : Unused code path elimination
 * Block '<S9>/gc' : Unused code path elimination
 * Block '<S9>/gs' : Unused code path elimination
 * Block '<S2>/sigma_0' : Unused code path elimination
 * Block '<S2>/sigma_1' : Unused code path elimination
 * Block '<S2>/sigma_v' : Unused code path elimination
 * Block '<S8>/Abs' : Unused code path elimination
 * Block '<S8>/Divide' : Unused code path elimination
 * Block '<S8>/Sum' : Unused code path elimination
 * Block '<S1>/AZ enc avg + m2rad' : Unused code path elimination
 * Block '<S1>/AZ vel avg => rad//s' : Unused code path elimination
 * Block '<S3>/Data Type Duplicate' : Unused code path elimination
 * Block '<S3>/Diff' : Unused code path elimination
 * Block '<S3>/TSamp' : Unused code path elimination
 * Block '<S3>/UD' : Unused code path elimination
 * Block '<S4>/Discrete-Time Integrator' : Unused code path elimination
 * Block '<S4>/Sum' : Unused code path elimination
 * Block '<S4>/To Workspace' : Unused code path elimination
 * Block '<S4>/To Workspace1' : Unused code path elimination
 * Block '<S10>/Sum' : Unused code path elimination
 * Block '<S10>/gc' : Unused code path elimination
 * Block '<S12>/Divide' : Unused code path elimination
 * Block '<S12>/Gain' : Unused code path elimination
 * Block '<S12>/Math Function' : Unused code path elimination
 * Block '<S12>/Math Function1' : Unused code path elimination
 * Block '<S12>/Unary Minus' : Unused code path elimination
 * Block '<S12>/gs' : Unused code path elimination
 * Block '<S4>/sigma_0' : Unused code path elimination
 * Block '<S4>/sigma_1' : Unused code path elimination
 * Block '<S4>/sigma_v' : Unused code path elimination
 * Block '<S11>/Abs' : Unused code path elimination
 * Block '<S11>/Divide' : Unused code path elimination
 * Block '<S11>/Sum' : Unused code path elimination
 * Block '<S1>/EL enc avg + m2rad' : Unused code path elimination
 * Block '<S1>/EL vel avg => rad//s' : Unused code path elimination
 * Block '<S5>/Discrete-Time Integrator' : Unused code path elimination
 * Block '<S5>/Gain' : Unused code path elimination
 * Block '<S5>/Scope' : Unused code path elimination
 * Block '<S5>/Sum' : Unused code path elimination
 * Block '<S5>/To Workspace' : Unused code path elimination
 * Block '<S5>/To Workspace1' : Unused code path elimination
 * Block '<S13>/Sum' : Unused code path elimination
 * Block '<S13>/gc' : Unused code path elimination
 * Block '<S15>/Divide' : Unused code path elimination
 * Block '<S15>/Gain' : Unused code path elimination
 * Block '<S15>/Math Function' : Unused code path elimination
 * Block '<S15>/Math Function1' : Unused code path elimination
 * Block '<S15>/Unary Minus' : Unused code path elimination
 * Block '<S15>/gs' : Unused code path elimination
 * Block '<S5>/sigma_0' : Unused code path elimination
 * Block '<S5>/sigma_1' : Unused code path elimination
 * Block '<S5>/sigma_v' : Unused code path elimination
 * Block '<S14>/Abs' : Unused code path elimination
 * Block '<S14>/Divide' : Unused code path elimination
 * Block '<S14>/Sum' : Unused code path elimination
 * Block '<S1>/GIR enc avg + m2rad' : Unused code path elimination
 * Block '<S1>/GIR vel avg =>r ad//s' : Unused code path elimination
 * Block '<S16>/Cogging' : Unused code path elimination
 * Block '<S16>/Constant' : Unused code path elimination
 * Block '<S16>/Divide' : Unused code path elimination
 * Block '<S16>/EMF Distortion' : Unused code path elimination
 * Block '<S16>/Gain' : Unused code path elimination
 * Block '<S16>/Gain1' : Unused code path elimination
 * Block '<S16>/Gain2' : Unused code path elimination
 * Block '<S16>/Mod' : Unused code path elimination
 * Block '<S16>/Mod1' : Unused code path elimination
 * Block '<S16>/Radius' : Unused code path elimination
 * Block '<S16>/Sum1' : Unused code path elimination
 * Block '<S16>/Sum2' : Unused code path elimination
 * Block '<S17>/Cogging' : Unused code path elimination
 * Block '<S17>/Constant' : Unused code path elimination
 * Block '<S17>/Divide' : Unused code path elimination
 * Block '<S17>/EMF Distortion' : Unused code path elimination
 * Block '<S17>/Gain' : Unused code path elimination
 * Block '<S17>/Gain1' : Unused code path elimination
 * Block '<S17>/Gain2' : Unused code path elimination
 * Block '<S17>/Mod' : Unused code path elimination
 * Block '<S17>/Mod1' : Unused code path elimination
 * Block '<S17>/Radius' : Unused code path elimination
 * Block '<S17>/Sum1' : Unused code path elimination
 * Block '<S17>/Sum2' : Unused code path elimination
 * Block '<S18>/CogAmp' : Unused code path elimination
 * Block '<S18>/CogSpatFreq' : Unused code path elimination
 * Block '<S18>/Product' : Unused code path elimination
 * Block '<S18>/Product1' : Unused code path elimination
 * Block '<S18>/Product2' : Unused code path elimination
 * Block '<S18>/Product3' : Unused code path elimination
 * Block '<S18>/Product4' : Unused code path elimination
 * Block '<S18>/RippleAmpFactor' : Unused code path elimination
 * Block '<S18>/RippleSpatFreq' : Unused code path elimination
 * Block '<S18>/Sign' : Unused code path elimination
 * Block '<S18>/Sum' : Unused code path elimination
 * Block '<S18>/Sum1' : Unused code path elimination
 * Block '<S18>/ToPretension' : Unused code path elimination
 * Block '<S18>/Trigonometric Function' : Unused code path elimination
 * Block '<S18>/Trigonometric Function1' : Unused code path elimination
 */

/*-
 * The generated code includes comments that allow you to trace directly
 * back to the appropriate location in the model.  The basic format
 * is <system>/block_name, where system is the system number (uniquely
 * assigned by Simulink) and block_name is the name of the block.
 *
 * Note that this particular code originates from a subsystem build,
 * and has its own system numbers different from the parent model.
 * Refer to the system hierarchy for this subsystem below, and use the
 * MATLAB hilite_system command to trace the generated code back
 * to the parent model.  For example,
 *
 * hilite_system('ims_Build5pt1f/Mount_Drv_PDR2021')    - opens subsystem ims_Build5pt1f/Mount_Drv_PDR2021
 * hilite_system('ims_Build5pt1f/Mount_Drv_PDR2021/Kp') - opens and selects block Kp
 *
 * Here is the system hierarchy for this model
 *
 * '<Root>' : 'ims_Build5pt1f'
 * '<S1>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021'
 * '<S2>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/AZ DT Lugre Fr model'
 * '<S3>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/Discrete Derivative'
 * '<S4>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/EL DT Lugre Fr model'
 * '<S5>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/GIR DT Lugre Fr model'
 * '<S6>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model '
 * '<S7>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/AZ DT Lugre Fr model/g(v)'
 * '<S8>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/AZ DT Lugre Fr model/v2z'
 * '<S9>'   : 'ims_Build5pt1f/Mount_Drv_PDR2021/AZ DT Lugre Fr model/g(v)/gs'
 * '<S10>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/EL DT Lugre Fr model/g(v)'
 * '<S11>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/EL DT Lugre Fr model/v2z'
 * '<S12>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/EL DT Lugre Fr model/g(v)/gs'
 * '<S13>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/GIR DT Lugre Fr model/g(v)'
 * '<S14>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/GIR DT Lugre Fr model/v2z'
 * '<S15>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/GIR DT Lugre Fr model/g(v)/gs'
 * '<S16>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /AZ_Parasitic_Torque'
 * '<S17>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /EL_Parasitic_Torque'
 * '<S18>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /GIR_Parasitic_Torque'
 * '<S19>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /Subsystem'
 * '<S20>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /Subsystem/Parasitic Torques'
 * '<S21>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /Subsystem/Parasitic Torques/Parasitic AZ'
 * '<S22>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /Subsystem/Parasitic Torques/Parasitic EL'
 * '<S23>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /Subsystem/Parasitic Torques/Parasitic GIR'
 * '<S24>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /Subsystem/Parasitic Torques/Parasitic GIR/Cogging'
 * '<S25>'  : 'ims_Build5pt1f/Mount_Drv_PDR2021/Parasitic torques model /Subsystem/Parasitic Torques/Parasitic GIR/Emf'
 */
#endif                                 /* RTW_HEADER_Mount_Drv_PDR2021_h_ */

/*
 * File trailer for generated code.
 *
 * [EOF]
 */
"##}