10 #include <QFileSystemWatcher>    25 #include "GUI/mixer.h"    26 #include "GUI/lownoiseamplifier.h"    76     virtual void run() = 0;
   109     virtual void run() = 0;
   185               double V0, 
double V1, 
int steps);
   270     Q_PROPERTY(
int yig READ getYIG WRITE updateYIG);
   271     Q_PROPERTY(InternalState state READ state WRITE setState NOTIFY stateChanged)
   272     Q_PROPERTY(TuneState tuneState READ tuneState WRITE setTuneState NOTIFY tuneStateChanged)
   276     static const double lockRange;
   277     static const float invalid;
   288     Q_ENUM(InternalState)
   314                double lowerYigLimit, 
double upperYigLimit, QObject *parent = 0);
   320     InternalState state()
 const { 
return m_state; }
   321     TuneState tuneState()
 const { 
return t_state; }
   333     void setMonitorChannels(
const QStringList &channels);
   354     float biasOffset(
int pol, 
int sis)
 const { 
return offV[pol][sis-1]; }
   388     QVector<double> 
biasTrace(
int pol, 
int sis)
 const { 
return t_mV[pol][sis-1]; }
   397     QVector<double> 
currentTrace(
int pol, 
int sis)
 const { 
return t_uA[pol][sis-1]; }
   408     QVector<double> 
powerTrace(
int pol, 
int sis)
 const { 
return t_mW[pol][sis-1]; }
   832     void setCoarseTune(
unsigned short value)  { setWord(
"SET_YTO_COARSE_TUNE", value); }
   843     virtual void tuneLO(
double ghz, 
int harmonic) = 0;
   857     virtual void tuneMixer(
Mixer::Polarization pol, 
float bias[2], 
float Igoal, 
float power, 
float maxPower) = 0;
   865     void tuneSynthesizer(
double WCAfreq, 
int harmonic, 
bool upper);
   908     virtual void initBand(
bool withDeflux) = 0;
   917     virtual void shutdownBand() = 0;
   927     virtual void tuneLO(
double ghz);
   944     void tuneSystem(
double ghz);
   981     void demagnetizeMixers(
bool p0s1, 
bool p0s2, 
bool p1s1, 
bool p1s2);
   989     void defluxMixers(
bool p0, 
bool p1);
   994     void setLNADefaults();
  1020     void updateYIG(
int value);
  1026     void changeSynthFreq(
double ghz);
  1032     void changeSynthLevel(
double dBm);
  1038     void switchSynth(
bool flag);
  1058     void scanMixers(
double from, 
double to, 
int steps);
  1063     void resetSisVoltages();
  1068     void resetCoilCurrents();
  1078     void setCoilCurrents();
  1083     void setPaGateVoltages();
  1096                    QVector<double> x, QVector<double> y, QVector<double> z,
  1097                    const QString &xlab = QString::fromUtf8(
"mixer bias [mV]"),
  1098                    const QString &ylab = QString::fromUtf8(
"mixer current [µA]"));
  1107     bool pllControl(
float *vcorr, 
float *vlock);
  1114     void cryoControl(
bool flag);
  1121     void preparePLL(
bool upper);
  1138     float getRealValue(QString name);
  1145     bool getFlag(QString name);
  1152     unsigned short getWord(QString name);
  1154     void updateCryo(
float T4K, 
float T12K, 
float chanC, 
float chanD, 
float p);
  1162     void setFlag(QString name, 
bool flag);
  1169     void setRealValue(QString name, 
float v);
  1176     void setWord(QString name, 
unsigned short w);
  1179     void stateChanged(Cartridge::InternalState s);
  1180     void tuneStateChanged(Cartridge::TuneState s);
  1200     void faulted(Sepia::ErrorCode code);
  1209     void pllStatus(
bool locked, 
float Vlock, 
float Vcorr);
  1220     void updateMonitorItem(
const QString &name, DWORD addr, 
float v, 
char unit, 
int gain);
  1226     void percentDone(
int percent);
  1232     void statusMessage(
const QString &msg);
  1238     void synthConnected(
bool flag);
  1240     void mcConnected(
bool flag);
  1241     void mcEnabled(
bool flag);
  1247     void synthSwitched(
bool on);
  1253     void synthFreqChanged(
double ghz);
  1259     void synthLevelChanged(
double dbm);
  1265     void yigChanged(
int value);
  1278                     int i, 
