CARMA C++
carma::control::RxSelectorHandle Class Reference

Manages antenna Rx selector control DO connections. More...

#include <carma/control/RxSelectorHandle.h>

Inheritance diagram for carma::control::RxSelectorHandle:
carma::control::RemoteObjHandleT< T > carma::control::RemoteObjHandleBase

Classes

struct  IVcurveArgs
 Kick off an IV curve with a preferred sequence number. More...
 

Public Member Functions

void antennaIFatten (antenna::common::RxControl::Type rxType, antenna::common::RxControl::IF_Type polarization, double atten)
 Get a receiver and set its IF attenuation to a specific value. More...
 
void antennaIFpower (antenna::common::RxControl::Type rxType, double power)
 Get a receiver and set its IF output power. More...
 
void antennaIFpresetPower (antenna::common::RxControl::Type rxType)
 Get a receiver and set its IF output power to the preset level. More...
 
void doIVcurve (carma::antenna::common::RxControl::Type rx, carma::antenna::common::RxControl::Pol_Type pol, const IVcurveArgs ivCurveParams, carma::monitor::MonitorSystem *const monsys, int preferredSeqNo)
 
unsigned short getCarmaAntennaNo () const
 
carma::antenna::common::IVCurvegetIVcurve ()
 Retrieve that same IV curve. More...
 
void ij (antenna::common::RxControl::Type rxType, antenna::common::RxControl::Pol_Type pol, float ij)
 Get a receiver and set its front end junction current. More...
 
bool isActionComplete (const monitor::MonitorSystem &monsys, int monDataErrorLimit)
 Compare next sequence number with one returned by monitor system. More...
 
 RxSelectorHandle (const unsigned short carmaAntNo, monitor::MonitorSystem &monitorSystem, monitor::ControlSubsystemBase::Antenna &antenna)
 Constructor. More...
 
void setFrequency (antenna::common::RxControl::Type rxType, double yigFreq, double loFreq, double refFreq, int harmonic, bool endWithAbsorberInBeam, bool optimizeReceiver, bool forceRelock, monitor::ControlSubsystem *controlSubsystem, monitor::MonitorSystem *monsys, const int preferredSeqNo)
 Get a receiver and set its frequency The preferred sequence number is compared to the one currently returned by the monitor system, and if they are the same then one that is ten greater will be used. More...
 
void setRefAtten (unsigned short atten)
 Set the reference LO attenuator. More...
 
void vj (antenna::common::RxControl::Type rxType, antenna::common::RxControl::Pol_Type pol, float vj)
 Get a receiver and set its front end junction voltage. More...
 
virtual ~RxSelectorHandle ()
 Destructor - releases object (DO) references. More...
 
- Public Member Functions inherited from carma::control::RemoteObjHandleT< T >
template<typename S >
S::_var_type narrowedRemoteObj () const
 Returns remote object handle as var. More...
 
T::_var_type remoteObj () const
 Returns remote object handle as var. More...
 
 RemoteObjHandleT (const ::std::string &doName, monitor::MonitorPointBool *mpReachable, const monitor::MonitorSubsystem *subsystem, monitor::MonitorSystem *system, bool defaultLogIfNotReachable, bool defaultLogSentCommands)
 Constructor. More...
 
virtual ~RemoteObjHandleT ()
 Destructor. More...
 
- Public Member Functions inherited from carma::control::RemoteObjHandleBase
bool attemptToReconnectIfNeeded ()
 Try reconnect to the DO if needed. More...
 
::std::string doName () const
 get the DO name More...
 
void forceFullReconnect ()
 Force a full re-lookup of the DO by name. More...
 
bool isObjReachable ()
 If state is 'not reachable' and monitor system is current, tries to reconnect. More...
 
bool isObjReachable (bool logIfNotReachable)
 
 RemoteObjHandleBase (const ::std::string &doName, monitor::MonitorPointBool *mpReachable, const monitor::MonitorSubsystem *subsystem, monitor::MonitorSystem *system, bool defaultLogIfNotReachable, bool defaultLogSentCommands)
 Constructor. More...
 
virtual ~RemoteObjHandleBase ()
 Destructor. More...
 

Additional Inherited Members

- Protected Member Functions inherited from carma::control::RemoteObjHandleT< T >
virtual bool resolveObjRef ()
 
- Protected Member Functions inherited from carma::control::RemoteObjHandleBase
bool getDefaultLogIfNotReachable () const
 
bool getDefaultLogSentCommands () const
 
void invalidateObjRef ()
 
void invalidateObjRefIfNeededForCaught ()
 
void logException (const ::std::string &callString, const ::std::string &exString) const
 
void logSentCommand (const ::std::string &callString, const double mjd) const
 
void logSentCommand (const ::std::string &callString, const double mjd, const ::std::string &subDoName) const
 
