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