double mV, 
double mA, 
double mW);
  1292                     QVector<double> x, QVector<double> y, QVector<double> z,
  1293                     const QString &xlab, 
const QString &ylab);
  1298     void LOtuned(
bool ok);
  1304     void LOmodified(
bool flag);
  1310     void newCmdLOfrequency(
double ghz);
  1316     void newCmdHarmonic(
int harmonic);
  1330     void systemTuned(
bool ok);
  1447     void stabilize(
double T);
  1450     void timerEvent(QTimerEvent *event);
  1451     void mcError(DWORD status);
  1452     void getBandSettings();
  1453     void synthConnected();
  1454     void synthDisconnected();
  1455     void setTuneState(TuneState s);
  1459     void getMonitoring(
int i);
  1460     void getHouseKeeping();
  1462     bool needLOTuning();
  1466     QFileSystemWatcher *watcher;
  1468     const QString bandname;
  1470     InternalState m_state;
  1476     QStringList monitorChannels;
  1490     float drainV[2][2][3];
  1491     float drainC[2][2][3];
  1534     QVector<double> t_mV[2][2];
  1535     QVector<double> t_uA[2][2];
  1536     QVector<double> t_mW[2][2];
  1539     void setState(InternalState s);
  1542 Q_DECLARE_METATYPE(DWORD)
  1543 Q_DECLARE_METATYPE(QVector<double>)
  1545 #endif  // CARTRIDGE_H void setAmcBGateVoltage(float V)