void logSentCommandIfNeeded (const ::std::string &callString, const double mjd) const
 
void logSentCommandIfNeeded (const ::std::string &callString, const double mjd, const ::std::string &subDoName) const
 
void markObjRefValid ()
 
void processException (const ::std::string &callString, const ::CORBA::Exception &corbaException)
 
void throwBadRemoteObjAccess () const
 
void throwIfObjRefIsNotValid () const
 

Detailed Description

Manages antenna Rx selector control DO connections.

Definition at line 39 of file RxSelectorHandle.h.

Constructor & Destructor Documentation

carma::control::RxSelectorHandle::RxSelectorHandle ( const unsigned short  carmaAntNo,
monitor::MonitorSystem monitorSystem,
monitor::ControlSubsystemBase::Antenna &  antenna 
)

Constructor.

Parameters
carmaAntNoCarma antenna number
monitorSystemcarma::monitor::MonitorSystem& monitor system, which allows RxSelect handle to get a reference to its own monitor stream.
antennaAntenna control monitor system, which contains control and monitor points set by the control subsystem.
virtual carma::control::RxSelectorHandle::~RxSelectorHandle ( )
virtual

Destructor - releases object (DO) references.

Member Function Documentation

void carma::control::RxSelectorHandle::antennaIFatten ( antenna::common::RxControl::Type  rxType,
antenna::common::RxControl::IF_Type  polarization,
double  atten 
)

Get a receiver and set its IF attenuation to a specific value.

Parameters
rxTypereceiver to set power level on (3mm/1mm/1cm)
polarization(IF selection; IF1 or IF2)
attenattenuation in dB
void carma::control::RxSelectorHandle::antennaIFpower ( antenna::common::RxControl::Type  rxType,
double  power 
)

Get a receiver and set its IF output power.

Parameters
rxTypereceiver to set power level on (3mm/1mm/1cm)
powerlevel in volts
void carma::control::RxSelectorHandle::antennaIFpresetPower ( antenna::common::RxControl::Type  rxType)

Get a receiver and set its IF output power to the preset level.

Parameters
rxTypereceiver to set power level on (3mm/1mm/1cm)
polarization(IF selection; IF1 or IF2)
carma::antenna::common::IVCurve* carma::control::RxSelectorHandle::getIVcurve ( )

Retrieve that same IV curve.

void carma::control::RxSelectorHandle::ij ( antenna::common::RxControl::Type  rxType,
antenna::common::RxControl::Pol_Type  pol,
float  ij 
)

Get a receiver and set its front end junction current.

Parameters
rxTypereceiver to set current on (3mm/1mm/1cm)
ijjuntion current
bool carma::control::RxSelectorHandle::isActionComplete ( const monitor::MonitorSystem monsys,
int  monDataErrorLimit 
)

Compare next sequence number with one returned by monitor system.

If they are the same then the last action is complete.

Parameters
monsysmonitor system from which to retrieve completion The monsys should already be placed in the queue, don't do a read or anything that will disturb the queue.
monitorDataErrorLimitnumber of consecutive monitor data invalid limit before thowing an exception
Returns
true if last action is complete
Exceptions
ifnumber of consecutive monitor data errors is exceeed
void carma::control::RxSelectorHandle::setFrequency ( antenna::common::RxControl::Type  rxType,
double  yigFreq,
double  loFreq,
double  refFreq,
int  harmonic,
bool  endWithAbsorberInBeam,
bool  optimizeReceiver,
bool  forceRelock,
monitor::ControlSubsystem controlSubsystem,
monitor::MonitorSystem monsys,
const int  preferredSeqNo 
)

Get a receiver and set its frequency The preferred sequence number is compared to the one currently returned by the monitor system, and if they are the same then one that is ten greater will be used.

This sequence number is stored internally so that it can be compared against the one returned by the antenna in the monitor stream.

Parameters
rxTypereceiver to set freq on (3mm/1mm/1cm)
yigFreqin GHz
loFreqin GHz
refFreqin GHz
harmonicmultiplier of yig to get oscillator freq
endWithAbsorberInBeamcontrol variable
optimizeReceivercontrol variable
forceRelockcontrol variable, only used by 6m
controlSubsystemused to record refFreq & harmonics
monsysMonitor system to be used to check seq no
preferredSequenceNowill be used unless it is already
See Also
isActionComplete
void carma::control::RxSelectorHandle::setRefAtten ( unsigned short  atten)

Set the reference LO attenuator.

Parameters
attenattenuation in dB
void carma::control::RxSelectorHandle::vj ( antenna::common::RxControl::Type  rxType,
antenna::common::RxControl::Pol_Type  pol,
float  vj 
)

Get a receiver and set its front end junction voltage.

Parameters
rxTypereceiver to set voltage on (3mm/1mm/1cm)
vjjuntion voltage

The documentation for this class was generated from the following file: