kopia lustrzana https://gitlab.com/eliggett/wfview
Cleaned up meter code, we can now query any meter we wish very easily,
either queued or directly.merge-requests/2/head
rodzic
b14c8392c7
commit
af2191da16
|
@ -1448,24 +1448,34 @@ void rigCommander::getLevels()
|
|||
// getAntiVoxGain(); // 0x17
|
||||
}
|
||||
|
||||
void rigCommander::getMeters(bool transmitting)
|
||||
void rigCommander::getMeters(meterKind meter)
|
||||
{
|
||||
// Nice function to just grab every meter
|
||||
|
||||
if(transmitting)
|
||||
switch(meter)
|
||||
{
|
||||
getRFPowerMeter();
|
||||
//getSWRMeter();
|
||||
//getALCMeter();
|
||||
//getCompReductionMeter();
|
||||
|
||||
} else {
|
||||
getSMeter();
|
||||
case meterS:
|
||||
getSMeter();
|
||||
break;
|
||||
case meterSWR:
|
||||
getSWRMeter();
|
||||
break;
|
||||
case meterPower:
|
||||
getRFPowerMeter();
|
||||
break;
|
||||
case meterALC:
|
||||
getALCMeter();
|
||||
break;
|
||||
case meterComp:
|
||||
getCompReductionMeter();
|
||||
break;
|
||||
case meterVoltage:
|
||||
getVdMeter();
|
||||
break;
|
||||
case meterCurrent:
|
||||
getIDMeter();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
//getVdMeter();
|
||||
//getIDMeter();
|
||||
|
||||
}
|
||||
|
||||
void rigCommander::getSMeter()
|
||||
|
|
|
@ -103,7 +103,7 @@ public slots:
|
|||
void getVdMeter();
|
||||
void getIDMeter();
|
||||
|
||||
void getMeters(bool transmitting); // all supported meters per transmit or receive
|
||||
void getMeters(meterKind meter); // all supported meters per transmit or receive
|
||||
|
||||
void setSquelch(unsigned char level);
|
||||
void setRfGain(unsigned char level);
|
||||
|
|
29
wfmain.cpp
29
wfmain.cpp
|
@ -274,7 +274,7 @@ wfmain::wfmain(const QString serialPortCL, const QString hostCL, QWidget *parent
|
|||
connect(delayedCommand, SIGNAL(timeout()), this, SLOT(runDelayedCommand()));
|
||||
|
||||
periodicPollingTimer = new QTimer(this);
|
||||
periodicPollingTimer->setInterval(50);
|
||||
periodicPollingTimer->setInterval(25);
|
||||
periodicPollingTimer->setSingleShot(false);
|
||||
connect(periodicPollingTimer, SIGNAL(timeout()), this, SLOT(runPeriodicCommands()));
|
||||
|
||||
|
@ -360,7 +360,7 @@ wfmain::wfmain(const QString serialPortCL, const QString hostCL, QWidget *parent
|
|||
connect(rig, SIGNAL(haveLANGain(unsigned char)), this, SLOT(receiveLANGain(unsigned char)));
|
||||
|
||||
//Metering:
|
||||
connect(this, SIGNAL(getMeters(bool)), rig, SLOT(getMeters(bool)));
|
||||
connect(this, SIGNAL(getMeters(meterKind)), rig, SLOT(getMeters(meterKind)));
|
||||
connect(rig, SIGNAL(haveMeter(meterKind,unsigned char)), this, SLOT(receiveMeter(meterKind,unsigned char)));
|
||||
|
||||
// Rig and ATU info:
|
||||
|
@ -1467,19 +1467,32 @@ void wfmain::runPeriodicCommands()
|
|||
break;
|
||||
|
||||
// Metering commands:
|
||||
case cmdGetRxLevels:
|
||||
case cmdGetTxLevels:
|
||||
emit getMeters(amTransmitting);
|
||||
break;
|
||||
case cmdGetSMeter:
|
||||
if(!amTransmitting)
|
||||
emit getMeters(meterS);
|
||||
break;
|
||||
case cmdGetPowerMeter:
|
||||
if(amTransmitting)
|
||||
emit getMeters(meterPower);
|
||||
break;
|
||||
case cmdGetIdMeter:
|
||||
emit getMeters(meterCurrent);
|
||||
break;
|
||||
case cmdGetVdMeter:
|
||||
emit getMeters(meterVoltage);
|
||||
break;
|
||||
case cmdGetALCMeter:
|
||||
if(amTransmitting)
|
||||
emit getMeters(meterALC);
|
||||
break;
|
||||
case cmdGetCompMeter:
|
||||
if(amTransmitting)
|
||||
emit getMeters(meterComp);
|
||||
break;
|
||||
|
||||
|
||||
// Standard commands we are already checking:
|
||||
|
||||
case cmdGetRigID:
|
||||
emit getRigID();
|
||||
break;
|
||||
|
@ -1819,8 +1832,8 @@ void wfmain::initPeriodicCommands()
|
|||
// The commands are run using a timer,
|
||||
// and the timer is started by the delayed command cmdStartPeriodicTimer.
|
||||
|
||||
insertPeriodicCommand(cmdGetRxLevels, 128);
|
||||
insertPeriodicCommand(cmdGetTxLevels, 128);
|
||||
insertPeriodicCommand(cmdGetSMeter, 128);
|
||||
insertPeriodicCommand(cmdGetPowerMeter, 128);
|
||||
}
|
||||
|
||||
void wfmain::insertPeriodicCommand(cmds cmd, unsigned char priority)
|
||||
|
|
4
wfmain.h
4
wfmain.h
|
@ -83,7 +83,7 @@ signals:
|
|||
void setUSBGain(unsigned char level);
|
||||
void setLANGain(unsigned char level);
|
||||
|
||||
void getMeters(bool isTransmitting);
|
||||
void getMeters(meterKind meter);
|
||||
|
||||
|
||||
|
||||
|
@ -475,7 +475,7 @@ private:
|
|||
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdGetAfGain,
|
||||
cmdGetSql, cmdGetATUStatus, cmdScopeCenterMode, cmdScopeFixedMode, cmdGetPTT,
|
||||
cmdGetTxPower, cmdGetMicGain, cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
|
||||
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdGetRxLevels, cmdGetTxLevels,
|
||||
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdGetVdMeter, cmdGetIdMeter,
|
||||
cmdGetSMeter, cmdGetPowerMeter, cmdGetALCMeter, cmdGetCompMeter};
|
||||
cmds cmdOut;
|
||||
QVector <cmds> cmdOutQue;
|
||||
|
|
Ładowanie…
Reference in New Issue