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;