diff --git a/plugins/channelrx/chanalyzer/chanalyzerwebapiadapter.cpp b/plugins/channelrx/chanalyzer/chanalyzerwebapiadapter.cpp index b41c537ef..023e2457a 100644 --- a/plugins/channelrx/chanalyzer/chanalyzerwebapiadapter.cpp +++ b/plugins/channelrx/chanalyzer/chanalyzerwebapiadapter.cpp @@ -132,7 +132,7 @@ void ChannelAnalyzerWebAPIAdapter::webapiFormatChannelSettings( swgSpectrum->init(); response.getChannelAnalyzerSettings()->setSpectrumConfig(swgSpectrum); swgSpectrum->setAveragingMode((int) spectrumSettings.m_averagingMode); - swgSpectrum->setAveragingValue(spectrumSettings.m_averagingNb); + swgSpectrum->setAveragingValue(GLSpectrumSettings::getAveragingValue(spectrumSettings.m_averagingIndex, spectrumSettings.m_averagingMode)); swgSpectrum->setDecay(spectrumSettings.m_decay); swgSpectrum->setDecayDivisor(spectrumSettings.m_decayDivisor); swgSpectrum->setDisplayCurrent(spectrumSettings.m_displayCurrent ? 1 : 0); @@ -379,8 +379,10 @@ void ChannelAnalyzerWebAPIAdapter::webapiUpdateChannelSettings( if (channelSettingsKeys.contains("spectrumConfig.averagingMode")) { spectrumSettings.m_averagingMode = (GLSpectrumSettings::AveragingMode) response.getChannelAnalyzerSettings()->getSpectrumConfig()->getAveragingMode(); } - if (channelSettingsKeys.contains("spectrumConfig.averagingValue")) { - spectrumSettings.m_averagingNb = response.getChannelAnalyzerSettings()->getSpectrumConfig()->getAveragingValue(); + if (channelSettingsKeys.contains("spectrumConfig.averagingValue")) + { + spectrumSettings.m_averagingValue = response.getChannelAnalyzerSettings()->getSpectrumConfig()->getAveragingValue(); + spectrumSettings.m_averagingIndex = GLSpectrumSettings::getAveragingIndex(spectrumSettings.m_averagingValue, spectrumSettings.m_averagingMode); } if (channelSettingsKeys.contains("spectrumConfig.decay")) { spectrumSettings.m_decay = response.getChannelAnalyzerSettings()->getSpectrumConfig()->getDecay(); diff --git a/sdrbase/dsp/glspectrumsettings.cpp b/sdrbase/dsp/glspectrumsettings.cpp index 3ccbdc8ea..a5c753b80 100644 --- a/sdrbase/dsp/glspectrumsettings.cpp +++ b/sdrbase/dsp/glspectrumsettings.cpp @@ -45,6 +45,7 @@ void GLSpectrumSettings::resetToDefaults() m_displayGrid = false; m_averagingMode = AvgModeNone; m_averagingIndex = 0; + m_averagingValue = 1; m_linear = false; m_wsSpectrumAddress = "127.0.0.1"; m_wsSpectrumPort = 8887; @@ -120,7 +121,7 @@ bool GLSpectrumSettings::deserialize(const QByteArray& data) m_averagingMode = tmp < 0 ? AvgModeNone : tmp > 3 ? AvgModeMax : (AveragingMode) tmp; d.readS32(20, &tmp, 0); m_averagingIndex = getAveragingIndex(tmp, m_averagingMode); - m_averagingNb = getAveragingValue(m_averagingIndex, m_averagingMode); + m_averagingValue = getAveragingValue(m_averagingIndex, m_averagingMode); d.readBool(21, &m_linear, false); d.readString(22, &m_wsSpectrumAddress, "127.0.0.1"); d.readU32(23, &utmp, 8887); diff --git a/sdrbase/dsp/glspectrumsettings.h b/sdrbase/dsp/glspectrumsettings.h index 2fd88e05e..a3a734c7a 100644 --- a/sdrbase/dsp/glspectrumsettings.h +++ b/sdrbase/dsp/glspectrumsettings.h @@ -55,7 +55,7 @@ public: bool m_displayGrid; AveragingMode m_averagingMode; int m_averagingIndex; - unsigned int m_averagingNb; + unsigned int m_averagingValue; bool m_linear; //!< linear else logarithmic scale bool m_ssb; //!< SSB display with spectrum center at start of array or display - else spectrum center is on center bool m_usb; //!< USB display with increasing frequencies towads the right - else decreasing frequencies diff --git a/sdrbase/webapi/webapiadapterbase.cpp b/sdrbase/webapi/webapiadapterbase.cpp index e195825e4..a58619ddd 100644 --- a/sdrbase/webapi/webapiadapterbase.cpp +++ b/sdrbase/webapi/webapiadapterbase.cpp @@ -221,8 +221,8 @@ void WebAPIAdapterBase::webapiUpdatePreset( } if (spectrumIt->contains("averagingValue")) { - spectrumSettings.m_averagingNb = apiPreset->getSpectrumConfig()->getAveragingValue(); - spectrumSettings.m_averagingIndex = GLSpectrumSettings::getAveragingIndex(spectrumSettings.m_averagingNb, spectrumSettings.m_averagingMode); + spectrumSettings.m_averagingValue = apiPreset->getSpectrumConfig()->getAveragingValue(); + spectrumSettings.m_averagingIndex = GLSpectrumSettings::getAveragingIndex(spectrumSettings.m_averagingValue, spectrumSettings.m_averagingMode); } if (spectrumIt->contains("decay")) { spectrumSettings.m_decay = apiPreset->getSpectrumConfig()->getDecay(); diff --git a/sdrbase/webapi/webapirequestmapper.cpp b/sdrbase/webapi/webapirequestmapper.cpp index f3805e9bc..19896c2ce 100644 --- a/sdrbase/webapi/webapirequestmapper.cpp +++ b/sdrbase/webapi/webapirequestmapper.cpp @@ -2744,9 +2744,11 @@ bool WebAPIRequestMapper::validateSpectrumSettings(SWGSDRangel::SWGGLSpectrum& s } if (jsonObject.contains("wsSpectrumPort")) { - spectrumSettings.setUsb(jsonObject["wsSpectrumPort"].toInt(8887)); + spectrumSettings.setWsSpectrumPort(jsonObject["wsSpectrumPort"].toInt(8887)); spectrumSettingsKeys.append("wsSpectrumPort"); } + + return true; } bool WebAPIRequestMapper::validateDeviceListItem(SWGSDRangel::SWGDeviceListItem& deviceListItem, QJsonObject& jsonObject)