1/*
2 * File: EV3Control_sil_sil_ec.h
3 *
4 * Code generated for Simulink model 'EV3Control_sil_sil_ec'.
5 *
6 * Model version : 1.2
7 * Simulink Coder version : 9.0 (R2018b) 24-May-2018
8 * C/C++ source code generated on : Tue Oct 29 09:31:45 2019
9 *
10 * Target selection: ert.tlc
11 * Embedded hardware selection: Intel->x86-64 (Windows64)
12 * Code generation objectives:
13 * 1. RAM efficiency
14 * 2. Execution efficiency
15 * 3. ROM efficiency
16 * Validation result: Not run
17 */
18
19#ifndef RTW_HEADER_EV3Control_sil_sil_ec_h_
20#define RTW_HEADER_EV3Control_sil_sil_ec_h_
21#include "rtwtypes.h"
22#include <math.h>
23#ifndef EV3Control_sil_sil_ec_COMMON_INCLUDES_
24# define EV3Control_sil_sil_ec_COMMON_INCLUDES_
25#include "rtwtypes.h"
26#endif /* EV3Control_sil_sil_ec_COMMON_INCLUDES_ */
27
28/* Child system includes */
29#include "ObstacleDetection_demo_ec.h"
30#include "GlobalPosition_demo_ec.h"
31#include "rtGetInf.h"
32#include "rt_nonfinite.h"
33#include "rtGetNaN.h"
34
35/* Macros for accessing real-time model data structure */
36#ifndef rtmGetErrorStatus
37# define rtmGetErrorStatus(rtm) ((rtm)->errorStatus)
38#endif
39
40#ifndef rtmSetErrorStatus
41# define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val))
42#endif
43
44#ifndef rtmGetErrorStatusPointer
45# define rtmGetErrorStatusPointer(rtm) ((const char_T **)(&((rtm)->errorStatus)))
46#endif
47
48/* Forward declaration for rtModel */
49typedef struct tag_RTM_EV3Control_sil_sil_ec_T RT_MODEL_EV3Control_sil_sil_e_T;
50
51#ifndef DEFINED_TYPEDEF_FOR_sensorBusRaw_
52#define DEFINED_TYPEDEF_FOR_sensorBusRaw_
53
54typedef struct {
55 int8_T sensorRaw_RemoteControl;
56 int32_T sensorRaw_SteeringMotor;
57 int32_T sensorRaw_DriveMotor;
58 int32_T sensorRaw_Gyro;
59 uint8_T sensorRaw_UltrasoundFront;
60 uint8_T sensorRaw_UltrasoundRight;
61 uint8_T sensorRaw_UltrasoundLeft;
62} sensorBusRaw;
63
64#endif
65
66#ifndef DEFINED_TYPEDEF_FOR_VehicleStates_
67#define DEFINED_TYPEDEF_FOR_VehicleStates_
68
69typedef struct {
70 boolean_T VehicleControlOn;
71 boolean_T VehicleControlOff;
72 boolean_T EmergencyStop;
73 boolean_T VehicleIdle;
74} VehicleStates;
75
76#endif
77
78#ifndef DEFINED_TYPEDEF_FOR_actuatorBusOut_
79#define DEFINED_TYPEDEF_FOR_actuatorBusOut_
80
81typedef struct {
82 int8_T driveMotor;
83 int8_T steeringMotor;
84 real_T volume;
85 real_T frequency;
86 uint8_T statusLight;
87} actuatorBusOut;
88
89#endif
90
91#ifndef DEFINED_TYPEDEF_FOR_sensorBus_
92#define DEFINED_TYPEDEF_FOR_sensorBus_
93
94typedef struct {
95 int8_T remoteCtrlCmd;
96 int32_T steeringEncoder;
97 int32_T driveEncoder;
98 real_T gyroAngleRad;
99 uint8_T usSensorFront;
100 uint8_T usSensorRight;
101 uint8_T usSensorLeft;
102} sensorBus;
103
104#endif
105
106/* Block signals and states (default storage) for system '<Root>' */
107typedef struct {
108 MdlrefDW_GlobalPosition_demo__T GlobalPosition_InstanceData;/* '<S11>/GlobalPosition' */
109 MdlrefDW_ObstacleDetection_de_T ObstacleDetection_InstanceData;/* '<S5>/ObstacleDetection' */
110 real_T distances[51];
111 real_T rotMat[4]; /* '<S51>/MATLAB_Function' */
112 real_T goalPointGlobal[2];
113 real_T SteeringAngleCommand; /* '<S43>/Merge' */
114 real_T gear; /* '<S9>/Chart' */
115 real_T UnitDelay_DSTATE; /* '<S8>/Unit Delay' */
116 real_T UnitDelay1_DSTATE; /* '<S8>/Unit Delay1' */
117 real_T UnitDelay2_DSTATE; /* '<S8>/Unit Delay2' */
118 real_T volume_m; /* '<S2>/Switch2' */
119 real_T UnitDelay; /* '<S8>/Unit Delay' */
120 real_T UnitDelay1; /* '<S8>/Unit Delay1' */
121 real_T frequency_c;
122 real_T volume_k;
123 real_T distances_c;
124 real_T rtb_rotMat_tmp;
125 int8_T Merge; /* '<S21>/Merge' */
126 int8_T Merge_o; /* '<S39>/Merge' */
127 int8_T UnitDelay_DSTATE_p; /* '<S14>/Unit Delay' */
128 uint8_T tp_FWD; /* '<S9>/Chart' */
129 uint8_T tp_REV; /* '<S9>/Chart' */
130 uint8_T tp_ControlledDrive; /* '<S9>/Chart' */
131 uint8_T is_active_c6_EV3Control_sil_sil;/* '<S9>/Chart' */
132 uint8_T is_c6_EV3Control_sil_sil_ec; /* '<S9>/Chart' */
133 uint8_T is_VehicleControlOn; /* '<S9>/Chart' */
134 uint8_T is_ManualDrive; /* '<S9>/Chart' */
135 boolean_T VehicleControlOn; /* '<S9>/Chart' */
136 boolean_T VehicleControlOff; /* '<S9>/Chart' */
137 boolean_T EmergencyStop; /* '<S9>/Chart' */
138 boolean_T VehicleIdle; /* '<S9>/Chart' */
139} DW_EV3Control_sil_sil_ec_T;
140
141/* External inputs (root inport signals with default storage) */
142typedef struct {
143 sensorBusRaw sensorBusRaw_m; /* '<Root>/sensorBusRaw' */
144} ExtU_EV3Control_sil_sil_ec_T;
145
146/* External outputs (root outports fed by signals with default storage) */
147typedef struct {
148 real_T posGlobal[2]; /* '<Root>/posGlobal' */
149 real_T steeringAngleCmdRad; /* '<Root>/steeringAngleCmdRad' */
150 actuatorBusOut actuatorBusOut_k; /* '<Root>/actuatorBusOut' */
151 VehicleStates VehicleStates_m; /* '<Root>/VehicleStates' */
152} ExtY_EV3Control_sil_sil_ec_T;
153
154/* Parameters for system: '<S17>/HonkIfObstacleDetected' */
155struct P_HonkIfObstacleDetected_EV3C_T_ {
156 real_T speaker_Y0; /* Expression: 0
157 * Referenced by: '<S23>/speaker'
158 */
159};
160
161/* Parameters for system: '<S17>/HonkIfObstacleDetected' */
162typedef struct P_HonkIfObstacleDetected_EV3C_T_ P_HonkIfObstacleDetected_EV3C_T;
163
164/* Parameters (default storage) */
165struct P_EV3Control_sil_sil_ec_T_ {
166 real_T steeringAngleCmd_Y0; /* Expression: 0
167 * Referenced by: '<S50>/steeringAngleCmd'
168 */
169 real_T Gain_Gain; /* Expression: 2
170 * Referenced by: '<S59>/Gain'
171 */
172 real_T steeringAngleCmd_Y0_a; /* Expression: 0
173 * Referenced by: '<S47>/steeringAngleCmd'
174 */
175 real_T steeringAngleCmd_Y0_l; /* Expression: 0
176 * Referenced by: '<S49>/steeringAngleCmd'
177 */
178 real_T Constant_Value; /* Expression: 0
179 * Referenced by: '<S49>/Constant'
180 */
181 real_T goalPointAdapted_Y0; /* Expression: 0
182 * Referenced by: '<S72>/goalPointAdapted'
183 */
184 real_T goalPointGlobal_Y0; /* Expression: 0
185 * Referenced by: '<S74>/goalPointGlobal'
186 */
187 real_T Gain_Gain_f; /* Expression: 1
188 * Referenced by: '<S74>/Gain'
189 */
190 real_T steeringAngleCmdRad_Y0; /* Expression: 0
191 * Referenced by: '<S38>/steeringAngleCmdRad'
192 */
193 real_T Merge_InitialOutput; /* Expression: 0
194 * Referenced by: '<S69>/Merge'
195 */
196 real_T Merge_InitialOutput_j; /* Expression: 0
197 * Referenced by: '<S43>/Merge'
198 */
199 real_T Gain_Gain_k; /* Expression: -1
200 * Referenced by: '<S45>/Gain'
201 */
202 real_T Gain1_Gain; /* Expression: 1
203 * Referenced by: '<S45>/Gain1'
204 */
205 real_T Constant_Value_d; /* Expression: 0
206 * Referenced by: '<S94>/Constant'
207 */
208 real_T UnitDelay_InitialCondition; /* Expression: 0
209 * Referenced by: '<S8>/Unit Delay'
210 */
211 real_T UnitDelay1_InitialCondition; /* Expression: 0
212 * Referenced by: '<S8>/Unit Delay1'
213 */
214 real_T UnitDelay2_InitialCondition; /* Expression: 0
215 * Referenced by: '<S8>/Unit Delay2'
216 */
217 real_T Constant2_Value; /* Expression: 0
218 * Referenced by: '<S2>/Constant2'
219 */
220 real_T Constant2_Value_k; /* Expression: 440
221 * Referenced by: '<S17>/Constant2'
222 */
223 real_T Constant3_Value; /* Expression: 0
224 * Referenced by: '<S17>/Constant3'
225 */
226 real_T Constant1_Value; /* Expression: 0
227 * Referenced by: '<S17>/Constant1'
228 */
229 real_T Merge_2_InitialOutput; /* Expression: 0
230 * Referenced by: '<S17>/Merge'
231 */
232 real_T Merge_1_InitialOutput; /* Expression: 0
233 * Referenced by: '<S17>/Merge'
234 */
235 int32_T Gain1_Gain_a; /* Computed Parameter: Gain1_Gain_a
236 * Referenced by: '<S4>/Gain1'
237 */
238 int32_T Gain_Gain_a; /* Computed Parameter: Gain_Gain_a
239 * Referenced by: '<S4>/Gain'
240 */
241 uint16_T LightStop_Y0; /* Computed Parameter: LightStop_Y0
242 * Referenced by: '<S30>/LightStop'
243 */
244 uint16_T obstacleLight_Y0; /* Computed Parameter: obstacleLight_Y0
245 * Referenced by: '<S32>/obstacleLight'
246 */
247 uint16_T lightIdle_Y0; /* Computed Parameter: lightIdle_Y0
248 * Referenced by: '<S31>/lightIdle'
249 */
250 uint16_T OffLight_Y0; /* Computed Parameter: OffLight_Y0
251 * Referenced by: '<S28>/OffLight'
252 */
253 uint16_T lightDefault_Y0; /* Computed Parameter: lightDefault_Y0
254 * Referenced by: '<S29>/lightDefault'
255 */
256 uint16_T Merge_InitialOutput_i; /* Computed Parameter: Merge_InitialOutput_i
257 * Referenced by: '<S19>/Merge'
258 */
259 int8_T steerLeft_Y0; /* Computed Parameter: steerLeft_Y0
260 * Referenced by: '<S77>/steerLeft'
261 */
262 int8_T steerRight_Y0; /* Computed Parameter: steerRight_Y0
263 * Referenced by: '<S78>/steerRight'
264 */
265 int8_T NoSteer_Y0; /* Computed Parameter: NoSteer_Y0
266 * Referenced by: '<S80>/NoSteer'
267 */
268 int8_T Constant2_Value_n; /* Computed Parameter: Constant2_Value_n
269 * Referenced by: '<S80>/Constant2'
270 */
271 int8_T steeringMotor_Y0; /* Computed Parameter: steeringMotor_Y0
272 * Referenced by: '<S38>/steeringMotor'
273 */
274 int8_T Merge_InitialOutput_l; /* Computed Parameter: Merge_InitialOutput_l
275 * Referenced by: '<S45>/Merge'
276 */
277 int8_T noSteer_Y0; /* Computed Parameter: noSteer_Y0
278 * Referenced by: '<S85>/noSteer'
279 */
280 int8_T Constant2_Value_h; /* Computed Parameter: Constant2_Value_h
281 * Referenced by: '<S85>/Constant2'
282 */
283 int8_T steerLeft_Y0_f; /* Computed Parameter: steerLeft_Y0_f
284 * Referenced by: '<S86>/steerLeft'
285 */
286 int8_T steerRight_Y0_m; /* Computed Parameter: steerRight_Y0_m
287 * Referenced by: '<S87>/steerRight'
288 */
289 int8_T steeringMotor_Y0_n; /* Computed Parameter: steeringMotor_Y0_n
290 * Referenced by: '<S39>/steeringMotor'
291 */
292 int8_T Constant2_Value_kp; /* Computed Parameter: Constant2_Value_kp
293 * Referenced by: '<S39>/Constant2'
294 */
295 int8_T Merge_InitialOutput_m; /* Computed Parameter: Merge_InitialOutput_m
296 * Referenced by: '<S39>/Merge'
297 */
298 int8_T driveMotor_Y0; /* Computed Parameter: driveMotor_Y0
299 * Referenced by: '<S91>/driveMotor'
300 */
301 int8_T driveMotor_Y0_e; /* Computed Parameter: driveMotor_Y0_e
302 * Referenced by: '<S93>/driveMotor'
303 */
304 int8_T Constant1_Value_c; /* Computed Parameter: Constant1_Value_c
305 * Referenced by: '<S93>/Constant1'
306 */
307 int8_T UnitDelay_InitialCondition_f; /* Computed Parameter: UnitDelay_InitialCondition_f
308 * Referenced by: '<S14>/Unit Delay'
309 */
310 int8_T Constant_Value_k; /* Computed Parameter: Constant_Value_k
311 * Referenced by: '<S8>/Constant'
312 */
313 int8_T Constant_Value_a; /* Computed Parameter: Constant_Value_a
314 * Referenced by: '<S2>/Constant'
315 */
316 int8_T Merge_InitialOutput_h; /* Computed Parameter: Merge_InitialOutput_h
317 * Referenced by: '<S21>/Merge'
318 */
319 int8_T Constant1_Value_g; /* Computed Parameter: Constant1_Value_g
320 * Referenced by: '<S2>/Constant1'
321 */
322 int8_T Merge_InitialOutput_e; /* Computed Parameter: Merge_InitialOutput_e
323 * Referenced by: '<S20>/Merge'
324 */
325 int8_T Gain5_Gain; /* Computed Parameter: Gain5_Gain
326 * Referenced by: '<S4>/Gain5'
327 */
328 uint8_T Gain_Gain_j; /* Computed Parameter: Gain_Gain_j
329 * Referenced by: '<S30>/Gain'
330 */
331 uint8_T Gain_Gain_b; /* Computed Parameter: Gain_Gain_b
332 * Referenced by: '<S32>/Gain'
333 */
334 uint8_T Gain_Gain_ke; /* Computed Parameter: Gain_Gain_ke
335 * Referenced by: '<S31>/Gain'
336 */
337 uint8_T Gain_Gain_d; /* Computed Parameter: Gain_Gain_d
338 * Referenced by: '<S28>/Gain'
339 */
340 uint8_T Gain_Gain_n; /* Computed Parameter: Gain_Gain_n
341 * Referenced by: '<S29>/Gain'
342 */
343 uint8_T Gain2_Gain; /* Computed Parameter: Gain2_Gain
344 * Referenced by: '<S4>/Gain2'
345 */
346 uint8_T Gain3_Gain; /* Computed Parameter: Gain3_Gain
347 * Referenced by: '<S4>/Gain3'
348 */
349 uint8_T Gain4_Gain; /* Computed Parameter: Gain4_Gain
350 * Referenced by: '<S4>/Gain4'
351 */
352 P_HonkIfObstacleDetected_EV3C_T DoNotHonk;/* '<S17>/DoNotHonk' */
353 P_HonkIfObstacleDetected_EV3C_T HonkIfObstacleDetected;/* '<S17>/HonkIfObstacleDetected' */
354};
355
356/* Parameters (default storage) */
357typedef struct P_EV3Control_sil_sil_ec_T_ P_EV3Control_sil_sil_ec_T;
358
359/* Real-time Model Data Structure */
360struct tag_RTM_EV3Control_sil_sil_ec_T {
361 const char_T *errorStatus;
362};
363
364/* Block parameters (default storage) */
365extern P_EV3Control_sil_sil_ec_T EV3Control_sil_sil_ec_P;
366
367/* Block signals and states (default storage) */
368extern DW_EV3Control_sil_sil_ec_T EV3Control_sil_sil_ec_DW;
369
370/* External inputs (root inport signals with default storage) */
371extern ExtU_EV3Control_sil_sil_ec_T EV3Control_sil_sil_ec_U;
372
373/* External outputs (root outports fed by signals with default storage) */
374extern ExtY_EV3Control_sil_sil_ec_T EV3Control_sil_sil_ec_Y;
375
376/* Model block global parameters (default storage) */
377extern real_T rtP_CL_EST_STEER_ANGLE_RAD[4];/* Variable: CL_EST_STEER_ANGLE_RAD
378 * Referenced by: '<S41>/1-D Lookup Table'
379 */
380extern real_T rtP_CL_EST_STEER_ENC_DEG[4];/* Variable: CL_EST_STEER_ENC_DEG
381 * Referenced by: '<S41>/1-D Lookup Table'
382 */
383extern real_T rtP_CTRL_TRK_LOOKAHEAD; /* Variable: CTRL_TRK_LOOKAHEAD
384 * Referenced by:
385 * '<S67>/Constant1'
386 * '<S59>/Constant1'
387 */
388extern real_T rtP_CTRL_TRK_STEER_ANGLE_DEADZONE_RAD;/* Variable: CTRL_TRK_STEER_ANGLE_DEADZONE_RAD
389 * Referenced by:
390 * '<S45>/Constant'
391 * '<S45>/Constant1'
392 */
393extern real_T rtP_DEG2RAD; /* Variable: DEG2RAD
394 * Referenced by: '<S4>/deg2rad'
395 */
396extern real_T rtP_DIST_OBSTACLE_STOP; /* Variable: DIST_OBSTACLE_STOP
397 * Referenced by: '<S5>/ObstacleDetection'
398 */
399extern real_T rtP_LATERAL_EVADE_INCREMENT;/* Variable: LATERAL_EVADE_INCREMENT
400 * Referenced by: '<S72>/Constant2'
401 */
402extern real_T rtP_MOTOR_DRIVE_TRANSMISSION_RATIO;/* Variable: MOTOR_DRIVE_TRANSMISSION_RATIO
403 * Referenced by: '<S11>/GlobalPosition'
404 */
405extern real_T rtP_PATH_COORDS_XY[102]; /* Variable: PATH_COORDS_XY
406 * Referenced by: '<S67>/Constant2'
407 */
408extern real_T rtP_REMOTE_DRIVE_REV; /* Variable: REMOTE_DRIVE_REV
409 * Referenced by:
410 * '<S5>/ObstacleDetection'
411 * '<S9>/Chart'
412 */
413extern real_T rtP_REMOTE_STEER_LEFT; /* Variable: REMOTE_STEER_LEFT
414 * Referenced by: '<S39>/Constant'
415 */
416extern real_T rtP_REMOTE_STEER_RIGHT; /* Variable: REMOTE_STEER_RIGHT
417 * Referenced by: '<S39>/Constant1'
418 */
419extern real_T rtP_STEER_ANGLE_MAX_RAD; /* Variable: STEER_ANGLE_MAX_RAD
420 * Referenced by: '<S43>/Saturation'
421 */
422extern real_T rtP_STEER_ANGLE_MIN_RAD; /* Variable: STEER_ANGLE_MIN_RAD
423 * Referenced by: '<S43>/Saturation'
424 */
425extern real_T rtP_WHEEL_BASE; /* Variable: WHEEL_BASE
426 * Referenced by: '<S59>/Constant2'
427 */
428extern real_T rtP_WHEEL_SIZE_DEG; /* Variable: WHEEL_SIZE_DEG
429 * Referenced by: '<S11>/GlobalPosition'
430 */
431extern boolean_T rtP_CTRL_TRK_METHOD; /* Variable: CTRL_TRK_METHOD
432 * Referenced by: '<S43>/Constant1'
433 */
434extern int8_T rtP_MOTOR_DRIVE_DEFAULT_FWD;/* Variable: MOTOR_DRIVE_DEFAULT_FWD
435 * Referenced by: '<S91>/Constant1'
436 */
437extern int8_T rtP_MOTOR_DRIVE_DEFAULT_REV;/* Variable: MOTOR_DRIVE_DEFAULT_REV
438 * Referenced by: '<S91>/Constant2'
439 */
440extern int8_T rtP_MOTOR_DRIVE_MAX; /* Variable: MOTOR_DRIVE_MAX
441 * Referenced by: '<S21>/Saturation'
442 */
443extern int8_T rtP_MOTOR_DRIVE_MIN; /* Variable: MOTOR_DRIVE_MIN
444 * Referenced by: '<S21>/Saturation'
445 */
446extern int8_T rtP_MOTOR_STEER_AUTO_LEFT;/* Variable: MOTOR_STEER_AUTO_LEFT
447 * Referenced by: '<S77>/Constant2'
448 */
449extern int8_T rtP_MOTOR_STEER_AUTO_RIGHT;/* Variable: MOTOR_STEER_AUTO_RIGHT
450 * Referenced by: '<S78>/Constant2'
451 */
452extern int8_T rtP_MOTOR_STEER_MANUAL_LEFT;/* Variable: MOTOR_STEER_MANUAL_LEFT
453 * Referenced by: '<S86>/Constant2'
454 */
455extern int8_T rtP_MOTOR_STEER_MANUAL_RIGHT;/* Variable: MOTOR_STEER_MANUAL_RIGHT
456 * Referenced by: '<S87>/Constant2'
457 */
458extern int8_T rtP_MOTOR_STEER_MAX; /* Variable: MOTOR_STEER_MAX
459 * Referenced by: '<S39>/Saturation'
460 */
461extern int8_T rtP_MOTOR_STEER_MIN; /* Variable: MOTOR_STEER_MIN
462 * Referenced by: '<S39>/Saturation'
463 */
464extern int8_T rtP_REMOTE_DRIVE_AUTO_OFF;/* Variable: REMOTE_DRIVE_AUTO_OFF
465 * Referenced by: '<S9>/Chart'
466 */
467extern int8_T rtP_REMOTE_DRIVE_AUTO_ON;/* Variable: REMOTE_DRIVE_AUTO_ON
468 * Referenced by: '<S9>/Chart'
469 */
470extern int8_T rtP_REMOTE_DRIVE_FWD; /* Variable: REMOTE_DRIVE_FWD
471 * Referenced by: '<S9>/Chart'
472 */
473extern int8_T rtP_REMOTE_START; /* Variable: REMOTE_START
474 * Referenced by: '<S9>/Chart'
475 */
476extern int8_T rtP_REMOTE_STOP; /* Variable: REMOTE_STOP
477 * Referenced by: '<S9>/Chart'
478 */
479extern uint8_T rtP_DIST_OBSTACLE_EVADE;/* Variable: DIST_OBSTACLE_EVADE
480 * Referenced by: '<S5>/ObstacleDetection'
481 */
482extern uint8_T rtP_STATUS_LIGHT_DEFAULT;/* Variable: STATUS_LIGHT_DEFAULT
483 * Referenced by: '<S19>/Constant2'
484 */
485extern uint8_T rtP_STATUS_LIGHT_EMERGENCY_STOP;/* Variable: STATUS_LIGHT_EMERGENCY_STOP
486 * Referenced by:
487 * '<S2>/Constant3'
488 * '<S19>/Constant4'
489 */
490extern uint8_T rtP_STATUS_LIGHT_IDLE; /* Variable: STATUS_LIGHT_IDLE
491 * Referenced by: '<S19>/Constant3'
492 */
493extern uint8_T rtP_STATUS_LIGHT_OBSTACLE_DETECTED;/* Variable: STATUS_LIGHT_OBSTACLE_DETECTED
494 * Referenced by: '<S19>/Constant1'
495 */
496extern uint8_T rtP_STATUS_LIGHT_VEHICLE_CTRL_OFF;/* Variable: STATUS_LIGHT_VEHICLE_CTRL_OFF
497 * Referenced by: '<S19>/Constant5'
498 */
499
500/* Model entry point functions */
501extern void EV3Control_sil_sil_ec_initialize(void);
502extern void EV3Control_sil_sil_ec_step(void);
503extern void EV3Control_sil_sil_ec_terminate(void);
504
505/* Real-time Model object */
506extern RT_MODEL_EV3Control_sil_sil_e_T *const EV3Control_sil_sil_ec_M;
507
508/*-
509 * The generated code includes comments that allow you to trace directly
510 * back to the appropriate location in the model. The basic format
511 * is <system>/block_name, where system is the system number (uniquely
512 * assigned by Simulink) and block_name is the name of the block.
513 *
514 * Note that this particular code originates from a subsystem build,
515 * and has its own system numbers different from the parent model.
516 * Refer to the system hierarchy for this subsystem below, and use the
517 * MATLAB hilite_system command to trace the generated code back
518 * to the parent model. For example,
519 *
520 * hilite_system('Frame_EV3C_ec/EV3Control_sil_sil_ec') - opens subsystem Frame_EV3C_ec/EV3Control_sil_sil_ec
521 * hilite_system('Frame_EV3C_ec/EV3Control_sil_sil_ec/Kp') - opens and selects block Kp
522 *
523 * Here is the system hierarchy for this model
524 *
525 * '<Root>' : 'Frame_EV3C_ec'
526 * '<S1>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec'
527 * '<S2>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/EmergencyStopSwitch'
528 * '<S3>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/Model_Info'
529 * '<S4>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/SensorDataPreprocessing'
530 * '<S5>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager'
531 * '<S6>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/EmergencyStopSwitch/Model_Info'
532 * '<S7>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/SensorDataPreprocessing/Model_Info'
533 * '<S8>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/GyroInitialization'
534 * '<S9>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/ManageVehicleStates'
535 * '<S10>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/Model_Info'
536 * '<S11>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl'
537 * '<S12>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/GyroInitialization/Model_Info'
538 * '<S13>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/ManageVehicleStates/Chart'
539 * '<S14>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/ManageVehicleStates/HoldAfterTouch'
540 * '<S15>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/ManageVehicleStates/Model_Info'
541 * '<S16>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/ManageVehicleStates/HoldAfterTouch/Model_Info'
542 * '<S17>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/HornControl'
543 * '<S18>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/Model_Info'
544 * '<S19>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl'
545 * '<S20>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl'
546 * '<S21>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/VelocityControl'
547 * '<S22>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/HornControl/DoNotHonk'
548 * '<S23>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/HornControl/HonkIfObstacleDetected'
549 * '<S24>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/HornControl/Model_Info'
550 * '<S25>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/HornControl/DoNotHonk/Model_Info'
551 * '<S26>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/HornControl/HonkIfObstacleDetected/Model_Info'
552 * '<S27>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/Model_Info'
553 * '<S28>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightCtrlOff'
554 * '<S29>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightDefault'
555 * '<S30>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightEmergency'
556 * '<S31>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightIdle'
557 * '<S32>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightObstacle'
558 * '<S33>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightCtrlOff/Model_Info'
559 * '<S34>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightDefault/Model_Info'
560 * '<S35>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightEmergency/Model_Info'
561 * '<S36>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightIdle/Model_Info'
562 * '<S37>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/StatusLightControl/StatusLightObstacle/Model_Info'
563 * '<S38>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering'
564 * '<S39>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering'
565 * '<S40>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/Model_Info'
566 * '<S41>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/EstimatedSteeringAngle'
567 * '<S42>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/Model_Info'
568 * '<S43>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower'
569 * '<S44>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner'
570 * '<S45>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple'
571 * '<S46>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/EstimatedSteeringAngle/Model_Info'
572 * '<S47>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/FollowTheCarrotAlgorithm'
573 * '<S48>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/Model_Info'
574 * '<S49>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/NoPathFollowing'
575 * '<S50>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/PurePursuitAlgorithm'
576 * '<S51>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/RotationMatrix'
577 * '<S52>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/FollowTheCarrotAlgorithm/ComputeSteeringNecessarySteeringAngle'
578 * '<S53>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/FollowTheCarrotAlgorithm/GetGoalPointLocal'
579 * '<S54>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/FollowTheCarrotAlgorithm/Model_Info'
580 * '<S55>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/FollowTheCarrotAlgorithm/ComputeSteeringNecessarySteeringAngle/Model_Info'
581 * '<S56>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/FollowTheCarrotAlgorithm/GetGoalPointLocal/FollowTheCarrotAlgorithm'
582 * '<S57>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/FollowTheCarrotAlgorithm/GetGoalPointLocal/Model_Info'
583 * '<S58>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/NoPathFollowing/Model_Info'
584 * '<S59>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/PurePursuitAlgorithm/ComputeSteeringNecessarySteeringAngle'
585 * '<S60>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/PurePursuitAlgorithm/GetGoalPointLocal'
586 * '<S61>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/PurePursuitAlgorithm/Model_Info'
587 * '<S62>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/PurePursuitAlgorithm/ComputeSteeringNecessarySteeringAngle/Model_Info'
588 * '<S63>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/PurePursuitAlgorithm/GetGoalPointLocal/Model_Info'
589 * '<S64>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/PurePursuitAlgorithm/GetGoalPointLocal/TransformGoalPointToLocal'
590 * '<S65>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/RotationMatrix/MATLAB_Function'
591 * '<S66>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathFollower/RotationMatrix/Model_Info'
592 * '<S67>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/GetNextGoalPointGlobal'
593 * '<S68>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/Model_Info'
594 * '<S69>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/ShiftNextGoalPointGlobal'
595 * '<S70>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/GetNextGoalPointGlobal/GoalPointGlobal'
596 * '<S71>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/GetNextGoalPointGlobal/Model_Info'
597 * '<S72>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/ShiftNextGoalPointGlobal/LateralShift'
598 * '<S73>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/ShiftNextGoalPointGlobal/Model_Info'
599 * '<S74>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/ShiftNextGoalPointGlobal/NoShift'
600 * '<S75>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/ShiftNextGoalPointGlobal/LateralShift/Model_Info'
601 * '<S76>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/PathPlanner/ShiftNextGoalPointGlobal/NoShift/Model_Info'
602 * '<S77>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple/AutoSteerLeft'
603 * '<S78>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple/AutoSteerRight'
604 * '<S79>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple/Model_Info'
605 * '<S80>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple/NoSteer'
606 * '<S81>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple/AutoSteerLeft/Model_Info'
607 * '<S82>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple/AutoSteerRight/Model_Info'
608 * '<S83>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/AutoSteering/SteeringMotorControllerSimple/NoSteer/Model_Info'
609 * '<S84>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering/Model_Info'
610 * '<S85>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering/NoSteer'
611 * '<S86>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering/SteerLeft'
612 * '<S87>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering/SteerRight'
613 * '<S88>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering/NoSteer/Model_Info'
614 * '<S89>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering/SteerLeft/Model_Info'
615 * '<S90>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/SteeringControl/ManualSteering/SteerRight/Model_Info'
616 * '<S91>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/VelocityControl/EnabledDriveController'
617 * '<S92>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/VelocityControl/Model_Info'
618 * '<S93>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/VelocityControl/NoInput'
619 * '<S94>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/VelocityControl/EnabledDriveController/Compare_To_Zero'
620 * '<S95>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/VelocityControl/EnabledDriveController/Model_Info'
621 * '<S96>' : 'Frame_EV3C_ec/EV3Control_sil_sil_ec/VehicleManager/VehicleControl/VelocityControl/NoInput/Model_Info'
622 */
623#endif /* RTW_HEADER_EV3Control_sil_sil_ec_h_ */
624
625/*
626 * File trailer for generated code.
627 *
628 * [EOF]
629 */
630