From da4b526f815f81f744dc276e5fed58e39854bd47 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Mon, 19 Nov 2018 23:42:34 -0800 Subject: [PATCH] Added exit button and rig ID (was not useful) --- rigcommander.cpp | 18 ++++++++++++++++++ rigcommander.h | 1 + wfmain.cpp | 15 +++++++++++++++ wfmain.h | 5 ++++- wfmain.ui | 11 +++++++++-- 5 files changed, 47 insertions(+), 3 deletions(-) diff --git a/rigcommander.cpp b/rigcommander.cpp index c1cca71..fb47e31 100644 --- a/rigcommander.cpp +++ b/rigcommander.cpp @@ -428,6 +428,7 @@ void rigCommander::parseData(QByteArray dataInput) default: // could be for other equipment on the CIV network. // just drop for now. + // relaySendOutData(data); break; } } @@ -473,6 +474,11 @@ void rigCommander::parseCommand() // read levels parseLevels(); break; + case '\x19': + // qDebug() << "Have rig ID: " << (int)payloadIn[2]; + // printHex(payloadIn, false, true); + // This returns the CIV address of the radio. (94 by default) + break; case '\x27': // scope data //qDebug() << "Have scope data"; @@ -929,6 +935,18 @@ void rigCommander::getATUStatus() prepDataAndSend(payload); } +void rigCommander::getRigID() +{ + QByteArray payload; + payload.setRawData("\x19\x00", 2); + prepDataAndSend(payload); +} + + + + +// Other: + QByteArray rigCommander::stripData(const QByteArray &data, unsigned char cutPosition) { QByteArray rtndata; diff --git a/rigcommander.h b/rigcommander.h index 947e102..2aff6f2 100644 --- a/rigcommander.h +++ b/rigcommander.h @@ -49,6 +49,7 @@ public slots: void startATU(); void setATU(bool enabled); void getATUStatus(); + void getRigID(); void setCIVAddr(unsigned char civAddr); void handleNewData(const QByteArray &data); void getDebug(); diff --git a/wfmain.cpp b/wfmain.cpp index a37d7d7..a5ee4e6 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -89,6 +89,7 @@ wfmain::wfmain(QWidget *parent) : connect(rig, SIGNAL(haveSql(unsigned char)), this, SLOT(receiveSql(unsigned char))); connect(this, SIGNAL(startATU()), rig, SLOT(startATU())); connect(this, SIGNAL(setATU(bool)), rig, SLOT(setATU(bool))); + connect(this, SIGNAL(getRigID()), rig, SLOT(getRigID())); // Plot user interaction @@ -166,6 +167,8 @@ void wfmain::getInitialRigState() // Freq, Mode, Scope cent/fixed, scope span, edge setting // data mode (may be combined with scope mode) + cmdOutQue.append(cmdGetRigID); + cmdOutQue.append(cmdGetFreq); cmdOutQue.append(cmdGetMode); @@ -294,6 +297,12 @@ void wfmain::runDelayedCommand() qdCmd = cmdOutQue.takeFirst(); switch(qdCmd) { + case cmdNone: + qDebug() << "NOOP"; + break; + case cmdGetRigID: + emit getRigID(); + break; case cmdGetFreq: emit getFrequency(); break; @@ -1068,3 +1077,9 @@ void wfmain::on_tuneEnableChk_clicked(bool checked) showStatusBarText("Turning off ATU"); } } + +void wfmain::on_exitBtn_clicked() +{ + // Are you sure? + QApplication::exit(); +} diff --git a/wfmain.h b/wfmain.h index 44226ae..1d8e071 100644 --- a/wfmain.h +++ b/wfmain.h @@ -43,6 +43,7 @@ signals: void setAfGain(unsigned char level); void startATU(); void setATU(bool atuEnabled); + void getRigID(); void spectOutputEnable(); void spectOutputDisable(); void scopeDisplayEnable(); @@ -165,6 +166,8 @@ private slots: void on_tuneEnableChk_clicked(bool checked); + void on_exitBtn_clicked(); + private: Ui::wfmain *ui; QCustomPlot *plot; // line plot @@ -207,7 +210,7 @@ private: double oldUpperFreq; double freqMhz; double knobFreqMhz; - enum cmds {cmdNone, cmdGetFreq, cmdGetMode, cmdGetDataMode, cmdSetDataModeOn, cmdSetDataModeOff, + enum cmds {cmdNone, cmdGetRigID, cmdGetFreq, cmdGetMode, cmdGetDataMode, cmdSetDataModeOn, cmdSetDataModeOff, cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdGetAfGain, cmdGetSql}; cmds cmdOut; diff --git a/wfmain.ui b/wfmain.ui index 770c7ce..54bb082 100644 --- a/wfmain.ui +++ b/wfmain.ui @@ -18,7 +18,7 @@ - 0 + 3 @@ -1242,6 +1242,13 @@ + + + + Exit + + + @@ -1330,7 +1337,7 @@ 0 0 630 - 26 + 20