Set the AMC-B gate voltage. 
Definition: cartridge.h:635
A class to control the power meter. 
Definition: powermeter.h:19
float amcMultiDVoltage()
Get the current AMC-MULT_D voltage. 
Definition: cartridge.h:708
Stage
An enumeration for the stages of a low noise amplifier. 
Definition: constants.h:35
float pllIfTotalPower()
Get the PLL IF total power. 
Definition: cartridge.h:791
double upperLimit() const
Return the upper limit of the LO tuning range in GHz. 
Definition: cartridge.h:345
void setPllLoopBandwidth(bool flag)
Set/clear PLL loop bandwidth. 
Definition: cartridge.h:820
void setPllSideband(bool lower)
Set PLL sideband. 
Definition: cartridge.h:826
float biasOffset(int pol, int sis) const
Return the bias offset. 
Definition: cartridge.h:354
Virtual class to run a mixer operations in parallel. 
Definition: cartridge.h:62
A class representing a LO/mixer tuning. 
Definition: tuning.h:16
A header file for commonly used constants. 
double lowerLimit() const
Return the lower limit of the LO tuning range in GHz. 
Definition: cartridge.h:339
float currentOffset(int pol, int sis) const
Return the current offset. 
Definition: cartridge.h:363
A class for taking an IV curve. 
Definition: cartridge.h:171
double synthFreq() const
Get the current synthesizer frequency. 
Definition: cartridge.h:422
void setNullPllIntegrator(bool flag)
Set/clear null PLL integrator. 
Definition: cartridge.h:814
Polarization
An enumeration for the two polarizations. 
Definition: constants.h:9
virtual void run()=0
Run method needs to be implemented by all derived classes. 
float amcADrainVoltage()
Get the current AMC_A drain voltage. 
Definition: cartridge.h:660
bool LOlockLatch()
Get the state of the PLL lock latch. 
Definition: cartridge.h:803
A class to handle all communication with the M&C unit via CANbus. 
Definition: mcunit.h:34
float amcADrainCurrent()
Get the current AMC_A drain current. 
Definition: cartridge.h:666
Element
An enumeration for the two mixer elements in each polarization. 
Definition: constants.h:17
float pllLockVoltage()
Get the PLL lock voltage. 
Definition: cartridge.h:773
void setAmcBDrainVoltage(float V)
Set the AMC-B drain voltage. 
Definition: cartridge.h:617
A class to control the Anritsu synthesizer. 
Definition: anritsu.h:18
void setAmcADrainVoltage(float V)
Set the AMC-A drain voltage. 
Definition: cartridge.h:611
Virtual class to run mixer operations in parallel. 
Definition: cartridge.h:94
int getYIG() const
Get the lates YIG setting. 
Definition: cartridge.h:415
PolRunnable(Cartridge *parent, Mixer::Polarization pol)
Constructor. 
Definition: cartridge.cpp:54
A virtual class representing a cartridge. 
Definition: cartridge.h:267
void LOclearLatch()
Clear the PLL lock latch. 
Definition: cartridge.h:808
float amcMonitor5V()
Get the AMC 5V monitor signal. 
Definition: cartridge.h:714
float amcEDrainVoltage()
Get the current AMC_E drain voltage. 
Definition: cartridge.h:696
float amcEDrainCurrent()
Get the current AMC_E drain current. 
Definition: cartridge.h:702
float amcAGateVoltage()
Get the current AMC_A gate voltage. 
Definition: cartridge.h:654
Layout of the local network. 
A class for demagnetizing a mixer element. 
Definition: cartridge.h:205
A class representing a LO/mixer tuning. 
QVector< double > biasTrace(int pol, int sis) const
Retrieve the results for the mixer bias from the latest IV scan. 
Definition: cartridge.h:388
A class to parse Andrey Ermakov's ini file. 
Definition: inireader.h:40
float amcBGateVoltage()
Get the current AMC_B gate voltage. 
Definition: cartridge.h:672
void setAmcAGateVoltage(float V)
Set the AMC-A gate voltage. 
Definition: cartridge.h:629
void setAmcEDrainVoltage(float V)
Set the AMC-E drain voltage. 
Definition: cartridge.h:623
float amcBDrainVoltage()
Get the current AMC_B drain voltage. 
Definition: cartridge.h:678
float gateVoltagePreset(int pol) const
Return the default setting of the gate voltage. 
Definition: cartridge.h:379
QVector< double > powerTrace(int pol, int sis) const
Retrieve the results for the total power from the latest IV scan. 
Definition: cartridge.h:408
double synthLevel() const
Get the current synthesizer level setting. 
Definition: cartridge.h:429
A class for setting the coil current. 
Definition: cartridge.h:146
Channel
An enumeration for the three SEPIA channels (cartridges). 
Definition: constants.h:66
float coilCurrentPreset(int pol, int sis) const
Return the default setting of the coil current. 
Definition: cartridge.h:372
float pllAssemblyTemperature()
Get the PLL assembly temperature. 
Definition: cartridge.h:797
QVector< double > currentTrace(int pol, int sis) const
Retrieve the results for the mixer current from the latest IV scan. 
Definition: cartridge.h:397
QMutex * mutex(Mixer::Polarization pol, Mixer::Element sis)
Return a pointer to the mutex associated with given mixer element. 
Definition: cartridge.cpp:24
void setCoarseTune(unsigned short value)
update YIG oscillator setting 
Definition: cartridge.h:832
float pllCorrVoltage()
Get the PLL correction voltage. 
Definition: cartridge.h:779
float amcEGateVoltage()
Get the current AMC_E gate voltage. 
Definition: cartridge.h:690
void setAmcDMultVoltage(float V)
Set the AMC-MULT_D voltage. 
Definition: cartridge.h:648
A class for setting the mixer bias. 
Definition: cartridge.h:121
float amcBDrainCurrent()
Get the current AMC_B drain current. 
Definition: cartridge.h:684
float pllRefTotalPower()
Get the PLL reference total power. 
Definition: cartridge.h:785
A class to perform a deflux operation. 
Definition: cartridge.h:227
void setAmcEGateVoltage(float V)
Set the AMC-E gate voltage. 
Definition: cartridge.h:641