CARMA C++
DownconverterHandle.h
Go to the documentation of this file.
1 #ifndef CARMA_CONTROL_DOWNCONVERTERHANDLE_H
2 #define CARMA_CONTROL_DOWNCONVERTERHANDLE_H
3 
16 #include "carma/corba/corba.h"
17 #include "carma/control/SubarrayControl_skel.h"
21 #include "carma/downconverter/common/NoiseSourceControl.h"
22 #include "carma/downconverter/common/QuadModControl.h"
23 #include "carma/downconverter/common/DownconverterControl.h"
24 #include "carma/downconverter/common/downconverterSystem.h"
25 #include "carma/downconverter/spectral/SpectralDownconverterControl.h"
26 #include "carma/downconverter/spectral/BlockDownconverterControl.h"
27 
28 
29 namespace carma {
30 namespace control {
31 
32 
33 typedef RemoteObjHandleT< carma::downconverter::System >
34  DownconverterSystemRemoteObjHandle;
35 
36 
39  public:
53  bool spectral,
54  ::carma::monitor::MonitorSystem & carmaMonitor,
55  ::carma::monitor::ControlSubsystemBase::Reachable & reachable );
56 
57 
61  virtual ~DownconverterHandle();
62 
63  bool isSpectral( ) const;
64 
71  void noiseSource (bool state) ;
72 
77  void noisePreset( );
78 
83  void noiseAtten (short atten) ;
84 
89  void quadmodAtten (short atten) ;
90 
96  void psysPreset(std::vector<short> inputNo, short bandNo);
97 
101  void ifoutPreset () ;
102 
109  void psysLevel(double level, short inputNo, short bandNo) ;
110 
115  void psysLevel(double level) ;
116 
121  void ifoutLevel(double level) ;
122 
127  void rfPower(bool state) ;
128 
134  void selectSlSideband(
136  unsigned short bandNo) ;
137 
143  void setSlLOFrequency(float loFreq, unsigned short bandNo) ;
144 
153  double loFreq, unsigned short bandNo) ;
154 
160  void selectFilter(
162  unsigned short bandNo) ;
163 
164  void selectFilter(
166  unsigned short inputNo,
167  unsigned short bandNo) ;
168 
178  const unsigned short bandNo);
179 
183  const unsigned short inputNo,
184  const unsigned short bandNo);
185 
186  protected:
187  virtual bool resolveObjRef( );
188 
189  private:
194 
195  bool isControlReachable( bool logIfNotReachable );
196  bool isQuadModReachable( bool logIfNotReachable );
197  bool isNoiseSourceReachable( bool logIfNotReachable );
198  bool isBlockDownconverterReachable( bool logIfNotReachable );
199 
200  bool isControlReachable( );
201  bool isQuadModReachable( );
202  bool isNoiseSourceReachable( );
203  bool isBlockDownconverterReachable( );
204 
205  const bool isSpectral_;
206 
207  ::carma::monitor::MonitorPointBool & controlReachableMp_;
208  ::carma::monitor::MonitorPointBool & quadModReachableMp_;
209  ::carma::monitor::MonitorPointBool & noiseSourceReachableMp_;
210  ::carma::monitor::MonitorPointBool & blockDCReachableMp_;
211 
212  ControlType::_var_type cachedControl_;
213  QuadModType::_var_type cachedQuadMod_;
214  NoiseSourceType::_var_type cachedNoiseSource_;
215  BlockDCType::_var_type cachedBlockDC_;
216 };
217 
218 
219 }
220 } // End namespace carma/control
221 
222 
223 #endif
Carma downconverter CAN module control interface.
void psysLevel(double level, short inputNo, short bandNo)
Set input power level to preset level for a single downconverters.
void selectSlSideband(downconverter::DownconverterControl::SidebandType sideband, unsigned short bandNo)
Select the 2nd LO downconversion sideband for a band.
void setBlockAndPolarization(const downconverter::BlockDownconverterControl::Block block, const downconverter::BlockDownconverterControl::Polarization polarization, const unsigned short bandNo)
Select the block downconverter block (upper or lower ) and polarization (pol1 or pol2) ...
void noiseAtten(short atten)
Sets noise source attenuation level.
void rfPower(bool state)
Turn on/off rf power for all downconverters.
void setSlLOFrequency(float loFreq, unsigned short bandNo)
Provide the 2nd LO frequency.
The monitor system base class.
FilterType
Valid output bandwidth filter types.
Semi-hand-forged extensions to the auto-generated classes for the Control subsystem.
Carma Block Downconvrter CAN module control interface.
void psysPreset(std::vector< short > inputNo, short bandNo)
Set input power level to preset level for all downconverters.
DownconverterHandle(bool spectral,::carma::monitor::MonitorSystem &carmaMonitor,::carma::monitor::ControlSubsystemBase::Reachable &reachable)
Constructor.
Manages downconverter system DO connections.
Carma dowconverter noise source control interface.
Carma downconverter quadrature modulator control interface.
Manages connection to remote DO.
void ifoutPreset()
Set if output power level to preset level for all downconverters.
void noiseSource(bool state)
Turns noise source on or off based on the value of state.
Typed class for managing connections to DOs.
Monitor system base class.
Definition: MonitorSystem.h:81
void ifoutLevel(double level)
Set output power level to requested level for all downconverters.
void setSlSidebandFrequency(downconverter::DownconverterControl::SidebandType sideband, double loFreq, unsigned short bandNo)
Set sideband and the 2nd LO frequency.
void quadmodAtten(short atten)
Sets quadmod attenuation level.
void selectFilter(downconverter::DownconverterControl::FilterType filter, unsigned short bandNo)
Select the filter for all module in a band.
void noisePreset()
Set noise source power output level to the preset value stored in the noise source module&#39;s EEPROM...
virtual ~DownconverterHandle()
Destructor - releases object (DO) references.