From 5dfe2a7a2a7da83073d9904cd974e771ed51c174 Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 1 Mar 2017 05:37:37 +0100 Subject: [PATCH] Channel Analyzer NG: handle rational downsampler in the GUI --- .../channelrx/chanalyzerng/chanalyzernggui.cpp | 18 +++++++++++++++++- .../channelrx/chanalyzerng/chanalyzernggui.h | 2 ++ sdrbase/gui/valuedial.h | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/plugins/channelrx/chanalyzerng/chanalyzernggui.cpp b/plugins/channelrx/chanalyzerng/chanalyzernggui.cpp index c9154a17b..07cb21aec 100644 --- a/plugins/channelrx/chanalyzerng/chanalyzernggui.cpp +++ b/plugins/channelrx/chanalyzerng/chanalyzernggui.cpp @@ -190,10 +190,26 @@ void ChannelAnalyzerNGGUI::on_deltaMinus_toggled(bool minus) } } +void ChannelAnalyzerNGGUI::on_channelSampleRate_changed(quint64 value) +{ + if (ui->useRationalDownsampler->isChecked()) + { + qDebug("ChannelAnalyzerNGGUI::on_channelSampleRate_changed: %llu", value); + setNewFinalRate(m_spanLog2); + applySettings(); + } +} + +void ChannelAnalyzerNGGUI::on_useRationalDownsampler_toggled(bool checked) +{ + setNewFinalRate(m_spanLog2); + applySettings(); +} + int ChannelAnalyzerNGGUI::getRequestedChannelSampleRate() { if (ui->useRationalDownsampler->isChecked()) { - return ui->channelSampleRate->getValue(); + return ui->channelSampleRate->getValueNew(); } else { return m_channelizer->getInputSampleRate(); } diff --git a/plugins/channelrx/chanalyzerng/chanalyzernggui.h b/plugins/channelrx/chanalyzerng/chanalyzernggui.h index 40cdc0f58..d356b0250 100644 --- a/plugins/channelrx/chanalyzerng/chanalyzernggui.h +++ b/plugins/channelrx/chanalyzerng/chanalyzernggui.h @@ -61,6 +61,8 @@ private slots: void channelizerInputSampleRateChanged(); void on_deltaFrequency_changed(quint64 value); void on_deltaMinus_toggled(bool minus); + void on_channelSampleRate_changed(quint64 value); + void on_useRationalDownsampler_toggled(bool checked); void on_BW_valueChanged(int value); void on_lowCut_valueChanged(int value); void on_spanLog2_currentIndexChanged(int index); diff --git a/sdrbase/gui/valuedial.h b/sdrbase/gui/valuedial.h index 28db2a2bb..ed09906d3 100644 --- a/sdrbase/gui/valuedial.h +++ b/sdrbase/gui/valuedial.h @@ -32,6 +32,7 @@ public: void setBold(bool bold); void setColorMapper(ColorMapper colorMapper); quint64 getValue() const { return m_value; } + quint64 getValueNew() const { return m_valueNew; } signals: void changed(quint64 value);