Got repeater setup working but still more to go with tonesql.

creator-widgets
Elliott Liggett 2024-02-11 21:13:20 -08:00
rodzic 6525818640
commit d8ef00291b
5 zmienionych plików z 43 dodań i 1 usunięć

Wyświetl plik

@ -17,3 +17,4 @@ Q_LOGGING_CATEGORY(logUsbControl, "usbcontrol")
Q_LOGGING_CATEGORY(logAudioConverter, "audioconverter")
Q_LOGGING_CATEGORY(logCluster, "cluster")
Q_LOGGING_CATEGORY(logTCIServer, "tci.server")
Q_LOGGING_CATEGORY(logRptr, "repeater")

Wyświetl plik

@ -20,6 +20,7 @@ Q_DECLARE_LOGGING_CATEGORY(logUsbControl)
Q_DECLARE_LOGGING_CATEGORY(logAudioConverter)
Q_DECLARE_LOGGING_CATEGORY(logCluster)
Q_DECLARE_LOGGING_CATEGORY(logTCIServer)
Q_DECLARE_LOGGING_CATEGORY(logRptr)
#if defined(Q_OS_WIN) && !defined(__PRETTY_FUNCTION__)

Wyświetl plik

@ -378,6 +378,10 @@ void repeaterSetup::handleDTCS(quint16 dcode, bool tinv, bool rinv)
void repeaterSetup::handleUpdateCurrentMainFrequency(freqt mainfreq)
{
if(mainfreq.VFO == inactiveVFO)
return;
haveReceivedFrequency = true;
if(amTransmitting)
return;
@ -684,6 +688,10 @@ void repeaterSetup::on_splitPlusButton_clicked()
quint64 txfreqhz;
freqt f;
QString txString;
if(!haveReceivedFrequency) {
qWarning(logRptr()) << "Cannot compute offset without first receiving a frequency.";
return;
}
if(hzOffset)
{
txfreqhz = currentMainFrequency.Hz + hzOffset;
@ -693,8 +701,16 @@ void repeaterSetup::on_splitPlusButton_clicked()
txString = QString::number(f.Hz / double(1E6), 'f', 6);
ui->splitTransmitFreqEdit->setText(txString);
usedPlusSplit = true;
} else {
qWarning(logRptr()) << "Cannot set split using supplied offset value.";
return;
}
if(ui->splitEnableChk->isChecked() || ui->quickSplitChk->isChecked()) {
emit setTransmitFrequency(f);
emit setTransmitMode(modeTransmitVFO);
} else {
qWarning(logRptr()) << "Not setting transmit frequency until split mode is enabled.";
}
}
@ -704,6 +720,10 @@ void repeaterSetup::on_splitMinusBtn_clicked()
quint64 txfreqhz;
freqt f;
QString txString;
if(!haveReceivedFrequency) {
qWarning(logRptr()) << "Cannot compute offset without first receiving a frequency.";
return;
}
if(hzOffset)
{
txfreqhz = currentMainFrequency.Hz - hzOffset;
@ -713,13 +733,26 @@ void repeaterSetup::on_splitMinusBtn_clicked()
txString = QString::number(f.Hz / double(1E6), 'f', 6);
ui->splitTransmitFreqEdit->setText(txString);
usedPlusSplit = false;
} else {
qWarning(logRptr()) << "Cannot set split using supplied offset value.";
return;
}
if(ui->splitEnableChk->isChecked() || ui->quickSplitChk->isChecked()) {
emit setTransmitFrequency(f);
emit setTransmitMode(modeTransmitVFO);
} else {
qWarning(logRptr()) << "Not setting transmit frequency until split mode is enabled.";
return;
}
}
void repeaterSetup::on_splitTxFreqSetBtn_clicked()
{
if(!haveReceivedFrequency) {
qWarning(logRptr()) << "Cannot compute offset without first receiving a frequency.";
return;
}
quint64 fHz = getFreqHzFromMHzString(ui->splitTransmitFreqEdit->text());
freqt f;
if(fHz)

Wyświetl plik

@ -6,6 +6,7 @@
#include "repeaterattributes.h"
#include "rigidentities.h"
#include "logcategories.h"
namespace Ui {
class repeaterSetup;
@ -103,6 +104,7 @@ private:
rigCapabilities rig;
bool haveRig = false;
bool haveReceivedFrequency = false;
duplexMode_t currentdm;
modeInfo currentModeMain;
modeInfo modeTransmitVFO;

Wyświetl plik

@ -516,7 +516,11 @@ void wfmain::makeRig()
});
connect(this->rpt, &repeaterSetup::setTransmitFrequency, this->rig,
[=](const freqt &transmitFreq) { queue->add(priorityImmediate,queueItem(funcFreqSet,QVariant::fromValue<freqt>(transmitFreq),false));});
[=](const freqt &transmitFreq) {
// TODO: Find a way to set the transmit frequency on any connected radio
queue->add(priorityImmediate,queueItem(funcUnselectedFreq,QVariant::fromValue<freqt>(transmitFreq),false));});
// queue->add(priorityImmediate,queueItem(funcFreqSet,QVariant::fromValue<freqt>(transmitFreq),false));});
connect(this->rpt, &repeaterSetup::setTransmitMode, this->rig,
[=](const modeInfo &transmitMode) { queue->add(priorityImmediate,queueItem(funcModeSet,QVariant::fromValue<modeInfo>(transmitMode),false));});
@ -5453,6 +5457,7 @@ void wfmain::receiveValue(cacheItem val){
case funcSelectedFreq:
{
vfos[val.vfo]->setFrequency(val.value.value<freqt>());
rpt->handleUpdateCurrentMainFrequency(val.value.value<freqt>());
}
case funcReadTXFreq:
break;