11 #ifndef CARMA_ANTENNA_COMMON_SISRECEIVER_H
12 #define CARMA_ANTENNA_COMMON_SISRECEIVER_H
17 #include "carma/util/PthreadMutex.h"
33 class StateMonitorPointEnum;
60 carma::monitor::AntennaCommon & antCommon,
61 carma::monitor::StateMonitorPointEnum & state,
62 carma::monitor::SisReceiver & sis,
63 carma::monitor::Xac & xac,
122 void tuneMixer(
float frequencyInGhz )
const;
129 void setVj(
float VjInMilliVolts )
const;
136 void setIj(
float IjInMicroAmps )
const;
151 void setVd(
short stageNo,
float VdInVolts )
const;
159 void setId(
short stageNo,
float IdInMilliAmps )
const;
167 void setVg(
short stageNo,
float Vg )
const;
187 float stopInMilliVolts,
188 float stepInMilliVolts,
189 int timeDeltaMilliSeconds,
218 void setIgap(
float Igap )
const;
266 typedef ::std::vector< IVPoint > IVDataVec;
273 bool doPowerRequested;
274 IVCurve( ) : doPowerRequested(
false ) { };
323 log4cpp::Category &log_;
324 carma::monitor::AntennaCommon & common_;
325 carma::monitor::StateMonitorPointEnum & state_;
326 carma::monitor::SisReceiver & mon_;
327 carma::monitor::Xac & xacMon_;
335 int pendingSequenceNumber;
336 unsigned int nPointsExpected;
337 unsigned int nPointsReceived;
340 } IVCurveCollationInfo;
342 IVCurveCollationInfo ivCurveCollationInfo_;
void setIjLoopMode(IjLoopModeType mode) const
Set Ij Loop Mode Determines whether the current in the mixer is controlled continuously or periodical...
void setVd(short stageNo, float VdInVolts) const
Set Vd.
Continuous adjustment of Ij to set value.
IjLoopModeType
Ij Loop Mode Enumerator.
virtual ~SisReceiver()
Destructor.
carma::canbus::MsgBriefMap getHalfSecMonitors() const
Retrieve brief description of this devices half second monitor points.
carma::canbus::MsgBriefMap getSlowMonitors() const
Retrieve brief description of this devices slow (5 second) monitor points.
void processMsg(carma::canbus::msgType mid, carma::canbus::DataVector &data, bool sim)
Process a CAN message from the SisReceiver module.
Declarations of carma::canbus types.
10m & 6m SIS Receiver Control CAN module device class.
Base Antenna IF CAN module device class.
Use value in this message.
Class to encapsulate a CAN message.
Continuous adjustment of Vj to set value.
void setLoAttenuation(float loAttenPercent) const
Set LO attenuation Sets the LO attenuation.
void setIgap(float Igap) const
Set Igap Sets the value of current to be used as the default for Igap measurements.
CurrentModeType
Current Mode Enumerator.
XacDevice canbus::device class implementation.
double fjd
Fractional Julian Day.
void setIj(float IjInMicroAmps) const
Set Ij Sets the SIS junction current.
void setVj(float VjInMilliVolts) const
Set Vj.
void getVgap(CurrentModeType mode, float Igap) const
Get Vgap Measures the junction gap voltage, which is reported in the blanking frames.
Use value stored in module.
unsigned short nodeType
Carma Node Type id type.
::std::map< ::carma::canbus::msgType,::std::string > MsgBriefMap
Alias for message descriptions keyed by message id.
carma::canbus::Message simulateMsg(carma::canbus::msgType mid)
Simulate a CAN message for the given message id.
SisReceiver(carma::canbus::nodeType node, carma::canbus::CanOutput &io, carma::monitor::AntennaCommon &antCommon, carma::monitor::StateMonitorPointEnum &state, carma::monitor::SisReceiver &sis, carma::monitor::Xac &xac, carma::antenna::common::AntennaIF &antIF)
Constructor.
Use a fixed number of iterations.
::std::vector< ::carma::canbus::byteType > DataVector
Alias for CAN data.
float Ij
Current in microAmps.
void doIVCurve(float startInMilliVolts, float stopInMilliVolts, float stepInMilliVolts, int timeDeltaMilliSeconds, int seqNo, bool doPower)
Do IV-Curve Measures and reports the junction IV-curve.
void tuneMixer(float frequencyInGhz) const
Tune mixer.
VjLoopModeType
Loop Mode Enumerator.
float Vj
Voltage in milliVolts.
carma::canbus::devices::XacDevice class declaration.
void setVjLoopMode(VjLoopModeType mode) const
Set Vj Loop Mode Determines whether the voltage on the mixer is controlled open or or closed (softwar...
Use a fixed number of iterations.
A simple wrapper class that makes use of ::pthread_mutex_t easier in a C++ world. ...
unsigned short msgType
Carma Message id type.
void setId(short stageNo, float IdInMilliAmps) const
Set Id.
IVCurve getIVCurve()
Retrieve IV Curve.
void setVg(short stageNo, float Vg) const
Set Vg.
void updateFrameData()
Update Frame Data.
DAC is set to nominal value for mixer voltage.
Determine current from IV-curve measurement.