1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-02 06:04:39 -04:00

REST API: config: GET (12): added spectrum settings data

This commit is contained in:
f4exb
2019-08-05 03:31:44 +02:00
parent 4b3d088407
commit e06b7fce90
8 changed files with 58 additions and 24 deletions
+30 -1
View File
@@ -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++)