FreeDV demodulator: REST API

pull/304/head
f4exb 2019-02-25 02:06:15 +01:00
rodzic 5009f0a7a0
commit b999ab2c9a
21 zmienionych plików z 1130 dodań i 137 usunięć

Wyświetl plik

@ -23,9 +23,9 @@
#include <QBuffer>
#include "SWGChannelSettings.h"
#include "SWGSSBDemodSettings.h"
#include "SWGFreeDVDemodSettings.h"
#include "SWGChannelReport.h"
#include "SWGSSBDemodReport.h"
#include "SWGFreeDVDemodReport.h"
#include "audio/audiooutput.h"
#include "dsp/dspengine.h"
@ -573,8 +573,8 @@ int FreeDVDemod::webapiSettingsGet(
QString& errorMessage)
{
(void) errorMessage;
response.setSsbDemodSettings(new SWGSDRangel::SWGSSBDemodSettings());
response.getSsbDemodSettings()->init();
response.setFreeDvDemodSettings(new SWGSDRangel::SWGFreeDVDemodSettings());
response.getFreeDvDemodSettings()->init();
webapiFormatChannelSettings(response, m_settings);
return 200;
}
@ -591,41 +591,41 @@ int FreeDVDemod::webapiSettingsPutPatch(
if (channelSettingsKeys.contains("inputFrequencyOffset"))
{
settings.m_inputFrequencyOffset = response.getSsbDemodSettings()->getInputFrequencyOffset();
settings.m_inputFrequencyOffset = response.getFreeDvDemodSettings()->getInputFrequencyOffset();
frequencyOffsetChanged = true;
}
if (channelSettingsKeys.contains("volume")) {
settings.m_volume = response.getSsbDemodSettings()->getVolume();
settings.m_volume = response.getFreeDvDemodSettings()->getVolume();
}
if (channelSettingsKeys.contains("spanLog2")) {
settings.m_spanLog2 = response.getSsbDemodSettings()->getSpanLog2();
settings.m_spanLog2 = response.getFreeDvDemodSettings()->getSpanLog2();
}
if (channelSettingsKeys.contains("audioMute")) {
settings.m_audioMute = response.getSsbDemodSettings()->getAudioMute() != 0;
settings.m_audioMute = response.getFreeDvDemodSettings()->getAudioMute() != 0;
}
if (channelSettingsKeys.contains("agc")) {
settings.m_agc = response.getSsbDemodSettings()->getAgc() != 0;
settings.m_agc = response.getFreeDvDemodSettings()->getAgc() != 0;
}
if (channelSettingsKeys.contains("agcClamping")) {
settings.m_agcClamping = response.getSsbDemodSettings()->getAgcClamping() != 0;
settings.m_agcClamping = response.getFreeDvDemodSettings()->getAgcClamping() != 0;
}
if (channelSettingsKeys.contains("agcTimeLog2")) {
settings.m_agcTimeLog2 = response.getSsbDemodSettings()->getAgcTimeLog2();
settings.m_agcTimeLog2 = response.getFreeDvDemodSettings()->getAgcTimeLog2();
}
if (channelSettingsKeys.contains("agcPowerThreshold")) {
settings.m_agcPowerThreshold = response.getSsbDemodSettings()->getAgcPowerThreshold();
settings.m_agcPowerThreshold = response.getFreeDvDemodSettings()->getAgcPowerThreshold();
}
if (channelSettingsKeys.contains("agcThresholdGate")) {
settings.m_agcThresholdGate = response.getSsbDemodSettings()->getAgcThresholdGate();
settings.m_agcThresholdGate = response.getFreeDvDemodSettings()->getAgcThresholdGate();
}
if (channelSettingsKeys.contains("rgbColor")) {
settings.m_rgbColor = response.getSsbDemodSettings()->getRgbColor();
settings.m_rgbColor = response.getFreeDvDemodSettings()->getRgbColor();
}
if (channelSettingsKeys.contains("title")) {
settings.m_title = *response.getSsbDemodSettings()->getTitle();
settings.m_title = *response.getFreeDvDemodSettings()->getTitle();
}
if (channelSettingsKeys.contains("audioDeviceName")) {
settings.m_audioDeviceName = *response.getSsbDemodSettings()->getAudioDeviceName();
settings.m_audioDeviceName = *response.getFreeDvDemodSettings()->getAudioDeviceName();
}
if (frequencyOffsetChanged)
@ -655,36 +655,36 @@ int FreeDVDemod::webapiReportGet(
QString& errorMessage)
{
(void) errorMessage;
response.setSsbDemodReport(new SWGSDRangel::SWGSSBDemodReport());
response.getSsbDemodReport()->init();
response.setFreeDvDemodReport(new SWGSDRangel::SWGFreeDVDemodReport());
response.getFreeDvDemodReport()->init();
webapiFormatChannelReport(response);
return 200;
}
void FreeDVDemod::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const FreeDVDemodSettings& settings)
{
response.getSsbDemodSettings()->setAudioMute(settings.m_audioMute ? 1 : 0);
response.getSsbDemodSettings()->setInputFrequencyOffset(settings.m_inputFrequencyOffset);
response.getSsbDemodSettings()->setVolume(settings.m_volume);
response.getSsbDemodSettings()->setSpanLog2(settings.m_spanLog2);
response.getSsbDemodSettings()->setAudioMute(settings.m_audioMute ? 1 : 0);
response.getSsbDemodSettings()->setAgc(settings.m_agc ? 1 : 0);
response.getSsbDemodSettings()->setAgcClamping(settings.m_agcClamping ? 1 : 0);
response.getSsbDemodSettings()->setAgcTimeLog2(settings.m_agcTimeLog2);
response.getSsbDemodSettings()->setAgcPowerThreshold(settings.m_agcPowerThreshold);
response.getSsbDemodSettings()->setAgcThresholdGate(settings.m_agcThresholdGate);
response.getSsbDemodSettings()->setRgbColor(settings.m_rgbColor);
response.getFreeDvDemodSettings()->setAudioMute(settings.m_audioMute ? 1 : 0);
response.getFreeDvDemodSettings()->setInputFrequencyOffset(settings.m_inputFrequencyOffset);
response.getFreeDvDemodSettings()->setVolume(settings.m_volume);
response.getFreeDvDemodSettings()->setSpanLog2(settings.m_spanLog2);
response.getFreeDvDemodSettings()->setAudioMute(settings.m_audioMute ? 1 : 0);
response.getFreeDvDemodSettings()->setAgc(settings.m_agc ? 1 : 0);
response.getFreeDvDemodSettings()->setAgcClamping(settings.m_agcClamping ? 1 : 0);
response.getFreeDvDemodSettings()->setAgcTimeLog2(settings.m_agcTimeLog2);
response.getFreeDvDemodSettings()->setAgcPowerThreshold(settings.m_agcPowerThreshold);
response.getFreeDvDemodSettings()->setAgcThresholdGate(settings.m_agcThresholdGate);
response.getFreeDvDemodSettings()->setRgbColor(settings.m_rgbColor);
if (response.getSsbDemodSettings()->getTitle()) {
*response.getSsbDemodSettings()->getTitle() = settings.m_title;
if (response.getFreeDvDemodSettings()->getTitle()) {
*response.getFreeDvDemodSettings()->getTitle() = settings.m_title;
} else {
response.getSsbDemodSettings()->setTitle(new QString(settings.m_title));
response.getFreeDvDemodSettings()->setTitle(new QString(settings.m_title));
}
if (response.getSsbDemodSettings()->getAudioDeviceName()) {
*response.getSsbDemodSettings()->getAudioDeviceName() = settings.m_audioDeviceName;
if (response.getFreeDvDemodSettings()->getAudioDeviceName()) {
*response.getFreeDvDemodSettings()->getAudioDeviceName() = settings.m_audioDeviceName;
} else {
response.getSsbDemodSettings()->setAudioDeviceName(new QString(settings.m_audioDeviceName));
response.getFreeDvDemodSettings()->setAudioDeviceName(new QString(settings.m_audioDeviceName));
}
}
@ -694,10 +694,10 @@ void FreeDVDemod::webapiFormatChannelReport(SWGSDRangel::SWGChannelReport& respo
int nbMagsqSamples;
getMagSqLevels(magsqAvg, magsqPeak, nbMagsqSamples);
response.getSsbDemodReport()->setChannelPowerDb(CalcDb::dbPower(magsqAvg));
response.getSsbDemodReport()->setSquelch(m_audioActive ? 1 : 0);
response.getSsbDemodReport()->setAudioSampleRate(m_audioSampleRate);
response.getSsbDemodReport()->setChannelSampleRate(m_inputSampleRate);
response.getFreeDvDemodReport()->setChannelPowerDb(CalcDb::dbPower(magsqAvg));
response.getFreeDvDemodReport()->setSquelch(m_audioActive ? 1 : 0);
response.getFreeDvDemodReport()->setAudioSampleRate(m_audioSampleRate);
response.getFreeDvDemodReport()->setChannelSampleRate(m_inputSampleRate);
}
void FreeDVDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, const FreeDVDemodSettings& settings, bool force)
@ -705,46 +705,46 @@ void FreeDVDemod::webapiReverseSendSettings(QList<QString>& channelSettingsKeys,
SWGSDRangel::SWGChannelSettings *swgChannelSettings = new SWGSDRangel::SWGChannelSettings();
swgChannelSettings->setTx(0);
swgChannelSettings->setChannelType(new QString("SSBDemod"));
swgChannelSettings->setSsbDemodSettings(new SWGSDRangel::SWGSSBDemodSettings());
SWGSDRangel::SWGSSBDemodSettings *swgSSBDemodSettings = swgChannelSettings->getSsbDemodSettings();
swgChannelSettings->setFreeDvDemodSettings(new SWGSDRangel::SWGFreeDVDemodSettings());
SWGSDRangel::SWGFreeDVDemodSettings *swgFreeDVDemodSettings = swgChannelSettings->getFreeDvDemodSettings();
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (channelSettingsKeys.contains("inputFrequencyOffset") || force) {
swgSSBDemodSettings->setInputFrequencyOffset(settings.m_inputFrequencyOffset);
swgFreeDVDemodSettings->setInputFrequencyOffset(settings.m_inputFrequencyOffset);
}
if (channelSettingsKeys.contains("volume") || force) {
swgSSBDemodSettings->setVolume(settings.m_volume);
swgFreeDVDemodSettings->setVolume(settings.m_volume);
}
if (channelSettingsKeys.contains("spanLog2") || force) {
swgSSBDemodSettings->setSpanLog2(settings.m_spanLog2);
swgFreeDVDemodSettings->setSpanLog2(settings.m_spanLog2);
}
if (channelSettingsKeys.contains("audioMute") || force) {
swgSSBDemodSettings->setAudioMute(settings.m_audioMute ? 1 : 0);
swgFreeDVDemodSettings->setAudioMute(settings.m_audioMute ? 1 : 0);
}
if (channelSettingsKeys.contains("agc") || force) {
swgSSBDemodSettings->setAgc(settings.m_agc ? 1 : 0);
swgFreeDVDemodSettings->setAgc(settings.m_agc ? 1 : 0);
}
if (channelSettingsKeys.contains("agcClamping") || force) {
swgSSBDemodSettings->setAgcClamping(settings.m_agcClamping ? 1 : 0);
swgFreeDVDemodSettings->setAgcClamping(settings.m_agcClamping ? 1 : 0);
}
if (channelSettingsKeys.contains("agcTimeLog2") || force) {
swgSSBDemodSettings->setAgcTimeLog2(settings.m_agcTimeLog2);
swgFreeDVDemodSettings->setAgcTimeLog2(settings.m_agcTimeLog2);
}
if (channelSettingsKeys.contains("agcPowerThreshold") || force) {
swgSSBDemodSettings->setAgcPowerThreshold(settings.m_agcPowerThreshold);
swgFreeDVDemodSettings->setAgcPowerThreshold(settings.m_agcPowerThreshold);
}
if (channelSettingsKeys.contains("agcThresholdGate") || force) {
swgSSBDemodSettings->setAgcThresholdGate(settings.m_agcThresholdGate);
swgFreeDVDemodSettings->setAgcThresholdGate(settings.m_agcThresholdGate);
}
if (channelSettingsKeys.contains("rgbColor") || force) {
swgSSBDemodSettings->setRgbColor(settings.m_rgbColor);
swgFreeDVDemodSettings->setRgbColor(settings.m_rgbColor);
}
if (channelSettingsKeys.contains("title") || force) {
swgSSBDemodSettings->setTitle(new QString(settings.m_title));
swgFreeDVDemodSettings->setTitle(new QString(settings.m_title));
}
if (channelSettingsKeys.contains("audioDeviceName") || force) {
swgSSBDemodSettings->setAudioDeviceName(new QString(settings.m_audioDeviceName));
swgFreeDVDemodSettings->setAudioDeviceName(new QString(settings.m_audioDeviceName));
}
QString channelSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/channel/%4/settings")

Wyświetl plik

@ -15,6 +15,7 @@
<file>webapi/doc/swagger/include/FCDPro.yaml</file>
<file>webapi/doc/swagger/include/FCDProPlus.yaml</file>
<file>webapi/doc/swagger/include/FileSource.yaml</file>
<file>webapi/doc/swagger/include/FreeDVDemod.yaml</file>
<file>webapi/doc/swagger/include/FreeDVMod.yaml</file>
<file>webapi/doc/swagger/include/HackRF.yaml</file>
<file>webapi/doc/swagger/include/LimeSdr.yaml</file>

Wyświetl plik

@ -1758,6 +1758,9 @@ margin-bottom: 20px;
"DSDDemodReport" : {
"$ref" : "#/definitions/DSDDemodReport"
},
"FreeDVDemodReport" : {
"$ref" : "#/definitions/FreeDVDemodReport"
},
"FreeDVModReport" : {
"$ref" : "#/definitions/FreeDVModReport"
},
@ -1818,6 +1821,9 @@ margin-bottom: 20px;
"DSDDemodSettings" : {
"$ref" : "#/definitions/DSDDemodSettings"
},
"FreeDVDemodSettings" : {
"$ref" : "#/definitions/FreeDVDemodSettings"
},
"FreeDVModSettings" : {
"$ref" : "#/definitions/FreeDVModSettings"
},
@ -2545,6 +2551,78 @@ margin-bottom: 20px;
}
},
"description" : "FileSource"
};
defs.FreeDVDemodReport = {
"properties" : {
"channelPowerDB" : {
"type" : "number",
"format" : "float",
"description" : "power received in channel (dB)"
},
"squelch" : {
"type" : "integer",
"description" : "Audio squelch status (1 if open else 0)"
},
"audioSampleRate" : {
"type" : "integer"
},
"channelSampleRate" : {
"type" : "integer"
}
},
"description" : "FreeDVDemod"
};
defs.FreeDVDemodSettings = {
"properties" : {
"inputFrequencyOffset" : {
"type" : "integer",
"format" : "int64"
},
"volume" : {
"type" : "number",
"format" : "float"
},
"spanLog2" : {
"type" : "integer"
},
"audioMute" : {
"type" : "integer",
"description" : "Mute audio (1 if muted else 0)"
},
"agc" : {
"type" : "integer",
"description" : "AGC (1 if AGC active else 0)"
},
"agcClamping" : {
"type" : "integer",
"description" : "AGC clamping (1 if AGC clampingactive else 0)"
},
"agcTimeLog2" : {
"type" : "integer",
"description" : "AGC averaging time log2 in milliseconds"
},
"agcPowerThreshold" : {
"type" : "integer",
"description" : "Audio open RF threshold (dB)"
},
"agcThresholdGate" : {
"type" : "integer",
"description" : "Audio squelch gate in ms"
},
"rgbColor" : {
"type" : "integer"
},
"title" : {
"type" : "string"
},
"audioDeviceName" : {
"type" : "string"
},
"freeDVMode" : {
"type" : "integer"
}
},
"description" : "FreeDVDemod"
};
defs.FreeDVModReport = {
"properties" : {
@ -2568,14 +2646,6 @@ margin-bottom: 20px;
"type" : "integer",
"format" : "int64"
},
"bandwidth" : {
"type" : "number",
"format" : "float"
},
"lowCutoff" : {
"type" : "number",
"format" : "float"
},
"toneFrequency" : {
"type" : "number",
"format" : "float"
@ -24474,7 +24544,7 @@ except ApiException as e:
</div>
<div id="generator">
<div class="content">
Generated 2019-02-24T20:42:26.559+01:00
Generated 2019-02-25T02:04:30.288+01:00
</div>
</div>
</div>

Wyświetl plik

@ -0,0 +1,52 @@
FreeDVDemodSettings:
description: FreeDVDemod
properties:
inputFrequencyOffset:
type: integer
format: int64
volume:
type: number
format: float
spanLog2:
type: integer
audioMute:
description: Mute audio (1 if muted else 0)
type: integer
agc:
description: AGC (1 if AGC active else 0)
type: integer
agcClamping:
description: AGC clamping (1 if AGC clampingactive else 0)
type: integer
agcTimeLog2:
description: AGC averaging time log2 in milliseconds
type: integer
agcPowerThreshold:
description: Audio open RF threshold (dB)
type: integer
agcThresholdGate:
description: Audio squelch gate in ms
type: integer
rgbColor:
type: integer
title:
type: string
audioDeviceName:
type: string
freeDVMode:
type: integer
FreeDVDemodReport:
description: FreeDVDemod
properties:
channelPowerDB:
description: power received in channel (dB)
type: number
format: float
squelch:
description: Audio squelch status (1 if open else 0)
type: integer
audioSampleRate:
type: integer
channelSampleRate:
type: integer

Wyświetl plik

@ -4,12 +4,6 @@ FreeDVModSettings:
inputFrequencyOffset:
type: integer
format: int64
bandwidth:
type: number
format: float
lowCutoff:
type: number
format: float
toneFrequency:
type: number
format: float

Wyświetl plik

@ -1890,6 +1890,8 @@ definitions:
$ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodSettings"
DSDDemodSettings:
$ref: "/doc/swagger/include/DSDDemod.yaml#/DSDDemodSettings"
FreeDVDemodSettings:
$ref: "/doc/swagger/include/FreeDVDemod.yaml#/FreeDVDemodSettings"
FreeDVModSettings:
$ref: "/doc/swagger/include/FreeDVMod.yaml#/FreeDVModSettings"
NFMDemodSettings:
@ -1933,6 +1935,8 @@ definitions:
$ref: "/doc/swagger/include/BFMDemod.yaml#/BFMDemodReport"
DSDDemodReport:
$ref: "/doc/swagger/include/DSDDemod.yaml#/DSDDemodReport"
FreeDVDemodReport:
$ref: "/doc/swagger/include/FreeDVDemod.yaml#/FreeDVDemodReport"
FreeDVModReport:
$ref: "/doc/swagger/include/FreeDVMod.yaml#/FreeDVModReport"
NFMDemodReport:

Wyświetl plik

@ -0,0 +1,52 @@
FreeDVDemodSettings:
description: FreeDVDemod
properties:
inputFrequencyOffset:
type: integer
format: int64
volume:
type: number
format: float
spanLog2:
type: integer
audioMute:
description: Mute audio (1 if muted else 0)
type: integer
agc:
description: AGC (1 if AGC active else 0)
type: integer
agcClamping:
description: AGC clamping (1 if AGC clampingactive else 0)
type: integer
agcTimeLog2:
description: AGC averaging time log2 in milliseconds
type: integer
agcPowerThreshold:
description: Audio open RF threshold (dB)
type: integer
agcThresholdGate:
description: Audio squelch gate in ms
type: integer
rgbColor:
type: integer
title:
type: string
audioDeviceName:
type: string
freeDVMode:
type: integer
FreeDVDemodReport:
description: FreeDVDemod
properties:
channelPowerDB:
description: power received in channel (dB)
type: number
format: float
squelch:
description: Audio squelch status (1 if open else 0)
type: integer
audioSampleRate:
type: integer
channelSampleRate:
type: integer

Wyświetl plik

@ -4,12 +4,6 @@ FreeDVModSettings:
inputFrequencyOffset:
type: integer
format: int64
bandwidth:
type: number
format: float
lowCutoff:
type: number
format: float
toneFrequency:
type: number
format: float

Wyświetl plik

@ -1890,6 +1890,8 @@ definitions:
$ref: "http://localhost:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodSettings"
DSDDemodSettings:
$ref: "http://localhost:8081/api/swagger/include/DSDDemod.yaml#/DSDDemodSettings"
FreeDVDemodSettings:
$ref: "http://localhost:8081/api/swagger/include/FreeDVDemod.yaml#/FreeDVDemodSettings"
FreeDVModSettings:
$ref: "http://localhost:8081/api/swagger/include/FreeDVMod.yaml#/FreeDVModSettings"
NFMDemodSettings:
@ -1933,6 +1935,8 @@ definitions:
$ref: "http://localhost:8081/api/swagger/include/BFMDemod.yaml#/BFMDemodReport"
DSDDemodReport:
$ref: "http://localhost:8081/api/swagger/include/DSDDemod.yaml#/DSDDemodReport"
FreeDVDemodReport:
$ref: "http://localhost:8081/api/swagger/include/FreeDVDemod.yaml#/FreeDVDemodReport"
FreeDVModReport:
$ref: "http://localhost:8081/api/swagger/include/FreeDVMod.yaml#/FreeDVModReport"
NFMDemodReport:

Wyświetl plik

@ -1758,6 +1758,9 @@ margin-bottom: 20px;
"DSDDemodReport" : {
"$ref" : "#/definitions/DSDDemodReport"
},
"FreeDVDemodReport" : {
"$ref" : "#/definitions/FreeDVDemodReport"
},
"FreeDVModReport" : {
"$ref" : "#/definitions/FreeDVModReport"
},
@ -1818,6 +1821,9 @@ margin-bottom: 20px;
"DSDDemodSettings" : {
"$ref" : "#/definitions/DSDDemodSettings"
},
"FreeDVDemodSettings" : {
"$ref" : "#/definitions/FreeDVDemodSettings"
},
"FreeDVModSettings" : {
"$ref" : "#/definitions/FreeDVModSettings"
},
@ -2545,6 +2551,78 @@ margin-bottom: 20px;
}
},
"description" : "FileSource"
};
defs.FreeDVDemodReport = {
"properties" : {
"channelPowerDB" : {
"type" : "number",
"format" : "float",
"description" : "power received in channel (dB)"
},
"squelch" : {
"type" : "integer",
"description" : "Audio squelch status (1 if open else 0)"
},
"audioSampleRate" : {
"type" : "integer"
},
"channelSampleRate" : {
"type" : "integer"
}
},
"description" : "FreeDVDemod"
};
defs.FreeDVDemodSettings = {
"properties" : {
"inputFrequencyOffset" : {
"type" : "integer",
"format" : "int64"
},
"volume" : {
"type" : "number",
"format" : "float"
},
"spanLog2" : {
"type" : "integer"
},
"audioMute" : {
"type" : "integer",
"description" : "Mute audio (1 if muted else 0)"
},
"agc" : {
"type" : "integer",
"description" : "AGC (1 if AGC active else 0)"
},
"agcClamping" : {
"type" : "integer",
"description" : "AGC clamping (1 if AGC clampingactive else 0)"
},
"agcTimeLog2" : {
"type" : "integer",
"description" : "AGC averaging time log2 in milliseconds"
},
"agcPowerThreshold" : {
"type" : "integer",
"description" : "Audio open RF threshold (dB)"
},
"agcThresholdGate" : {
"type" : "integer",
"description" : "Audio squelch gate in ms"
},
"rgbColor" : {
"type" : "integer"
},
"title" : {
"type" : "string"
},
"audioDeviceName" : {
"type" : "string"
},
"freeDVMode" : {
"type" : "integer"
}
},
"description" : "FreeDVDemod"
};
defs.FreeDVModReport = {
"properties" : {
@ -2568,14 +2646,6 @@ margin-bottom: 20px;
"type" : "integer",
"format" : "int64"
},
"bandwidth" : {
"type" : "number",
"format" : "float"
},
"lowCutoff" : {
"type" : "number",
"format" : "float"
},
"toneFrequency" : {
"type" : "number",
"format" : "float"
@ -24474,7 +24544,7 @@ except ApiException as e:
</div>
<div id="generator">
<div class="content">
Generated 2019-02-24T20:42:26.559+01:00
Generated 2019-02-25T02:04:30.288+01:00
</div>
</div>
</div>

Wyświetl plik

@ -42,6 +42,8 @@ SWGChannelReport::SWGChannelReport() {
m_bfm_demod_report_isSet = false;
dsd_demod_report = nullptr;
m_dsd_demod_report_isSet = false;
free_dv_demod_report = nullptr;
m_free_dv_demod_report_isSet = false;
free_dv_mod_report = nullptr;
m_free_dv_mod_report_isSet = false;
nfm_demod_report = nullptr;
@ -84,6 +86,8 @@ SWGChannelReport::init() {
m_bfm_demod_report_isSet = false;
dsd_demod_report = new SWGDSDDemodReport();
m_dsd_demod_report_isSet = false;
free_dv_demod_report = new SWGFreeDVDemodReport();
m_free_dv_demod_report_isSet = false;
free_dv_mod_report = new SWGFreeDVModReport();
m_free_dv_mod_report_isSet = false;
nfm_demod_report = new SWGNFMDemodReport();
@ -127,6 +131,9 @@ SWGChannelReport::cleanup() {
if(dsd_demod_report != nullptr) {
delete dsd_demod_report;
}
if(free_dv_demod_report != nullptr) {
delete free_dv_demod_report;
}
if(free_dv_mod_report != nullptr) {
delete free_dv_mod_report;
}
@ -184,6 +191,8 @@ SWGChannelReport::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&dsd_demod_report, pJson["DSDDemodReport"], "SWGDSDDemodReport", "SWGDSDDemodReport");
::SWGSDRangel::setValue(&free_dv_demod_report, pJson["FreeDVDemodReport"], "SWGFreeDVDemodReport", "SWGFreeDVDemodReport");
::SWGSDRangel::setValue(&free_dv_mod_report, pJson["FreeDVModReport"], "SWGFreeDVModReport", "SWGFreeDVModReport");
::SWGSDRangel::setValue(&nfm_demod_report, pJson["NFMDemodReport"], "SWGNFMDemodReport", "SWGNFMDemodReport");
@ -241,6 +250,9 @@ SWGChannelReport::asJsonObject() {
if((dsd_demod_report != nullptr) && (dsd_demod_report->isSet())){
toJsonValue(QString("DSDDemodReport"), dsd_demod_report, obj, QString("SWGDSDDemodReport"));
}
if((free_dv_demod_report != nullptr) && (free_dv_demod_report->isSet())){
toJsonValue(QString("FreeDVDemodReport"), free_dv_demod_report, obj, QString("SWGFreeDVDemodReport"));
}
if((free_dv_mod_report != nullptr) && (free_dv_mod_report->isSet())){
toJsonValue(QString("FreeDVModReport"), free_dv_mod_report, obj, QString("SWGFreeDVModReport"));
}
@ -345,6 +357,16 @@ SWGChannelReport::setDsdDemodReport(SWGDSDDemodReport* dsd_demod_report) {
this->m_dsd_demod_report_isSet = true;
}
SWGFreeDVDemodReport*
SWGChannelReport::getFreeDvDemodReport() {
return free_dv_demod_report;
}
void
SWGChannelReport::setFreeDvDemodReport(SWGFreeDVDemodReport* free_dv_demod_report) {
this->free_dv_demod_report = free_dv_demod_report;
this->m_free_dv_demod_report_isSet = true;
}
SWGFreeDVModReport*
SWGChannelReport::getFreeDvModReport() {
return free_dv_mod_report;
@ -457,6 +479,7 @@ SWGChannelReport::isSet(){
if(atv_mod_report != nullptr && atv_mod_report->isSet()){ isObjectUpdated = true; break;}
if(bfm_demod_report != nullptr && bfm_demod_report->isSet()){ isObjectUpdated = true; break;}
if(dsd_demod_report != nullptr && dsd_demod_report->isSet()){ isObjectUpdated = true; break;}
if(free_dv_demod_report != nullptr && free_dv_demod_report->isSet()){ isObjectUpdated = true; break;}
if(free_dv_mod_report != nullptr && free_dv_mod_report->isSet()){ isObjectUpdated = true; break;}
if(nfm_demod_report != nullptr && nfm_demod_report->isSet()){ isObjectUpdated = true; break;}
if(nfm_mod_report != nullptr && nfm_mod_report->isSet()){ isObjectUpdated = true; break;}

Wyświetl plik

@ -27,6 +27,7 @@
#include "SWGATVModReport.h"
#include "SWGBFMDemodReport.h"
#include "SWGDSDDemodReport.h"
#include "SWGFreeDVDemodReport.h"
#include "SWGFreeDVModReport.h"
#include "SWGNFMDemodReport.h"
#include "SWGNFMModReport.h"
@ -78,6 +79,9 @@ public:
SWGDSDDemodReport* getDsdDemodReport();
void setDsdDemodReport(SWGDSDDemodReport* dsd_demod_report);
SWGFreeDVDemodReport* getFreeDvDemodReport();
void setFreeDvDemodReport(SWGFreeDVDemodReport* free_dv_demod_report);
SWGFreeDVModReport* getFreeDvModReport();
void setFreeDvModReport(SWGFreeDVModReport* free_dv_mod_report);
@ -133,6 +137,9 @@ private:
SWGDSDDemodReport* dsd_demod_report;
bool m_dsd_demod_report_isSet;
SWGFreeDVDemodReport* free_dv_demod_report;
bool m_free_dv_demod_report_isSet;
SWGFreeDVModReport* free_dv_mod_report;
bool m_free_dv_mod_report_isSet;

Wyświetl plik

@ -42,6 +42,8 @@ SWGChannelSettings::SWGChannelSettings() {
m_bfm_demod_settings_isSet = false;
dsd_demod_settings = nullptr;
m_dsd_demod_settings_isSet = false;
free_dv_demod_settings = nullptr;
m_free_dv_demod_settings_isSet = false;
free_dv_mod_settings = nullptr;
m_free_dv_mod_settings_isSet = false;
nfm_demod_settings = nullptr;
@ -86,6 +88,8 @@ SWGChannelSettings::init() {
m_bfm_demod_settings_isSet = false;
dsd_demod_settings = new SWGDSDDemodSettings();
m_dsd_demod_settings_isSet = false;
free_dv_demod_settings = new SWGFreeDVDemodSettings();
m_free_dv_demod_settings_isSet = false;
free_dv_mod_settings = new SWGFreeDVModSettings();
m_free_dv_mod_settings_isSet = false;
nfm_demod_settings = new SWGNFMDemodSettings();
@ -131,6 +135,9 @@ SWGChannelSettings::cleanup() {
if(dsd_demod_settings != nullptr) {
delete dsd_demod_settings;
}
if(free_dv_demod_settings != nullptr) {
delete free_dv_demod_settings;
}
if(free_dv_mod_settings != nullptr) {
delete free_dv_mod_settings;
}
@ -191,6 +198,8 @@ SWGChannelSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&dsd_demod_settings, pJson["DSDDemodSettings"], "SWGDSDDemodSettings", "SWGDSDDemodSettings");
::SWGSDRangel::setValue(&free_dv_demod_settings, pJson["FreeDVDemodSettings"], "SWGFreeDVDemodSettings", "SWGFreeDVDemodSettings");
::SWGSDRangel::setValue(&free_dv_mod_settings, pJson["FreeDVModSettings"], "SWGFreeDVModSettings", "SWGFreeDVModSettings");
::SWGSDRangel::setValue(&nfm_demod_settings, pJson["NFMDemodSettings"], "SWGNFMDemodSettings", "SWGNFMDemodSettings");
@ -250,6 +259,9 @@ SWGChannelSettings::asJsonObject() {
if((dsd_demod_settings != nullptr) && (dsd_demod_settings->isSet())){
toJsonValue(QString("DSDDemodSettings"), dsd_demod_settings, obj, QString("SWGDSDDemodSettings"));
}
if((free_dv_demod_settings != nullptr) && (free_dv_demod_settings->isSet())){
toJsonValue(QString("FreeDVDemodSettings"), free_dv_demod_settings, obj, QString("SWGFreeDVDemodSettings"));
}
if((free_dv_mod_settings != nullptr) && (free_dv_mod_settings->isSet())){
toJsonValue(QString("FreeDVModSettings"), free_dv_mod_settings, obj, QString("SWGFreeDVModSettings"));
}
@ -357,6 +369,16 @@ SWGChannelSettings::setDsdDemodSettings(SWGDSDDemodSettings* dsd_demod_settings)
this->m_dsd_demod_settings_isSet = true;
}
SWGFreeDVDemodSettings*
SWGChannelSettings::getFreeDvDemodSettings() {
return free_dv_demod_settings;
}
void
SWGChannelSettings::setFreeDvDemodSettings(SWGFreeDVDemodSettings* free_dv_demod_settings) {
this->free_dv_demod_settings = free_dv_demod_settings;
this->m_free_dv_demod_settings_isSet = true;
}
SWGFreeDVModSettings*
SWGChannelSettings::getFreeDvModSettings() {
return free_dv_mod_settings;
@ -479,6 +501,7 @@ SWGChannelSettings::isSet(){
if(atv_mod_settings != nullptr && atv_mod_settings->isSet()){ isObjectUpdated = true; break;}
if(bfm_demod_settings != nullptr && bfm_demod_settings->isSet()){ isObjectUpdated = true; break;}
if(dsd_demod_settings != nullptr && dsd_demod_settings->isSet()){ isObjectUpdated = true; break;}
if(free_dv_demod_settings != nullptr && free_dv_demod_settings->isSet()){ isObjectUpdated = true; break;}
if(free_dv_mod_settings != nullptr && free_dv_mod_settings->isSet()){ isObjectUpdated = true; break;}
if(nfm_demod_settings != nullptr && nfm_demod_settings->isSet()){ isObjectUpdated = true; break;}
if(nfm_mod_settings != nullptr && nfm_mod_settings->isSet()){ isObjectUpdated = true; break;}

Wyświetl plik

@ -27,6 +27,7 @@
#include "SWGATVModSettings.h"
#include "SWGBFMDemodSettings.h"
#include "SWGDSDDemodSettings.h"
#include "SWGFreeDVDemodSettings.h"
#include "SWGFreeDVModSettings.h"
#include "SWGNFMDemodSettings.h"
#include "SWGNFMModSettings.h"
@ -79,6 +80,9 @@ public:
SWGDSDDemodSettings* getDsdDemodSettings();
void setDsdDemodSettings(SWGDSDDemodSettings* dsd_demod_settings);
SWGFreeDVDemodSettings* getFreeDvDemodSettings();
void setFreeDvDemodSettings(SWGFreeDVDemodSettings* free_dv_demod_settings);
SWGFreeDVModSettings* getFreeDvModSettings();
void setFreeDvModSettings(SWGFreeDVModSettings* free_dv_mod_settings);
@ -137,6 +141,9 @@ private:
SWGDSDDemodSettings* dsd_demod_settings;
bool m_dsd_demod_settings_isSet;
SWGFreeDVDemodSettings* free_dv_demod_settings;
bool m_free_dv_demod_settings_isSet;
SWGFreeDVModSettings* free_dv_mod_settings;
bool m_free_dv_mod_settings_isSet;

Wyświetl plik

@ -0,0 +1,169 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.5.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
#include "SWGFreeDVDemodReport.h"
#include "SWGHelpers.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QObject>
#include <QDebug>
namespace SWGSDRangel {
SWGFreeDVDemodReport::SWGFreeDVDemodReport(QString* json) {
init();
this->fromJson(*json);
}
SWGFreeDVDemodReport::SWGFreeDVDemodReport() {
channel_power_db = 0.0f;
m_channel_power_db_isSet = false;
squelch = 0;
m_squelch_isSet = false;
audio_sample_rate = 0;
m_audio_sample_rate_isSet = false;
channel_sample_rate = 0;
m_channel_sample_rate_isSet = false;
}
SWGFreeDVDemodReport::~SWGFreeDVDemodReport() {
this->cleanup();
}
void
SWGFreeDVDemodReport::init() {
channel_power_db = 0.0f;
m_channel_power_db_isSet = false;
squelch = 0;
m_squelch_isSet = false;
audio_sample_rate = 0;
m_audio_sample_rate_isSet = false;
channel_sample_rate = 0;
m_channel_sample_rate_isSet = false;
}
void
SWGFreeDVDemodReport::cleanup() {
}
SWGFreeDVDemodReport*
SWGFreeDVDemodReport::fromJson(QString &json) {
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject jsonObject = doc.object();
this->fromJsonObject(jsonObject);
return this;
}
void
SWGFreeDVDemodReport::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&channel_power_db, pJson["channelPowerDB"], "float", "");
::SWGSDRangel::setValue(&squelch, pJson["squelch"], "qint32", "");
::SWGSDRangel::setValue(&audio_sample_rate, pJson["audioSampleRate"], "qint32", "");
::SWGSDRangel::setValue(&channel_sample_rate, pJson["channelSampleRate"], "qint32", "");
}
QString
SWGFreeDVDemodReport::asJson ()
{
QJsonObject* obj = this->asJsonObject();
QJsonDocument doc(*obj);
QByteArray bytes = doc.toJson();
delete obj;
return QString(bytes);
}
QJsonObject*
SWGFreeDVDemodReport::asJsonObject() {
QJsonObject* obj = new QJsonObject();
if(m_channel_power_db_isSet){
obj->insert("channelPowerDB", QJsonValue(channel_power_db));
}
if(m_squelch_isSet){
obj->insert("squelch", QJsonValue(squelch));
}
if(m_audio_sample_rate_isSet){
obj->insert("audioSampleRate", QJsonValue(audio_sample_rate));
}
if(m_channel_sample_rate_isSet){
obj->insert("channelSampleRate", QJsonValue(channel_sample_rate));
}
return obj;
}
float
SWGFreeDVDemodReport::getChannelPowerDb() {
return channel_power_db;
}
void
SWGFreeDVDemodReport::setChannelPowerDb(float channel_power_db) {
this->channel_power_db = channel_power_db;
this->m_channel_power_db_isSet = true;
}
qint32
SWGFreeDVDemodReport::getSquelch() {
return squelch;
}
void
SWGFreeDVDemodReport::setSquelch(qint32 squelch) {
this->squelch = squelch;
this->m_squelch_isSet = true;
}
qint32
SWGFreeDVDemodReport::getAudioSampleRate() {
return audio_sample_rate;
}
void
SWGFreeDVDemodReport::setAudioSampleRate(qint32 audio_sample_rate) {
this->audio_sample_rate = audio_sample_rate;
this->m_audio_sample_rate_isSet = true;
}
qint32
SWGFreeDVDemodReport::getChannelSampleRate() {
return channel_sample_rate;
}
void
SWGFreeDVDemodReport::setChannelSampleRate(qint32 channel_sample_rate) {
this->channel_sample_rate = channel_sample_rate;
this->m_channel_sample_rate_isSet = true;
}
bool
SWGFreeDVDemodReport::isSet(){
bool isObjectUpdated = false;
do{
if(m_channel_power_db_isSet){ isObjectUpdated = true; break;}
if(m_squelch_isSet){ isObjectUpdated = true; break;}
if(m_audio_sample_rate_isSet){ isObjectUpdated = true; break;}
if(m_channel_sample_rate_isSet){ isObjectUpdated = true; break;}
}while(false);
return isObjectUpdated;
}
}

Wyświetl plik

@ -0,0 +1,76 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.5.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
/*
* SWGFreeDVDemodReport.h
*
* FreeDVDemod
*/
#ifndef SWGFreeDVDemodReport_H_
#define SWGFreeDVDemodReport_H_
#include <QJsonObject>
#include "SWGObject.h"
#include "export.h"
namespace SWGSDRangel {
class SWG_API SWGFreeDVDemodReport: public SWGObject {
public:
SWGFreeDVDemodReport();
SWGFreeDVDemodReport(QString* json);
virtual ~SWGFreeDVDemodReport();
void init();
void cleanup();
virtual QString asJson () override;
virtual QJsonObject* asJsonObject() override;
virtual void fromJsonObject(QJsonObject &json) override;
virtual SWGFreeDVDemodReport* fromJson(QString &jsonString) override;
float getChannelPowerDb();
void setChannelPowerDb(float channel_power_db);
qint32 getSquelch();
void setSquelch(qint32 squelch);
qint32 getAudioSampleRate();
void setAudioSampleRate(qint32 audio_sample_rate);
qint32 getChannelSampleRate();
void setChannelSampleRate(qint32 channel_sample_rate);
virtual bool isSet() override;
private:
float channel_power_db;
bool m_channel_power_db_isSet;
qint32 squelch;
bool m_squelch_isSet;
qint32 audio_sample_rate;
bool m_audio_sample_rate_isSet;
qint32 channel_sample_rate;
bool m_channel_sample_rate_isSet;
};
}
#endif /* SWGFreeDVDemodReport_H_ */

Wyświetl plik

@ -0,0 +1,362 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.5.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
#include "SWGFreeDVDemodSettings.h"
#include "SWGHelpers.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QObject>
#include <QDebug>
namespace SWGSDRangel {
SWGFreeDVDemodSettings::SWGFreeDVDemodSettings(QString* json) {
init();
this->fromJson(*json);
}
SWGFreeDVDemodSettings::SWGFreeDVDemodSettings() {
input_frequency_offset = 0L;
m_input_frequency_offset_isSet = false;
volume = 0.0f;
m_volume_isSet = false;
span_log2 = 0;
m_span_log2_isSet = false;
audio_mute = 0;
m_audio_mute_isSet = false;
agc = 0;
m_agc_isSet = false;
agc_clamping = 0;
m_agc_clamping_isSet = false;
agc_time_log2 = 0;
m_agc_time_log2_isSet = false;
agc_power_threshold = 0;
m_agc_power_threshold_isSet = false;
agc_threshold_gate = 0;
m_agc_threshold_gate_isSet = false;
rgb_color = 0;
m_rgb_color_isSet = false;
title = nullptr;
m_title_isSet = false;
audio_device_name = nullptr;
m_audio_device_name_isSet = false;
free_dv_mode = 0;
m_free_dv_mode_isSet = false;
}
SWGFreeDVDemodSettings::~SWGFreeDVDemodSettings() {
this->cleanup();
}
void
SWGFreeDVDemodSettings::init() {
input_frequency_offset = 0L;
m_input_frequency_offset_isSet = false;
volume = 0.0f;
m_volume_isSet = false;
span_log2 = 0;
m_span_log2_isSet = false;
audio_mute = 0;
m_audio_mute_isSet = false;
agc = 0;
m_agc_isSet = false;
agc_clamping = 0;
m_agc_clamping_isSet = false;
agc_time_log2 = 0;
m_agc_time_log2_isSet = false;
agc_power_threshold = 0;
m_agc_power_threshold_isSet = false;
agc_threshold_gate = 0;
m_agc_threshold_gate_isSet = false;
rgb_color = 0;
m_rgb_color_isSet = false;
title = new QString("");
m_title_isSet = false;
audio_device_name = new QString("");
m_audio_device_name_isSet = false;
free_dv_mode = 0;
m_free_dv_mode_isSet = false;
}
void
SWGFreeDVDemodSettings::cleanup() {
if(title != nullptr) {
delete title;
}
if(audio_device_name != nullptr) {
delete audio_device_name;
}
}
SWGFreeDVDemodSettings*
SWGFreeDVDemodSettings::fromJson(QString &json) {
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject jsonObject = doc.object();
this->fromJsonObject(jsonObject);
return this;
}
void
SWGFreeDVDemodSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&input_frequency_offset, pJson["inputFrequencyOffset"], "qint64", "");
::SWGSDRangel::setValue(&volume, pJson["volume"], "float", "");
::SWGSDRangel::setValue(&span_log2, pJson["spanLog2"], "qint32", "");
::SWGSDRangel::setValue(&audio_mute, pJson["audioMute"], "qint32", "");
::SWGSDRangel::setValue(&agc, pJson["agc"], "qint32", "");
::SWGSDRangel::setValue(&agc_clamping, pJson["agcClamping"], "qint32", "");
::SWGSDRangel::setValue(&agc_time_log2, pJson["agcTimeLog2"], "qint32", "");
::SWGSDRangel::setValue(&agc_power_threshold, pJson["agcPowerThreshold"], "qint32", "");
::SWGSDRangel::setValue(&agc_threshold_gate, pJson["agcThresholdGate"], "qint32", "");
::SWGSDRangel::setValue(&rgb_color, pJson["rgbColor"], "qint32", "");
::SWGSDRangel::setValue(&title, pJson["title"], "QString", "QString");
::SWGSDRangel::setValue(&audio_device_name, pJson["audioDeviceName"], "QString", "QString");
::SWGSDRangel::setValue(&free_dv_mode, pJson["freeDVMode"], "qint32", "");
}
QString
SWGFreeDVDemodSettings::asJson ()
{
QJsonObject* obj = this->asJsonObject();
QJsonDocument doc(*obj);
QByteArray bytes = doc.toJson();
delete obj;
return QString(bytes);
}
QJsonObject*
SWGFreeDVDemodSettings::asJsonObject() {
QJsonObject* obj = new QJsonObject();
if(m_input_frequency_offset_isSet){
obj->insert("inputFrequencyOffset", QJsonValue(input_frequency_offset));
}
if(m_volume_isSet){
obj->insert("volume", QJsonValue(volume));
}
if(m_span_log2_isSet){
obj->insert("spanLog2", QJsonValue(span_log2));
}
if(m_audio_mute_isSet){
obj->insert("audioMute", QJsonValue(audio_mute));
}
if(m_agc_isSet){
obj->insert("agc", QJsonValue(agc));
}
if(m_agc_clamping_isSet){
obj->insert("agcClamping", QJsonValue(agc_clamping));
}
if(m_agc_time_log2_isSet){
obj->insert("agcTimeLog2", QJsonValue(agc_time_log2));
}
if(m_agc_power_threshold_isSet){
obj->insert("agcPowerThreshold", QJsonValue(agc_power_threshold));
}
if(m_agc_threshold_gate_isSet){
obj->insert("agcThresholdGate", QJsonValue(agc_threshold_gate));
}
if(m_rgb_color_isSet){
obj->insert("rgbColor", QJsonValue(rgb_color));
}
if(title != nullptr && *title != QString("")){
toJsonValue(QString("title"), title, obj, QString("QString"));
}
if(audio_device_name != nullptr && *audio_device_name != QString("")){
toJsonValue(QString("audioDeviceName"), audio_device_name, obj, QString("QString"));
}
if(m_free_dv_mode_isSet){
obj->insert("freeDVMode", QJsonValue(free_dv_mode));
}
return obj;
}
qint64
SWGFreeDVDemodSettings::getInputFrequencyOffset() {
return input_frequency_offset;
}
void
SWGFreeDVDemodSettings::setInputFrequencyOffset(qint64 input_frequency_offset) {
this->input_frequency_offset = input_frequency_offset;
this->m_input_frequency_offset_isSet = true;
}
float
SWGFreeDVDemodSettings::getVolume() {
return volume;
}
void
SWGFreeDVDemodSettings::setVolume(float volume) {
this->volume = volume;
this->m_volume_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getSpanLog2() {
return span_log2;
}
void
SWGFreeDVDemodSettings::setSpanLog2(qint32 span_log2) {
this->span_log2 = span_log2;
this->m_span_log2_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getAudioMute() {
return audio_mute;
}
void
SWGFreeDVDemodSettings::setAudioMute(qint32 audio_mute) {
this->audio_mute = audio_mute;
this->m_audio_mute_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getAgc() {
return agc;
}
void
SWGFreeDVDemodSettings::setAgc(qint32 agc) {
this->agc = agc;
this->m_agc_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getAgcClamping() {
return agc_clamping;
}
void
SWGFreeDVDemodSettings::setAgcClamping(qint32 agc_clamping) {
this->agc_clamping = agc_clamping;
this->m_agc_clamping_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getAgcTimeLog2() {
return agc_time_log2;
}
void
SWGFreeDVDemodSettings::setAgcTimeLog2(qint32 agc_time_log2) {
this->agc_time_log2 = agc_time_log2;
this->m_agc_time_log2_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getAgcPowerThreshold() {
return agc_power_threshold;
}
void
SWGFreeDVDemodSettings::setAgcPowerThreshold(qint32 agc_power_threshold) {
this->agc_power_threshold = agc_power_threshold;
this->m_agc_power_threshold_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getAgcThresholdGate() {
return agc_threshold_gate;
}
void
SWGFreeDVDemodSettings::setAgcThresholdGate(qint32 agc_threshold_gate) {
this->agc_threshold_gate = agc_threshold_gate;
this->m_agc_threshold_gate_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getRgbColor() {
return rgb_color;
}
void
SWGFreeDVDemodSettings::setRgbColor(qint32 rgb_color) {
this->rgb_color = rgb_color;
this->m_rgb_color_isSet = true;
}
QString*
SWGFreeDVDemodSettings::getTitle() {
return title;
}
void
SWGFreeDVDemodSettings::setTitle(QString* title) {
this->title = title;
this->m_title_isSet = true;
}
QString*
SWGFreeDVDemodSettings::getAudioDeviceName() {
return audio_device_name;
}
void
SWGFreeDVDemodSettings::setAudioDeviceName(QString* audio_device_name) {
this->audio_device_name = audio_device_name;
this->m_audio_device_name_isSet = true;
}
qint32
SWGFreeDVDemodSettings::getFreeDvMode() {
return free_dv_mode;
}
void
SWGFreeDVDemodSettings::setFreeDvMode(qint32 free_dv_mode) {
this->free_dv_mode = free_dv_mode;
this->m_free_dv_mode_isSet = true;
}
bool
SWGFreeDVDemodSettings::isSet(){
bool isObjectUpdated = false;
do{
if(m_input_frequency_offset_isSet){ isObjectUpdated = true; break;}
if(m_volume_isSet){ isObjectUpdated = true; break;}
if(m_span_log2_isSet){ isObjectUpdated = true; break;}
if(m_audio_mute_isSet){ isObjectUpdated = true; break;}
if(m_agc_isSet){ isObjectUpdated = true; break;}
if(m_agc_clamping_isSet){ isObjectUpdated = true; break;}
if(m_agc_time_log2_isSet){ isObjectUpdated = true; break;}
if(m_agc_power_threshold_isSet){ isObjectUpdated = true; break;}
if(m_agc_threshold_gate_isSet){ isObjectUpdated = true; break;}
if(m_rgb_color_isSet){ isObjectUpdated = true; break;}
if(title != nullptr && *title != QString("")){ isObjectUpdated = true; break;}
if(audio_device_name != nullptr && *audio_device_name != QString("")){ isObjectUpdated = true; break;}
if(m_free_dv_mode_isSet){ isObjectUpdated = true; break;}
}while(false);
return isObjectUpdated;
}
}

Wyświetl plik

@ -0,0 +1,131 @@
/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations and specifcities: * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method. * Preset import and export from/to file is a server only feature. * Device set focus is a GUI only feature. * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time ---
*
* OpenAPI spec version: 4.5.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
/*
* SWGFreeDVDemodSettings.h
*
* FreeDVDemod
*/
#ifndef SWGFreeDVDemodSettings_H_
#define SWGFreeDVDemodSettings_H_
#include <QJsonObject>
#include <QString>
#include "SWGObject.h"
#include "export.h"
namespace SWGSDRangel {
class SWG_API SWGFreeDVDemodSettings: public SWGObject {
public:
SWGFreeDVDemodSettings();
SWGFreeDVDemodSettings(QString* json);
virtual ~SWGFreeDVDemodSettings();
void init();
void cleanup();
virtual QString asJson () override;
virtual QJsonObject* asJsonObject() override;
virtual void fromJsonObject(QJsonObject &json) override;
virtual SWGFreeDVDemodSettings* fromJson(QString &jsonString) override;
qint64 getInputFrequencyOffset();
void setInputFrequencyOffset(qint64 input_frequency_offset);
float getVolume();
void setVolume(float volume);
qint32 getSpanLog2();
void setSpanLog2(qint32 span_log2);
qint32 getAudioMute();
void setAudioMute(qint32 audio_mute);
qint32 getAgc();
void setAgc(qint32 agc);
qint32 getAgcClamping();
void setAgcClamping(qint32 agc_clamping);
qint32 getAgcTimeLog2();
void setAgcTimeLog2(qint32 agc_time_log2);
qint32 getAgcPowerThreshold();
void setAgcPowerThreshold(qint32 agc_power_threshold);
qint32 getAgcThresholdGate();
void setAgcThresholdGate(qint32 agc_threshold_gate);
qint32 getRgbColor();
void setRgbColor(qint32 rgb_color);
QString* getTitle();
void setTitle(QString* title);
QString* getAudioDeviceName();
void setAudioDeviceName(QString* audio_device_name);
qint32 getFreeDvMode();
void setFreeDvMode(qint32 free_dv_mode);
virtual bool isSet() override;
private:
qint64 input_frequency_offset;
bool m_input_frequency_offset_isSet;
float volume;
bool m_volume_isSet;
qint32 span_log2;
bool m_span_log2_isSet;
qint32 audio_mute;
bool m_audio_mute_isSet;
qint32 agc;
bool m_agc_isSet;
qint32 agc_clamping;
bool m_agc_clamping_isSet;
qint32 agc_time_log2;
bool m_agc_time_log2_isSet;
qint32 agc_power_threshold;
bool m_agc_power_threshold_isSet;
qint32 agc_threshold_gate;
bool m_agc_threshold_gate_isSet;
qint32 rgb_color;
bool m_rgb_color_isSet;
QString* title;
bool m_title_isSet;
QString* audio_device_name;
bool m_audio_device_name_isSet;
qint32 free_dv_mode;
bool m_free_dv_mode_isSet;
};
}
#endif /* SWGFreeDVDemodSettings_H_ */

Wyświetl plik

@ -30,10 +30,6 @@ SWGFreeDVModSettings::SWGFreeDVModSettings(QString* json) {
SWGFreeDVModSettings::SWGFreeDVModSettings() {
input_frequency_offset = 0L;
m_input_frequency_offset_isSet = false;
bandwidth = 0.0f;
m_bandwidth_isSet = false;
low_cutoff = 0.0f;
m_low_cutoff_isSet = false;
tone_frequency = 0.0f;
m_tone_frequency_isSet = false;
volume_factor = 0.0f;
@ -78,10 +74,6 @@ void
SWGFreeDVModSettings::init() {
input_frequency_offset = 0L;
m_input_frequency_offset_isSet = false;
bandwidth = 0.0f;
m_bandwidth_isSet = false;
low_cutoff = 0.0f;
m_low_cutoff_isSet = false;
tone_frequency = 0.0f;
m_tone_frequency_isSet = false;
volume_factor = 0.0f;
@ -127,8 +119,6 @@ SWGFreeDVModSettings::cleanup() {
if(title != nullptr) {
delete title;
}
@ -163,10 +153,6 @@ void
SWGFreeDVModSettings::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&input_frequency_offset, pJson["inputFrequencyOffset"], "qint64", "");
::SWGSDRangel::setValue(&bandwidth, pJson["bandwidth"], "float", "");
::SWGSDRangel::setValue(&low_cutoff, pJson["lowCutoff"], "float", "");
::SWGSDRangel::setValue(&tone_frequency, pJson["toneFrequency"], "float", "");
::SWGSDRangel::setValue(&volume_factor, pJson["volumeFactor"], "float", "");
@ -220,12 +206,6 @@ SWGFreeDVModSettings::asJsonObject() {
if(m_input_frequency_offset_isSet){
obj->insert("inputFrequencyOffset", QJsonValue(input_frequency_offset));
}
if(m_bandwidth_isSet){
obj->insert("bandwidth", QJsonValue(bandwidth));
}
if(m_low_cutoff_isSet){
obj->insert("lowCutoff", QJsonValue(low_cutoff));
}
if(m_tone_frequency_isSet){
obj->insert("toneFrequency", QJsonValue(tone_frequency));
}
@ -291,26 +271,6 @@ SWGFreeDVModSettings::setInputFrequencyOffset(qint64 input_frequency_offset) {
this->m_input_frequency_offset_isSet = true;
}
float
SWGFreeDVModSettings::getBandwidth() {
return bandwidth;
}
void
SWGFreeDVModSettings::setBandwidth(float bandwidth) {
this->bandwidth = bandwidth;
this->m_bandwidth_isSet = true;
}
float
SWGFreeDVModSettings::getLowCutoff() {
return low_cutoff;
}
void
SWGFreeDVModSettings::setLowCutoff(float low_cutoff) {
this->low_cutoff = low_cutoff;
this->m_low_cutoff_isSet = true;
}
float
SWGFreeDVModSettings::getToneFrequency() {
return tone_frequency;
@ -487,8 +447,6 @@ SWGFreeDVModSettings::isSet(){
bool isObjectUpdated = false;
do{
if(m_input_frequency_offset_isSet){ isObjectUpdated = true; break;}
if(m_bandwidth_isSet){ isObjectUpdated = true; break;}
if(m_low_cutoff_isSet){ isObjectUpdated = true; break;}
if(m_tone_frequency_isSet){ isObjectUpdated = true; break;}
if(m_volume_factor_isSet){ isObjectUpdated = true; break;}
if(m_span_log2_isSet){ isObjectUpdated = true; break;}

Wyświetl plik

@ -46,12 +46,6 @@ public:
qint64 getInputFrequencyOffset();
void setInputFrequencyOffset(qint64 input_frequency_offset);
float getBandwidth();
void setBandwidth(float bandwidth);
float getLowCutoff();
void setLowCutoff(float low_cutoff);
float getToneFrequency();
void setToneFrequency(float tone_frequency);
@ -110,12 +104,6 @@ private:
qint64 input_frequency_offset;
bool m_input_frequency_offset_isSet;
float bandwidth;
bool m_bandwidth_isSet;
float low_cutoff;
bool m_low_cutoff_isSet;
float tone_frequency;
bool m_tone_frequency_isSet;

Wyświetl plik

@ -60,6 +60,8 @@
#include "SWGFCDProSettings.h"
#include "SWGFileSourceReport.h"
#include "SWGFileSourceSettings.h"
#include "SWGFreeDVDemodReport.h"
#include "SWGFreeDVDemodSettings.h"
#include "SWGFreeDVModReport.h"
#include "SWGFreeDVModSettings.h"
#include "SWGFrequency.h"
@ -277,6 +279,12 @@ namespace SWGSDRangel {
if(QString("SWGFileSourceSettings").compare(type) == 0) {
return new SWGFileSourceSettings();
}
if(QString("SWGFreeDVDemodReport").compare(type) == 0) {
return new SWGFreeDVDemodReport();
}
if(QString("SWGFreeDVDemodSettings").compare(type) == 0) {
return new SWGFreeDVDemodSettings();
}
if(QString("SWGFreeDVModReport").compare(type) == 0) {
return new SWGFreeDVModReport();
}