diff --git a/sdrbase/dsp/spectrumsettings.cpp b/sdrbase/dsp/spectrumsettings.cpp index 022cbaed7..697487c27 100644 --- a/sdrbase/dsp/spectrumsettings.cpp +++ b/sdrbase/dsp/spectrumsettings.cpp @@ -265,6 +265,7 @@ void SpectrumSettings::formatTo(SWGSDRangel::SWGObject *swgObject) const swgSpectrum->setSsb(m_ssb ? 1 : 0); swgSpectrum->setUsb(m_usb ? 1 : 0); swgSpectrum->setWaterfallShare(m_waterfallShare); + swgSpectrum->setMarkersDisplay((int) m_markersDisplay); if (m_histogramMarkers.size() > 0) { @@ -398,6 +399,9 @@ void SpectrumSettings::updateFrom(const QStringList& keys, const SWGSDRangel::SW if (keys.contains("spectrumConfig.waterfallShare")) { m_waterfallShare = swgSpectrum->getWaterfallShare(); } + if (keys.contains("spectrumConfig.markersDisplay")) { + m_markersDisplay = (SpectrumSettings::MarkersDisplay) swgSpectrum->getMarkersDisplay(); + } if (keys.contains("spectrumConfig.histogramMarkers")) { diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 1eabfdf3a..ff1232575 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -6151,6 +6151,10 @@ margin-bottom: 20px; "type" : "integer", "description" : "port on which the websocket server is listening" }, + "markersDisplay" : { + "type" : "integer", + "description" : "Display markers (SpectrumSettings::MarkersDisplay)\n * 0 - Mome\n * 1 - Spectrum markers (histogram and waterfall)\n * 2 - Spectrum annotation markers\n" + }, "histogramMarkers" : { "type" : "array", "items" : { @@ -51969,7 +51973,7 @@ except ApiException as e:
- Generated 2022-01-21T22:15:59.334+01:00 + Generated 2022-01-22T07:01:26.727+01:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml b/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml index dbd9df4c6..eedf02343 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/GLSpectrum.yaml @@ -140,6 +140,13 @@ GLSpectrum: wsSpectrumPort: description: port on which the websocket server is listening type: integer + markersDisplay: + type: integer + description: > + Display markers (SpectrumSettings::MarkersDisplay) + * 0 - Mome + * 1 - Spectrum markers (histogram and waterfall) + * 2 - Spectrum annotation markers histogramMarkers: type: array items: diff --git a/sdrbase/webapi/webapiadapterbase.cpp b/sdrbase/webapi/webapiadapterbase.cpp index c8a118003..f85246b32 100644 --- a/sdrbase/webapi/webapiadapterbase.cpp +++ b/sdrbase/webapi/webapiadapterbase.cpp @@ -165,6 +165,7 @@ void WebAPIAdapterBase::webapiFormatPreset( swgSpectrumConfig->setAveragingMode((int) m_spectrumSettings.m_averagingMode); swgSpectrumConfig->setAveragingValue(SpectrumSettings::getAveragingValue(m_spectrumSettings.m_averagingIndex, m_spectrumSettings.m_averagingMode)); swgSpectrumConfig->setLinear(m_spectrumSettings.m_linear ? 1 : 0); + swgSpectrumConfig->setMarkersDisplay((int) m_spectrumSettings.m_markersDisplay); } int nbChannels = preset.getChannelCount(); @@ -378,6 +379,9 @@ void WebAPIAdapterBase::webapiUpdatePreset( if (spectrumIt->contains("waterfallShare")) { spectrumSettings.m_waterfallShare = apiPreset->getSpectrumConfig()->getWaterfallShare(); } + if (spectrumIt->contains("markersDisplay")) { + spectrumSettings.m_markersDisplay = (SpectrumSettings::MarkersDisplay) apiPreset->getSpectrumConfig()->getMarkersDisplay(); + } } preset->setSpectrumConfig(spectrumSettings.serialize()); diff --git a/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml b/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml index 9e54d2ad3..ed3d8b24f 100644 --- a/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml +++ b/swagger/sdrangel/api/swagger/include/GLSpectrum.yaml @@ -140,6 +140,13 @@ GLSpectrum: wsSpectrumPort: description: port on which the websocket server is listening type: integer + markersDisplay: + type: integer + description: > + Display markers (SpectrumSettings::MarkersDisplay) + * 0 - Mome + * 1 - Spectrum markers (histogram and waterfall) + * 2 - Spectrum annotation markers histogramMarkers: type: array items: diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 1eabfdf3a..ff1232575 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -6151,6 +6151,10 @@ margin-bottom: 20px; "type" : "integer", "description" : "port on which the websocket server is listening" }, + "markersDisplay" : { + "type" : "integer", + "description" : "Display markers (SpectrumSettings::MarkersDisplay)\n * 0 - Mome\n * 1 - Spectrum markers (histogram and waterfall)\n * 2 - Spectrum annotation markers\n" + }, "histogramMarkers" : { "type" : "array", "items" : { @@ -51969,7 +51973,7 @@ except ApiException as e:
- Generated 2022-01-21T22:15:59.334+01:00 + Generated 2022-01-22T07:01:26.727+01:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp index e59b7fc9e..31274c07d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.cpp @@ -80,6 +80,8 @@ SWGGLSpectrum::SWGGLSpectrum() { m_ws_spectrum_address_isSet = false; ws_spectrum_port = 0; m_ws_spectrum_port_isSet = false; + markers_display = 0; + m_markers_display_isSet = false; histogram_markers = nullptr; m_histogram_markers_isSet = false; waterfall_markers = nullptr; @@ -146,6 +148,8 @@ SWGGLSpectrum::init() { m_ws_spectrum_address_isSet = false; ws_spectrum_port = 0; m_ws_spectrum_port_isSet = false; + markers_display = 0; + m_markers_display_isSet = false; histogram_markers = new QList(); m_histogram_markers_isSet = false; waterfall_markers = new QList(); @@ -184,6 +188,7 @@ SWGGLSpectrum::cleanup() { delete ws_spectrum_address; } + if(histogram_markers != nullptr) { auto arr = histogram_markers; for(auto o: *arr) { @@ -270,6 +275,8 @@ SWGGLSpectrum::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&ws_spectrum_port, pJson["wsSpectrumPort"], "qint32", ""); + ::SWGSDRangel::setValue(&markers_display, pJson["markersDisplay"], "qint32", ""); + ::SWGSDRangel::setValue(&histogram_markers, pJson["histogramMarkers"], "QList", "SWGSpectrumHistogramMarker"); @@ -370,6 +377,9 @@ SWGGLSpectrum::asJsonObject() { if(m_ws_spectrum_port_isSet){ obj->insert("wsSpectrumPort", QJsonValue(ws_spectrum_port)); } + if(m_markers_display_isSet){ + obj->insert("markersDisplay", QJsonValue(markers_display)); + } if(histogram_markers && histogram_markers->size() > 0){ toJsonArray((QList*)histogram_markers, obj, "histogramMarkers", "SWGSpectrumHistogramMarker"); } @@ -643,6 +653,16 @@ SWGGLSpectrum::setWsSpectrumPort(qint32 ws_spectrum_port) { this->m_ws_spectrum_port_isSet = true; } +qint32 +SWGGLSpectrum::getMarkersDisplay() { + return markers_display; +} +void +SWGGLSpectrum::setMarkersDisplay(qint32 markers_display) { + this->markers_display = markers_display; + this->m_markers_display_isSet = true; +} + QList* SWGGLSpectrum::getHistogramMarkers() { return histogram_markers; @@ -756,6 +776,9 @@ SWGGLSpectrum::isSet(){ if(m_ws_spectrum_port_isSet){ isObjectUpdated = true; break; } + if(m_markers_display_isSet){ + isObjectUpdated = true; break; + } if(histogram_markers && (histogram_markers->size() > 0)){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h index 2d06b3e72..0a8d7acda 100644 --- a/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h +++ b/swagger/sdrangel/code/qt5/client/SWGGLSpectrum.h @@ -124,6 +124,9 @@ public: qint32 getWsSpectrumPort(); void setWsSpectrumPort(qint32 ws_spectrum_port); + qint32 getMarkersDisplay(); + void setMarkersDisplay(qint32 markers_display); + QList* getHistogramMarkers(); void setHistogramMarkers(QList* histogram_markers); @@ -215,6 +218,9 @@ private: qint32 ws_spectrum_port; bool m_ws_spectrum_port_isSet; + qint32 markers_display; + bool m_markers_display_isSet; + QList* histogram_markers; bool m_histogram_markers_isSet;