diff --git a/sdrbase/dsp/glspectrumsettings.cpp b/sdrbase/dsp/glspectrumsettings.cpp index 3e9a3d629..3dd8c7dd3 100644 --- a/sdrbase/dsp/glspectrumsettings.cpp +++ b/sdrbase/dsp/glspectrumsettings.cpp @@ -19,6 +19,11 @@ #include "util/simpleserializer.h" #include "glspectrumsettings.h" +GLSpectrumSettings::GLSpectrumSettings() +{ + resetToDefaults(); +} + void GLSpectrumSettings::resetToDefaults() { m_fftSize = 1024; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 518b410f3..a38ae5efe 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -3099,7 +3099,7 @@ margin-bottom: 20px; "fftOverlap" : { "type" : "integer" }, - "m_fftWindow" : { + "fftWindow" : { "type" : "integer", "description" : "See FFTWindow" }, @@ -26955,7 +26955,7 @@ except ApiException as e:
- Generated 2019-08-04T02:40:24.306+02:00 + Generated 2019-08-05T03:02:48.921+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml b/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml index 76b70a366..0da434001 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml @@ -5,7 +5,7 @@ GLSpectrum: type: integer fftOverlap: type: integer - m_fftWindow: + fftWindow: description: See FFTWindow type: integer refLevel: diff --git a/sdrbase/webapi/webapiadapterbase.cpp b/sdrbase/webapi/webapiadapterbase.cpp index a13af09d7..438ac9625 100644 --- a/sdrbase/webapi/webapiadapterbase.cpp +++ b/sdrbase/webapi/webapiadapterbase.cpp @@ -22,6 +22,7 @@ #include "channel/channelutils.h" #include "device/devicewebapiadapter.h" #include "device/deviceutils.h" +#include "dsp/glspectrumsettings.h" #include "webapiadapterbase.h" WebAPIAdapterBase::WebAPIAdapterBase() @@ -60,9 +61,37 @@ void WebAPIAdapterBase::webapiFormatPreset( apiPreset->setGroup(new QString(preset.getGroup())); apiPreset->setDescription(new QString(preset.getDescription())); apiPreset->setCenterFrequency(preset.getCenterFrequency()); - apiPreset->getSpectrumConfig()->init(); // TODO when spectrum config is extracted to sdrbase apiPreset->setDcOffsetCorrection(preset.hasDCOffsetCorrection() ? 1 : 0); apiPreset->setIqImbalanceCorrection(preset.hasIQImbalanceCorrection() ? 1 : 0); + const QByteArray& spectrumConfig = preset.getSpectrumConfig(); + GLSpectrumSettings m_spectrumSettings; + + if (m_spectrumSettings.deserialize(spectrumConfig)) + { + SWGSDRangel::SWGGLSpectrum *swgSpectrumConfig = apiPreset->getSpectrumConfig(); + swgSpectrumConfig->init(); + swgSpectrumConfig->setFftSize(m_spectrumSettings.m_fftSize); + swgSpectrumConfig->setFftOverlap(m_spectrumSettings.m_fftOverlap); + swgSpectrumConfig->setFftWindow((int) m_spectrumSettings.m_fftWindow); + swgSpectrumConfig->setRefLevel(m_spectrumSettings.m_refLevel); + swgSpectrumConfig->setPowerRange(m_spectrumSettings.m_powerRange); + swgSpectrumConfig->setDisplayWaterfall(m_spectrumSettings.m_displayWaterfall ? 0 : 1); + swgSpectrumConfig->setInvertedWaterfall(m_spectrumSettings.m_invertedWaterfall ? 0 : 1); + swgSpectrumConfig->setDisplayMaxHold(m_spectrumSettings.m_displayMaxHold ? 0 : 1); + swgSpectrumConfig->setDisplayHistogram(m_spectrumSettings.m_displayHistogram ? 0 : 1); + swgSpectrumConfig->setDecay(m_spectrumSettings.m_decay); + swgSpectrumConfig->setDisplayGrid(m_spectrumSettings.m_displayGrid ? 1 : 0); + swgSpectrumConfig->setInvert(m_spectrumSettings.m_invert ? 1 : 0); + swgSpectrumConfig->setDisplayGridIntensity(m_spectrumSettings.m_displayGridIntensity); + swgSpectrumConfig->setDecayDivisor(m_spectrumSettings.m_decayDivisor); + swgSpectrumConfig->setHistogramStroke(m_spectrumSettings.m_histogramStroke); + swgSpectrumConfig->setDisplayCurrent(m_spectrumSettings.m_displayCurrent ? 1 : 0); + swgSpectrumConfig->setDisplayTraceIntensity(m_spectrumSettings.m_displayTraceIntensity); + swgSpectrumConfig->setWaterfallShare(m_spectrumSettings.m_waterfallShare); + swgSpectrumConfig->setAveragingMode((int) m_spectrumSettings.m_averagingMode); + swgSpectrumConfig->setAveragingValue(GLSpectrumSettings::getAveragingValue(m_spectrumSettings.m_averagingIndex, m_spectrumSettings.m_averagingMode)); + swgSpectrumConfig->setLinear(m_spectrumSettings.m_linear ? 1 : 0); + } int nbChannels = preset.getChannelCount(); for (int i = 0; i < nbChannels; i++) diff --git a/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml b/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml index 76b70a366..0da434001 100644 --- a/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml +++ b/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml @@ -5,7 +5,7 @@ GLSpectrum: type: integer fftOverlap: type: integer - m_fftWindow: + fftWindow: description: See FFTWindow type: integer refLevel: diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 518b410f3..a38ae5efe 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -3099,7 +3099,7 @@ margin-bottom: 20px; "fftOverlap" : { "type" : "integer" }, - "m_fftWindow" : { + "fftWindow" : { "type" : "integer", "description" : "See FFTWindow" }, @@ -26955,7 +26955,7 @@ except ApiException as e:
- Generated 2019-08-04T02:40:24.306+02:00 + Generated 2019-08-05T03:02:48.921+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp index a6339ee49..b841f2cf8 100644 --- a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp @@ -32,8 +32,8 @@ SWGGLSpectrum::SWGGLSpectrum() { m_fft_size_isSet = false; fft_overlap = 0; m_fft_overlap_isSet = false; - m_fft_window = 0; - m_m_fft_window_isSet = false; + fft_window = 0; + m_fft_window_isSet = false; ref_level = 0.0f; m_ref_level_isSet = false; power_range = 0.0f; @@ -82,8 +82,8 @@ SWGGLSpectrum::init() { m_fft_size_isSet = false; fft_overlap = 0; m_fft_overlap_isSet = false; - m_fft_window = 0; - m_m_fft_window_isSet = false; + fft_window = 0; + m_fft_window_isSet = false; ref_level = 0.0f; m_ref_level_isSet = false; power_range = 0.0f; @@ -162,7 +162,7 @@ SWGGLSpectrum::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&fft_overlap, pJson["fftOverlap"], "qint32", ""); - ::SWGSDRangel::setValue(&m_fft_window, pJson["m_fftWindow"], "qint32", ""); + ::SWGSDRangel::setValue(&fft_window, pJson["fftWindow"], "qint32", ""); ::SWGSDRangel::setValue(&ref_level, pJson["refLevel"], "float", ""); @@ -222,8 +222,8 @@ SWGGLSpectrum::asJsonObject() { if(m_fft_overlap_isSet){ obj->insert("fftOverlap", QJsonValue(fft_overlap)); } - if(m_m_fft_window_isSet){ - obj->insert("m_fftWindow", QJsonValue(m_fft_window)); + if(m_fft_window_isSet){ + obj->insert("fftWindow", QJsonValue(fft_window)); } if(m_ref_level_isSet){ obj->insert("refLevel", QJsonValue(ref_level)); @@ -304,13 +304,13 @@ SWGGLSpectrum::setFftOverlap(qint32 fft_overlap) { } qint32 -SWGGLSpectrum::getMFftWindow() { - return m_fft_window; +SWGGLSpectrum::getFftWindow() { + return fft_window; } void -SWGGLSpectrum::setMFftWindow(qint32 m_fft_window) { - this->m_fft_window = m_fft_window; - this->m_m_fft_window_isSet = true; +SWGGLSpectrum::setFftWindow(qint32 fft_window) { + this->fft_window = fft_window; + this->m_fft_window_isSet = true; } float @@ -504,7 +504,7 @@ SWGGLSpectrum::isSet(){ if(m_fft_overlap_isSet){ isObjectUpdated = true; break; } - if(m_m_fft_window_isSet){ + if(m_fft_window_isSet){ isObjectUpdated = true; break; } if(m_ref_level_isSet){ diff --git a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h index faae181d1..a13864913 100644 --- a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h +++ b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h @@ -47,8 +47,8 @@ public: qint32 getFftOverlap(); void setFftOverlap(qint32 fft_overlap); - qint32 getMFftWindow(); - void setMFftWindow(qint32 m_fft_window); + qint32 getFftWindow(); + void setFftWindow(qint32 fft_window); float getRefLevel(); void setRefLevel(float ref_level); @@ -114,8 +114,8 @@ private: qint32 fft_overlap; bool m_fft_overlap_isSet; - qint32 m_fft_window; - bool m_m_fft_window_isSet; + qint32 fft_window; + bool m_fft_window_isSet; float ref_level; bool m_ref_level_isSet;