From 205fee6837449f7ebddbc0a3002078c73d5eee1b Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 8 Dec 2015 09:25:46 +0100 Subject: [PATCH] BFM demod: update spectrum with sample rate information by polling --- plugins/channel/bfm/bfmdemodgui.cpp | 18 +++++++++++------- plugins/channel/bfm/bfmdemodgui.h | 1 + 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/plugins/channel/bfm/bfmdemodgui.cpp b/plugins/channel/bfm/bfmdemodgui.cpp index 9d83409c4..827f4774f 100644 --- a/plugins/channel/bfm/bfmdemodgui.cpp +++ b/plugins/channel/bfm/bfmdemodgui.cpp @@ -252,7 +252,8 @@ BFMDemodGUI::BFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) : m_pluginAPI(pluginAPI), m_channelMarker(this), m_basicSettingsShown(false), - m_channelPowerDbAvg(20,0) + m_channelPowerDbAvg(20,0), + m_rate(625000) { ui->setupUi(this); ui->deltaFrequency->setColorMapper(ColorMapper(ColorMapper::ReverseGold)); @@ -268,12 +269,8 @@ BFMDemodGUI::BFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) : m_threadedChannelizer = new ThreadedSampleSink(m_channelizer, this); DSPEngine::instance()->addThreadedSink(m_threadedChannelizer); - //ui->glSpectrum->setCenterFrequency(BFMDemodGUI::m_rfBW[ui->rfBW->value()] / 4); - //ui->glSpectrum->setSampleRate(BFMDemodGUI::m_rfBW[ui->rfBW->value()] / 2); - ui->glSpectrum->setCenterFrequency(625000 / 4); - ui->glSpectrum->setSampleRate(625000 / 2); - //ui->glSpectrum->setCenterFrequency(48000 / 4); - //ui->glSpectrum->setSampleRate(48000 / 2); + ui->glSpectrum->setCenterFrequency(m_rate / 4); + ui->glSpectrum->setSampleRate(m_rate / 2); ui->glSpectrum->setDisplayWaterfall(false); ui->glSpectrum->setDisplayMaxHold(false); ui->glSpectrum->setSsbSpectrum(true); @@ -366,5 +363,12 @@ void BFMDemodGUI::tick() } } + if ((m_bfmDemod) && (m_rate != m_bfmDemod->getSampleRate())) + { + m_rate = m_bfmDemod->getSampleRate(); + ui->glSpectrum->setCenterFrequency(m_rate / 4); + ui->glSpectrum->setSampleRate(m_rate / 2); + } + //qDebug() << "Pilot lock: " << m_bfmDemod->getPilotLock() << ":" << m_bfmDemod->getPilotLevel(); TODO: update a GUI item with status } diff --git a/plugins/channel/bfm/bfmdemodgui.h b/plugins/channel/bfm/bfmdemodgui.h index 2717e319c..29d7d561f 100644 --- a/plugins/channel/bfm/bfmdemodgui.h +++ b/plugins/channel/bfm/bfmdemodgui.h @@ -78,6 +78,7 @@ private: BFMDemod* m_bfmDemod; MovingAverage m_channelPowerDbAvg; + int m_rate; static const int m_rfBW[];