From 0e30c06996af91f31a8330966edeb6b0005c7468 Mon Sep 17 00:00:00 2001 From: Roeland Jansen Date: Fri, 21 May 2021 09:20:38 +0200 Subject: [PATCH 01/12] changelog --- CHANGELOG | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 50b48d6..75a7216 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,13 @@ - 20210520 + Added IC-756 Pro. Tested UI and back-end response with 7300 and fake + RigID reply. + + Added additional support for the IC-756 Pro III. Essentially untested. + + Cleaned up warning and UI help text. + Add more features to rigstate - 20210519 From d3fce185e837c5cba0bec0257a0a426282b0bdd9 Mon Sep 17 00:00:00 2001 From: Roeland Jansen Date: Fri, 21 May 2021 19:59:06 +0200 Subject: [PATCH 02/12] changelog --- CHANGELOG | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/CHANGELOG b/CHANGELOG index 75a7216..3b8d085 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,14 @@ # CHANGELOG +- 20210521 + + Add baud rate detection for remote rigs + + Correct propCIVAddr to work if less than 0xe0 + + Change audiohandler to use latency for tx audio + + - 20210520 Added IC-756 Pro. Tested UI and back-end response with 7300 and fake From 73d550304cdad42dc49dcaae477fed3094eeae25 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Fri, 21 May 2021 15:03:24 -0700 Subject: [PATCH 03/12] Typo in message about CI-V --- wfmain.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wfmain.cpp b/wfmain.cpp index 40d14ed..71e9fbf 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -4337,7 +4337,7 @@ void wfmain::on_rigCIVaddrHexLine_editingFinished() prefs.radioCIVAddr = propCIVAddr; showStatusBarText(QString("Setting radio CI-V address to: 0x%1. Press Save Settings to retain.").arg(propCIVAddr, 2, 16)); } else { - showStatusBarText(QString("Could not use provided CI-V address. Address must be < 0x7E")); + showStatusBarText(QString("Could not use provided CI-V address. Address must be < 0xE0")); } } From e7bbc13d31459015ba55de82496eafddf965e999 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Fri, 21 May 2021 15:26:40 -0700 Subject: [PATCH 04/12] Fixed missing break in switchs. --- rigcommander.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rigcommander.cpp b/rigcommander.cpp index b808a90..0b7c47d 100644 --- a/rigcommander.cpp +++ b/rigcommander.cpp @@ -2265,7 +2265,7 @@ void rigCommander::parseDetailedRegisters1A05() default: break; } - return; + break; case model7850: switch(subcmd) { @@ -2332,6 +2332,7 @@ void rigCommander::parseDetailedRegisters1A05() default: break; } + break; case model7610: switch(subcmd) { @@ -2407,6 +2408,7 @@ void rigCommander::parseDetailedRegisters1A05() default: break; } + break; case model705: switch(subcmd) { From d4f46e60f142e24c7d8a512b783b7d16af364531 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Fri, 21 May 2021 23:46:15 -0700 Subject: [PATCH 05/12] Changed method for adding modes to rigs and populating the rig menu. This should be easier to maintain and better in the long run. --- freqmemory.h | 19 +++++++++++++- rigcommander.cpp | 67 ++++++++++++++++++++++++++++++++++++++++++++++- rigcommander.h | 2 ++ rigidentities.cpp | 3 +++ rigidentities.h | 5 ++++ wfmain.cpp | 44 +++++++++---------------------- 6 files changed, 107 insertions(+), 33 deletions(-) diff --git a/freqmemory.h b/freqmemory.h index a06e550..b803f4a 100644 --- a/freqmemory.h +++ b/freqmemory.h @@ -20,7 +20,24 @@ enum mode_kind { modeLSB_D=0x80, modeUSB_D=0x81, modeDV=0x17, - modeDD=0x27 + modeDD=0x27, + modeWFM, + modeS_AMD, + modeS_AML, + modeS_AMU, + modeP25, + modedPMR, + modeNXDN_VN, + modeNXDN_N, + modeDCR, + modePSK, + modePSK_R +}; + +struct mode_info { + mode_kind mk; + unsigned char reg; + QString name; }; struct preset_kind { diff --git a/rigcommander.cpp b/rigcommander.cpp index 0b7c47d..f5ab8b1 100644 --- a/rigcommander.cpp +++ b/rigcommander.cpp @@ -2527,6 +2527,16 @@ void rigCommander::parseWFData() } } + +mode_info rigCommander::createMode(mode_kind m, unsigned char reg, QString name) +{ + mode_info mode; + mode.mk = m; + mode.reg = reg; + mode.name = name; + return mode; +} + void rigCommander::determineRigCaps() { //TODO: Determine available bands (low priority, rig will reject out of band requests anyway) @@ -2541,6 +2551,14 @@ void rigCommander::determineRigCaps() standardVU = {band70cm, band2m}; + std::vector commonModes; + commonModes = { createMode(modeLSB, 0x00, "LSB"), createMode(modeUSB, 0x01, "USB"), + createMode(modeFM, 0x05, "FM"), createMode(modeAM, 0x02, "AM"), + createMode(modeCW, 0x03, "CW"), createMode(modeCW_R, 0x07, "CW-R"), + createMode(modeRTTY, 0x04, "RTTY"), createMode(modeRTTY_R, 0x08, "RTTY-R") + }; + + rigCaps.model = model; rigCaps.civ = incomingCIVAddr; @@ -2617,6 +2635,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bands.push_back(band630m); rigCaps.bands.push_back(band2200m); + rigCaps.modes = commonModes; break; case modelR8600: rigCaps.modelName = QString("IC-R8600"); @@ -2642,6 +2661,13 @@ void rigCommander::determineRigCaps() rigCaps.bands = standardHF; 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.modes.insert(rigCaps.modes.end(), { + createMode(modeWFM, 0x06, "WFM"), createMode(modeS_AMD, 0x11, "S-AM (D)"), + createMode(modeS_AML, 0x14, "S-AM(L)"), createMode(modeS_AMU, 0x15, "S-AM(U)"), + createMode(modeP25, 0x16, "P25"), createMode(modedPMR, 0x18, "dPMR"), + createMode(modeNXDN_VN, 0x19, "NXDN-VN"), createMode(modeNXDN_N, 0x20, "NXDN-N"), + createMode(modeDCR, 0x21, "DCR")}); break; case model9700: rigCaps.modelName = QString("IC-9700"); @@ -2666,6 +2692,9 @@ void rigCommander::determineRigCaps() rigCaps.bsr[band23cm] = 0x03; rigCaps.bsr[band70cm] = 0x02; rigCaps.bsr[band2m] = 0x01; + rigCaps.modes = commonModes; + rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeDV, 0x17, "DV"), + createMode(modeDD, 0x22, "DD")}); break; case model910h: rigCaps.modelName = QString("IC-910H"); @@ -2685,6 +2714,7 @@ void rigCommander::determineRigCaps() rigCaps.bsr[band23cm] = 0x03; rigCaps.bsr[band70cm] = 0x02; rigCaps.bsr[band2m] = 0x01; + rigCaps.modes = commonModes; break; case model7610: rigCaps.modelName = QString("IC-7610"); @@ -2713,6 +2743,7 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bands.push_back(band630m); rigCaps.bands.push_back(band2200m); + rigCaps.modes = commonModes; break; case model7850: rigCaps.modelName = QString("IC-785x"); @@ -2740,6 +2771,9 @@ void rigCommander::determineRigCaps() rigCaps.bands.push_back(bandGen); rigCaps.bands.push_back(band630m); rigCaps.bands.push_back(band2200m); + rigCaps.modes = commonModes; + rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modePSK, 0x12, "PSK"), + createMode(modePSK_R, 0x13, "PSK-R")}); break; case model705: rigCaps.modelName = QString("IC-705"); @@ -2772,6 +2806,9 @@ void rigCommander::determineRigCaps() rigCaps.bsr[bandGen] = 0x15; rigCaps.bands.push_back(band630m); rigCaps.bands.push_back(band2200m); + rigCaps.modes = commonModes; + rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"), + createMode(modeDV, 0x17, "DV")}); break; case model7000: rigCaps.modelName = QString("IC-7000"); @@ -2791,6 +2828,7 @@ void rigCommander::determineRigCaps() rigCaps.bsr[band2m] = 0x11; rigCaps.bsr[band70cm] = 0x12; rigCaps.bsr[bandGen] = 0x13; + rigCaps.modes = commonModes; break; case model7410: rigCaps.modelName = QString("IC-7410"); @@ -2809,6 +2847,7 @@ void rigCommander::determineRigCaps() rigCaps.bands = standardHF; rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; + rigCaps.modes = commonModes; break; case model7100: rigCaps.modelName = QString("IC-7100"); @@ -2831,6 +2870,9 @@ void rigCommander::determineRigCaps() rigCaps.bsr[band2m] = 0x11; rigCaps.bsr[band70cm] = 0x12; rigCaps.bsr[bandGen] = 0x13; + rigCaps.modes = commonModes; + rigCaps.modes.insert(rigCaps.modes.end(), {createMode(modeWFM, 0x06, "WFM"), + createMode(modeDV, 0x17, "DV")}); break; case model7200: rigCaps.modelName = QString("IC-7200"); @@ -2848,6 +2890,7 @@ void rigCommander::determineRigCaps() rigCaps.bands = standardHF; rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; + rigCaps.modes = commonModes; break; case model706: rigCaps.modelName = QString("IC-706"); @@ -2861,6 +2904,8 @@ void rigCommander::determineRigCaps() rigCaps.bands = standardHF; rigCaps.bands.insert(rigCaps.bands.end(), standardVU.begin(), standardVU.end()); rigCaps.bands.push_back(bandGen); + rigCaps.modes = commonModes; + rigCaps.modes.insert(rigCaps.modes.end(), createMode(modeWFM, 0x06, "WFM")); break; case model756pro: rigCaps.modelName = QString("IC-756 Pro"); @@ -2877,6 +2922,24 @@ void rigCommander::determineRigCaps() rigCaps.bands = standardHF; rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; + rigCaps.modes = commonModes; + break; + case model756proii: + rigCaps.modelName = QString("IC-756 Pro II"); + rigCaps.hasSpectrum = false; + rigCaps.inputs.clear(); + rigCaps.hasLan = false; + rigCaps.hasEthernet = false; + rigCaps.hasWiFi = false; + rigCaps.hasATU = true; + rigCaps.preamps.push_back('\x01'); + rigCaps.preamps.push_back('\x02'); + rigCaps.attenuators.insert(rigCaps.attenuators.end(),{ '\x06' , '\x12', '\x18'}); + rigCaps.antennas = {0x00, 0x01}; + rigCaps.bands = standardHF; + rigCaps.bands.push_back(bandGen); + rigCaps.bsr[bandGen] = 0x11; + rigCaps.modes = commonModes; break; case model756proiii: rigCaps.modelName = QString("IC-756 Pro III"); @@ -2893,6 +2956,7 @@ void rigCommander::determineRigCaps() rigCaps.bands = standardHF; rigCaps.bands.push_back(bandGen); rigCaps.bsr[bandGen] = 0x11; + rigCaps.modes = commonModes; break; default: rigCaps.modelName = QString("IC-0x%1").arg(rigCaps.modelID, 2, 16); @@ -2912,7 +2976,8 @@ void rigCommander::determineRigCaps() rigCaps.bands = standardHF; rigCaps.bands.insert(rigCaps.bands.end(), standardVU.begin(), standardVU.end()); rigCaps.bands.insert(rigCaps.bands.end(), {band23cm, band4m, band630m, band2200m, bandGen}); - qInfo(logRig()) << "Found unknown rig: " << rigCaps.modelID; + rigCaps.modes = commonModes; + qInfo(logRig()) << "Found unknown rig: 0x" << QString("%1").arg(rigCaps.modelID, 2, 16); break; } haveRigCaps = true; diff --git a/rigcommander.h b/rigcommander.h index bdb111c..23f714e 100644 --- a/rigcommander.h +++ b/rigcommander.h @@ -9,6 +9,7 @@ #include "udphandler.h" #include "rigidentities.h" #include "repeaterattributes.h" +#include "freqmemory.h" // This file figures out what to send to the comm and also // parses returns into useful things. @@ -375,6 +376,7 @@ private: void debugMe(); void printHex(const QByteArray &pdata); void printHex(const QByteArray &pdata, bool printVert, bool printHoriz); + mode_info createMode(mode_kind m, unsigned char reg, QString name); commHandler* comm = Q_NULLPTR; pttyHandler* ptty = Q_NULLPTR; diff --git a/rigidentities.cpp b/rigidentities.cpp index f335659..15f62ac 100644 --- a/rigidentities.cpp +++ b/rigidentities.cpp @@ -58,6 +58,9 @@ model_kind determineRadioModel(unsigned char rigID) case model756pro: rig = model756pro; break; + case model756proii: + rig = model756proii; + break; default: rig = modelUnknown; break; diff --git a/rigidentities.h b/rigidentities.h index 21a8bf4..9ad2630 100644 --- a/rigidentities.h +++ b/rigidentities.h @@ -6,6 +6,8 @@ #include #include +#include "freqmemory.h" + // Credit for parts of CIV list: // http://www.docksideradio.com/Icom%20Radio%20Hex%20Addresses.htm @@ -27,6 +29,7 @@ enum model_kind { model705 = 0xA4, model706 = 0x58, model756pro = 0x5C, + model756proii = 0x64, model756proiii = 0x6E, model910h = 0x60, modelUnknown = 0xFF @@ -102,6 +105,8 @@ struct rigCapabilities { std::vector antennas; std::vector bands; unsigned char bsr[20] = {0}; + + std::vector modes; }; diff --git a/wfmain.cpp b/wfmain.cpp index 8b31327..c98cd09 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -863,6 +863,9 @@ void wfmain::receiveFoundRigID(rigCapabilities rigCaps) delayedCommand->setInterval( msMinTiming * 2); // 20 byte message periodicPollingTimer->setInterval( msMinTiming ); // slower for s-meter poll + qInfo(logSystem()) << "Delay command interval timing: " << msMinTiming * 2 << "ms"; + qInfo(logSystem()) << "Periodic polling timer: " << msMinTiming << "ms"; + // Normal: delayedCmdIntervalLAN_ms = msMinTiming * 2; delayedCmdIntervalSerial_ms = msMinTiming * 2; @@ -2244,40 +2247,19 @@ void wfmain::receiveRigID(rigCapabilities rigCaps) // Added so that server receives rig capabilities. emit sendRigCaps(rigCaps); rpt->setRig(rigCaps); - if(rigCaps.model==model7850) + + // Set the mode combo box up: + + ui->modeSelectCombo->blockSignals(true); + ui->modeSelectCombo->clear(); + + for(unsigned int i=0; i < rigCaps.modes.size(); i++) { - ui->modeSelectCombo->addItem("PSK", 0x12); - ui->modeSelectCombo->addItem("PSK-R", 0x13); + ui->modeSelectCombo->addItem(rigCaps.modes.at(i).name, + rigCaps.modes.at(i).reg); } - if(rigCaps.hasDV) - { - ui->modeSelectCombo->addItem("DV", 0x17); - } - - if(rigCaps.hasDD) - { - ui->modeSelectCombo->addItem("DD", 0x22); - } - - if(rigCaps.model==modelR8600) - { - ui->modeSelectCombo->addItem("WFM", 0x06); - ui->modeSelectCombo->addItem("FSK-R", 0x08); - ui->modeSelectCombo->addItem("S-AM (D)", 0x11); - ui->modeSelectCombo->addItem("S-AM (L)", 0x14); - ui->modeSelectCombo->addItem("S-AM (U)", 0x15); - ui->modeSelectCombo->addItem("P25", 0x16); - ui->modeSelectCombo->addItem("dPMR", 0x18); - ui->modeSelectCombo->addItem("NXDN-VN", 0x19); - ui->modeSelectCombo->addItem("NXDN-N", 0x20); - ui->modeSelectCombo->addItem("DCR", 0x21); - } - - if (rigCaps.model == model705) - { - ui->modeSelectCombo->addItem("WFM", 0x06); - } + ui->modeSelectCombo->blockSignals(false); if(rigCaps.model == model9700) { From 5ee6ff48badbce7495de76a8df630e67e6f79c40 Mon Sep 17 00:00:00 2001 From: Phil Taylor Date: Sat, 22 May 2021 17:02:51 +0100 Subject: [PATCH 06/12] Add debugging and fix silly error in audiooutput combobox --- audiohandler.cpp | 3 +++ rigcommander.cpp | 1 + udphandler.cpp | 9 ++++++++- wfmain.cpp | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/audiohandler.cpp b/audiohandler.cpp index 6fae453..4ae2f75 100644 --- a/audiohandler.cpp +++ b/audiohandler.cpp @@ -747,14 +747,17 @@ audioHandler::~audioHandler() if (audioOutput != Q_NULLPTR) { audioOutput->stop(); delete audioOutput; + qDebug(logAudio()) << "Audio output stopped"; } if (audioInput != Q_NULLPTR) { audioInput->stop(); delete audioInput; + qDebug(logAudio()) << "Audio input stopped"; } if (resampler != NULL) { speex_resampler_destroy(resampler); + qDebug(logAudio()) << "Resampler closed"; } } diff --git a/rigcommander.cpp b/rigcommander.cpp index c06a120..5a3b82d 100644 --- a/rigcommander.cpp +++ b/rigcommander.cpp @@ -147,6 +147,7 @@ void rigCommander::commSetup(unsigned char rigCivAddr, udpPreferences prefs, QSt void rigCommander::closeComm() { + qDebug(logRig()) << "Closing rig comms"; if (comm != Q_NULLPTR) { delete comm; } diff --git a/udphandler.cpp b/udphandler.cpp index 4cf3d44..ac2c422 100644 --- a/udphandler.cpp +++ b/udphandler.cpp @@ -790,6 +790,7 @@ udpAudio::~udpAudio() { if (pingTimer != Q_NULLPTR) { + qDebug(logUdp()) << "Stopping pingTimer"; pingTimer->stop(); delete pingTimer; pingTimer = Q_NULLPTR; @@ -797,6 +798,7 @@ udpAudio::~udpAudio() if (idleTimer != Q_NULLPTR) { + qDebug(logUdp()) << "Stopping idleTimer"; idleTimer->stop(); delete idleTimer; idleTimer = Q_NULLPTR; @@ -804,6 +806,7 @@ udpAudio::~udpAudio() if (watchdogTimer != Q_NULLPTR) { + qDebug(logUdp()) << "Stopping watchdogTimer"; watchdogTimer->stop(); delete watchdogTimer; watchdogTimer = Q_NULLPTR; @@ -811,19 +814,23 @@ udpAudio::~udpAudio() if (txAudioTimer != Q_NULLPTR) { + qDebug(logUdp()) << "Stopping txaudio timer"; txAudioTimer->stop(); delete txAudioTimer; } if (rxAudioThread != Q_NULLPTR) { + qDebug(logUdp()) << "Stopping rxaudio thread"; rxAudioThread->quit(); rxAudioThread->wait(); } if (txAudioThread != Q_NULLPTR) { + qDebug(logUdp()) << "Stopping txaudio thread"; txAudioThread->quit(); txAudioThread->wait(); } + qDebug(logUdp()) << "udpHandler successfully closed"; } void udpAudio::watchdog() @@ -895,7 +902,7 @@ void udpAudio::dataReceived() { while (udp->hasPendingDatagrams()) { QNetworkDatagram datagram = udp->receiveDatagram(); - //qInfo(logUdp()) << "Received: " << datagram.data(); + //qInfo(logUdp()) << "Received: " << datagram.data().mid(0,10); QByteArray r = datagram.data(); switch (r.length()) diff --git a/wfmain.cpp b/wfmain.cpp index 2ef3a7c..c68bc14 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -1085,7 +1085,7 @@ void wfmain::loadSettings() ui->audioSampleRateCombo->setEnabled(ui->lanEnableBtn->isChecked()); int audioSampleRateIndex = ui->audioSampleRateCombo->findText(QString::number(udpDefPrefs.audioRXSampleRate)); if (audioSampleRateIndex != -1) { - ui->audioOutputCombo->setCurrentIndex(audioSampleRateIndex); + ui->audioSampleRateCombo->setCurrentIndex(audioSampleRateIndex); } // Add codec combobox items here so that we can add userdata! From 8a50237a3536a5c33c7dc4f540e8e9466a375527 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Sun, 23 May 2021 13:41:18 -0700 Subject: [PATCH 07/12] Minor change to clarify roll of Server Setup --- udpserversetup.ui | 7 +++++++ wfmain.ui | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/udpserversetup.ui b/udpserversetup.ui index edab45b..28c0e8f 100644 --- a/udpserversetup.ui +++ b/udpserversetup.ui @@ -341,6 +341,13 @@ + + + + Note: This allows other computers to connect to this computer's radio + + + diff --git a/wfmain.ui b/wfmain.ui index 330242d..33f5c64 100644 --- a/wfmain.ui +++ b/wfmain.ui @@ -18,7 +18,7 @@ - 0 + 3 From e1a4ca1614141eb20b29dfcec15fa051427080a4 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Sun, 23 May 2021 13:43:15 -0700 Subject: [PATCH 08/12] Allow entry to Server Setup for either radio connection type. --- wfmain.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wfmain.cpp b/wfmain.cpp index aeeb708..50b674c 100644 --- a/wfmain.cpp +++ b/wfmain.cpp @@ -1043,11 +1043,11 @@ void wfmain::loadSettings() { ui->baudRateCombo->setEnabled(false); ui->serialDeviceListCombo->setEnabled(false); - ui->udpServerSetupBtn->setEnabled(false); + //ui->udpServerSetupBtn->setEnabled(false); } else { ui->baudRateCombo->setEnabled(true); ui->serialDeviceListCombo->setEnabled(true); - ui->udpServerSetupBtn->setEnabled(true); + //ui->udpServerSetupBtn->setEnabled(true); } ui->lanEnableBtn->setChecked(prefs.enableLAN); @@ -3481,7 +3481,7 @@ void wfmain::on_serialEnableBtn_clicked(bool checked) ui->txLatencyValue->setEnabled(!checked); ui->baudRateCombo->setEnabled(checked); ui->serialDeviceListCombo->setEnabled(checked); - ui->udpServerSetupBtn->setEnabled(true); + //ui->udpServerSetupBtn->setEnabled(true); } void wfmain::on_lanEnableBtn_clicked(bool checked) @@ -3494,7 +3494,7 @@ void wfmain::on_lanEnableBtn_clicked(bool checked) ui->passwordTxt->setEnabled(checked); ui->baudRateCombo->setEnabled(!checked); ui->serialDeviceListCombo->setEnabled(!checked); - ui->udpServerSetupBtn->setEnabled(false); + //ui->udpServerSetupBtn->setEnabled(false); if(checked) { showStatusBarText("After filling in values, press Save Settings and re-start wfview."); From fa74fd319315899416b9a6d24a17c4c38d81b8e0 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Sun, 23 May 2021 13:56:44 -0700 Subject: [PATCH 09/12] Added helpful text to settings tab. --- wfmain.ui | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/wfmain.ui b/wfmain.ui index 33f5c64..239f99c 100644 --- a/wfmain.ui +++ b/wfmain.ui @@ -2600,6 +2600,37 @@ + + + + 0 + + + + + Please note: Changing CI-V Address, Serial Device, and Baud rate requires pressing "Save Settings", closing wfview, and re-opening. + + + + + + + + + 0 + + + + + <html><head></head><body><p>Please see the <a href="https://wfview.org/wfview-user-manual/settings-tab/">User Manual</a> for more information. </p></body></html> + + + Qt::RichText + + + + + From eb3f5bb2cc8daca775ee84b1d0e4c40a8538c354 Mon Sep 17 00:00:00 2001 From: Elliott Liggett Date: Sun, 23 May 2021 13:59:11 -0700 Subject: [PATCH 10/12] Link can now be clicked. --- wfmain.ui | 3 +++ 1 file changed, 3 insertions(+) diff --git a/wfmain.ui b/wfmain.ui index 239f99c..33cf6f9 100644 --- a/wfmain.ui +++ b/wfmain.ui @@ -2627,6 +2627,9 @@ Qt::RichText + + true + From c83f1d2afc8137d80611f3e9d0296d516e2a7cea Mon Sep 17 00:00:00 2001 From: roeland jansen Date: Tue, 25 May 2021 14:35:06 +0000 Subject: [PATCH 11/12] Update INSTALL_PREBUILT_BINARY.md --- INSTALL_PREBUILT_BINARY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/INSTALL_PREBUILT_BINARY.md b/INSTALL_PREBUILT_BINARY.md index 70948b5..7108acb 100644 --- a/INSTALL_PREBUILT_BINARY.md +++ b/INSTALL_PREBUILT_BINARY.md @@ -29,7 +29,7 @@ Ubuntu 20.04.2 ~~~ -### for all, the following is appicable: +### for all, the following is applicable: ~~~ download the tar.gz file here: https://wfview.org/download/test-linux-build/ From 224c6183f028b26203a575daac85de78e91c6b72 Mon Sep 17 00:00:00 2001 From: roeland jansen Date: Tue, 25 May 2021 14:36:03 +0000 Subject: [PATCH 12/12] Update INSTALL_PREBUILT_BINARY.md --- INSTALL_PREBUILT_BINARY.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/INSTALL_PREBUILT_BINARY.md b/INSTALL_PREBUILT_BINARY.md index 7108acb..c8ecdff 100644 --- a/INSTALL_PREBUILT_BINARY.md +++ b/INSTALL_PREBUILT_BINARY.md @@ -35,7 +35,7 @@ download the tar.gz file here: https://wfview.org/download/test-linux-build/ the file below will unpack in ./dist -tar zxvf wfview-linux.tar.gz +tar zxvf wfview-linux.tar.gz (change the filename accordingly) cd dist sudo ./install.sh ~~~ @@ -48,34 +48,34 @@ Now for the system specifics; pick your version: ~~~ sudo apt install libqcustomplot2.0 libqt5multimedia5 libqt5serialport5 sudo ln -s /usr/lib/x86_64-linux-gnu/libqcustomplot.so.2.0.1 /usr/lib/x86_64-linux-gnu/libqcustomplot.so.2 -start wfview +wfview ~~~ ### Fedora 33/34: ~~~ sudo dnf install qcustomplot-qt5 qt5-qtmultimedia qt5-qtserialport sudo ln -s /usr/lib64/libqcustomplot-qt5.so.2 /usr/lib64/libqcustomplot.so.2 -start wfview +wfview ~~~ ### Mint 20.1 ~~~ sudo apt install libqcustomplot2.0 libqt5multimedia5 libqt5serialport5 sudo ln -s /usr/lib64/libqcustomplot-qt5.so.2 /usr/lib64/libqcustomplot.so.2 -start wfview +wfview ~~~ ### openSUSE/Tumbleweed/SLES: ~~~ sudo zypper in libqcustomplot2 libQt5SerialPort5 -start wfview +wfview ~~~ ### UBUNTU: ~~~ sudo apt install libqcustomplot2.0 libqt5multimedia5 libqt5serialport5 sudo ln -s /usr/lib/x86_64-linux-gnu/libqcustomplot.so.2.0.1 /usr/lib/x86_64-linux-gnu/libqcustomplot.so.2 -start wfview +wfview ~~~