From 01170eb7246db4339e762fe6f81e114b92729bc0 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 7 Mar 2021 11:54:16 +0100 Subject: [PATCH] Spectrum: removed FPS 'no limit' setting. Fixes #793 --- sdrbase/dsp/glspectrumsettings.cpp | 3 ++- sdrbase/webapi/webapiadapterbase.cpp | 6 ++++-- sdrgui/gui/glspectrum.cpp | 4 ---- sdrgui/gui/glspectrumgui.cpp | 23 ++++++++--------------- sdrgui/gui/glspectrumgui.ui | 7 +------ 5 files changed, 15 insertions(+), 28 deletions(-) diff --git a/sdrbase/dsp/glspectrumsettings.cpp b/sdrbase/dsp/glspectrumsettings.cpp index 42a926da3..1ea0fa9d3 100644 --- a/sdrbase/dsp/glspectrumsettings.cpp +++ b/sdrbase/dsp/glspectrumsettings.cpp @@ -110,7 +110,8 @@ bool GLSpectrumSettings::deserialize(const QByteArray& data) m_fftWindow = (FFTWindow::Function) tmp; d.readReal(4, &m_refLevel, 0); d.readReal(5, &m_powerRange, 100); - d.readS32(26, &m_fpsPeriodMs, 50); + d.readS32(26, &tmp, 50); + m_fpsPeriodMs = tmp < 5 ? 5 : tmp > 500 ? 500 : tmp; d.readBool(6, &m_displayWaterfall, true); d.readBool(7, &m_invertedWaterfall, true); d.readBool(8, &m_displayMaxHold, false); diff --git a/sdrbase/webapi/webapiadapterbase.cpp b/sdrbase/webapi/webapiadapterbase.cpp index 4a2a78285..e27b00039 100644 --- a/sdrbase/webapi/webapiadapterbase.cpp +++ b/sdrbase/webapi/webapiadapterbase.cpp @@ -370,8 +370,10 @@ void WebAPIAdapterBase::webapiUpdatePreset( if (spectrumIt->contains("refLevel")) { spectrumSettings.m_refLevel = apiPreset->getSpectrumConfig()->getRefLevel(); } - if (spectrumIt->contains("fpsPeriodMs")) { - spectrumSettings.m_fpsPeriodMs = apiPreset->getSpectrumConfig()->getFpsPeriodMs(); + if (spectrumIt->contains("fpsPeriodMs")) + { + qint32 fpsPeriodMs = apiPreset->getSpectrumConfig()->getFpsPeriodMs(); + spectrumSettings.m_fpsPeriodMs = fpsPeriodMs < 5 ? 5 : fpsPeriodMs > 500 ? 500 : fpsPeriodMs; } if (spectrumIt->contains("waterfallShare")) { spectrumSettings.m_waterfallShare = apiPreset->getSpectrumConfig()->getWaterfallShare(); diff --git a/sdrgui/gui/glspectrum.cpp b/sdrgui/gui/glspectrum.cpp index 8202645bc..dcc206809 100644 --- a/sdrgui/gui/glspectrum.cpp +++ b/sdrgui/gui/glspectrum.cpp @@ -440,10 +440,6 @@ void GLSpectrum::newSpectrum(const Real *spectrum, int nbBins, int fftSize) updateWaterfall(spectrum); updateHistogram(spectrum); - - if (m_fpsPeriodMs == 0) { - update(); - } } void GLSpectrum::updateWaterfall(const Real *spectrum) diff --git a/sdrgui/gui/glspectrumgui.cpp b/sdrgui/gui/glspectrumgui.cpp index ab1dc19fa..1ba1d046d 100644 --- a/sdrgui/gui/glspectrumgui.cpp +++ b/sdrgui/gui/glspectrumgui.cpp @@ -32,7 +32,7 @@ #include "util/db.h" #include "ui_glspectrumgui.h" -const int GLSpectrumGUI::m_fpsMs[] = {500, 200, 100, 50, 20, 10, 5, 0}; +const int GLSpectrumGUI::m_fpsMs[] = {500, 200, 100, 50, 20, 10, 5}; GLSpectrumGUI::GLSpectrumGUI(QWidget* parent) : QWidget(parent), @@ -147,24 +147,17 @@ void GLSpectrumGUI::displaySettings() } } - if (m_settings.m_fpsPeriodMs == 0) - { - ui->fps->setCurrentIndex(sizeof(m_fpsMs)/sizeof(m_fpsMs[0]) - 1); - } - else - { - unsigned int i = 0; + unsigned int i = 0; - for (; i < sizeof(m_fpsMs)/sizeof(m_fpsMs[0]); i++) - { - if (m_settings.m_fpsPeriodMs >= m_fpsMs[i]) { - break; - } + for (; i < sizeof(m_fpsMs)/sizeof(m_fpsMs[0]); i++) + { + if (m_settings.m_fpsPeriodMs >= m_fpsMs[i]) { + break; } - - ui->fps->setCurrentIndex(i); } + ui->fps->setCurrentIndex(i); + ui->fftOverlap->setValue(m_settings.m_fftOverlap); setMaximumOverlap(); ui->averaging->setCurrentIndex(m_settings.m_averagingIndex); diff --git a/sdrgui/gui/glspectrumgui.ui b/sdrgui/gui/glspectrumgui.ui index 02a9c49bb..f256f1cac 100644 --- a/sdrgui/gui/glspectrumgui.ui +++ b/sdrgui/gui/glspectrumgui.ui @@ -461,7 +461,7 @@ Spectrum maximum FPS (NL for No Limit) - 3 + 0 @@ -498,11 +498,6 @@ 200 - - - NL - -