kopia lustrzana https://gitlab.com/eliggett/wfview
Added MS and AB VFO operations.
rodzic
be0aee6183
commit
f660681c53
|
@ -50,7 +50,6 @@ void repeaterSetup::setRig(rigCapabilities inRig)
|
||||||
ui->toneTone->setDisabled(true);
|
ui->toneTone->setDisabled(true);
|
||||||
ui->toneTSQL->setDisabled(true);
|
ui->toneTSQL->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(rig.hasDTCS)
|
if(rig.hasDTCS)
|
||||||
{
|
{
|
||||||
ui->rptDTCSCombo->setDisabled(false);
|
ui->rptDTCSCombo->setDisabled(false);
|
||||||
|
@ -63,6 +62,36 @@ void repeaterSetup::setRig(rigCapabilities inRig)
|
||||||
ui->rptDTCSInvertRx->setDisabled(true);
|
ui->rptDTCSInvertRx->setDisabled(true);
|
||||||
ui->rptDTCSInvertTx->setDisabled(true);
|
ui->rptDTCSInvertTx->setDisabled(true);
|
||||||
}
|
}
|
||||||
|
if(rig.hasVFOAB)
|
||||||
|
{
|
||||||
|
ui->selABtn->setDisabled(false);
|
||||||
|
ui->selBBtn->setDisabled(false);
|
||||||
|
ui->aEqBBtn->setDisabled(false);
|
||||||
|
ui->swapABBtn->setDisabled(false);
|
||||||
|
} else {
|
||||||
|
ui->selABtn->setDisabled(true);
|
||||||
|
ui->selBBtn->setDisabled(true);
|
||||||
|
ui->aEqBBtn->setDisabled(true);
|
||||||
|
ui->swapABBtn->setDisabled(true);
|
||||||
|
}
|
||||||
|
if(rig.hasVFOMS)
|
||||||
|
{
|
||||||
|
ui->selMainBtn->setDisabled(false);
|
||||||
|
ui->selSubBtn->setDisabled(false);
|
||||||
|
ui->mEqSBtn->setDisabled(false);
|
||||||
|
ui->swapMSBtn->setDisabled(false);
|
||||||
|
} else {
|
||||||
|
ui->selMainBtn->setDisabled(true);
|
||||||
|
ui->selSubBtn->setDisabled(true);
|
||||||
|
ui->mEqSBtn->setDisabled(true);
|
||||||
|
ui->swapMSBtn->setDisabled(true);
|
||||||
|
}
|
||||||
|
if(rig.hasVFOMS && rig.hasVFOAB)
|
||||||
|
{
|
||||||
|
// Rigs that have both AB and MS
|
||||||
|
// do not have a swap AB command.
|
||||||
|
ui->swapABBtn->setDisabled(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void repeaterSetup::populateTones()
|
void repeaterSetup::populateTones()
|
||||||
|
@ -594,3 +623,47 @@ void repeaterSetup::on_splitTxFreqSetBtn_clicked()
|
||||||
emit setTransmitMode(modeTransmitVFO);
|
emit setTransmitMode(modeTransmitVFO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_selABtn_clicked()
|
||||||
|
{
|
||||||
|
vfo_t v = vfoA;
|
||||||
|
emit selectVFO(v);
|
||||||
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_selBBtn_clicked()
|
||||||
|
{
|
||||||
|
vfo_t v = vfoB;
|
||||||
|
emit selectVFO(v);
|
||||||
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_aEqBBtn_clicked()
|
||||||
|
{
|
||||||
|
emit equalizeVFOsAB();
|
||||||
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_swapABBtn_clicked()
|
||||||
|
{
|
||||||
|
emit swapVFOs();
|
||||||
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_selMainBtn_clicked()
|
||||||
|
{
|
||||||
|
vfo_t v = vfoMain;
|
||||||
|
emit selectVFO(v);
|
||||||
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_selSubBtn_clicked()
|
||||||
|
{
|
||||||
|
vfo_t v = vfoSub;
|
||||||
|
emit selectVFO(v);
|
||||||
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_mEqSBtn_clicked()
|
||||||
|
{
|
||||||
|
emit equalizeVFOsMS();
|
||||||
|
}
|
||||||
|
|
||||||
|
void repeaterSetup::on_swapMSBtn_clicked()
|
||||||
|
{
|
||||||
|
emit swapVFOs();
|
||||||
|
}
|
||||||
|
|
|
@ -38,6 +38,11 @@ signals:
|
||||||
// void setSplitModeEnabled(bool splitEnabled);
|
// void setSplitModeEnabled(bool splitEnabled);
|
||||||
void setTransmitFrequency(freqt transmitFreq);
|
void setTransmitFrequency(freqt transmitFreq);
|
||||||
void setTransmitMode(mode_info m);
|
void setTransmitMode(mode_info m);
|
||||||
|
// VFO:
|
||||||
|
void selectVFO(vfo_t v); // A,B,M,S
|
||||||
|
void equalizeVFOsAB();
|
||||||
|
void equalizeVFOsMS();
|
||||||
|
void swapVFOs();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void receiveDuplexMode(duplexMode dm);
|
void receiveDuplexMode(duplexMode dm);
|
||||||
|
@ -72,6 +77,22 @@ private slots:
|
||||||
|
|
||||||
void on_splitTxFreqSetBtn_clicked();
|
void on_splitTxFreqSetBtn_clicked();
|
||||||
|
|
||||||
|
void on_selABtn_clicked();
|
||||||
|
|
||||||
|
void on_selBBtn_clicked();
|
||||||
|
|
||||||
|
void on_aEqBBtn_clicked();
|
||||||
|
|
||||||
|
void on_swapABBtn_clicked();
|
||||||
|
|
||||||
|
void on_selMainBtn_clicked();
|
||||||
|
|
||||||
|
void on_selSubBtn_clicked();
|
||||||
|
|
||||||
|
void on_mEqSBtn_clicked();
|
||||||
|
|
||||||
|
void on_swapMSBtn_clicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::repeaterSetup *ui;
|
Ui::repeaterSetup *ui;
|
||||||
freqt currentMainFrequency;
|
freqt currentMainFrequency;
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>922</width>
|
<width>1198</width>
|
||||||
<height>217</height>
|
<height>217</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
|
@ -228,6 +228,71 @@
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox">
|
||||||
|
<property name="title">
|
||||||
|
<string>VFO</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QPushButton" name="swapABBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Swap AB</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="QPushButton" name="selSubBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Sel Sub</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QPushButton" name="selMainBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Sel Main</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QPushButton" name="selBBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Sel B</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QPushButton" name="selABtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Sel A</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QPushButton" name="aEqBBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>A=B</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QPushButton" name="mEqSBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>M=S</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="QPushButton" name="swapMSBtn">
|
||||||
|
<property name="text">
|
||||||
|
<string>Swap MS</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="groupBox_2">
|
<widget class="QGroupBox" name="groupBox_2">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
|
|
|
@ -657,6 +657,44 @@ void rigCommander::setFrequency(unsigned char vfo, freqt freq)
|
||||||
prepDataAndSend(cmdPayload);
|
prepDataAndSend(cmdPayload);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void rigCommander::selectVFO(vfo_t vfo)
|
||||||
|
{
|
||||||
|
// Note, some radios use main/sub,
|
||||||
|
// some use A/B,
|
||||||
|
// and some appear to use both...
|
||||||
|
QByteArray payload;
|
||||||
|
|
||||||
|
char vfoBytes[1];
|
||||||
|
vfoBytes[0] = (unsigned char)vfo;
|
||||||
|
|
||||||
|
payload.setRawData("\x07", 1);
|
||||||
|
payload.append(vfoBytes, 1);
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rigCommander::equalizeVFOsAB()
|
||||||
|
{
|
||||||
|
QByteArray payload;
|
||||||
|
payload.setRawData("\x07\xA0", 2);
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rigCommander::equalizeVFOsMS()
|
||||||
|
{
|
||||||
|
QByteArray payload;
|
||||||
|
payload.setRawData("\x07\xB1", 2);
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
|
void rigCommander::exchangeVFOs()
|
||||||
|
{
|
||||||
|
// NB: This command exchanges A-B or M-S
|
||||||
|
// depending upon the radio.
|
||||||
|
QByteArray payload;
|
||||||
|
payload.setRawData("\x07\xB0", 2);
|
||||||
|
prepDataAndSend(payload);
|
||||||
|
}
|
||||||
|
|
||||||
QByteArray rigCommander::makeFreqPayload(freqt freq)
|
QByteArray rigCommander::makeFreqPayload(freqt freq)
|
||||||
{
|
{
|
||||||
QByteArray result;
|
QByteArray result;
|
||||||
|
@ -3333,7 +3371,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bands.insert(rigCaps.bands.end(), { bandDef4m, bandDef630m, bandDef2200m, bandDefGen });
|
rigCaps.bands.insert(rigCaps.bands.end(), { bandDef4m, bandDef630m, bandDef2200m, bandDefGen });
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x71");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x71");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case modelR8600:
|
case modelR8600:
|
||||||
rigCaps.modelName = QString("IC-R8600");
|
rigCaps.modelName = QString("IC-R8600");
|
||||||
|
@ -3371,6 +3410,8 @@ void rigCommander::determineRigCaps()
|
||||||
createMode(modeDCR, 0x21, "DCR")});
|
createMode(modeDCR, 0x21, "DCR")});
|
||||||
rigCaps.scopeCenterSpans.insert(rigCaps.scopeCenterSpans.end(), {createScopeCenter(cs1M, "±1M"), createScopeCenter(cs2p5M, "±2.5M")});
|
rigCaps.scopeCenterSpans.insert(rigCaps.scopeCenterSpans.end(), {createScopeCenter(cs1M, "±1M"), createScopeCenter(cs2p5M, "±2.5M")});
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x92");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x92");
|
||||||
|
rigCaps.hasVFOMS = true; // not documented very well
|
||||||
|
rigCaps.hasVFOAB = true; // so we just do both...
|
||||||
break;
|
break;
|
||||||
case model9700:
|
case model9700:
|
||||||
rigCaps.modelName = QString("IC-9700");
|
rigCaps.modelName = QString("IC-9700");
|
||||||
|
@ -3401,6 +3442,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeDV, 0x17, "DV"),
|
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeDV, 0x17, "DV"),
|
||||||
createMode(modeDD, 0x22, "DD")});
|
createMode(modeDD, 0x22, "DD")});
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x27");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x27");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model910h:
|
case model910h:
|
||||||
rigCaps.modelName = QString("IC-910H");
|
rigCaps.modelName = QString("IC-910H");
|
||||||
|
@ -3424,6 +3467,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[band2m] = 0x01;
|
rigCaps.bsr[band2m] = 0x01;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x58");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x58");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model7600:
|
case model7600:
|
||||||
rigCaps.modelName = QString("IC-7600");
|
rigCaps.modelName = QString("IC-7600");
|
||||||
|
@ -3450,6 +3495,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.modes.insert(rigCaps.modes.end(), { createMode(modePSK, 0x12, "PSK"),
|
rigCaps.modes.insert(rigCaps.modes.end(), { createMode(modePSK, 0x12, "PSK"),
|
||||||
createMode(modePSK_R, 0x13, "PSK-R") });
|
createMode(modePSK_R, 0x13, "PSK-R") });
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x97");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x97");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = false;
|
||||||
break;
|
break;
|
||||||
case model7610:
|
case model7610:
|
||||||
rigCaps.modelName = QString("IC-7610");
|
rigCaps.modelName = QString("IC-7610");
|
||||||
|
@ -3483,6 +3530,9 @@ void rigCommander::determineRigCaps()
|
||||||
createMode(modePSK_R, 0x13, "PSK-R") });
|
createMode(modePSK_R, 0x13, "PSK-R") });
|
||||||
rigCaps.hasRXAntenna = true;
|
rigCaps.hasRXAntenna = true;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x12");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x12");
|
||||||
|
rigCaps.hasSpecifyMainSubCmd = true;
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = false;
|
||||||
break;
|
break;
|
||||||
case model7850:
|
case model7850:
|
||||||
rigCaps.modelName = QString("IC-785x");
|
rigCaps.modelName = QString("IC-785x");
|
||||||
|
@ -3515,6 +3565,9 @@ void rigCommander::determineRigCaps()
|
||||||
createMode(modePSK_R, 0x13, "PSK-R")});
|
createMode(modePSK_R, 0x13, "PSK-R")});
|
||||||
rigCaps.hasRXAntenna = true;
|
rigCaps.hasRXAntenna = true;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x55");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x55");
|
||||||
|
rigCaps.hasSpecifyMainSubCmd = true;
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = false;
|
||||||
break;
|
break;
|
||||||
case model705:
|
case model705:
|
||||||
rigCaps.modelName = QString("IC-705");
|
rigCaps.modelName = QString("IC-705");
|
||||||
|
@ -3549,6 +3602,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"),
|
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"),
|
||||||
createMode(modeDV, 0x17, "DV")});
|
createMode(modeDV, 0x17, "DV")});
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x31");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x31");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model7000:
|
case model7000:
|
||||||
rigCaps.modelName = QString("IC-7000");
|
rigCaps.modelName = QString("IC-7000");
|
||||||
|
@ -3573,6 +3628,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x13;
|
rigCaps.bsr[bandGen] = 0x13;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x92");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x92");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model7410:
|
case model7410:
|
||||||
rigCaps.modelName = QString("IC-7410");
|
rigCaps.modelName = QString("IC-7410");
|
||||||
|
@ -3596,6 +3653,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x11;
|
rigCaps.bsr[bandGen] = 0x11;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x40");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x40");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model7100:
|
case model7100:
|
||||||
rigCaps.modelName = QString("IC-7100");
|
rigCaps.modelName = QString("IC-7100");
|
||||||
|
@ -3624,6 +3683,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"),
|
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"),
|
||||||
createMode(modeDV, 0x17, "DV")});
|
createMode(modeDV, 0x17, "DV")});
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x95");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x95");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model7200:
|
case model7200:
|
||||||
rigCaps.modelName = QString("IC-7200");
|
rigCaps.modelName = QString("IC-7200");
|
||||||
|
@ -3646,6 +3707,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x11;
|
rigCaps.bsr[bandGen] = 0x11;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x03\x48");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x03\x48");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model7700:
|
case model7700:
|
||||||
rigCaps.modelName = QString("IC-7700");
|
rigCaps.modelName = QString("IC-7700");
|
||||||
|
@ -3672,6 +3735,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modePSK, 0x12, "PSK"),
|
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modePSK, 0x12, "PSK"),
|
||||||
createMode(modePSK_R, 0x13, "PSK-R")});
|
createMode(modePSK_R, 0x13, "PSK-R")});
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x95");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x95");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model703:
|
case model703:
|
||||||
rigCaps.modelName = QString("IC-703");
|
rigCaps.modelName = QString("IC-703");
|
||||||
|
@ -3714,6 +3779,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.modes.insert(rigCaps.modes.end(), createMode(modeWFM, 0x06, "WFM"));
|
rigCaps.modes.insert(rigCaps.modes.end(), createMode(modeWFM, 0x06, "WFM"));
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model718:
|
case model718:
|
||||||
rigCaps.modelName = QString("IC-718");
|
rigCaps.modelName = QString("IC-718");
|
||||||
|
@ -3740,7 +3807,9 @@ void rigCommander::determineRigCaps()
|
||||||
createMode(modeRTTY, 0x04, "RTTY"), createMode(modeRTTY_R, 0x08, "RTTY-R")
|
createMode(modeRTTY, 0x04, "RTTY"), createMode(modeRTTY_R, 0x08, "RTTY-R")
|
||||||
};
|
};
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
break;
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
|
break;
|
||||||
case model736:
|
case model736:
|
||||||
rigCaps.modelName = QString("IC-736");
|
rigCaps.modelName = QString("IC-736");
|
||||||
rigCaps.rigctlModel = 3020;
|
rigCaps.rigctlModel = 3020;
|
||||||
|
@ -3761,6 +3830,8 @@ void rigCommander::determineRigCaps()
|
||||||
createMode(modeAM, 0x02, "AM"), createMode(modeFM, 0x05, "FM"),
|
createMode(modeAM, 0x02, "AM"), createMode(modeFM, 0x05, "FM"),
|
||||||
createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"),
|
createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"),
|
||||||
};
|
};
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model737:
|
case model737:
|
||||||
rigCaps.modelName = QString("IC-737");
|
rigCaps.modelName = QString("IC-737");
|
||||||
|
@ -3782,6 +3853,8 @@ void rigCommander::determineRigCaps()
|
||||||
createMode(modeAM, 0x02, "AM"), createMode(modeFM, 0x05, "FM"),
|
createMode(modeAM, 0x02, "AM"), createMode(modeFM, 0x05, "FM"),
|
||||||
createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"),
|
createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"),
|
||||||
};
|
};
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model738:
|
case model738:
|
||||||
rigCaps.modelName = QString("IC-738");
|
rigCaps.modelName = QString("IC-738");
|
||||||
|
@ -3803,6 +3876,8 @@ void rigCommander::determineRigCaps()
|
||||||
createMode(modeAM, 0x02, "AM"), createMode(modeFM, 0x05, "FM"),
|
createMode(modeAM, 0x02, "AM"), createMode(modeFM, 0x05, "FM"),
|
||||||
createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"),
|
createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"),
|
||||||
};
|
};
|
||||||
|
rigCaps.hasVFOMS = false;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model746:
|
case model746:
|
||||||
rigCaps.modelName = QString("IC-746");
|
rigCaps.modelName = QString("IC-746");
|
||||||
|
@ -3830,6 +3905,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bands.push_back(bandDefGen);
|
rigCaps.bands.push_back(bandDefGen);
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
case model756:
|
case model756:
|
||||||
rigCaps.modelName = QString("IC-756");
|
rigCaps.modelName = QString("IC-756");
|
||||||
|
@ -3851,6 +3928,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x11;
|
rigCaps.bsr[bandGen] = 0x11;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = false;
|
||||||
break;
|
break;
|
||||||
case model756pro:
|
case model756pro:
|
||||||
rigCaps.modelName = QString("IC-756 Pro");
|
rigCaps.modelName = QString("IC-756 Pro");
|
||||||
|
@ -3872,6 +3951,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x11;
|
rigCaps.bsr[bandGen] = 0x11;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = false;
|
||||||
break;
|
break;
|
||||||
case model756proii:
|
case model756proii:
|
||||||
rigCaps.modelName = QString("IC-756 Pro II");
|
rigCaps.modelName = QString("IC-756 Pro II");
|
||||||
|
@ -3893,6 +3974,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x11;
|
rigCaps.bsr[bandGen] = 0x11;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = false;
|
||||||
break;
|
break;
|
||||||
case model756proiii:
|
case model756proiii:
|
||||||
rigCaps.modelName = QString("IC-756 Pro III");
|
rigCaps.modelName = QString("IC-756 Pro III");
|
||||||
|
@ -3914,6 +3997,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x11;
|
rigCaps.bsr[bandGen] = 0x11;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = false;
|
||||||
break;
|
break;
|
||||||
case model9100:
|
case model9100:
|
||||||
rigCaps.modelName = QString("IC-9100");
|
rigCaps.modelName = QString("IC-9100");
|
||||||
|
@ -3942,6 +4027,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bsr[bandGen] = 0x14;
|
rigCaps.bsr[bandGen] = 0x14;
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeDV, 0x17, "DV")});
|
rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeDV, 0x17, "DV")});
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
rigCaps.modelName = QString("IC-0x%1").arg(rigCaps.modelID, 2, 16);
|
rigCaps.modelName = QString("IC-0x%1").arg(rigCaps.modelID, 2, 16);
|
||||||
|
@ -3964,6 +4051,8 @@ void rigCommander::determineRigCaps()
|
||||||
rigCaps.bands.insert(rigCaps.bands.end(), {bandDef23cm, bandDef4m, bandDef630m, bandDef2200m, bandDefGen});
|
rigCaps.bands.insert(rigCaps.bands.end(), {bandDef23cm, bandDef4m, bandDef630m, bandDef2200m, bandDefGen});
|
||||||
rigCaps.modes = commonModes;
|
rigCaps.modes = commonModes;
|
||||||
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00");
|
||||||
|
rigCaps.hasVFOMS = true;
|
||||||
|
rigCaps.hasVFOAB = true;
|
||||||
qInfo(logRig()) << "Found unknown rig: 0x" << QString("%1").arg(rigCaps.modelID, 2, 16);
|
qInfo(logRig()) << "Found unknown rig: 0x" << QString("%1").arg(rigCaps.modelID, 2, 16);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,6 +71,10 @@ public slots:
|
||||||
// Frequency, Mode, BSR:
|
// Frequency, Mode, BSR:
|
||||||
void setFrequency(unsigned char vfo, freqt freq);
|
void setFrequency(unsigned char vfo, freqt freq);
|
||||||
void getFrequency();
|
void getFrequency();
|
||||||
|
void selectVFO(vfo_t vfo);
|
||||||
|
void equalizeVFOsAB();
|
||||||
|
void equalizeVFOsMS();
|
||||||
|
void exchangeVFOs();
|
||||||
void setMode(unsigned char mode, unsigned char modeFilter);
|
void setMode(unsigned char mode, unsigned char modeFilter);
|
||||||
void setMode(mode_info);
|
void setMode(mode_info);
|
||||||
void getMode();
|
void getMode();
|
||||||
|
|
|
@ -147,6 +147,10 @@ struct rigCapabilities {
|
||||||
|
|
||||||
bool hasRXAntenna;
|
bool hasRXAntenna;
|
||||||
|
|
||||||
|
bool hasSpecifyMainSubCmd = false; // 0x29
|
||||||
|
bool hasVFOMS = false;
|
||||||
|
bool hasVFOAB = true; // 0x07 [00||01]
|
||||||
|
|
||||||
std::vector <unsigned char> attenuators;
|
std::vector <unsigned char> attenuators;
|
||||||
std::vector <unsigned char> preamps;
|
std::vector <unsigned char> preamps;
|
||||||
std::vector <unsigned char> antennas;
|
std::vector <unsigned char> antennas;
|
||||||
|
|
46
wfmain.cpp
46
wfmain.cpp
|
@ -61,6 +61,7 @@ wfmain::wfmain(const QString settingsFile, const QString logFile, bool debugMode
|
||||||
qRegisterMetaType<meterKind>();
|
qRegisterMetaType<meterKind>();
|
||||||
qRegisterMetaType<spectrumMode>();
|
qRegisterMetaType<spectrumMode>();
|
||||||
qRegisterMetaType<freqt>();
|
qRegisterMetaType<freqt>();
|
||||||
|
qRegisterMetaType<vfo_t>();
|
||||||
qRegisterMetaType<mode_info>();
|
qRegisterMetaType<mode_info>();
|
||||||
qRegisterMetaType<mode_kind>();
|
qRegisterMetaType<mode_kind>();
|
||||||
qRegisterMetaType<audioPacket>();
|
qRegisterMetaType<audioPacket>();
|
||||||
|
@ -343,6 +344,11 @@ void wfmain::rigConnections()
|
||||||
connect(this, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool)));
|
connect(this, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool)));
|
||||||
connect(this, SIGNAL(getPTT()), rig, SLOT(getPTT()));
|
connect(this, SIGNAL(getPTT()), rig, SLOT(getPTT()));
|
||||||
|
|
||||||
|
connect(this, SIGNAL(selectVFO(vfo_t)), rig, SLOT(selectVFO(vfo_t)));
|
||||||
|
connect(this, SIGNAL(sendVFOSwap()), rig, SLOT(exchangeVFOs()));
|
||||||
|
connect(this, SIGNAL(sendVFOEqualAB()), rig, SLOT(equalizeVFOsAB()));
|
||||||
|
connect(this, SIGNAL(sendVFOEqualMS()), rig, SLOT(equalizeVFOsMS()));
|
||||||
|
|
||||||
connect(this, SIGNAL(sendCW(QString)), rig, SLOT(sendCW(QString)));
|
connect(this, SIGNAL(sendCW(QString)), rig, SLOT(sendCW(QString)));
|
||||||
connect(this, SIGNAL(stopCW()), rig, SLOT(sendStopCW()));
|
connect(this, SIGNAL(stopCW()), rig, SLOT(sendStopCW()));
|
||||||
connect(this, SIGNAL(setKeySpeed(unsigned char)), rig, SLOT(setKeySpeed(unsigned char)));
|
connect(this, SIGNAL(setKeySpeed(unsigned char)), rig, SLOT(setKeySpeed(unsigned char)));
|
||||||
|
@ -390,9 +396,16 @@ void wfmain::rigConnections()
|
||||||
connect(rig, SIGNAL(haveRptAccessMode(rptAccessTxRx)), rpt, SLOT(handleRptAccessMode(rptAccessTxRx)));
|
connect(rig, SIGNAL(haveRptAccessMode(rptAccessTxRx)), rpt, SLOT(handleRptAccessMode(rptAccessTxRx)));
|
||||||
connect(this->rpt, &repeaterSetup::setTransmitFrequency,
|
connect(this->rpt, &repeaterSetup::setTransmitFrequency,
|
||||||
[=](const freqt &transmitFreq) { issueCmd(cmdSetFreq, transmitFreq);});
|
[=](const freqt &transmitFreq) { issueCmd(cmdSetFreq, transmitFreq);});
|
||||||
|
|
||||||
connect(this->rpt, &repeaterSetup::setTransmitMode,
|
connect(this->rpt, &repeaterSetup::setTransmitMode,
|
||||||
[=](const mode_info &transmitMode) { issueCmd(cmdSetMode, transmitMode);});
|
[=](const mode_info &transmitMode) { issueCmd(cmdSetMode, transmitMode);});
|
||||||
|
connect(this->rpt, &repeaterSetup::selectVFO,
|
||||||
|
[=](const vfo_t &v) { issueCmd(cmdSelVFO, v);});
|
||||||
|
connect(this->rpt, &repeaterSetup::equalizeVFOsAB,
|
||||||
|
[=]() { issueDelayedCommand(cmdVFOEqualAB);});
|
||||||
|
connect(this->rpt, &repeaterSetup::equalizeVFOsMS,
|
||||||
|
[=]() { issueDelayedCommand(cmdVFOEqualMS);});
|
||||||
|
connect(this->rpt, &repeaterSetup::swapVFOs,
|
||||||
|
[=]() { issueDelayedCommand(cmdVFOSwap);});
|
||||||
|
|
||||||
connect(this, SIGNAL(getDuplexMode()), rig, SLOT(getDuplexMode()));
|
connect(this, SIGNAL(getDuplexMode()), rig, SLOT(getDuplexMode()));
|
||||||
connect(this, SIGNAL(getPassband()), rig, SLOT(getPassband()));
|
connect(this, SIGNAL(getPassband()), rig, SLOT(getPassband()));
|
||||||
|
@ -403,8 +416,6 @@ void wfmain::rigConnections()
|
||||||
connect(this, SIGNAL(getTone()), rig, SLOT(getTone()));
|
connect(this, SIGNAL(getTone()), rig, SLOT(getTone()));
|
||||||
connect(this, SIGNAL(getTSQL()), rig, SLOT(getTSQL()));
|
connect(this, SIGNAL(getTSQL()), rig, SLOT(getTSQL()));
|
||||||
connect(this, SIGNAL(getRptAccessMode()), rig, SLOT(getRptAccessMode()));
|
connect(this, SIGNAL(getRptAccessMode()), rig, SLOT(getRptAccessMode()));
|
||||||
//connect(this, SIGNAL(setDuplexMode(duplexMode)), rig, SLOT(setDuplexMode(duplexMode)));
|
|
||||||
//connect(rig, SIGNAL(haveDuplexMode(duplexMode)), this, SLOT(receiveDuplexMode(duplexMode)));
|
|
||||||
|
|
||||||
connect(this, SIGNAL(getModInput(bool)), rig, SLOT(getModInput(bool)));
|
connect(this, SIGNAL(getModInput(bool)), rig, SLOT(getModInput(bool)));
|
||||||
connect(rig, SIGNAL(haveModInput(rigInput,bool)), this, SLOT(receiveModInput(rigInput, bool)));
|
connect(rig, SIGNAL(haveModInput(rigInput,bool)), this, SLOT(receiveModInput(rigInput, bool)));
|
||||||
|
@ -3603,6 +3614,12 @@ void wfmain::doCmd(commandtype cmddata)
|
||||||
emit setMode(m);
|
emit setMode(m);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case cmdSelVFO:
|
||||||
|
{
|
||||||
|
vfo_t v = (*std::static_pointer_cast<vfo_t>(data));
|
||||||
|
emit selectVFO(v);
|
||||||
|
break;
|
||||||
|
}
|
||||||
case cmdSetTxPower:
|
case cmdSetTxPower:
|
||||||
{
|
{
|
||||||
unsigned char txpower = (*std::static_pointer_cast<unsigned char>(data));
|
unsigned char txpower = (*std::static_pointer_cast<unsigned char>(data));
|
||||||
|
@ -3786,6 +3803,15 @@ void wfmain::doCmd(cmds cmd)
|
||||||
case cmdGetMode:
|
case cmdGetMode:
|
||||||
emit getMode();
|
emit getMode();
|
||||||
break;
|
break;
|
||||||
|
case cmdVFOSwap:
|
||||||
|
emit sendVFOSwap();
|
||||||
|
break;
|
||||||
|
case cmdVFOEqualAB:
|
||||||
|
emit sendVFOEqualAB();
|
||||||
|
break;
|
||||||
|
case cmdVFOEqualMS:
|
||||||
|
emit sendVFOEqualMS();
|
||||||
|
break;
|
||||||
case cmdGetDataMode:
|
case cmdGetDataMode:
|
||||||
if(rigCaps.hasDataModes)
|
if(rigCaps.hasDataModes)
|
||||||
emit getDataMode();
|
emit getDataMode();
|
||||||
|
@ -4004,6 +4030,7 @@ void wfmain::sendRadioCommandLoop()
|
||||||
}
|
}
|
||||||
} else if ((!rapidPollCmdQueue.empty()) && rapidPollCmdQueueEnabled)
|
} else if ((!rapidPollCmdQueue.empty()) && rapidPollCmdQueueEnabled)
|
||||||
{
|
{
|
||||||
|
qDebug(logSystem()) << "Running rapid poll command.";
|
||||||
int nrCmds = (int)rapidPollCmdQueue.size();
|
int nrCmds = (int)rapidPollCmdQueue.size();
|
||||||
cmds rCmd = rapidPollCmdQueue[(rapidCmdNum++)%nrCmds];
|
cmds rCmd = rapidPollCmdQueue[(rapidCmdNum++)%nrCmds];
|
||||||
doCmd(rCmd);
|
doCmd(rCmd);
|
||||||
|
@ -4081,6 +4108,14 @@ void wfmain::issueCmd(cmds cmd, mode_info m)
|
||||||
delayedCmdQue.push_back(cmddata);
|
delayedCmdQue.push_back(cmddata);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wfmain::issueCmd(cmds cmd, vfo_t v)
|
||||||
|
{
|
||||||
|
commandtype cmddata;
|
||||||
|
cmddata.cmd = cmd;
|
||||||
|
cmddata.data = std::shared_ptr<vfo_t>(new vfo_t(v));
|
||||||
|
delayedCmdQue.push_back(cmddata);
|
||||||
|
}
|
||||||
|
|
||||||
void wfmain::issueCmd(cmds cmd, freqt f)
|
void wfmain::issueCmd(cmds cmd, freqt f)
|
||||||
{
|
{
|
||||||
commandtype cmddata;
|
commandtype cmddata;
|
||||||
|
@ -4504,6 +4539,11 @@ void wfmain::initPeriodicCommands()
|
||||||
insertPeriodicRapidCmd(cmdGetPassband);
|
insertPeriodicRapidCmd(cmdGetPassband);
|
||||||
insertPeriodicRapidCmd(cmdGetTPBFInner);
|
insertPeriodicRapidCmd(cmdGetTPBFInner);
|
||||||
insertPeriodicRapidCmd(cmdGetTPBFOuter);
|
insertPeriodicRapidCmd(cmdGetTPBFOuter);
|
||||||
|
|
||||||
|
// insertPeriodicCommand(cmdGetPassband, 128);
|
||||||
|
// insertPeriodicCommand(cmdGetTPBFInner, 128);
|
||||||
|
// insertPeriodicCommand(cmdGetTPBFOuter, 128);
|
||||||
|
|
||||||
}
|
}
|
||||||
rapidPollCmdQueueEnabled = true;
|
rapidPollCmdQueueEnabled = true;
|
||||||
}
|
}
|
||||||
|
|
6
wfmain.h
6
wfmain.h
|
@ -94,6 +94,10 @@ signals:
|
||||||
void getMode();
|
void getMode();
|
||||||
void setMode(unsigned char modeIndex, unsigned char modeFilter);
|
void setMode(unsigned char modeIndex, unsigned char modeFilter);
|
||||||
void setMode(mode_info);
|
void setMode(mode_info);
|
||||||
|
void selectVFO(vfo_t vfo);
|
||||||
|
void sendVFOSwap();
|
||||||
|
void sendVFOEqualAB();
|
||||||
|
void sendVFOEqualMS();
|
||||||
void setDataMode(bool dataOn, unsigned char filter);
|
void setDataMode(bool dataOn, unsigned char filter);
|
||||||
void getDataMode();
|
void getDataMode();
|
||||||
void getModInput(bool dataOn);
|
void getModInput(bool dataOn);
|
||||||
|
@ -908,6 +912,7 @@ private:
|
||||||
|
|
||||||
void issueCmd(cmds cmd, freqt f);
|
void issueCmd(cmds cmd, freqt f);
|
||||||
void issueCmd(cmds cmd, mode_info m);
|
void issueCmd(cmds cmd, mode_info m);
|
||||||
|
void issueCmd(cmds cmd, vfo_t v);
|
||||||
void issueCmd(cmds cmd, timekind t);
|
void issueCmd(cmds cmd, timekind t);
|
||||||
void issueCmd(cmds cmd, datekind d);
|
void issueCmd(cmds cmd, datekind d);
|
||||||
void issueCmd(cmds cmd, int i);
|
void issueCmd(cmds cmd, int i);
|
||||||
|
@ -1135,6 +1140,7 @@ Q_DECLARE_METATYPE(enum rigInput)
|
||||||
Q_DECLARE_METATYPE(enum meterKind)
|
Q_DECLARE_METATYPE(enum meterKind)
|
||||||
Q_DECLARE_METATYPE(enum spectrumMode)
|
Q_DECLARE_METATYPE(enum spectrumMode)
|
||||||
Q_DECLARE_METATYPE(enum mode_kind)
|
Q_DECLARE_METATYPE(enum mode_kind)
|
||||||
|
Q_DECLARE_METATYPE(enum vfo_t);
|
||||||
Q_DECLARE_METATYPE(QList<radio_cap_packet>)
|
Q_DECLARE_METATYPE(QList<radio_cap_packet>)
|
||||||
Q_DECLARE_METATYPE(QList<spotData>)
|
Q_DECLARE_METATYPE(QList<spotData>)
|
||||||
Q_DECLARE_METATYPE(rigstate*)
|
Q_DECLARE_METATYPE(rigstate*)
|
||||||
|
|
|
@ -65,6 +65,13 @@ enum selVFO_t {
|
||||||
inactiveVFO = 1
|
inactiveVFO = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum vfo_t {
|
||||||
|
vfoA=0,
|
||||||
|
vfoB=1,
|
||||||
|
vfoMain = 0xD0,
|
||||||
|
vfoSub = 0xD1
|
||||||
|
};
|
||||||
|
|
||||||
struct mode_info {
|
struct mode_info {
|
||||||
mode_kind mk;
|
mode_kind mk;
|
||||||
unsigned char reg;
|
unsigned char reg;
|
||||||
|
@ -102,16 +109,18 @@ enum cmds {
|
||||||
cmdGetDataMode, cmdSetModeFilter, cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
|
cmdGetDataMode, cmdSetModeFilter, cmdSetDataModeOn, cmdSetDataModeOff, cmdGetRitEnabled, cmdGetRitValue,
|
||||||
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
|
cmdSpecOn, cmdSpecOff, cmdDispEnable, cmdDispDisable, cmdGetRxGain, cmdSetRxRfGain, cmdGetAfGain, cmdSetAfGain,
|
||||||
cmdGetSql, cmdSetSql, cmdGetIFShift, cmdSetIFShift, cmdGetTPBFInner, cmdSetTPBFInner,
|
cmdGetSql, cmdSetSql, cmdGetIFShift, cmdSetIFShift, cmdGetTPBFInner, cmdSetTPBFInner,
|
||||||
cmdGetTPBFOuter, cmdSetTPBFOuter, cmdGetATUStatus, cmdGetPassband, cmdSetPassband,
|
cmdGetTPBFOuter, cmdSetTPBFOuter, cmdGetPassband, cmdSetPassband,
|
||||||
cmdGetCwPitch, cmdGetPskTone, cmdGetRttyMark, cmdSetCwPitch, cmdSetPskTone, cmdSetRttyMark,
|
cmdGetCwPitch, cmdGetPskTone, cmdGetRttyMark, cmdSetCwPitch, cmdSetPskTone, cmdSetRttyMark,
|
||||||
cmdSetATU, cmdStartATU, cmdGetSpectrumMode,
|
cmdSetATU, cmdStartATU, cmdGetATUStatus,
|
||||||
cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode, cmdGetPTT, cmdSetPTT,cmdPTTToggle,
|
cmdGetSpectrumMode, cmdGetSpectrumSpan, cmdScopeCenterMode, cmdScopeFixedMode,
|
||||||
|
cmdGetPTT, cmdSetPTT,cmdPTTToggle,
|
||||||
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdSetModLevel,
|
cmdGetTxPower, cmdSetTxPower, cmdGetMicGain, cmdSetMicGain, cmdSetModLevel,
|
||||||
cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
|
cmdGetSpectrumRefLevel, cmdGetDuplexMode, cmdGetModInput, cmdGetModDataInput,
|
||||||
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdQueNormalSpeed,
|
cmdGetCurrentModLevel, cmdStartRegularPolling, cmdStopRegularPolling, cmdQueNormalSpeed,
|
||||||
cmdGetVdMeter, cmdGetIdMeter, cmdGetSMeter, cmdGetCenterMeter, cmdGetPowerMeter,
|
cmdGetVdMeter, cmdGetIdMeter, cmdGetSMeter, cmdGetCenterMeter, cmdGetPowerMeter,
|
||||||
cmdGetSWRMeter, cmdGetALCMeter, cmdGetCompMeter, cmdGetTxRxMeter,
|
cmdGetSWRMeter, cmdGetALCMeter, cmdGetCompMeter, cmdGetTxRxMeter,
|
||||||
cmdGetTone, cmdGetTSQL, cmdGetDTCS, cmdGetRptAccessMode, cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna,
|
cmdGetTone, cmdGetTSQL, cmdGetDTCS, cmdGetRptAccessMode, cmdSelVFO, cmdVFOSwap, cmdVFOEqualAB, cmdVFOEqualMS,
|
||||||
|
cmdGetPreamp, cmdGetAttenuator, cmdGetAntenna,
|
||||||
cmdGetBandStackReg, cmdGetKeySpeed, cmdSetKeySpeed, cmdGetBreakMode, cmdSetBreakMode, cmdSendCW, cmdStopCW,
|
cmdGetBandStackReg, cmdGetKeySpeed, cmdSetKeySpeed, cmdGetBreakMode, cmdSetBreakMode, cmdSendCW, cmdStopCW,
|
||||||
cmdSetTime, cmdSetDate, cmdSetUTCOffset
|
cmdSetTime, cmdSetDate, cmdSetUTCOffset
|
||||||
};
|
};
|
||||||
|
|
Ładowanie…
Reference in New Issue