1 #ifndef CARMA_ANTENNA_OVRO_SHAREDOPTICSSEQNO_H
2 #define CARMA_ANTENNA_OVRO_SHAREDOPTICSSEQNO_H
4 #include "carma/util/PthreadMutex.h"
16 class SharedOpticsSeqNo {
19 SharedOpticsSeqNo( carma::monitor::AntennaCommon & mon );
21 ~SharedOpticsSeqNo( );
23 enum Axis { X = 0, Y = 1, Z = 2 };
25 void setPolarizerRequestPending(
long seqNo );
26 void setFocusPositionRequestPending(
long seqNo,
enum Axis axis );
27 void setFocusZTrackingRequestPending(
long seqNo );
28 void setBeamSelectionRequestPending(
long seqNo );
30 void markPolarizerRequestCompleteIfPending(
32 void markFocusPositionRequestCompleteIfPending(
34 void markFocusZTrackingRequestCompleteIfPending(
36 void markBeamSelectionRequestCompleteIfPending(
39 void writeToMonitorSystem( );
43 void completeRequestHoldingLock( );
45 void verifyRequestExclusivityHoldingLock( );
47 bool polarizerRequestPending_;
48 bool focusPositionRequestPending_[3];
49 bool focusZTrackingRequestPending_;
50 bool beamSelectionRequestPending_;
51 long pendingSequenceNo_;
52 long currentSequenceNo_;
55 carma::monitor::AntennaCommon & mon_;
unsigned int frameType
Half second frames since Jan 1, 2000.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
Various type definitions for util classes.