1 #ifndef LOREFERENCECONTROLIMPL_H
2 #define LOREFERENCECONTROLIMPL_H
19 #include "carma/util/UserException.h"
20 #include "carma/monitor/LoRefSubsystem.h"
29 class LOReferenceControlImpl
34 LOReferenceControlImpl(
41 double autoWriteDelayInS );
43 virtual ~LOReferenceControlImpl();
46 static void monitorGPIB(LOReferenceControlImpl &
self);
51 virtual void setFrequencyPower(
52 ::CORBA::ULong synthesizerIndex,
53 ::CORBA::Double frequency,
54 ::CORBA::Double power);
59 virtual void setFrequency(
60 ::CORBA::ULong synthesizerIndex,
61 ::CORBA::Double frequency);
66 virtual void setPower(
67 ::CORBA::ULong synthesizerIndex,
68 ::CORBA::Double power);
73 virtual void setRFOutput(
74 ::CORBA::ULong synthesizerIndex,
75 ::CORBA::Boolean power);
80 virtual ::CORBA::Double getFrequency(
81 ::CORBA::ULong synthesizerIndex);
86 virtual ::CORBA::Double getPower(
87 ::CORBA::ULong synthesizerIndex);
93 virtual std::string getStatus(::CORBA::ULong synthesizerIndex);
100 ::CORBA::ULong address,
101 const char* command);
105 virtual void closeMux(
int mux );
107 virtual double getCounterFrequency(
double expectedValue );
109 void setFrequency(::CORBA::ULong synthesizerIndex,
110 ::CORBA::Double frequency,
bool log);
114 void logError(
const std::string & msg)
const;
115 static void logError(log4cpp::Category& log,
const std::string& msg);
116 static void logMonitoringException(
117 log4cpp::Category& log,
const std::string& msg);
119 ::std::auto_ptr< ::carma::monitor::LoRefSubsystem > monitor_;
120 log4cpp::Category & log_;
127 double commandedFreq[3];
128 bool commandedFreqValid[3];
132 unsigned int synthCount_;
133 unsigned int boxCount_;
140 #endif // LOREFERENCECONTROLIMPL_H