Jump to content
Go to the documentation of this file.
52 #define TLM_WORD_LENGTH 16
53 #define TLM_WORD_OFFSET 8
56 #define INST_ANA(n) INST_ANA##n
57 #define INST_DIS(n) INST_DIS##n
59 #define INST_ANA(n) INST_ANA##n
60 #define INST_DIS(n) INST_DIS##n
63 #define TLM_DUMMY 0,0,0
64 #define TLM_DUMMY_ECV NECT0,0,0
65 #define TLM_WORD_OFFSET_MIN 0
66 #define TLM_WORD_OFFSET_MAX 43
67 #define TLM_ANALOG_START_OFFSET 7
68 #define TLM_ANALOG_MAX_OFFSET 39
69 #define TLM_DISCRETE_START_OFFSET 4
70 #define TLM_MAX_ANA_ENTRIES 40
71 #define TLM_MAX_DIS_ENTRIES 32
76 #define TLM_ANALOG_MAX_VALID 32
78 #define TLM_DISCRETE_MAX_VALID 22
80 #define TLM_MSEC_GPS 39
82 #define TLM_DIS_ECV DECT1,0.0,0.0
85 #define GET_TLM_ANA_ENG_VALUE(tlm,n) get_tlm_eng_value(tlm,n,n##_ECV)
86 #define GET_TLM_DIS_ENG_VALUE(tlm,n) get_tlm_eng_value(tlm,n,TLM_DIS_ECV)
87 #define GET_TLM_ANA_RAW_VALUE(tlm,n) get_tlm(tlm,n)
88 #define GET_TLM_DIS_RAW_VLAUE(tlm,n) get_tlm(tlm,n)
89 #define GET_TLM_RAW_VALUE(tlm,n) get_tlm(tlm,n)
90 #define GET_TLM_NAME(n) get_tlm_name(n)
93 #define MSEC_GPS 0,0,32
94 #define MSEC_GPS_ECV AECT2,0.0,0.0
97 #define DIS_PAD_1 4,9,1
98 #define DIS_PAD_2 4,8,1
99 #define SERVO_A_B_SELECT 4,7,1
100 #define ANG_MOM_COMP_ON 4,6,1
101 #define SERVO_A_LOCK 4,5,1
102 #define SERVO_B_LOCK 4,4,1
103 #define TIMING_A_B_SELECT 4,3,1
104 #define TILT_A_ON 4,2,1
105 #define TILT_B_ON 4,1,1
106 #define TILT_TELEMETRY_ON 4,0,1
108 #define DIS_PAD_3 5,9,1
109 #define DIS_PAD_4 5,8,1
110 #define STOW_ON 5,7,1
111 #define STOW_ALIGNED 5,6,1
112 #define HEATERS_ENABLE 5,5,1
113 #define SOLAR_DOOR_STATUS 5,4,1
114 #define ANALOG_POWER_ON 5,3,1
115 #define TILT_PLATFORM_LIMIT 5,2,1
116 #define TILT_BASE_LIMIT 5,1,1
117 #define TILT_NADIR_ALIGNED 5,0,1
119 #define DIS_PAD_5 6,9,1
120 #define DIS_PAD_6 6,8,1
121 #define TILT_AFT_ALIGNED 6,7,1
122 #define TILT_FORWARD_ALIGNED 6,6,1
123 #define DATA_MODE_SELECT 6,5,1
124 #define HALF_ANG_MIRROR_SIDE 6,4,1
125 #define IMAGE_DATA_SYNC_VALID 6,3,1
126 #define ANG_MOM_COMP_AT_SPEED 6,2,1
127 #define DIS_SPARE_23 6,1,0
128 #define DIS_SPARE_24 6,0,0
131 #define BAND_1_2_FPA_TEMPERATURE 7,0,8
132 #define BAND_1_2_FPA_TEMPERATURE_ECV AECT1,-0.2667,66.667
133 #define BAND_1_2_FPA_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
134 #define BAND_3_4_FPA_TEMPERATURE 8,0,8
135 #define BAND_3_4_FPA_TEMPERATURE_ECV AECT1,-0.2667,66.667
136 #define BAND_3_4_FPA_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
137 #define BAND_5_6_FPA_TEMPERATURE 9,0,8
138 #define BAND_5_6_FPA_TEMPERATURE_ECV AECT1,-0.2667,66.667
139 #define BAND_5_6_FPA_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
140 #define BAND_7_8_FPA_TEMPERATURE 10,0,8
141 #define BAND_7_8_FPA_TEMPERATURE_ECV AECT1,-0.2667,66.667
142 #define BAND_7_8_FPA_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
143 #define TELESCOPE_MOTOR_TEMPERATURE 11,0,8
144 #define TELESCOPE_MOTOR_TEMPERATURE_ECV AECT1,-0.2667,66.667
145 #define TELESCOPE_MOTOR_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
146 #define TILT_BASE_TEMPERATURE 12,0,8
147 #define TILT_BASE_TEMPERATURE_ECV AECT1,-0.2667,66.667
148 #define TILT_BASE_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
149 #define TILT_PLATFORM_TEMPERATURE 13,0,8
150 #define TILT_PLATFORM_TEMPERATURE_ECV AECT1,-0.2667,66.667
151 #define TILT_PLATFORM_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
152 #define HALF_ANG_MOTOR_TEMPERATURE 14,0,8
153 #define HALF_ANG_MOTOR_TEMPERATURE_ECV AECT1,-0.2667,66.667
154 #define HALF_ANG_MOTOR_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
155 #define POWER_SUPPLY_A_INPUT_CURRENT 15,0,8
156 #define POWER_SUPPLY_A_INPUT_CURRENT_ECV AECT1,0.02, 0.26
157 #define POWER_SUPPLY_A_INPUT_CURRENT_LIMITV LFLAG1,0.26,5.36,1.0,3.0,-0.05,0.35
158 #define POWER_SUPPLY_B_INPUT_CURRENT 16,0,8
159 #define POWER_SUPPLY_B_INPUT_CURRENT_ECV AECT1,0.02, 0.26
160 #define POWER_SUPPLY_B_INPUT_CURRENT_LIMITV LFLAG1,0.26,5.36,1.0,3.0,-0.05,0.35
161 #define POWER_SUPPLY_POS_15_VOLT_ANALOG 17,0,8
162 #define POWER_SUPPLY_POS_15_VOLT_ANALOG_ECV AECT1,0.075, 0.0
163 #define POWER_SUPPLY_POS_15_VOLT_ANALOG_LIMITV LFLAG2,0.0,19.125,15.0,15.5,-0.7,0.7
164 #define POWER_SUPPLY_NEG_15_VOLT_ANALOG 18,0,8
165 #define POWER_SUPPLY_NEG_15_VOLT_ANALOG_ECV AECT1,-0.075, 0.0
166 #define POWER_SUPPLY_NEG_15_VOLT_ANALOG_LIMITV LFLAG2,-19.125,0.0,-15.5,-15.0,-0.7,0.7
167 #define POWER_SUPPLY_POS_5_VOLT_LOGIC 19,0,8
168 #define POWER_SUPPLY_POS_5_VOLT_LOGIC_ECV AECT1,0.025, 0.0
169 #define POWER_SUPPLY_POS_5_VOLT_LOGIC_LIMITV LFLAG2,0.0,6.375,4.9,5.6,-0.5,0.5
170 #define POWER_SUPPLY_TEMPERATURE 20,0,8
171 #define POWER_SUPPLY_TEMPERATURE_ECV AECT1,-0.2667,66.667
172 #define POWER_SUPPLY_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
173 #define BAND_1_2_POST_AMP_TEMPERATURE 21,0,8
174 #define BAND_1_2_POST_AMP_TEMPERATURE_ECV AECT1,-0.2667,66.667
175 #define BAND_1_2_POST_AMP_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
176 #define SERVO_DRIVER_TEMPERATURE 22,0,8
177 #define SERVO_DRIVER_TEMPERATURE_ECV AECT1,-0.2667,66.667
178 #define SERVO_DRIVER_TEMPERATURE_LIMITV LFLAG0,-1.334,66.667,5.0,45.0,5.0,45.0
179 #define POWER_SUPPLY_POS_30_VOLT_SERVO 23,0,8
180 #define POWER_SUPPLY_POS_30_VOLT_SERVO_ECV AECT1,0.15, 0.0
181 #define POWER_SUPPLY_POS_30_VOLT_SERVO_LIMITV LFLAG2,0.0,38.25,28.5,31.0,-1.0,1.0
182 #define POWER_SUPPLY_POS_21_VOLT_SERVO 24,0,8
183 #define POWER_SUPPLY_POS_21_VOLT_SERVO_ECV AECT1,0.1044, 0.0
184 #define POWER_SUPPLY_POS_21_VOLT_SERVO_LIMITV LFLAG2,0.0,26.622,20.0,22.0,-1.0,1.0
185 #define POWER_SUPPLY_NEG_21_VOLT_SERVO 25,0,8
186 #define POWER_SUPPLY_NEG_21_VOLT_SERVO_ECV AECT1,-0.1044, 0.0
187 #define POWER_SUPPLY_NEG_21_VOLT_SERVO_LIMITV LFLAG2,-26.622,0.0,-22.0,-20.0,-1.0,1.0
188 #define POWER_SUPPLY_POS_5_VOLT_SERVO 26,0,8
189 #define POWER_SUPPLY_POS_5_VOLT_SERVO_ECV AECT1,0.025, 0.0
190 #define POWER_SUPPLY_POS_5_VOLT_SERVO_LIMITV LFLAG2,0.0,6.375,4.9,5.6,-0.5,0.5
191 #define ANG_MOM_COMP_PHASE_ERROR 27,0,8
192 #define ANG_MOM_COMP_PHASE_ERROR_ECV AECT1,8.52, -377.0
193 #define ANG_MOM_COMP_PHASE_ERROR_LIMITV (LFLAG2+LFLAG3),-377.0,1795.6,1215.0,1255.0,-500.0,20.0
194 #define TILT_PLATFORM_POSITION 28,0,8
196 #define TILT_PLATFORM_POSITION_ECV AECT1,1.44, 0.0
197 #define TILT_PLATFORM_POSITION_LIMITV LFLAG2,0.0,367.2,0.0,360.0,0.0,360.0
199 #define TILT_PLATFORM_POSITION_ECV AECT1,0.1953,-25.0
200 #define TILT_PLATFORM_POSITION_LIMITV LFLAG2,-25.0,25.0,-21.0,21.0,-21.0,21.0
202 #define TILT_BASE_POSITION 29,0,8
204 #define TILT_BASE_POSITION_ECV AECT1,1.44, 0.0
205 #define TILT_BASE_POSITION_LIMITV LFLAG2,0.0,367.2,0.0,360.0,0.0,360.0
207 #define TILT_BASE_POSITION_ECV AECT1,0.1953,-25.0
208 #define TILT_BASE_POSITION_LIMITV LFLAG2,-25.0,25.0,-21.0,21.0,-21.0,21.0
210 #define HEATERS_CURRENT 30,0,8
211 #define HEATERS_CURRENT_ECV AECT1,0.14, 0.0
212 #define HEATERS_CURRENT_LIMITV LFLAG2,0.0,35.7,27.0,29.0,-1.0,1.0
213 #define TELESCOPE_A_MOTOR_CURRENT 31,0,8
214 #define TELESCOPE_A_MOTOR_CURRENT_ECV AECT1,0.0024, 0.0
215 #define TELESCOPE_A_MOTOR_CURRENT_LIMITV (LFLAG2+LFLAG4),0.0,0.612,0.1,0.4,-0.01,0.02
216 #define TELESCOPE_B_MOTOR_CURRENT 32,0,8
217 #define TELESCOPE_B_MOTOR_CURRENT_ECV AECT1,0.0024, 0.0
218 #define TELESCOPE_B_MOTOR_CURRENT_LIMITV (LFLAG2+LFLAG4),0.0,0.612,0.1,0.4,-0.01,0.02
219 #define HALF_ANG_MIR_A_MOTOR_CURRENT 33,0,8
220 #define HALF_ANG_MIR_A_MOTOR_CURRENT_ECV AECT1,0.0024, 0.0
221 #define HALF_ANG_MIR_A_MOTOR_CURRENT_LIMITV (LFLAG2+LFLAG4),0.0,0.612,0.1,0.4,-0.01,0.02
222 #define HALF_ANG_MIR_B_MOTOR_CURRENT 34,0,8
223 #define HALF_ANG_MIR_B_MOTOR_CURRENT_ECV AECT1,0.0024, 0.0
224 #define HALF_ANG_MIR_B_MOTOR_CURRENT_LIMITV (LFLAG2+LFLAG4),0.0,0.612,0.1,0.4,-0.01,0.02
225 #define SERVO_A_PHASE_ERROR 35,0,8
226 #define SERVO_A_PHASE_ERROR_ECV AECT1,0.01, -1.25
227 #define SERVO_A_PHASE_ERROR_LIMITV (LFLAG2+LFLAG4),-1.25,1.25,-1.0,1.0,-1.3,-1.2
228 #define SERVO_B_PHASE_ERROR 36,0,8
229 #define SERVO_B_PHASE_ERROR_ECV AECT1,0.01, -1.25
230 #define SERVO_B_PHASE_ERROR_LIMITV (LFLAG2+LFLAG4),-1.25,1.25,-1.0,1.0,-1.3,-1.2
231 #define ANG_MOM_COMP_A_MOTOR_CURRENT 37,0,8
232 #define ANG_MOM_COMP_A_MOTOR_CURRENT_ECV AECT1,0.016, 0.0
233 #define ANG_MOM_COMP_A_MOTOR_CURRENT_LIMITV (LFLAG2+LFLAG3+LFLAG4),0.0,4.08,0.08,0.6,-0.01,0.02
234 #define ANG_MOM_COMP_B_MOTOR_CURRENT 38,0,8
235 #define ANG_MOM_COMP_B_MOTOR_CURRENT_ECV AECT1,0.016, 0.0
236 #define ANG_MOM_COMP_B_MOTOR_CURRENT_LIMITV (LFLAG2+LFLAG3+LFLAG4),0.0,4.08,0.08,0.6,-0.01,0.02
237 #define ANA_SPARE_40 39,0,0
238 #define ANA_SPARE_40_ECV FILLAECT1
239 #define ANA_SPARE_40_LIMITV FILLLIMIT
240 #define ANA_SPARE_41 40,0,0
241 #define ANA_SPARE_41_ECV FILLAECT1
242 #define ANA_SPARE_41_LIMITV FILLLIMIT
243 #define ANA_SPARE_42 41,0,0
244 #define ANA_SPARE_42_ECV FILLAECT1
245 #define ANA_SPARE_42_LIMITV FILLLIMIT
246 #define ANA_SPARE_43 42,0,0
247 #define ANA_SPARE_43_ECV FILLAECT1
248 #define ANA_SPARE_43_LIMITV FILLLIMIT
249 #define ANA_SPARE_44 43,0,0
250 #define ANA_SPARE_44_ECV FILLAECT1
251 #define ANA_SPARE_44_LIMITV FILLLIMIT
254 #define INST_ANA1 BAND_1_2_FPA_TEMPERATURE
255 #define INST_ANA1_ECV BAND_1_2_FPA_TEMPERATURE_ECV
256 #define INST_ANA2 BAND_3_4_FPA_TEMPERATURE
257 #define INST_ANA2_ECV BAND_3_4_FPA_TEMPERATURE_ECV
258 #define INST_ANA3 BAND_5_6_FPA_TEMPERATURE
259 #define INST_ANA3_ECV BAND_5_6_FPA_TEMPERATURE_ECV
260 #define INST_ANA4 BAND_7_8_FPA_TEMPERATURE
261 #define INST_ANA4_ECV BAND_7_8_FPA_TEMPERATURE_ECV
262 #define INST_ANA5 TELESCOPE_MOTOR_TEMPERATURE
263 #define INST_ANA5_ECV TELESCOPE_MOTOR_TEMPERATURE_ECV
264 #define INST_ANA6 TILT_BASE_TEMPERATURE
265 #define INST_ANA6_ECV TILT_BASE_TEMPERATURE_ECV
266 #define INST_ANA7 TILT_PLATFORM_TEMPERATURE
267 #define INST_ANA7_ECV TILT_PLATFORM_TEMPERATURE_ECV
268 #define INST_ANA8 HALF_ANG_MIR_MOTOR_TEMPERATURE
269 #define INST_ANA8_ECV HALF_ANG_MIR_MOTOR_TEMPERATURE_ECV
270 #define INST_ANA9 POWER_SUPPLY_A_INPUT_CURRENT
271 #define INST_ANA9_ECV POWER_SUPPLY_A_INPUT_CURRENT_ECV
272 #define INST_ANA10 POWER_SUPPLY_B_INPUT_CURRENT
273 #define INST_ANA10_ECV POWER_SUPPLY_B_INPUT_CURRENT_ECV
274 #define INST_ANA11 POWER_SUPPLY_POS_15_VOLT_ANALOG
275 #define INST_ANA11_ECV POWER_SUPPLY_POS_15_VOLT_ANALOG_ECV
276 #define INST_ANA12 POWER_SUPPLY_NEG_15_VOLT_ANALOG
277 #define INST_ANA12_ECV POWER_SUPPLY_NEG_15_VOLT_ANALOG_ECV
278 #define INST_ANA13 POWER_SUPPLY_POS_5_VOLT_LOGIC
279 #define INST_ANA13_ECV POWER_SUPPLY_POS_5_VOLT_LOGIC_ECV
280 #define INST_ANA14 POWER_SUPPLY_TEMPERATURE
281 #define INST_ANA14_ECV POWER_SUPPLY_TEMPERATURE_ECV
282 #define INST_ANA15 BAND_1_2_POST_AMP_TEMPERATURE
283 #define INST_ANA15_ECV BAND_1_2_POST_AMP_TEMPERATURE_ECV
284 #define INST_ANA16 SERVO_DRIVER_TEMPERATURE
285 #define INST_ANA16_ECV SERVO_DRIVER_TEMPERATURE_ECV
286 #define INST_ANA17 POWER_SUPPLY_POS_30_VOLT_SERVO
287 #define INST_ANA17_ECV POWER_SUPPLY_POS_30_VOLT_SERVO_ECV
288 #define INST_ANA18 POWER_SUPPLY_POS_21_VOLT_SERVO
289 #define INST_ANA18_ECV POWER_SUPPLY_POS_21_VOLT_SERVO_ECV
290 #define INST_ANA19 POWER_SUPPLY_NEG_21_VOLT_SERVO
291 #define INST_ANA19_ECV POWER_SUPPLY_NEG_21_VOLT_SERVO_ECV
292 #define INST_ANA20 POWER_SUPPLY_POS_5_VOLT_SERVO
293 #define INST_ANA20_ECV POWER_SUPPLY_POS_5_VOLT_SERVO_ECV
294 #define INST_ANA21 ANG_MOM_COMP_PHASE_ERROR
295 #define INST_ANA21_ECV ANG_MOM_COMP_PHASE_ERROR_ECV
296 #define INST_ANA22 TILT_PLATFORM_POSITION
297 #define INST_ANA22_ECV TILT_PLATFORM_POSITION_ECV
298 #define INST_ANA23 TILT_BASE_POSITION
299 #define INST_ANA23_ECV TILT_BASE_POSITION_ECV
300 #define INST_ANA24 HEATERS_CURRENT
301 #define INST_ANA24_ECV HEATERS_CURRENT_ECV
302 #define INST_ANA25 TELESCOPE_A_MOTOR_CURRENT
303 #define INST_ANA25_ECV TELESCOPE_A_MOTOR_CURRENT_ECV
304 #define INST_ANA26 TELESCOPE_B_MOTOR_CURRENT
305 #define INST_ANA26_ECV TELESCOPE_B_MOTOR_CURRENT_ECV
306 #define INST_ANA27 HALF_ANG_MIR_A_MOTOR_CURRENT
307 #define INST_ANA27_ECV HALF_ANG_MIR_A_MOTOR_CURRENT_ECV
308 #define INST_ANA28 HALF_ANG_MIR_B_MOTOR_CURRENT
309 #define INST_ANA28_ECV HALF_ANG_MIR_B_MOTOR_CURRENT_ECV
310 #define INST_ANA29 SERVO_A_PHASE_ERROR
311 #define INST_ANA29_ECV SERVO_A_PHASE_ERROR_ECV
312 #define INST_ANA30 SERVO_B_PHASE_ERROR
313 #define INST_ANA30_ECV SERVO_B_PHASE_ERROR_ECV
314 #define INST_ANA31 ANG_MOM_COMP_A_MOTOR_CURRENT
315 #define INST_ANA31_ECV ANG_MOM_COMP_A_MOTOR_CURRENT_ECV
316 #define INST_ANA32 ANG_MOM_COMP_B_MOTOR_CURRENT
317 #define INST_ANA32_ECV ANG_MOM_COMP_B_MOTOR_CURRENT_ECV
318 #define INST_ANA33 ANA_SPARE_40
319 #define INST_ANA33_ECV ANA_SPARE_40_ECV
320 #define INST_ANA34 ANA_SPARE_41
321 #define INST_ANA34_ECV ANA_SPARE_41_ECV
322 #define INST_ANA35 ANA_SPARE_42
323 #define INST_ANA35_ECV ANA_SPARE_42_ECV
324 #define INST_ANA36 ANA_SPARE_43
325 #define INST_ANA36_ECV ANA_SPARE_43_ECV
326 #define INST_ANA37 ANA_SPARE_44
327 #define INST_ANA37_ECV ANA_SPARE_44_ECV
328 #define INST_ANA38 TLM_DUMMY
329 #define INST_ANA38_ECV TLM_DUMMY_ECV
330 #define INST_ANA39 TLM_DUMMY
331 #define INST_ANA39_ECV TLM_DUMMY_ECV
332 #define INST_ANA40 MSEC_GPS
333 #define INST_ANA40_ECV MSEC_GPS_ECV
335 #define INST_DIS1 SERVO_A_B_SELECT
336 #define INST_DIS2 ANG_MOM_COMP_ON
337 #define INST_DIS3 SERVO_A_LOCK
338 #define INST_DIS4 SERVO_B_LOCK
339 #define INST_DIS5 TIMING_A_B_SELECT
340 #define INST_DIS6 TILT_A_ON
341 #define INST_DIS7 TILT_B_ON
342 #define INST_DIS8 TILT_TELEMETRY_ON
343 #define INST_DIS9 STOW_ON
344 #define INST_DIS10 STOW_ALIGNED
345 #define INST_DIS11 HEATERS_ENABLE
346 #define INST_DIS12 SOLAR_DOOR_STATUS
347 #define INST_DIS13 ANALOG_POWER_ON
348 #define INST_DIS14 TILT_PLATFORM_LIMIT
349 #define INST_DIS15 TILT_BASE_LIMIT
350 #define INST_DIS16 TILT_NADIR_ALIGNED
351 #define INST_DIS17 TILT_AFT_ALIGNED
352 #define INST_DIS18 TILT_FORWARD_ALIGNED
353 #define INST_DIS19 DATA_MODE_SELECT
354 #define INST_DIS20 HALF_ANG_MIRROR_SIDE
355 #define INST_DIS21 IMAGE_DATA_SYNC_VALID
356 #define INST_DIS22 ANG_MOM_COMP_AT_SPEED
357 #define INST_DIS23 DIS_SPARE_23
358 #define INST_DIS24 DIS_SPARE_24
359 #define INST_DIS25 TLM_DUMMY
360 #define INST_DIS26 TLM_DUMMY
361 #define INST_DIS27 TLM_DUMMY
362 #define INST_DIS28 TLM_DUMMY
363 #define INST_DIS29 TLM_DUMMY
364 #define INST_DIS30 TLM_DUMMY
365 #define INST_DIS31 TLM_DUMMY
366 #define INST_DIS32 TLM_DUMMY