diff --git a/pttyhandler.cpp b/pttyhandler.cpp index c958827..6b4350d 100644 --- a/pttyhandler.cpp +++ b/pttyhandler.cpp @@ -218,9 +218,8 @@ void pttyHandler::receiveDataIn(int fd) { civId = (quint8)inPortData[lastFE + 2]; qInfo(logSerial()) << "pty remote CI-V changed:" << hex << (quint8)civId; } - - // filter 1A 05 01 12/27 = C-IV transceive command before forwarding on. - if (inPortData.contains(QByteArrayLiteral("\x1a\x05\x01\x12")) || inPortData.contains(QByteArrayLiteral("\x1a\x05\x01\x27"))) + // filter C-IV transceive command before forwarding on. + if (inPortData.contains(rigCaps.transceiveCommand)) { //qInfo(logSerial()) << "Filtered transceive command"; //printHex(inPortData, false, true); @@ -331,4 +330,10 @@ void pttyHandler::printHex(const QByteArray& pdata, bool printVert, bool printHo qDebug(logSerial()) << "----- End hex dump -----"; } +void pttyHandler::receiveFoundRigID(rigCapabilities rigCaps) { + this->rigCaps = rigCaps; + qInfo(logSerial) << "Received rigCapabilities for" << rigCaps.modelName; + +} + diff --git a/pttyhandler.h b/pttyhandler.h index da52ef8..14c9bfc 100644 --- a/pttyhandler.h +++ b/pttyhandler.h @@ -9,6 +9,8 @@ #include #include +#include "rigidentities.h" + // This class abstracts the comm port in a useful way and connects to // the command creator and command parser. @@ -27,6 +29,7 @@ private slots: void receiveDataIn(int fd); // from physical port void receiveDataFromRigToPtty(const QByteArray& data); void debugThis(); + void receiveFoundRigID(rigCapabilities rigCaps); signals: void haveTextMessage(QString message); // status, debug only @@ -66,8 +69,9 @@ private: mutable QMutex mutex; void printHex(const QByteArray& pdata, bool printVert, bool printHoriz); bool disableTransceive = false; - QSocketNotifier *ptReader = nullptr; + QSocketNotifier *ptReader = Q_NULLPTR; quint8 civId=0; + rigCapabilities rigCaps; }; #endif // PTTYHANDLER_H diff --git a/rigcommander.cpp b/rigcommander.cpp index 6c82219..03537dc 100644 --- a/rigcommander.cpp +++ b/rigcommander.cpp @@ -61,7 +61,6 @@ void rigCommander::commSetup(unsigned char rigCivAddr, QString rigSerialPort, qu // data from the ptty to the rig: connect(ptty, SIGNAL(haveDataFromPort(QByteArray)), comm, SLOT(receiveDataFromUserToRig(QByteArray))); - // data from the program to the comm port: connect(this, SIGNAL(dataForComm(QByteArray)), comm, SLOT(receiveDataFromUserToRig(QByteArray))); @@ -73,6 +72,9 @@ void rigCommander::commSetup(unsigned char rigCivAddr, QString rigSerialPort, qu connect(this, SIGNAL(getMoreDebug()), comm, SLOT(debugThis())); connect(this, SIGNAL(getMoreDebug()), ptty, SLOT(debugThis())); + + connect(this, SIGNAL(discoveredRigID(rigCapabilities)), ptty, SLOT(receiveFoundRigID(rigCapabilities))); + emit commReady(); } @@ -137,6 +139,8 @@ void rigCommander::commSetup(unsigned char rigCivAddr, udpPreferences prefs, aud connect(ptty, SIGNAL(haveSerialPortError(QString, QString)), this, SLOT(handleSerialPortError(QString, QString))); connect(this, SIGNAL(getMoreDebug()), ptty, SLOT(debugThis())); + connect(this, SIGNAL(discoveredRigID(rigCapabilities)), ptty, SLOT(receiveFoundRigID(rigCapabilities))); + emit haveAfGain(rxSetup.localAFgain); } @@ -553,18 +557,24 @@ void rigCommander::getSpectrumMode() prepDataAndSend(specModePayload); } -void rigCommander::setFrequency(freqt freq) +void rigCommander::setFrequency(unsigned char vfo, freqt freq) { - //QByteArray freqPayload = makeFreqPayload(freq); QByteArray freqPayload = makeFreqPayload(freq); QByteArray cmdPayload; cmdPayload.append(freqPayload); - cmdPayload.prepend('\x00'); - + if (vfo == 0) { + rigState.vfoAFreq = freq; + cmdPayload.prepend('\x00'); + } + else + { + rigState.vfoBFreq = freq; + cmdPayload.prepend(vfo); + cmdPayload.prepend('\x25'); + } //printHex(cmdPayload, false, true); prepDataAndSend(cmdPayload); - rigState.vfoAFreq = freq; } QByteArray rigCommander::makeFreqPayload(freqt freq) @@ -1348,6 +1358,9 @@ void rigCommander::parseLevels() emit haveSql(level); rigState.squelch = level; break; + case '\x09': + // CW Pitch - ignore for now + break; case '\x0A': // TX RF level emit haveTxPower(level); @@ -1358,11 +1371,20 @@ void rigCommander::parseLevels() emit haveMicGain(level); rigState.micGain = level; break; + case '\x0C': + // CW Keying Speed - ignore for now + break; + case '\x0D': + // Notch filder setting - ignore for now + break; case '\x0E': // compressor level emit haveCompLevel(level); rigState.compLevel = level; break; + case '\x12': + // NB level - ignore for now + break; case '\x15': // monitor level emit haveMonitorLevel(level); @@ -2880,6 +2902,8 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(band630m); rigCaps.bands.push_back(band2200m); rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x71"); + break; case modelR8600: rigCaps.modelName = QString("IC-R8600"); @@ -2915,6 +2939,7 @@ void rigCommander::determineRigCaps() createMode(modeNXDN_VN, 0x19, "NXDN-VN"), createMode(modeNXDN_N, 0x20, "NXDN-N"), createMode(modeDCR, 0x21, "DCR")}); rigCaps.scopeCenterSpans.insert(rigCaps.scopeCenterSpans.end(), {createScopeCenter(cs1M, "±1M"), createScopeCenter(cs2p5M, "±2.5M")}); + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x92"); break; case model9700: rigCaps.modelName = QString("IC-9700"); @@ -2943,6 +2968,7 @@ void rigCommander::determineRigCaps() rigCaps.modes = commonModes; rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeDV, 0x17, "DV"), createMode(modeDD, 0x22, "DD")}); + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x27"); break; case model910h: rigCaps.modelName = QString("IC-910H"); @@ -2965,6 +2991,7 @@ void rigCommander::determineRigCaps() rigCaps.bsr[band70cm] = 0x02; rigCaps.bsr[band2m] = 0x01; rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x58"); break; case model7600: rigCaps.modelName = QString("IC-7600"); @@ -2989,6 +3016,7 @@ void rigCommander::determineRigCaps() rigCaps.modes = commonModes; rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modePSK, 0x12, "PSK"), createMode(modePSK_R, 0x13, "PSK-R")}); + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x97"); break; case model7610: rigCaps.modelName = QString("IC-7610"); @@ -3020,6 +3048,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(band2200m); rigCaps.modes = commonModes; rigCaps.hasRXAntenna = true; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x12"); break; case model7850: rigCaps.modelName = QString("IC-785x"); @@ -3052,6 +3081,7 @@ void rigCommander::determineRigCaps() rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modePSK, 0x12, "PSK"), createMode(modePSK_R, 0x13, "PSK-R")}); rigCaps.hasRXAntenna = true; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x55"); break; case model705: rigCaps.modelName = QString("IC-705"); @@ -3088,6 +3118,7 @@ void rigCommander::determineRigCaps() rigCaps.modes = commonModes; rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"), createMode(modeDV, 0x17, "DV")}); + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x01\x31"); break; case model7000: rigCaps.modelName = QString("IC-7000"); @@ -3110,6 +3141,7 @@ void rigCommander::determineRigCaps() rigCaps.bsr[band70cm] = 0x12; rigCaps.bsr[bandGen] = 0x13; rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x92"); break; case model7410: rigCaps.modelName = QString("IC-7410"); @@ -3131,6 +3163,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x40"); break; case model7100: rigCaps.modelName = QString("IC-7100"); @@ -3158,6 +3191,7 @@ void rigCommander::determineRigCaps() rigCaps.modes = commonModes; rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"), createMode(modeDV, 0x17, "DV")}); + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x95"); break; case model7200: rigCaps.modelName = QString("IC-7200"); @@ -3178,7 +3212,8 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; rigCaps.modes = commonModes; - break; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x03\x48"); + break; case model7700: rigCaps.modelName = QString("IC-7700"); rigCaps.rigctlModel = 3062; @@ -3204,6 +3239,7 @@ void rigCommander::determineRigCaps() rigCaps.modes = commonModes; rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modePSK, 0x12, "PSK"), createMode(modePSK_R, 0x13, "PSK-R")}); + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x95"); break; case model706: rigCaps.modelName = QString("IC-706"); @@ -3223,6 +3259,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.modes = commonModes; rigCaps.modes.insert(rigCaps.modes.end(), createMode(modeWFM, 0x06, "WFM")); + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00"); break; case model718: rigCaps.modelName = QString("IC-718"); @@ -3246,6 +3283,7 @@ void rigCommander::determineRigCaps() createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"), createMode(modeRTTY, 0x04, "RTTY"), createMode(modeRTTY_R, 0x08, "RTTY-R") }; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00"); break; case model756pro: rigCaps.modelName = QString("IC-756 Pro"); @@ -3265,6 +3303,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00"); break; case model756proii: rigCaps.modelName = QString("IC-756 Pro II"); @@ -3284,6 +3323,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00"); break; case model756proiii: rigCaps.modelName = QString("IC-756 Pro III"); @@ -3303,6 +3343,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00"); break; default: rigCaps.modelName = QString("IC-0x%1").arg(rigCaps.modelID, 2, 16); @@ -3324,6 +3365,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.insert(rigCaps.bands.end(), standardVU.begin(), standardVU.end()); rigCaps.bands.insert(rigCaps.bands.end(), {band23cm, band4m, band630m, band2200m, bandGen}); rigCaps.modes = commonModes; + rigCaps.transceiveCommand = QByteArrayLiteral("\x1a\x05\x00\x00"); qInfo(logRig()) << "Found unknown rig: 0x" << QString("%1").arg(rigCaps.modelID, 2, 16); break; } diff --git a/rigcommander.h b/rigcommander.h index 1de8bc3..1486028 100644 --- a/rigcommander.h +++ b/rigcommander.h @@ -171,7 +171,7 @@ public slots: void getScopeMode(); // Frequency, Mode, BSR: - void setFrequency(freqt freq); + void setFrequency(unsigned char vfo, freqt freq); void getFrequency(); void setMode(unsigned char mode, unsigned char modeFilter); void setMode(mode_info); diff --git a/rigctld.cpp b/rigctld.cpp index 4879728..27dd6c3 100644 --- a/rigctld.cpp +++ b/rigctld.cpp @@ -57,7 +57,7 @@ rigCtlD::~rigCtlD() void rigCtlD::receiveFrequency(freqt freq) { - emit setFrequency(freq); + emit setFrequency(0, freq); } void rigCtlD::receiveStateInfo(rigStateStruct* state) @@ -301,7 +301,7 @@ void rigCtlClient::socketReadyRead() if (ok) { freq.Hz = static_cast(newFreq); qDebug(logRigCtlD()) << QString("Set frequency: %1 (%2)").arg(freq.Hz).arg(command[1]); - emit parent->setFrequency(freq); + emit parent->setFrequency(0, freq); } } else if (command[0] == "1" || command[0] == "dump_caps") @@ -465,21 +465,46 @@ void rigCtlClient::socketReadyRead() } response.append(resp); } - else if (command[0] == "I" || command[0] == "set_split_freq") + else if (command.length() > 1 && command[0] == "I" || command[0] == "set_split_freq") { setCommand = true; + freqt freq; + bool ok = false; + double newFreq = 0.0f; + newFreq = command[1].toDouble(&ok); + if (ok) { + freq.Hz = static_cast(newFreq); + qDebug(logRigCtlD()) << QString("set_split_freq: %1 (%2)").arg(freq.Hz).arg(command[1]); + emit parent->setFrequency(1, freq); + } } - else if (command[0] == "m" || command[0] == "get_mode") + else if (command.length() > 2 && (command[0] == "X" || command[0] == "set_split_mode")) { + setCommand = true; + } + else if (command.length() > 0 && (command[0] == "x" || command[0] == "get_split_mode")) + { if (longReply) { - response.append(QString("Mode: %1").arg(getMode(rigState->mode, rigState->datamode))); - response.append(QString("Passband: %1").arg(getFilter(rigState->mode, rigState->filter))); + response.append(QString("TX Mode: %1").arg(getMode(rigState->mode, rigState->datamode))); + response.append(QString("TX Passband: %1").arg(getFilter(rigState->mode, rigState->filter))); } else { response.append(QString("%1").arg(getMode(rigState->mode, rigState->datamode))); response.append(QString("%1").arg(getFilter(rigState->mode, rigState->filter))); } } + + else if (command[0] == "m" || command[0] == "get_mode") + { + if (longReply) { + response.append(QString("Mode: %1").arg(getMode(rigState->mode, rigState->datamode))); + response.append(QString("Passband: %1").arg(getFilter(rigState->mode, rigState->filter))); + } + else { + response.append(QString("%1").arg(getMode(rigState->mode, rigState->datamode))); + response.append(QString("%1").arg(getFilter(rigState->mode, rigState->filter))); + } + } else if (command[0] == "M" || command[0] == "set_mode") { // Set mode @@ -973,8 +998,8 @@ void rigCtlClient::socketReadyRead() } else if (command.length() > 1 && (command[0] == 0x87 || command[0] == "set_powerstat")) { - setCommand = true; - if (command[1] == "0") + setCommand = true; + if (command[1] == "0") { emit parent->sendPowerOff(); } diff --git a/rigctld.h b/rigctld.h index 51f3698..0b71fa9 100644 --- a/rigctld.h +++ b/rigctld.h @@ -336,7 +336,7 @@ signals: void onStarted(); void onStopped(); void sendData(QString data); - void setFrequency(freqt freq); + void setFrequency(unsigned char vfo, freqt freq); void setPTT(bool state); void setMode(unsigned char mode, unsigned char modeFilter); void setDataMode(bool dataOn, unsigned char modeFilter); diff --git a/rigidentities.h b/rigidentities.h index bae0609..e905730 100644 --- a/rigidentities.h +++ b/rigidentities.h @@ -131,6 +131,8 @@ struct rigCapabilities { unsigned char bsr[20] = {0}; std::vector modes; + + QByteArray transceiveCommand; }; diff --git a/wfmain.cpp b/wfmain.cpp index e8455af..8e93e07 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -273,7 +273,7 @@ void wfmain::rigConnections() connect(this, SIGNAL(setScopeMode(spectrumMode)), rig, SLOT(setSpectrumMode(spectrumMode))); connect(this, SIGNAL(getScopeMode()), rig, SLOT(getScopeMode())); - connect(this, SIGNAL(setFrequency(freqt)), rig, SLOT(setFrequency(freqt))); + connect(this, SIGNAL(setFrequency(unsigned char, freqt)), rig, SLOT(setFrequency(unsigned char, freqt))); connect(this, SIGNAL(setScopeEdge(char)), rig, SLOT(setScopeEdge(char))); connect(this, SIGNAL(setScopeSpan(char)), rig, SLOT(setScopeSpan(char))); //connect(this, SIGNAL(getScopeMode()), rig, SLOT(getScopeMode())); @@ -400,7 +400,7 @@ void wfmain::makeRig() if (rigCtl != Q_NULLPTR) { connect(rig, SIGNAL(stateInfo(rigStateStruct*)), rigCtl, SLOT(receiveStateInfo(rigStateStruct*))); connect(this, SIGNAL(requestRigState()), rig, SLOT(sendState())); - connect(rigCtl, SIGNAL(setFrequency(freqt)), rig, SLOT(setFrequency(freqt))); + connect(rigCtl, SIGNAL(setFrequency(unsigned char, freqt)), rig, SLOT(setFrequency(unsigned char, freqt))); connect(rigCtl, SIGNAL(setMode(unsigned char, unsigned char)), rig, SLOT(setMode(unsigned char, unsigned char))); connect(rigCtl, SIGNAL(setDataMode(bool, unsigned char)), rig, SLOT(setDataMode(bool, unsigned char))); connect(rigCtl, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool))); @@ -2011,7 +2011,7 @@ void wfmain::shortcutMinus() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2025,7 +2025,7 @@ void wfmain::shortcutPlus() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2039,7 +2039,7 @@ void wfmain::shortcutShiftMinus() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2053,7 +2053,7 @@ void wfmain::shortcutShiftPlus() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2067,7 +2067,7 @@ void wfmain::shortcutControlMinus() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2081,7 +2081,7 @@ void wfmain::shortcutControlPlus() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2095,7 +2095,7 @@ void wfmain::shortcutPageUp() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2109,7 +2109,7 @@ void wfmain::shortcutPageDown() f.MHzDouble = f.Hz / (double)1E6; setUIFreq(); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); } @@ -2350,7 +2350,7 @@ void wfmain::doCmd(commandtype cmddata) { lastFreqCmdTime_ms = QDateTime::currentMSecsSinceEpoch(); freqt f = (*std::static_pointer_cast(data)); - emit setFrequency(f); + emit setFrequency(0,f); break; } case cmdSetMode: @@ -3041,6 +3041,7 @@ void wfmain::initPeriodicCommands() if (rigCaps.hasRXAntenna) { insertSlowPeriodicCommand(cmdGetAntenna, 128); } + insertSlowPeriodicCommand(cmdGetDuplexMode, 128); } void wfmain::insertPeriodicCommand(cmds cmd, unsigned char priority) @@ -3261,7 +3262,7 @@ void wfmain::handlePlotDoubleClick(QMouseEvent *me) freqGo.Hz = roundFrequency(freqGo.Hz, tsWfScrollHz); freqGo.MHzDouble = (float)freqGo.Hz / 1E6; - //emit setFrequency(freq); + //emit setFrequency(0,freq); issueCmd(cmdSetFreq, freqGo); freq = freqGo; setUIFreq(); @@ -3286,7 +3287,7 @@ void wfmain::handleWFDoubleClick(QMouseEvent *me) freqGo.Hz = roundFrequency(freqGo.Hz, tsWfScrollHz); freqGo.MHzDouble = (float)freqGo.Hz / 1E6; - //emit setFrequency(freq); + //emit setFrequency(0,freq); issueCmd(cmdSetFreq, freqGo); freq = freqGo; setUIFreq(); @@ -3341,7 +3342,7 @@ void wfmain::handleWFScroll(QWheelEvent *we) f.MHzDouble = f.Hz / (double)1E6; freq = f; - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmdUniquePriority(cmdSetFreq, f); ui->freqLabel->setText(QString("%1").arg(f.MHzDouble, 0, 'f')); //issueDelayedCommandUnique(cmdGetFreq); @@ -3758,7 +3759,7 @@ void wfmain::on_freqDial_valueChanged(int value) ui->freqLabel->setText(QString("%1").arg(f.MHzDouble, 0, 'f')); - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmdUniquePriority(cmdSetFreq, f); } else { ui->freqDial->blockSignals(true); @@ -3773,7 +3774,7 @@ void wfmain::receiveBandStackReg(freqt freqGo, char mode, char filter, bool data // read the band stack and apply by sending out commands qInfo(logSystem()) << __func__ << "BSR received into main: Freq: " << freqGo.Hz << ", mode: " << (unsigned int)mode << ", filter: " << (unsigned int)filter << ", data mode: " << dataOn; - //emit setFrequency(freq); + //emit setFrequency(0,freq); issueCmd(cmdSetFreq, freqGo); setModeVal = (unsigned char) mode; setFilterVal = (unsigned char) filter; @@ -3843,7 +3844,7 @@ void wfmain::on_band4mbtn_clicked() f.Hz = (70.200) * 1E6; } issueCmd(cmdSetFreq, f); - //emit setFrequency(f); + //emit setFrequency(0,f); issueDelayedCommandUnique(cmdGetFreq); ui->tabWidget->setCurrentIndex(0); } @@ -3910,7 +3911,7 @@ void wfmain::on_band60mbtn_clicked() freqt f; f.Hz = (5.3305) * 1E6; issueCmd(cmdSetFreq, f); - //emit setFrequency(f); + //emit setFrequency(0,f); issueDelayedCommandUnique(cmdGetFreq); ui->tabWidget->setCurrentIndex(0); } @@ -3931,7 +3932,7 @@ void wfmain::on_band630mbtn_clicked() { freqt f; f.Hz = 475 * 1E3; - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); ui->tabWidget->setCurrentIndex(0); @@ -3941,7 +3942,7 @@ void wfmain::on_band2200mbtn_clicked() { freqt f; f.Hz = 136 * 1E3; - //emit setFrequency(f); + //emit setFrequency(0,f); issueCmd(cmdSetFreq, f); issueDelayedCommandUnique(cmdGetFreq); ui->tabWidget->setCurrentIndex(0); @@ -5296,7 +5297,7 @@ void wfmain::on_enableRigctldChk_clicked(bool checked) if (rig != Q_NULLPTR) { // We are already connected to a rig. connect(rig, SIGNAL(stateInfo(rigStateStruct*)), rigCtl, SLOT(receiveStateInfo(rigStateStruct*))); - connect(rigCtl, SIGNAL(setFrequency(freqt)), rig, SLOT(setFrequency(freqt))); + connect(rigCtl, SIGNAL(setFrequency(unsigned char, freqt)), rig, SLOT(setFrequency(unsigned char, freqt))); connect(rigCtl, SIGNAL(setMode(unsigned char, unsigned char)), rig, SLOT(setMode(unsigned char, unsigned char))); connect(rigCtl, SIGNAL(setDataMode(bool, unsigned char)), rig, SLOT(setDataMode(bool, unsigned char))); connect(rigCtl, SIGNAL(setPTT(bool)), rig, SLOT(setPTT(bool))); diff --git a/wfmain.h b/wfmain.h index 390b161..b921b9c 100644 --- a/wfmain.h +++ b/wfmain.h @@ -58,7 +58,7 @@ signals: // Frequency, mode, band: void getFrequency(); - void setFrequency(freqt freq); + void setFrequency(unsigned char vfo, freqt freq); void getMode(); void setMode(unsigned char modeIndex, unsigned char modeFilter); void setMode(mode_info);