1 #ifndef SZA_ANTENNA_CORBA_CARMAMONITORPOINTHANDLER_H
2 #define SZA_ANTENNA_CORBA_CARMAMONITORPOINTHANDLER_H
14 #include "carma/szautil/Directives.h"
17 #include "carma/szaarrayutils/regmap.h"
20 #include "carma/antenna/sza/antenna/corba/Corba.h"
34 #define MP_PACK_FN(fn) void (fn)(CarmaMonitorPointHandler::CarmaMonitorPoint& cmp)
43 class SzaCanReceivedMonitorPoint {
45 std::string boardName_;
54 void read(SzaShareCorba* share);
69 void invalidate(SzaShareCorba* share);
75 SzaCanReceivedMonitorPoint(RegMapBlock* block, std::string boardName) {
77 boardName_ = boardName;
85 SzaCanReceivedMonitorPoint(SzaCanReceivedMonitorPoint& mp) {
89 SzaCanReceivedMonitorPoint(
const SzaCanReceivedMonitorPoint& mp) {
93 void operator=(
const SzaCanReceivedMonitorPoint& mp) {
94 *
this = (SzaCanReceivedMonitorPoint&) mp;
97 void operator=(SzaCanReceivedMonitorPoint& mp) {
99 boardName_ = mp.boardName_;
105 class CarmaMonitorPointHandler {
108 #if DIR_USE_ANT_CORBA
109 struct CarmaMonitorPoint {
111 SzaShareCorba* share_;
112 RegMapBlock* szaBlock_;
113 SzaCanReceivedMonitorPoint* szaControlMp_;
119 std::vector<carma::monitor::MonitorPoint*> carmaMpVec_;
120 MP_PACK_FN(*packFn_);
122 CarmaMonitorPoint() {
127 carmaMpVec_.resize(0);
142 CarmaMonitorPointHandler(AntennaCorba* parent);
143 CarmaMonitorPointHandler();
147 virtual ~CarmaMonitorPointHandler();
151 void stageCarmaSeqNo(
unsigned long seq,
152 sza::util::GenericTaskMsg::CarmaSeqNoType type,
157 void stageCommonMonitorPoints();
161 void stageSpecificMonitorPoints();
165 void stageSzaAllMonitorPoints();
170 SzaCanReceivedMonitorPoint* getControlMp(std::string boardName, std::string blockName);
174 void writeMonitorPoints();
178 void initialize(sza::antenna::corba::AntennaCorba* parent);
182 void packData(RegMapBlock* blk,
void* data,
183 sza::util::CoordRange* range, sza::util::DataType::Type type);
185 void packValue(RegMapBlock* blk,
void* data,
186 sza::util::CoordRange* range, sza::util::DataType::Type type);
188 static MP_PACK_FN(packBool);
189 static MP_PACK_FN(packChar);
190 static MP_PACK_FN(packUchar);
191 static MP_PACK_FN(packShort);
192 static MP_PACK_FN(packUshort);
193 static MP_PACK_FN(packInt);
194 static MP_PACK_FN(packUint);
195 static MP_PACK_FN(packFloat);
196 static MP_PACK_FN(packDouble);
197 static MP_PACK_FN(packString);
198 static MP_PACK_FN(packUtc);
202 void writeTrackingStateMonitorPoints();
203 void writeRxStateMonitorPoint();
204 void writeLoStateMonitorPoint();
206 void extractCommonMonitorPoints();
207 void extractSpecificMonitorPoints();
208 void extractSzaCanRcvdMonitorPoints();
209 void extractAllSzaMonitorPoints();
211 void createMonitorPointMap();
213 void assignMpPackFn(CarmaMonitorPoint& mp);
217 SzaShareCorba* share_;
221 #if DIR_USE_ANT_CORBA
223 CarmaSeqNum driveSeqNo_;
224 CarmaSeqNum tuneSeqNo_;
225 CarmaSeqNum calSeqNo_;
226 CarmaSeqNum opticsSeqNo_;
227 CarmaSeqNum opticalTelSeqNo_;
232 carma::monitor::SzaSubsystem* antennaMonitor_;
236 std::map<RegMapBlock*, carma::monitor::MonitorPoint*> monitorMap_;
240 CarmaMonitorPoint time_;
241 CarmaMonitorPoint online_;
242 CarmaMonitorPoint antennaInitialized_;
246 CarmaMonitorPoint sourcename_;
247 CarmaMonitorPoint rightAscension_;
248 CarmaMonitorPoint declination_;
249 CarmaMonitorPoint errorSky_;
250 CarmaMonitorPoint state_;
251 CarmaMonitorPoint safeState_;
252 CarmaMonitorPoint safeAzLow_;
253 CarmaMonitorPoint safeAzHigh_;
254 CarmaMonitorPoint safeElLow_;
255 CarmaMonitorPoint safeElHigh_;
256 CarmaMonitorPoint mode_;
260 CarmaMonitorPoint requestedAzimuth_;
261 CarmaMonitorPoint actualAzimuth_;
262 CarmaMonitorPoint errorAzimuth_;
263 CarmaMonitorPoint errorAzimuthSky_;
264 CarmaMonitorPoint azimuthRate_;
265 CarmaMonitorPoint requestedElevation_;
266 CarmaMonitorPoint actualElevation_;
267 CarmaMonitorPoint errorElevation_;
268 CarmaMonitorPoint elevationRate_;
269 CarmaMonitorPoint wrapLogic_;
270 CarmaMonitorPoint emergencyOff_;
271 CarmaMonitorPoint manualSwitch_;
272 CarmaMonitorPoint trackTolerance_;
276 CarmaMonitorPoint offsetAz_;
277 CarmaMonitorPoint offsetEl_;
278 CarmaMonitorPoint mountOffsetAz_;
279 CarmaMonitorPoint mountOffsetEl_;
280 CarmaMonitorPoint refraction_;
281 CarmaMonitorPoint refractionModel_;
282 CarmaMonitorPoint magnitude_;
283 CarmaMonitorPoint direction_;
284 CarmaMonitorPoint coefChange_;
286 CarmaMonitorPoint optElCollErr_;
287 CarmaMonitorPoint optCrossElCollErr_;
288 CarmaMonitorPoint optSag_;
290 CarmaMonitorPoint rx1cmElCollErr_;
291 CarmaMonitorPoint rx1cmCrossElCollErr_;
292 CarmaMonitorPoint rx1cmSag_;
294 CarmaMonitorPoint rx3mmElCollErr_;
295 CarmaMonitorPoint rx3mmCrossElCollErr_;
296 CarmaMonitorPoint rx3mmSag_;
298 CarmaMonitorPoint rx1mmElCollErr_;
299 CarmaMonitorPoint rx1mmCrossElCollErr_;
300 CarmaMonitorPoint rx1mmSag_;
302 CarmaMonitorPoint selectedApert_;
306 CarmaMonitorPoint azSwLimit_;
307 CarmaMonitorPoint elSwLimit_;
308 CarmaMonitorPoint azHwLimit_;
309 CarmaMonitorPoint elHwLimit_;
310 CarmaMonitorPoint azLowSwLimitVal_;
311 CarmaMonitorPoint azHighSwLimitVal_;
312 CarmaMonitorPoint azLowHwLimitVal_;
313 CarmaMonitorPoint azHighHwLimitVal_;
314 CarmaMonitorPoint elLowSwLimitVal_;
315 CarmaMonitorPoint elHighSwLimitVal_;
316 CarmaMonitorPoint elLowHwLimitVal_;
317 CarmaMonitorPoint elHighHwLimitVal_;
321 CarmaMonitorPoint oscFreq_;
322 CarmaMonitorPoint yigFreq_;
323 CarmaMonitorPoint yigIFLevel_;
324 CarmaMonitorPoint yigError_;
325 CarmaMonitorPoint yigState_;
326 CarmaMonitorPoint yigSweep_;
327 CarmaMonitorPoint loFreq_;
328 CarmaMonitorPoint loSweep_;
329 CarmaMonitorPoint loState_;
333 CarmaMonitorPoint currentRx_;
334 CarmaMonitorPoint rxState_;
335 CarmaMonitorPoint rxTsysState_;
336 CarmaMonitorPoint rxTsys_;
337 CarmaMonitorPoint rxOffsetAz_;
338 CarmaMonitorPoint rxOffsetEl_;
339 CarmaMonitorPoint compressorState_;
340 CarmaMonitorPoint tuneSeqNum_;
341 CarmaMonitorPoint dewarTemp_;
345 CarmaMonitorPoint latitude_;
346 CarmaMonitorPoint longitude_;
347 CarmaMonitorPoint altitude_;
351 CarmaMonitorPoint sizeX_;
352 CarmaMonitorPoint sizeY_;
353 CarmaMonitorPoint offsetX_;
354 CarmaMonitorPoint offsetY_;
355 CarmaMonitorPoint azFov_;
356 CarmaMonitorPoint elFov_;
357 CarmaMonitorPoint imageRotation_;
358 CarmaMonitorPoint cover_;
359 CarmaMonitorPoint centroidSeqNum_;
363 CarmaMonitorPoint polarization_;
364 CarmaMonitorPoint opticsSeqNum_;
368 CarmaMonitorPoint calState_;
369 CarmaMonitorPoint skyTemp_;
370 CarmaMonitorPoint ambTemp_;
371 CarmaMonitorPoint fixedTemp_;
372 CarmaMonitorPoint partialTrans_;
373 CarmaMonitorPoint spillOver_;
374 CarmaMonitorPoint calSeqNum_;
378 CarmaMonitorPoint focusState_;
379 CarmaMonitorPoint focusZ_;
383 CarmaMonitorPoint totalPamAtten_;
384 CarmaMonitorPoint inputPamAtten_;
385 CarmaMonitorPoint outputPamAtten_;
386 CarmaMonitorPoint ifTotalPower_;
390 CarmaMonitorPoint varLockStatus_;
391 CarmaMonitorPoint varSweepEnabled_;
392 CarmaMonitorPoint varGunnEnabled_;
393 CarmaMonitorPoint varNoiseMeter_;
394 CarmaMonitorPoint varIfLevel_;
395 CarmaMonitorPoint varLoopGain_;
396 CarmaMonitorPoint varGunnCurrent_;
400 CarmaMonitorPoint biasLockStatus_;
401 CarmaMonitorPoint biasSweepStatus_;
406 std::vector<CarmaMonitorPoint> szaSpecificMonitorPoints_;
411 std::vector<SzaCanReceivedMonitorPoint> szaCanRcvdMonitorPoints_;
422 #endif // End #ifndef SZA_ANTENNA_CORBA_CARMAMONITORPOINTHANDLER_H
Tagged: Tue Jun 22 22:32:16 UTC 2004.
Abstract base class for all monitor points.
Tagged: Fri Nov 14 12:39:34 UTC 2003.
Abstract base class for a monitor point.
Tagged: Fri Sep 11 15:24:35 PDT 2009.