CARMA C++
CmLOControlImpl.h
Go to the documentation of this file.
1 
10 #ifndef CARMA_ANTENNA_OVRO_CMLOCONTROLIMPL_H
11 #define CARMA_ANTENNA_OVRO_CMLOCONTROLIMPL_H
12 
13 #include "carma/corba/corba.h"
14 
16 #include "carma/antenna/common/SwitchState.h"
17 
18 namespace log4cpp {
19  // Forward declaration
20  class Category;
21 } // End namespace log4cpp
22 
23 namespace carma {
24 namespace antenna {
25 
26 namespace common {
27  class LOReferenceMonitor;
28  class Varactor;
29 } // End namespace common
30 
31 namespace ovro {
32 
33  class GunnPll;
34  class YigPll;
35 
44  public:
45 
53  YigPll & yig,
54  GunnPll & gunn,
57 
58  ~CmLOControlImpl();
59 
65  bool yigFreqOutOfRange( ::CORBA::Double yigFreq );
66 
72  bool loFreqOutOfRange( ::CORBA::Double loFreq );
73 
79  void setLoFrequency( ::CORBA::Double Frequency );
80 
87  void setYigFrequency( ::CORBA::Double yigFreq );
88 
93 
97  void setLoTerminatorPowerLevel( ::CORBA::Double power );
98 
99  // Yig and LO frequencies are in GHz!
100 
101  // Control commands from antenna::common::LOControl interface.
102  void toggleSweep( ::CORBA::Boolean on );
103 
104  void toggleYigSweep( ::CORBA::Boolean on );
105 
106  void setLoTerminatorAttenuation( ::CORBA::UShort atten );
107 
108  // Control commands specific to OVRO YigPll.
109  void extractTuneTable( );
110 
111  void setDampingResistance( ::CORBA::UShort resistance );
112 
113  void setYigOutputFrequency( ::CORBA::Double freq );
114 
115  void resetYigPll( );
116 
117  void setGunnLoopGainResistance( ::CORBA::UShort resistanceInOhms );
118 
119  void turnGunn( carma::antenna::common::SwitchState state );
120 
121  void turnIfMonitor( carma::antenna::common::SwitchState state );
122 
123  void resetGunn( );
124 
125  private:
126 
131  log4cpp::Category & log_;
132  const carma::antenna::common::RxTypeInfo typeInfo_;
133 
134  }; // End class LOControlImpl
135 }}} // End namespace carma::antenna::ovro
136 #endif
YIG PLL CAN module device class.
Definition: YigPll.h:33
void setLoTerminatorPowerToPreset()
Set the LO terminator power level to preset value.
CmLOControlImpl(YigPll &yig, GunnPll &gunn, carma::antenna::common::Varactor &varactor, carma::antenna::common::LOReferenceMonitor &loref)
Constructor.
bool yigFreqOutOfRange(::CORBA::Double yigFreq)
Verify that yig frequency is in range.
bool loFreqOutOfRange(::CORBA::Double loFreq)
Verify that lo frequency is in range.
void setLoTerminatorPowerLevel(::CORBA::Double power)
Set the LO terminator power level to requested value.
Declaration for carma::antenna::common::RxTypeInfo class.
CAN Device class implementation for LO Reference Monitor Module.
CmLOControlImpl Corba control class.
Maps and provides conversions between the various receiver type definitions from the monitor system...
Definition: RxTypeInfo.h:32
SwitchState
Generic switch state enumerator.
Definition: SwitchState.idl:18
GunnPll CAN device class.
Definition: GunnPll.h:36
void setYigFrequency(::CORBA::Double yigFreq)
Set the yig frequency and lock.
void setLoFrequency(::CORBA::Double Frequency)
Set the gunn LO frequency independent of the YIG.
Varactor CAN device class.
Definition: Varactor.h:30