CARMA C++
CmRxControlImpl.h
Go to the documentation of this file.
1 
10 #ifndef CARMA_ANTENNA_OVRO_CMRXCONTROLIMPL_H
11 #define CARMA_ANTENNA_OVRO_CMRXCONTROLIMPL_H
12 
13 // Carma includes
14 #include "carma/antenna/common/CMFrontEndControlImpl.h"
15 #include "carma/antenna/common/RxControl.h"
20 #include "carma/antenna/ovro/control/ovroCmLOControl.h"
21 #include "carma/antenna/ovro/control/ovroPolarizationControl.h"
23 
24 namespace log4cpp {
25  // Forward declaration
26  class Category;
27 }
28 
29 namespace carma {
30 
31  namespace corba {
32  class Server;
33  }
34 
35  namespace monitor {
36  class AntennaCommon;
37  class OvroSubsystem;
38  } // End namespace monitor
39 
40 namespace antenna {
41 namespace ovro {
42 
43  // Forward declarations
44  class CalibratorControlImpl;
45  class OvroMaster;
46 
53  public:
54 
58  explicit CmRxControlImpl(
61  carma::monitor::OvroSubsystem & ovroSubsys,
62  carma::corba::Server & server,
63  unsigned short antennaId,
64  const std::string & confDir );
65 
66  ~CmRxControlImpl( );
67 
68  carma::antenna::common::LOControl_ptr LO( );
69 
70  carma::antenna::common::IFControl_ptr IF(
71  carma::antenna::common::RxControl::IF_Type polarization );
72 
73  carma::antenna::common::FrontEndControl_ptr FrontEnd(
74  carma::antenna::common::RxControl::Pol_Type pol );
75 
76  carma::antenna::common::OpticsControl_ptr Optics( );
77 
78  carma::antenna::common::PolarizationControl_ptr Polarization( );
79 
80  void setFrequency( ::CORBA::Double yigFreq,
81  ::CORBA::Double LOfreq,
82  ::CORBA::Boolean endWithAbsorberInBeam,
83  ::CORBA::Boolean optimizeReceiver,
84  ::CORBA::Boolean forceRelock, // Not used by ovro
85  ::CORBA::ULong seqNo );
86 
87  void setObservingFrequency( ::CORBA::Double freq,
88  ::CORBA::ULong seqNo );
89 
90  void measureTotalPower(
92  ::CORBA::ULong seqNo );
93 
94  void toggleFastSampling( CORBA::ULong channel,
95  CORBA::Boolean start );
96 
97  void setIFPresetPower( );
98 
99  void setIFAtten(
100  CORBA::Float atten,
101  carma::antenna::common::RxControl::IF_Type ifType );
102 
103  void setIFPower( CORBA::Float power );
104 
105  private:
106 
107  void biasRxUsingConfFile( );
108 
109  typedef struct {
110  CmRxControlImpl & This;
111  ::CORBA::Double yigFreq;
112  ::CORBA::Double loFreq;
113  ::CORBA::ULong seqNo;
114  bool ignoreSeqNo;
115  ::CORBA::Boolean endWithAbsorberInBeam;
116  } SetFreqArgType;
117 
118  // The setFrequency command dispatches it's work to the below thread.
119  static void setFrequencyEntryPoint( const SetFreqArgType & args );
120 
121  carma::antenna::common::CMFrontEndControlImpl frontEnd_;
122  IFControlImpl if_;
123  CmLOControlImpl lo_;
124  OpticsControlImpl optics_;
125  PolarizationControlImpl polarization_;
126  CalibratorControlImpl & cal_;
127 
128  carma::antenna::common::FrontEndControl_ptr frontEndPtr_;
129  carma::antenna::common::IFControl_ptr ifPtr_;
130  carma::antenna::ovro::CmLOControl_ptr loPtr_;
131  carma::antenna::common::OpticsControl_ptr opticsPtr_;
132  carma::antenna::ovro::PolarizationControl_ptr polPtr_;
133 
134  log4cpp::Category & log_;
135  carma::monitor::OvroSubsystem & mon_;
136  carma::monitor::AntennaCommon & comMon_;
138 
139  const unsigned short antennaId_;
140  const std::string confDir_;
141 
142  };
143 } // namespace ovro
144 } // namespace antenna
145 } // namespace carma
146 #endif
IFControlImpl Corba control implementation.
OpticsControlImpl Corba control implementation.
PolarizationControlImpl Corba control class.
CmRxControlImpl CORBA control class.
10-m Antenna Optics CAN device class.
Definition: Optics.h:37
Position
A calibrator position enumerator.
Declaration for carma::antenna::common::RxTypeInfo class.
CmLOControlImpl Corba control class.
LOControlImpl Corba control implementation.
CalibrationControlImpl Corba control class.
CmRxControlImpl(carma::antenna::ovro::OvroMaster &master, carma::antenna::ovro::CalibratorControlImpl &cal, carma::monitor::OvroSubsystem &ovroSubsys, carma::corba::Server &server, unsigned short antennaId, const std::string &confDir)
Constructor.
Maps and provides conversions between the various receiver type definitions from the monitor system...
Definition: RxTypeInfo.h:32
IFControlImpl Corba control delegate class.
Definition: IFControlImpl.h:39
PolarizationControlImpl Corba control implementation.
Class for creating, managing and serving requests to CORBA servants.
Definition: Server.h:22
Ovro Antenna canbus Master class.
Definition: OvroMaster.h:59
OpticsControlImpl Corba control class.