1 | /* |
2 | * VisionTest.h |
3 | * |
4 | * Classroom License -- for classroom instructional use only. Not for |
5 | * government, commercial, academic research, or other organizational use. |
6 | * |
7 | * Code generation for model "VisionTest". |
8 | * |
9 | * Model version : 1.4 |
10 | * Simulink Coder version : 8.11 (R2016b) 25-Aug-2016 |
11 | * C source code generated on : Thu Dec 01 17:32:23 2016 |
12 | * |
13 | * Target selection: ert.tlc |
14 | * Note: GRT includes extra infrastructure and instrumentation for prototyping |
15 | * Embedded hardware selection: ARM Compatible->ARM Cortex |
16 | * Code generation objectives: Unspecified |
17 | * Validation result: Not run |
18 | */ |
19 | |
20 | #ifndef RTW_HEADER_VisionTest_h_ |
21 | #define RTW_HEADER_VisionTest_h_ |
22 | #include <float.h> |
23 | #include <string.h> |
24 | #include <stddef.h> |
25 | #ifndef VisionTest_COMMON_INCLUDES_ |
26 | # define VisionTest_COMMON_INCLUDES_ |
27 | #include "rtwtypes.h" |
28 | #include "rtw_extmode.h" |
29 | #include "sysran_types.h" |
30 | #include "rtw_continuous.h" |
31 | #include "rtw_solver.h" |
32 | #include "dt_info.h" |
33 | #include "ext_work.h" |
34 | #endif /* VisionTest_COMMON_INCLUDES_ */ |
35 | |
36 | #include "VisionTest_types.h" |
37 | |
38 | /* Shared type includes */ |
39 | #include "multiword_types.h" |
40 | |
41 | /* Macros for accessing real-time model data structure */ |
42 | #ifndef rtmGetFinalTime |
43 | # define rtmGetFinalTime(rtm) ((rtm)->Timing.tFinal) |
44 | #endif |
45 | |
46 | #ifndef rtmGetRTWExtModeInfo |
47 | # define rtmGetRTWExtModeInfo(rtm) ((rtm)->extModeInfo) |
48 | #endif |
49 | |
50 | #ifndef rtmGetErrorStatus |
51 | # define rtmGetErrorStatus(rtm) ((rtm)->errorStatus) |
52 | #endif |
53 | |
54 | #ifndef rtmSetErrorStatus |
55 | # define rtmSetErrorStatus(rtm, val) ((rtm)->errorStatus = (val)) |
56 | #endif |
57 | |
58 | #ifndef rtmGetStopRequested |
59 | # define rtmGetStopRequested(rtm) ((rtm)->Timing.stopRequestedFlag) |
60 | #endif |
61 | |
62 | #ifndef rtmSetStopRequested |
63 | # define rtmSetStopRequested(rtm, val) ((rtm)->Timing.stopRequestedFlag = (val)) |
64 | #endif |
65 | |
66 | #ifndef rtmGetStopRequestedPtr |
67 | # define rtmGetStopRequestedPtr(rtm) (&((rtm)->Timing.stopRequestedFlag)) |
68 | #endif |
69 | |
70 | #ifndef rtmGetT |
71 | # define rtmGetT(rtm) ((rtm)->Timing.taskTime0) |
72 | #endif |
73 | |
74 | #ifndef rtmGetTFinal |
75 | # define rtmGetTFinal(rtm) ((rtm)->Timing.tFinal) |
76 | #endif |
77 | |
78 | /* Block signals (auto storage) */ |
79 | typedef struct { |
80 | real_T MagManFoilwitherror_o1; /* '<Root>/MagMan Foil with error' */ |
81 | real_T MagManFoilwitherror_o2; /* '<Root>/MagMan Foil with error' */ |
82 | real_T MagManFoilwitherror_o3; /* '<Root>/MagMan Foil with error' */ |
83 | real_T ManualSwitch1[2]; /* '<Root>/Manual Switch1' */ |
84 | real_T Subtract[2]; /* '<Root>/Subtract' */ |
85 | real_T X; /* '<Root>/Position transformation' */ |
86 | real_T Y; /* '<Root>/Position transformation' */ |
87 | int32_T MagManFoilwitherror_o4; /* '<Root>/MagMan Foil with error' */ |
88 | int32_T Readposition_o1; /* '<S1>/Read position' */ |
89 | int32_T Readposition_o2; /* '<S1>/Read position' */ |
90 | } B_VisionTest_T; |
91 | |
92 | /* Block states (auto storage) for system '<Root>' */ |
93 | typedef struct { |
94 | real_T MagManFoilwitherror_DSTATE; /* '<Root>/MagMan Foil with error' */ |
95 | real_T Readposition_DSTATE; /* '<S1>/Read position' */ |
96 | real_T Delay_DSTATE[2]; /* '<Root>/Delay' */ |
97 | real_T Delay1_DSTATE[2]; /* '<Root>/Delay1' */ |
98 | struct { |
99 | void *LoggedData[3]; |
100 | } Scope1_PWORK; /* '<Root>/Scope1' */ |
101 | |
102 | struct { |
103 | void *LoggedData; |
104 | } Scope2_PWORK; /* '<Root>/Scope2' */ |
105 | |
106 | struct { |
107 | void *LoggedData; |
108 | } Scope3_PWORK; /* '<Root>/Scope3' */ |
109 | } DW_VisionTest_T; |
110 | |
111 | /* Parameters (auto storage) */ |
112 | struct P_VisionTest_T_ { |
113 | real_T km4pi[9]; /* Variable: km4pi |
114 | * Referenced by: '<Root>/Sentinel Calibration matrix' |
115 | */ |
116 | real_T km4piCam[9]; /* Variable: km4piCam |
117 | * Referenced by: '<Root>/Raspicam Calibration matrix' |
118 | */ |
119 | real_T Delay_InitialCondition; /* Expression: 0 |
120 | * Referenced by: '<Root>/Delay' |
121 | */ |
122 | real_T Delay1_InitialCondition; /* Expression: 0 |
123 | * Referenced by: '<Root>/Delay1' |
124 | */ |
125 | uint32_T Delay_DelayLength; /* Computed Parameter: Delay_DelayLength |
126 | * Referenced by: '<Root>/Delay' |
127 | */ |
128 | uint32_T Delay1_DelayLength; /* Computed Parameter: Delay1_DelayLength |
129 | * Referenced by: '<Root>/Delay1' |
130 | */ |
131 | uint8_T ManualSwitch_CurrentSetting; /* Computed Parameter: ManualSwitch_CurrentSetting |
132 | * Referenced by: '<Root>/Manual Switch' |
133 | */ |
134 | uint8_T ManualSwitch1_CurrentSetting;/* Computed Parameter: ManualSwitch1_CurrentSetting |
135 | * Referenced by: '<Root>/Manual Switch1' |
136 | */ |
137 | }; |
138 | |
139 | /* Real-time Model Data Structure */ |
140 | struct tag_RTM_VisionTest_T { |
141 | const char_T *errorStatus; |
142 | RTWExtModeInfo *extModeInfo; |
143 | |
144 | /* |
145 | * Sizes: |
146 | * The following substructure contains sizes information |
147 | * for many of the model attributes such as inputs, outputs, |
148 | * dwork, sample times, etc. |
149 | */ |
150 | struct { |
151 | uint32_T checksums[4]; |
152 | } Sizes; |
153 | |
154 | /* |
155 | * SpecialInfo: |
156 | * The following substructure contains special information |
157 | * related to other components that are dependent on RTW. |
158 | */ |
159 | struct { |
160 | const void *mappingInfo; |
161 | } SpecialInfo; |
162 | |
163 | /* |
164 | * Timing: |
165 | * The following substructure contains information regarding |
166 | * the timing information for the model. |
167 | */ |
168 | struct { |
169 | time_T taskTime0; |
170 | uint32_T clockTick0; |
171 | uint32_T clockTickH0; |
172 | time_T stepSize0; |
173 | time_T tFinal; |
174 | boolean_T stopRequestedFlag; |
175 | } Timing; |
176 | }; |
177 | |
178 | /* Block parameters (auto storage) */ |
179 | extern P_VisionTest_T VisionTest_P; |
180 | |
181 | /* Block signals (auto storage) */ |
182 | extern B_VisionTest_T VisionTest_B; |
183 | |
184 | /* Block states (auto storage) */ |
185 | extern DW_VisionTest_T VisionTest_DW; |
186 | |
187 | /* Model entry point functions */ |
188 | extern void VisionTest_initialize(void); |
189 | extern void VisionTest_step(void); |
190 | extern void VisionTest_terminate(void); |
191 | |
192 | /* Real-time Model object */ |
193 | extern RT_MODEL_VisionTest_T *const VisionTest_M; |
194 | |
195 | /*- |
196 | * The generated code includes comments that allow you to trace directly |
197 | * back to the appropriate location in the model. The basic format |
198 | * is <system>/block_name, where system is the system number (uniquely |
199 | * assigned by Simulink) and block_name is the name of the block. |
200 | * |
201 | * Use the MATLAB hilite_system command to trace the generated code back |
202 | * to the model. For example, |
203 | * |
204 | * hilite_system('<S3>') - opens system 3 |
205 | * hilite_system('<S3>/Kp') - opens and selects block Kp which resides in S3 |
206 | * |
207 | * Here is the system hierarchy for this model |
208 | * |
209 | * '<Root>' : 'VisionTest' |
210 | * '<S1>' : 'VisionTest/Position from Camera' |
211 | * '<S2>' : 'VisionTest/Position transformation' |
212 | * '<S3>' : 'VisionTest/Position transformation1' |
213 | */ |
214 | #endif /* RTW_HEADER_VisionTest_h_ */ |
215 | |