diff --git a/plugins/channelrx/freqtracker/freqtracker.cpp b/plugins/channelrx/freqtracker/freqtracker.cpp
index 0d2ca4fd6..78a4db5de 100644
--- a/plugins/channelrx/freqtracker/freqtracker.cpp
+++ b/plugins/channelrx/freqtracker/freqtracker.cpp
@@ -190,9 +190,7 @@ void FreqTracker::stop()
Real FreqTracker::getFrequency() const
{
- if (!m_settings.m_tracking) {
- return 0;
- } else if (m_settings.m_trackerType == FreqTrackerSettings::TrackerPLL) {
+ if (m_settings.m_trackerType == FreqTrackerSettings::TrackerPLL) {
return (m_pll.getFreq() * m_channelSampleRate) / (2.0 * M_PI);
} else if (m_settings.m_trackerType == FreqTrackerSettings::TrackerFLL) {
return (m_fll.getFreq() * m_channelSampleRate) / (2.0 * M_PI);
diff --git a/plugins/channelrx/freqtracker/freqtracker.h b/plugins/channelrx/freqtracker/freqtracker.h
index ef2e8c9ed..97e5125d6 100644
--- a/plugins/channelrx/freqtracker/freqtracker.h
+++ b/plugins/channelrx/freqtracker/freqtracker.h
@@ -147,7 +147,7 @@ public:
uint32_t getSampleRate() const { return m_channelSampleRate; }
double getMagSq() const { return m_magsq; }
bool getSquelchOpen() const { return m_squelchOpen; }
- bool getPllLocked() const { return m_settings.m_tracking && (m_settings.m_trackerType == FreqTrackerSettings::TrackerPLL) && m_pll.locked(); }
+ bool getPllLocked() const { return (m_settings.m_trackerType == FreqTrackerSettings::TrackerPLL) && m_pll.locked(); }
Real getFrequency() const;
void getMagSqLevels(double& avg, double& peak, int& nbSamples)
diff --git a/plugins/channelrx/freqtracker/freqtrackergui.cpp b/plugins/channelrx/freqtracker/freqtrackergui.cpp
index ab92a3464..12421965e 100644
--- a/plugins/channelrx/freqtracker/freqtrackergui.cpp
+++ b/plugins/channelrx/freqtracker/freqtrackergui.cpp
@@ -334,15 +334,23 @@ void FreqTrackerGUI::displaySettings()
blockApplySettings(true);
ui->deltaFrequency->setValue(m_channelMarker.getCenterFrequency());
-
+ ui->log2Decim->setCurrentIndex(m_settings.m_log2Decim);
int displayValue = m_settings.m_rfBandwidth/100.0;
ui->rfBW->setValue(displayValue);
ui->rfBWText->setText(QString("%1 kHz").arg(displayValue / 10.0, 0, 'f', 1));
-
ui->squelch->setValue(m_settings.m_squelch);
ui->squelchText->setText(QString("%1 dB").arg(m_settings.m_squelch));
-
ui->tracking->setChecked(m_settings.m_tracking);
+ ui->trackerType->setCurrentIndex((int) m_settings.m_trackerType);
+
+ int i = 0;
+ for(; ((m_settings.m_pllPskOrder>>i) & 1) == 0; i++);
+ ui->pllPskOrder->setCurrentIndex(i);
+
+ ui->rrc->setChecked(m_settings.m_rrc);
+ ui->rrcRolloff->setValue(m_settings.m_rrcRolloff);
+ QString rolloffStr = QString::number(m_settings.m_rrcRolloff/100.0, 'f', 2);
+ ui->rrcRolloffText->setText(rolloffStr);
blockApplySettings(false);
}
@@ -382,19 +390,19 @@ void FreqTrackerGUI::tick()
ui->squelchLabel->setStyleSheet("QLabel { background:rgb(50,50,50); }");
}
- if (m_settings.m_tracking)
- {
- if (m_freqTracker->getPllLocked()) {
- ui->tracking->setStyleSheet("QToolButton { background-color : green; }");
- } else {
- ui->tracking->setStyleSheet("QToolButton { background:rgb(79,79,79); }");
- }
+ if (m_freqTracker->getPllLocked()) {
+ ui->tracking->setStyleSheet("QToolButton { background-color : green; }");
+ } else {
+ ui->tracking->setStyleSheet("QToolButton { background:rgb(79,79,79); }");
+ }
- int freq = m_freqTracker->getFrequency();
- ui->tracking->setToolTip(tr("Tracking on. Freq = %1 Hz").arg(freq));
- }
- else
- {
+ int freq = m_freqTracker->getFrequency();
+ QLocale loc;
+ ui->trackingFrequencyText->setText(tr("%1 Hz").arg(loc.toString(freq)));
+
+ if (m_settings.m_tracking) {
+ ui->tracking->setToolTip("Tracking on");
+ } else {
ui->tracking->setToolTip("Tracking off");
}
diff --git a/plugins/channelrx/freqtracker/freqtrackergui.ui b/plugins/channelrx/freqtracker/freqtrackergui.ui
index 561a31222..9489120c1 100644
--- a/plugins/channelrx/freqtracker/freqtrackergui.ui
+++ b/plugins/channelrx/freqtracker/freqtrackergui.ui
@@ -6,7 +6,7 @@
0
0
- 350
+ 360
145
@@ -18,13 +18,13 @@
- 350
+ 360
100
- 350
+ 360
16777215
@@ -45,7 +45,7 @@
0
0
- 348
+ 358
140
@@ -130,6 +130,25 @@
+ -
+
+
+
+ 85
+ 0
+
+
+
+ Tracking delta frequency (Hz)
+
+
+ -9,999,999 Hz
+
+
+ Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter
+
+
+
-
@@ -375,6 +394,11 @@
Tracking type
+
-
+
+ No
+
+
-
FLL
diff --git a/plugins/channelrx/freqtracker/freqtrackersettings.cpp b/plugins/channelrx/freqtracker/freqtrackersettings.cpp
index a77443295..928861a29 100644
--- a/plugins/channelrx/freqtracker/freqtrackersettings.cpp
+++ b/plugins/channelrx/freqtracker/freqtrackersettings.cpp
@@ -111,7 +111,7 @@ bool FreqTrackerSettings::deserialize(const QByteArray& data)
d.readString(9, &m_title, "Frequency Tracker");
d.readBool(10, &m_tracking, false);
d.readS32(12, &tmp, 0);
- m_trackerType = tmp < 0 ? TrackerFLL : tmp > 1 ? TrackerPLL : (TrackerType) tmp;
+ m_trackerType = tmp < 0 ? TrackerFLL : tmp > 2 ? TrackerPLL : (TrackerType) tmp;
d.readU32(13, &utmp, 2);
m_pllPskOrder = utmp > 32 ? 32 : utmp;
d.readBool(14, &m_rrc, false);
diff --git a/plugins/channelrx/freqtracker/freqtrackersettings.h b/plugins/channelrx/freqtracker/freqtrackersettings.h
index 59401278f..dbcb398c4 100644
--- a/plugins/channelrx/freqtracker/freqtrackersettings.h
+++ b/plugins/channelrx/freqtracker/freqtrackersettings.h
@@ -29,6 +29,7 @@ struct FreqTrackerSettings
{
enum TrackerType
{
+ TrackerNone,
TrackerFLL,
TrackerPLL
};