mirror of
https://github.com/f4exb/sdrangel.git
synced 2026-06-04 06:54:39 -04:00
REST API: implemented GUI code for /sdrangel/deviceset/{deviceSetIndex}/spectrum/settings (GET) and /sdrangel/deviceset/{deviceSetIndex}/spectrum/server (GET)
This commit is contained in:
@@ -18,6 +18,9 @@
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "SWGGLSpectrum.h"
|
||||
#include "SWGSpectrumServer.h"
|
||||
|
||||
#include "glspectruminterface.h"
|
||||
#include "dspcommands.h"
|
||||
#include "dspengine.h"
|
||||
@@ -778,3 +781,66 @@ void SpectrumVis::handleConfigureWSSpectrum(const QString& address, uint16_t por
|
||||
m_wsSpectrum.openSocket();
|
||||
}
|
||||
}
|
||||
|
||||
int SpectrumVis::webapiSpectrumSettingsGet(SWGSDRangel::SWGGLSpectrum& response, QString& errorMessage) const
|
||||
{
|
||||
(void) errorMessage;
|
||||
response.init();
|
||||
webapiFormatSpectrumSettings(response, m_settings);
|
||||
return 200;
|
||||
}
|
||||
|
||||
int SpectrumVis::webapiSpectrumServerGet(SWGSDRangel::SWGSpectrumServer& response, QString& errorMessage) const
|
||||
{
|
||||
bool serverRunning = m_wsSpectrum.socketOpened();
|
||||
QList<QHostAddress> peerHosts;
|
||||
QList<quint16> peerPorts;
|
||||
m_wsSpectrum.getPeers(peerHosts, peerPorts);
|
||||
response.init();
|
||||
response.setRun(serverRunning ? 1 : 0);
|
||||
|
||||
if (peerHosts.size() > 0)
|
||||
{
|
||||
response.setClients(new QList<SWGSDRangel::SWGSpectrumServer_clients*>);
|
||||
|
||||
for (int i = 0; i < peerHosts.size(); i++)
|
||||
{
|
||||
response.getClients()->push_back(new SWGSDRangel::SWGSpectrumServer_clients);
|
||||
response.getClients()->back()->setAddress(new QString(peerHosts.at(i).toString()));
|
||||
response.getClients()->back()->setPort(peerPorts.at(i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SpectrumVis::webapiFormatSpectrumSettings(SWGSDRangel::SWGGLSpectrum& response, const GLSpectrumSettings& settings)
|
||||
{
|
||||
response.setFftSize(settings.m_fftSize);
|
||||
response.setFftOverlap(settings.m_fftOverlap);
|
||||
response.setFftWindow((int) settings.m_fftWindow);
|
||||
response.setRefLevel(settings.m_refLevel);
|
||||
response.setPowerRange(settings.m_powerRange);
|
||||
response.setDecay(settings.m_decay);
|
||||
response.setDecayDivisor(settings.m_decayDivisor);
|
||||
response.setHistogramStroke(settings.m_histogramStroke);
|
||||
response.setDisplayGridIntensity(settings.m_displayGridIntensity);
|
||||
response.setDisplayTraceIntensity(settings.m_displayTraceIntensity);
|
||||
response.setDisplayWaterfall(settings.m_displayWaterfall ? 1 : 0);
|
||||
response.setInvertedWaterfall(settings.m_invertedWaterfall ? 1 : 0);
|
||||
response.setWaterfallShare(settings.m_waterfallShare);
|
||||
response.setDisplayMaxHold(settings.m_displayMaxHold ? 1 : 0);
|
||||
response.setDisplayCurrent(settings.m_displayCurrent ? 1 : 0);
|
||||
response.setDisplayHistogram(settings.m_displayHistogram ? 1 : 0);
|
||||
response.setDisplayGrid(settings.m_displayGrid ? 1 : 0);
|
||||
response.setAveragingMode((int) settings.m_averagingMode);
|
||||
response.setAveragingValue(settings.m_averagingValue);
|
||||
response.setLinear(settings.m_linear ? 1 : 0);
|
||||
response.setSsb(settings.m_ssb ? 1 : 0);
|
||||
response.setUsb(settings.m_usb ? 1 : 0);
|
||||
response.setWsSpectrumPort(settings.m_wsSpectrumPort);
|
||||
|
||||
if (response.getWsSpectrumAddress()) {
|
||||
*response.getWsSpectrumAddress() = settings.m_wsSpectrumAddress;
|
||||
} else {
|
||||
response.setWsSpectrumAddress(new QString(settings.m_wsSpectrumAddress));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user