From 8155825bc4174c43245c44ce3b96266f8a9223dc Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 28 May 2018 00:40:33 +0200 Subject: [PATCH] SDR daemon sink: implemeted WEB API --- .../sdrdaemonsink/sdrdaemonsinkoutput.cpp | 90 ++++++ .../sdrdaemonsink/sdrdaemonsinkoutput.h | 16 + .../sdrdaemonsink/sdrdaemonsinkplugin.cpp | 2 +- sdrbase/dsp/samplesourcefifo.h | 12 + sdrbase/resources/webapi/doc/html2/index.html | 57 +++- .../doc/swagger/include/SDRDaemonSink.yaml | 36 +++ .../resources/webapi/doc/swagger/swagger.yaml | 4 + .../api/swagger/include/SDRDaemonSink.yaml | 36 +++ swagger/sdrangel/api/swagger/swagger.yaml | 4 + swagger/sdrangel/code/html2/index.html | 57 +++- .../code/qt5/client/SWGDeviceReport.cpp | 23 ++ .../code/qt5/client/SWGDeviceReport.h | 7 + .../code/qt5/client/SWGDeviceSettings.cpp | 23 ++ .../code/qt5/client/SWGDeviceSettings.h | 7 + .../code/qt5/client/SWGModelFactory.h | 8 + .../qt5/client/SWGSDRdaemonSinkReport.cpp | 127 ++++++++ .../code/qt5/client/SWGSDRdaemonSinkReport.h | 64 ++++ .../qt5/client/SWGSDRdaemonSinkSettings.cpp | 278 ++++++++++++++++++ .../qt5/client/SWGSDRdaemonSinkSettings.h | 107 +++++++ 19 files changed, 955 insertions(+), 3 deletions(-) create mode 100644 sdrbase/resources/webapi/doc/swagger/include/SDRDaemonSink.yaml create mode 100644 swagger/sdrangel/api/swagger/include/SDRDaemonSink.yaml create mode 100644 swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.cpp create mode 100644 swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.h create mode 100644 swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.cpp create mode 100644 swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.h diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp index b92d2c2ec..c81f50c47 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.cpp @@ -20,6 +20,8 @@ #include "SWGDeviceSettings.h" #include "SWGDeviceState.h" +#include "SWGDeviceReport.h" +#include "SWGSDRdaemonSinkReport.h" #include "util/simpleserializer.h" #include "dsp/dspcommands.h" @@ -363,4 +365,92 @@ int SDRdaemonSinkOutput::webapiRun( return 200; } +int SDRdaemonSinkOutput::webapiSettingsGet( + SWGSDRangel::SWGDeviceSettings& response, + QString& errorMessage __attribute__((unused))) +{ + response.setSdrDaemonSinkSettings(new SWGSDRangel::SWGSDRdaemonSinkSettings()); + response.getSdrDaemonSinkSettings()->init(); + webapiFormatDeviceSettings(response, m_settings); + return 200; +} + +int SDRdaemonSinkOutput::webapiSettingsPutPatch( + bool force, + const QStringList& deviceSettingsKeys, + SWGSDRangel::SWGDeviceSettings& response, // query + response + QString& errorMessage __attribute__((unused))) +{ + SDRdaemonSinkSettings settings = m_settings; + + if (deviceSettingsKeys.contains("centerFrequency")) { + settings.m_centerFrequency = response.getSdrDaemonSinkSettings()->getCenterFrequency(); + } + if (deviceSettingsKeys.contains("sampleRate")) { + settings.m_sampleRate = response.getSdrDaemonSinkSettings()->getSampleRate(); + } + if (deviceSettingsKeys.contains("log2Interp")) { + settings.m_log2Interp = response.getSdrDaemonSinkSettings()->getLog2Interp(); + } + if (deviceSettingsKeys.contains("txDelay")) { + settings.m_txDelay = response.getSdrDaemonSinkSettings()->getTxDelay(); + } + if (deviceSettingsKeys.contains("nbFECBlocks")) { + settings.m_nbFECBlocks = response.getSdrDaemonSinkSettings()->getNbFecBlocks(); + } + if (deviceSettingsKeys.contains("address")) { + settings.m_address = *response.getSdrDaemonSinkSettings()->getAddress(); + } + if (deviceSettingsKeys.contains("dataPort")) { + settings.m_dataPort = response.getSdrDaemonSinkSettings()->getDataPort(); + } + if (deviceSettingsKeys.contains("controlPort")) { + settings.m_controlPort = response.getSdrDaemonSinkSettings()->getControlPort(); + } + if (deviceSettingsKeys.contains("specificParameters")) { + settings.m_specificParameters = *response.getSdrDaemonSinkSettings()->getSpecificParameters(); + } + + MsgConfigureSDRdaemonSink *msg = MsgConfigureSDRdaemonSink::create(settings, force); + m_inputMessageQueue.push(msg); + + if (m_guiMessageQueue) // forward to GUI if any + { + MsgConfigureSDRdaemonSink *msgToGUI = MsgConfigureSDRdaemonSink::create(settings, force); + m_guiMessageQueue->push(msgToGUI); + } + + webapiFormatDeviceSettings(response, settings); + return 200; +} + +int SDRdaemonSinkOutput::webapiReportGet( + SWGSDRangel::SWGDeviceReport& response, + QString& errorMessage __attribute__((unused))) +{ + response.setSdrDaemonSinkReport(new SWGSDRangel::SWGSDRdaemonSinkReport()); + response.getSdrDaemonSinkReport()->init(); + webapiFormatDeviceReport(response); + return 200; +} + +void SDRdaemonSinkOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SDRdaemonSinkSettings& settings) +{ + response.getSdrDaemonSinkSettings()->setCenterFrequency(settings.m_centerFrequency); + response.getSdrDaemonSinkSettings()->setSampleRate(settings.m_sampleRate); + response.getSdrDaemonSinkSettings()->setLog2Interp(settings.m_log2Interp); + response.getSdrDaemonSinkSettings()->setTxDelay(settings.m_txDelay); + response.getSdrDaemonSinkSettings()->setNbFecBlocks(settings.m_nbFECBlocks); + response.getSdrDaemonSinkSettings()->setAddress(new QString(settings.m_address)); + response.getSdrDaemonSinkSettings()->setDataPort(settings.m_dataPort); + response.getSdrDaemonSinkSettings()->setControlPort(settings.m_controlPort); + response.getSdrDaemonSinkSettings()->setSpecificParameters(new QString(settings.m_specificParameters)); +} + +void SDRdaemonSinkOutput::webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& response) +{ + response.getSdrDaemonSinkReport()->setBufferRwBalance(m_sampleSourceFifo.getRWBalance()); + response.getSdrDaemonSinkReport()->setSampleCount(m_sdrDaemonSinkThread ? (int) m_sdrDaemonSinkThread->getSamplesCount() : 0); +} + diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.h b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.h index 5e5e85551..51c7b21c7 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.h +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkoutput.h @@ -171,6 +171,20 @@ public: virtual bool handleMessage(const Message& message); + virtual int webapiSettingsGet( + SWGSDRangel::SWGDeviceSettings& response, + QString& errorMessage); + + virtual int webapiSettingsPutPatch( + bool force, + const QStringList& deviceSettingsKeys, + SWGSDRangel::SWGDeviceSettings& response, // query + response + QString& errorMessage); + + virtual int webapiReportGet( + SWGSDRangel::SWGDeviceReport& response, + QString& errorMessage); + virtual int webapiRunGet( SWGSDRangel::SWGDeviceState& response, QString& errorMessage); @@ -190,6 +204,8 @@ private: const QTimer& m_masterTimer; void applySettings(const SDRdaemonSinkSettings& settings, bool force = false); + void webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SDRdaemonSinkSettings& settings); + void webapiFormatDeviceReport(SWGSDRangel::SWGDeviceReport& response); }; #endif // INCLUDE_SDRDAEMONSINKOUTPUT_H diff --git a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp index c5e0cd345..f5bc24726 100644 --- a/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp +++ b/plugins/samplesink/sdrdaemonsink/sdrdaemonsinkplugin.cpp @@ -26,7 +26,7 @@ const PluginDescriptor SDRdaemonSinkPlugin::m_pluginDescriptor = { QString("SDRdaemon sink output"), - QString("3.14.5"), + QString("4.0.0"), QString("(c) Edouard Griffiths, F4EXB"), QString("https://github.com/f4exb/sdrangel"), true, diff --git a/sdrbase/dsp/samplesourcefifo.h b/sdrbase/dsp/samplesourcefifo.h index f856a631f..1374e3d57 100644 --- a/sdrbase/dsp/samplesourcefifo.h +++ b/sdrbase/dsp/samplesourcefifo.h @@ -43,6 +43,18 @@ public: void write(const Sample& sample); //!< write directly - phase 1 + phase 2 + /** returns ratio of off center over buffer size with sign: negative real lags and positive read leads */ + float getRWBalance() const + { + int delta; + if (m_iw > m_ir) { + delta = (m_size/2) - (m_iw - m_ir); + } else { + delta = (m_ir - m_iw) - (m_size/2); + } + return delta / (float) m_size; + } + private: uint32_t m_size; SampleVector m_data; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 8be095293..5116073ab 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -1739,6 +1739,9 @@ margin-bottom: 20px; "rtlSdrReport" : { "$ref" : "#/definitions/RtlSdrReport" }, + "sdrDaemonSinkReport" : { + "$ref" : "#/definitions/SDRdaemonSinkReport" + }, "sdrDaemonSourceReport" : { "$ref" : "#/definitions/SDRdaemonSourceReport" }, @@ -1845,6 +1848,9 @@ margin-bottom: 20px; "rtlSdrSettings" : { "$ref" : "#/definitions/RtlSdrSettings" }, + "sdrDaemonSinkSettings" : { + "$ref" : "#/definitions/SDRdaemonSinkSettings" + }, "sdrDaemonSourceSettings" : { "$ref" : "#/definitions/SDRdaemonSourceSettings" }, @@ -3168,6 +3174,55 @@ margin-bottom: 20px; } }, "description" : "SDRplay1" +}; + defs.SDRdaemonSinkReport = { + "properties" : { + "bufferRWBalance" : { + "type" : "number", + "format" : "float", + "description" : "ratio off the mid buffer (positive read leads)" + }, + "sampleCount" : { + "type" : "integer", + "description" : "count of samples that have been sent" + } + }, + "description" : "SDRdaemonSource" +}; + defs.SDRdaemonSinkSettings = { + "properties" : { + "centerFrequency" : { + "type" : "integer", + "format" : "uint64" + }, + "sampleRate" : { + "type" : "integer" + }, + "log2Interp" : { + "type" : "integer" + }, + "txDelay" : { + "type" : "number", + "format" : "float", + "description" : "minimum delay in ms between two consecutive packets sending" + }, + "nbFECBlocks" : { + "type" : "integer" + }, + "address" : { + "type" : "string" + }, + "dataPort" : { + "type" : "integer" + }, + "controlPort" : { + "type" : "integer" + }, + "specificParameters" : { + "type" : "string" + } + }, + "description" : "SDRdaemonSink" }; defs.SDRdaemonSourceReport = { "properties" : { @@ -22558,7 +22613,7 @@ except ApiException as e:
- Generated 2018-05-27T20:33:10.219+02:00 + Generated 2018-05-28T00:22:45.302+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/SDRDaemonSink.yaml b/sdrbase/resources/webapi/doc/swagger/include/SDRDaemonSink.yaml new file mode 100644 index 000000000..40bac741e --- /dev/null +++ b/sdrbase/resources/webapi/doc/swagger/include/SDRDaemonSink.yaml @@ -0,0 +1,36 @@ +SDRdaemonSinkSettings: + description: SDRdaemonSink + properties: + centerFrequency: + type: integer + format: uint64 + sampleRate: + type: integer + log2Interp: + type: integer + txDelay: + description: minimum delay in ms between two consecutive packets sending + type: number + format: float + nbFECBlocks: + type: integer + address: + type: string + dataPort: + type: integer + controlPort: + type: integer + specificParameters: + type: string + +SDRdaemonSinkReport: + description: SDRdaemonSource + properties: + bufferRWBalance: + description: ratio off the mid buffer (positive read leads) + type: number + format: float + sampleCount: + description: count of samples that have been sent + type: integer + \ No newline at end of file diff --git a/sdrbase/resources/webapi/doc/swagger/swagger.yaml b/sdrbase/resources/webapi/doc/swagger/swagger.yaml index 4ee62b184..2c658d14a 100644 --- a/sdrbase/resources/webapi/doc/swagger/swagger.yaml +++ b/sdrbase/resources/webapi/doc/swagger/swagger.yaml @@ -1775,6 +1775,8 @@ definitions: $ref: "/doc/swagger/include/PlutoSdr.yaml#/PlutoSdrOutputSettings" rtlSdrSettings: $ref: "/doc/swagger/include/RtlSdr.yaml#/RtlSdrSettings" + sdrDaemonSinkSettings: + $ref: "/doc/swagger/include/SDRDaemonSink.yaml#/SDRdaemonSinkSettings" sdrDaemonSourceSettings: $ref: "/doc/swagger/include/SDRDaemonSource.yaml#/SDRdaemonSourceSettings" sdrPlaySettings: @@ -1814,6 +1816,8 @@ definitions: $ref: "/doc/swagger/include/PlutoSdr.yaml#/PlutoSdrOutputReport" rtlSdrReport: $ref: "/doc/swagger/include/RtlSdr.yaml#/RtlSdrReport" + sdrDaemonSinkReport: + $ref: "/doc/swagger/include/SDRDaemonSink.yaml#/SDRdaemonSinkReport" sdrDaemonSourceReport: $ref: "/doc/swagger/include/SDRDaemonSource.yaml#/SDRdaemonSourceReport" sdrPlayReport: diff --git a/swagger/sdrangel/api/swagger/include/SDRDaemonSink.yaml b/swagger/sdrangel/api/swagger/include/SDRDaemonSink.yaml new file mode 100644 index 000000000..40bac741e --- /dev/null +++ b/swagger/sdrangel/api/swagger/include/SDRDaemonSink.yaml @@ -0,0 +1,36 @@ +SDRdaemonSinkSettings: + description: SDRdaemonSink + properties: + centerFrequency: + type: integer + format: uint64 + sampleRate: + type: integer + log2Interp: + type: integer + txDelay: + description: minimum delay in ms between two consecutive packets sending + type: number + format: float + nbFECBlocks: + type: integer + address: + type: string + dataPort: + type: integer + controlPort: + type: integer + specificParameters: + type: string + +SDRdaemonSinkReport: + description: SDRdaemonSource + properties: + bufferRWBalance: + description: ratio off the mid buffer (positive read leads) + type: number + format: float + sampleCount: + description: count of samples that have been sent + type: integer + \ No newline at end of file diff --git a/swagger/sdrangel/api/swagger/swagger.yaml b/swagger/sdrangel/api/swagger/swagger.yaml index f4253b5a7..0c999255b 100644 --- a/swagger/sdrangel/api/swagger/swagger.yaml +++ b/swagger/sdrangel/api/swagger/swagger.yaml @@ -1775,6 +1775,8 @@ definitions: $ref: "http://localhost:8081/api/swagger/include/PlutoSdr.yaml#/PlutoSdrOutputSettings" rtlSdrSettings: $ref: "http://localhost:8081/api/swagger/include/RtlSdr.yaml#/RtlSdrSettings" + sdrDaemonSinkSettings: + $ref: "http://localhost:8081/api/swagger/include/SDRDaemonSink.yaml#/SDRdaemonSinkSettings" sdrDaemonSourceSettings: $ref: "http://localhost:8081/api/swagger/include/SDRDaemonSource.yaml#/SDRdaemonSourceSettings" sdrPlaySettings: @@ -1814,6 +1816,8 @@ definitions: $ref: "http://localhost:8081/api/swagger/include/PlutoSdr.yaml#/PlutoSdrOutputReport" rtlSdrReport: $ref: "http://localhost:8081/api/swagger/include/RtlSdr.yaml#/RtlSdrReport" + sdrDaemonSinkReport: + $ref: "http://localhost:8081/api/swagger/include/SDRDaemonSink.yaml#/SDRdaemonSinkReport" sdrDaemonSourceReport: $ref: "http://localhost:8081/api/swagger/include/SDRDaemonSource.yaml#/SDRdaemonSourceReport" sdrPlayReport: diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 8be095293..5116073ab 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -1739,6 +1739,9 @@ margin-bottom: 20px; "rtlSdrReport" : { "$ref" : "#/definitions/RtlSdrReport" }, + "sdrDaemonSinkReport" : { + "$ref" : "#/definitions/SDRdaemonSinkReport" + }, "sdrDaemonSourceReport" : { "$ref" : "#/definitions/SDRdaemonSourceReport" }, @@ -1845,6 +1848,9 @@ margin-bottom: 20px; "rtlSdrSettings" : { "$ref" : "#/definitions/RtlSdrSettings" }, + "sdrDaemonSinkSettings" : { + "$ref" : "#/definitions/SDRdaemonSinkSettings" + }, "sdrDaemonSourceSettings" : { "$ref" : "#/definitions/SDRdaemonSourceSettings" }, @@ -3168,6 +3174,55 @@ margin-bottom: 20px; } }, "description" : "SDRplay1" +}; + defs.SDRdaemonSinkReport = { + "properties" : { + "bufferRWBalance" : { + "type" : "number", + "format" : "float", + "description" : "ratio off the mid buffer (positive read leads)" + }, + "sampleCount" : { + "type" : "integer", + "description" : "count of samples that have been sent" + } + }, + "description" : "SDRdaemonSource" +}; + defs.SDRdaemonSinkSettings = { + "properties" : { + "centerFrequency" : { + "type" : "integer", + "format" : "uint64" + }, + "sampleRate" : { + "type" : "integer" + }, + "log2Interp" : { + "type" : "integer" + }, + "txDelay" : { + "type" : "number", + "format" : "float", + "description" : "minimum delay in ms between two consecutive packets sending" + }, + "nbFECBlocks" : { + "type" : "integer" + }, + "address" : { + "type" : "string" + }, + "dataPort" : { + "type" : "integer" + }, + "controlPort" : { + "type" : "integer" + }, + "specificParameters" : { + "type" : "string" + } + }, + "description" : "SDRdaemonSink" }; defs.SDRdaemonSourceReport = { "properties" : { @@ -22558,7 +22613,7 @@ except ApiException as e:
- Generated 2018-05-27T20:33:10.219+02:00 + Generated 2018-05-28T00:22:45.302+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceReport.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceReport.cpp index 93f904470..2bb78a2cb 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceReport.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceReport.cpp @@ -50,6 +50,8 @@ SWGDeviceReport::SWGDeviceReport() { m_pluto_sdr_output_report_isSet = false; rtl_sdr_report = nullptr; m_rtl_sdr_report_isSet = false; + sdr_daemon_sink_report = nullptr; + m_sdr_daemon_sink_report_isSet = false; sdr_daemon_source_report = nullptr; m_sdr_daemon_source_report_isSet = false; sdr_play_report = nullptr; @@ -84,6 +86,8 @@ SWGDeviceReport::init() { m_pluto_sdr_output_report_isSet = false; rtl_sdr_report = new SWGRtlSdrReport(); m_rtl_sdr_report_isSet = false; + sdr_daemon_sink_report = new SWGSDRdaemonSinkReport(); + m_sdr_daemon_sink_report_isSet = false; sdr_daemon_source_report = new SWGSDRdaemonSourceReport(); m_sdr_daemon_source_report_isSet = false; sdr_play_report = new SWGSDRPlayReport(); @@ -123,6 +127,9 @@ SWGDeviceReport::cleanup() { if(rtl_sdr_report != nullptr) { delete rtl_sdr_report; } + if(sdr_daemon_sink_report != nullptr) { + delete sdr_daemon_sink_report; + } if(sdr_daemon_source_report != nullptr) { delete sdr_daemon_source_report; } @@ -164,6 +171,8 @@ SWGDeviceReport::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&rtl_sdr_report, pJson["rtlSdrReport"], "SWGRtlSdrReport", "SWGRtlSdrReport"); + ::SWGSDRangel::setValue(&sdr_daemon_sink_report, pJson["sdrDaemonSinkReport"], "SWGSDRdaemonSinkReport", "SWGSDRdaemonSinkReport"); + ::SWGSDRangel::setValue(&sdr_daemon_source_report, pJson["sdrDaemonSourceReport"], "SWGSDRdaemonSourceReport", "SWGSDRdaemonSourceReport"); ::SWGSDRangel::setValue(&sdr_play_report, pJson["sdrPlayReport"], "SWGSDRPlayReport", "SWGSDRPlayReport"); @@ -217,6 +226,9 @@ SWGDeviceReport::asJsonObject() { if((rtl_sdr_report != nullptr) && (rtl_sdr_report->isSet())){ toJsonValue(QString("rtlSdrReport"), rtl_sdr_report, obj, QString("SWGRtlSdrReport")); } + if((sdr_daemon_sink_report != nullptr) && (sdr_daemon_sink_report->isSet())){ + toJsonValue(QString("sdrDaemonSinkReport"), sdr_daemon_sink_report, obj, QString("SWGSDRdaemonSinkReport")); + } if((sdr_daemon_source_report != nullptr) && (sdr_daemon_source_report->isSet())){ toJsonValue(QString("sdrDaemonSourceReport"), sdr_daemon_source_report, obj, QString("SWGSDRdaemonSourceReport")); } @@ -337,6 +349,16 @@ SWGDeviceReport::setRtlSdrReport(SWGRtlSdrReport* rtl_sdr_report) { this->m_rtl_sdr_report_isSet = true; } +SWGSDRdaemonSinkReport* +SWGDeviceReport::getSdrDaemonSinkReport() { + return sdr_daemon_sink_report; +} +void +SWGDeviceReport::setSdrDaemonSinkReport(SWGSDRdaemonSinkReport* sdr_daemon_sink_report) { + this->sdr_daemon_sink_report = sdr_daemon_sink_report; + this->m_sdr_daemon_sink_report_isSet = true; +} + SWGSDRdaemonSourceReport* SWGDeviceReport::getSdrDaemonSourceReport() { return sdr_daemon_source_report; @@ -373,6 +395,7 @@ SWGDeviceReport::isSet(){ if(pluto_sdr_input_report != nullptr && pluto_sdr_input_report->isSet()){ isObjectUpdated = true; break;} if(pluto_sdr_output_report != nullptr && pluto_sdr_output_report->isSet()){ isObjectUpdated = true; break;} if(rtl_sdr_report != nullptr && rtl_sdr_report->isSet()){ isObjectUpdated = true; break;} + if(sdr_daemon_sink_report != nullptr && sdr_daemon_sink_report->isSet()){ isObjectUpdated = true; break;} if(sdr_daemon_source_report != nullptr && sdr_daemon_source_report->isSet()){ isObjectUpdated = true; break;} if(sdr_play_report != nullptr && sdr_play_report->isSet()){ isObjectUpdated = true; break;} }while(false); diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceReport.h b/swagger/sdrangel/code/qt5/client/SWGDeviceReport.h index 05ac916f5..3e12b5057 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceReport.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceReport.h @@ -32,6 +32,7 @@ #include "SWGPlutoSdrOutputReport.h" #include "SWGRtlSdrReport.h" #include "SWGSDRPlayReport.h" +#include "SWGSDRdaemonSinkReport.h" #include "SWGSDRdaemonSourceReport.h" #include @@ -86,6 +87,9 @@ public: SWGRtlSdrReport* getRtlSdrReport(); void setRtlSdrReport(SWGRtlSdrReport* rtl_sdr_report); + SWGSDRdaemonSinkReport* getSdrDaemonSinkReport(); + void setSdrDaemonSinkReport(SWGSDRdaemonSinkReport* sdr_daemon_sink_report); + SWGSDRdaemonSourceReport* getSdrDaemonSourceReport(); void setSdrDaemonSourceReport(SWGSDRdaemonSourceReport* sdr_daemon_source_report); @@ -129,6 +133,9 @@ private: SWGRtlSdrReport* rtl_sdr_report; bool m_rtl_sdr_report_isSet; + SWGSDRdaemonSinkReport* sdr_daemon_sink_report; + bool m_sdr_daemon_sink_report_isSet; + SWGSDRdaemonSourceReport* sdr_daemon_source_report; bool m_sdr_daemon_source_report_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp index 7ccda43c1..3b8e208da 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.cpp @@ -62,6 +62,8 @@ SWGDeviceSettings::SWGDeviceSettings() { m_pluto_sdr_output_settings_isSet = false; rtl_sdr_settings = nullptr; m_rtl_sdr_settings_isSet = false; + sdr_daemon_sink_settings = nullptr; + m_sdr_daemon_sink_settings_isSet = false; sdr_daemon_source_settings = nullptr; m_sdr_daemon_source_settings_isSet = false; sdr_play_settings = nullptr; @@ -110,6 +112,8 @@ SWGDeviceSettings::init() { m_pluto_sdr_output_settings_isSet = false; rtl_sdr_settings = new SWGRtlSdrSettings(); m_rtl_sdr_settings_isSet = false; + sdr_daemon_sink_settings = new SWGSDRdaemonSinkSettings(); + m_sdr_daemon_sink_settings_isSet = false; sdr_daemon_source_settings = new SWGSDRdaemonSourceSettings(); m_sdr_daemon_source_settings_isSet = false; sdr_play_settings = new SWGSDRPlaySettings(); @@ -169,6 +173,9 @@ SWGDeviceSettings::cleanup() { if(rtl_sdr_settings != nullptr) { delete rtl_sdr_settings; } + if(sdr_daemon_sink_settings != nullptr) { + delete sdr_daemon_sink_settings; + } if(sdr_daemon_source_settings != nullptr) { delete sdr_daemon_source_settings; } @@ -225,6 +232,8 @@ SWGDeviceSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&rtl_sdr_settings, pJson["rtlSdrSettings"], "SWGRtlSdrSettings", "SWGRtlSdrSettings"); + ::SWGSDRangel::setValue(&sdr_daemon_sink_settings, pJson["sdrDaemonSinkSettings"], "SWGSDRdaemonSinkSettings", "SWGSDRdaemonSinkSettings"); + ::SWGSDRangel::setValue(&sdr_daemon_source_settings, pJson["sdrDaemonSourceSettings"], "SWGSDRdaemonSourceSettings", "SWGSDRdaemonSourceSettings"); ::SWGSDRangel::setValue(&sdr_play_settings, pJson["sdrPlaySettings"], "SWGSDRPlaySettings", "SWGSDRPlaySettings"); @@ -298,6 +307,9 @@ SWGDeviceSettings::asJsonObject() { if((rtl_sdr_settings != nullptr) && (rtl_sdr_settings->isSet())){ toJsonValue(QString("rtlSdrSettings"), rtl_sdr_settings, obj, QString("SWGRtlSdrSettings")); } + if((sdr_daemon_sink_settings != nullptr) && (sdr_daemon_sink_settings->isSet())){ + toJsonValue(QString("sdrDaemonSinkSettings"), sdr_daemon_sink_settings, obj, QString("SWGSDRdaemonSinkSettings")); + } if((sdr_daemon_source_settings != nullptr) && (sdr_daemon_source_settings->isSet())){ toJsonValue(QString("sdrDaemonSourceSettings"), sdr_daemon_source_settings, obj, QString("SWGSDRdaemonSourceSettings")); } @@ -481,6 +493,16 @@ SWGDeviceSettings::setRtlSdrSettings(SWGRtlSdrSettings* rtl_sdr_settings) { this->m_rtl_sdr_settings_isSet = true; } +SWGSDRdaemonSinkSettings* +SWGDeviceSettings::getSdrDaemonSinkSettings() { + return sdr_daemon_sink_settings; +} +void +SWGDeviceSettings::setSdrDaemonSinkSettings(SWGSDRdaemonSinkSettings* sdr_daemon_sink_settings) { + this->sdr_daemon_sink_settings = sdr_daemon_sink_settings; + this->m_sdr_daemon_sink_settings_isSet = true; +} + SWGSDRdaemonSourceSettings* SWGDeviceSettings::getSdrDaemonSourceSettings() { return sdr_daemon_source_settings; @@ -533,6 +555,7 @@ SWGDeviceSettings::isSet(){ if(pluto_sdr_input_settings != nullptr && pluto_sdr_input_settings->isSet()){ isObjectUpdated = true; break;} if(pluto_sdr_output_settings != nullptr && pluto_sdr_output_settings->isSet()){ isObjectUpdated = true; break;} if(rtl_sdr_settings != nullptr && rtl_sdr_settings->isSet()){ isObjectUpdated = true; break;} + if(sdr_daemon_sink_settings != nullptr && sdr_daemon_sink_settings->isSet()){ isObjectUpdated = true; break;} if(sdr_daemon_source_settings != nullptr && sdr_daemon_source_settings->isSet()){ isObjectUpdated = true; break;} if(sdr_play_settings != nullptr && sdr_play_settings->isSet()){ isObjectUpdated = true; break;} if(test_source_settings != nullptr && test_source_settings->isSet()){ isObjectUpdated = true; break;} diff --git a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h index c07994698..d11fb177f 100644 --- a/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGDeviceSettings.h @@ -38,6 +38,7 @@ #include "SWGPlutoSdrOutputSettings.h" #include "SWGRtlSdrSettings.h" #include "SWGSDRPlaySettings.h" +#include "SWGSDRdaemonSinkSettings.h" #include "SWGSDRdaemonSourceSettings.h" #include "SWGTestSourceSettings.h" #include @@ -111,6 +112,9 @@ public: SWGRtlSdrSettings* getRtlSdrSettings(); void setRtlSdrSettings(SWGRtlSdrSettings* rtl_sdr_settings); + SWGSDRdaemonSinkSettings* getSdrDaemonSinkSettings(); + void setSdrDaemonSinkSettings(SWGSDRdaemonSinkSettings* sdr_daemon_sink_settings); + SWGSDRdaemonSourceSettings* getSdrDaemonSourceSettings(); void setSdrDaemonSourceSettings(SWGSDRdaemonSourceSettings* sdr_daemon_source_settings); @@ -175,6 +179,9 @@ private: SWGRtlSdrSettings* rtl_sdr_settings; bool m_rtl_sdr_settings_isSet; + SWGSDRdaemonSinkSettings* sdr_daemon_sink_settings; + bool m_sdr_daemon_sink_settings_isSet; + SWGSDRdaemonSourceSettings* sdr_daemon_source_settings; bool m_sdr_daemon_source_settings_isSet; diff --git a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h index ccfba90e6..2172187d7 100644 --- a/swagger/sdrangel/code/qt5/client/SWGModelFactory.h +++ b/swagger/sdrangel/code/qt5/client/SWGModelFactory.h @@ -90,6 +90,8 @@ #include "SWGRtlSdrSettings.h" #include "SWGSDRPlayReport.h" #include "SWGSDRPlaySettings.h" +#include "SWGSDRdaemonSinkReport.h" +#include "SWGSDRdaemonSinkSettings.h" #include "SWGSDRdaemonSourceReport.h" #include "SWGSDRdaemonSourceSettings.h" #include "SWGSSBDemodReport.h" @@ -340,6 +342,12 @@ namespace SWGSDRangel { if(QString("SWGSDRPlaySettings").compare(type) == 0) { return new SWGSDRPlaySettings(); } + if(QString("SWGSDRdaemonSinkReport").compare(type) == 0) { + return new SWGSDRdaemonSinkReport(); + } + if(QString("SWGSDRdaemonSinkSettings").compare(type) == 0) { + return new SWGSDRdaemonSinkSettings(); + } if(QString("SWGSDRdaemonSourceReport").compare(type) == 0) { return new SWGSDRdaemonSourceReport(); } diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.cpp b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.cpp new file mode 100644 index 000000000..981c18149 --- /dev/null +++ b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.cpp @@ -0,0 +1,127 @@ +/** + * 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. * Stopping instance i.e. /sdrangel with DELETE method is a server only feature. It allows stopping the instance nicely. * 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 demodulator, Channel Analyzer, Channel Analyzer NG, LoRa demodulator, TCP source * The content type returned is always application/json except in the following cases: * An incorrect URL was specified: this document is returned as text/html with a status 400 --- + * + * OpenAPI spec version: 4.0.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 "SWGSDRdaemonSinkReport.h" + +#include "SWGHelpers.h" + +#include +#include +#include +#include + +namespace SWGSDRangel { + +SWGSDRdaemonSinkReport::SWGSDRdaemonSinkReport(QString* json) { + init(); + this->fromJson(*json); +} + +SWGSDRdaemonSinkReport::SWGSDRdaemonSinkReport() { + buffer_rw_balance = 0.0f; + m_buffer_rw_balance_isSet = false; + sample_count = 0; + m_sample_count_isSet = false; +} + +SWGSDRdaemonSinkReport::~SWGSDRdaemonSinkReport() { + this->cleanup(); +} + +void +SWGSDRdaemonSinkReport::init() { + buffer_rw_balance = 0.0f; + m_buffer_rw_balance_isSet = false; + sample_count = 0; + m_sample_count_isSet = false; +} + +void +SWGSDRdaemonSinkReport::cleanup() { + + +} + +SWGSDRdaemonSinkReport* +SWGSDRdaemonSinkReport::fromJson(QString &json) { + QByteArray array (json.toStdString().c_str()); + QJsonDocument doc = QJsonDocument::fromJson(array); + QJsonObject jsonObject = doc.object(); + this->fromJsonObject(jsonObject); + return this; +} + +void +SWGSDRdaemonSinkReport::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(&buffer_rw_balance, pJson["bufferRWBalance"], "float", ""); + + ::SWGSDRangel::setValue(&sample_count, pJson["sampleCount"], "qint32", ""); + +} + +QString +SWGSDRdaemonSinkReport::asJson () +{ + QJsonObject* obj = this->asJsonObject(); + + QJsonDocument doc(*obj); + QByteArray bytes = doc.toJson(); + delete obj; + return QString(bytes); +} + +QJsonObject* +SWGSDRdaemonSinkReport::asJsonObject() { + QJsonObject* obj = new QJsonObject(); + if(m_buffer_rw_balance_isSet){ + obj->insert("bufferRWBalance", QJsonValue(buffer_rw_balance)); + } + if(m_sample_count_isSet){ + obj->insert("sampleCount", QJsonValue(sample_count)); + } + + return obj; +} + +float +SWGSDRdaemonSinkReport::getBufferRwBalance() { + return buffer_rw_balance; +} +void +SWGSDRdaemonSinkReport::setBufferRwBalance(float buffer_rw_balance) { + this->buffer_rw_balance = buffer_rw_balance; + this->m_buffer_rw_balance_isSet = true; +} + +qint32 +SWGSDRdaemonSinkReport::getSampleCount() { + return sample_count; +} +void +SWGSDRdaemonSinkReport::setSampleCount(qint32 sample_count) { + this->sample_count = sample_count; + this->m_sample_count_isSet = true; +} + + +bool +SWGSDRdaemonSinkReport::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_buffer_rw_balance_isSet){ isObjectUpdated = true; break;} + if(m_sample_count_isSet){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} +} + diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.h b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.h new file mode 100644 index 000000000..33a3327e7 --- /dev/null +++ b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkReport.h @@ -0,0 +1,64 @@ +/** + * 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. * Stopping instance i.e. /sdrangel with DELETE method is a server only feature. It allows stopping the instance nicely. * 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 demodulator, Channel Analyzer, Channel Analyzer NG, LoRa demodulator, TCP source * The content type returned is always application/json except in the following cases: * An incorrect URL was specified: this document is returned as text/html with a status 400 --- + * + * OpenAPI spec version: 4.0.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. + */ + +/* + * SWGSDRdaemonSinkReport.h + * + * SDRdaemonSource + */ + +#ifndef SWGSDRdaemonSinkReport_H_ +#define SWGSDRdaemonSinkReport_H_ + +#include + + + +#include "SWGObject.h" +#include "export.h" + +namespace SWGSDRangel { + +class SWG_API SWGSDRdaemonSinkReport: public SWGObject { +public: + SWGSDRdaemonSinkReport(); + SWGSDRdaemonSinkReport(QString* json); + virtual ~SWGSDRdaemonSinkReport(); + void init(); + void cleanup(); + + virtual QString asJson () override; + virtual QJsonObject* asJsonObject() override; + virtual void fromJsonObject(QJsonObject &json) override; + virtual SWGSDRdaemonSinkReport* fromJson(QString &jsonString) override; + + float getBufferRwBalance(); + void setBufferRwBalance(float buffer_rw_balance); + + qint32 getSampleCount(); + void setSampleCount(qint32 sample_count); + + + virtual bool isSet() override; + +private: + float buffer_rw_balance; + bool m_buffer_rw_balance_isSet; + + qint32 sample_count; + bool m_sample_count_isSet; + +}; + +} + +#endif /* SWGSDRdaemonSinkReport_H_ */ diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.cpp new file mode 100644 index 000000000..d4a326f68 --- /dev/null +++ b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.cpp @@ -0,0 +1,278 @@ +/** + * 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. * Stopping instance i.e. /sdrangel with DELETE method is a server only feature. It allows stopping the instance nicely. * 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 demodulator, Channel Analyzer, Channel Analyzer NG, LoRa demodulator, TCP source * The content type returned is always application/json except in the following cases: * An incorrect URL was specified: this document is returned as text/html with a status 400 --- + * + * OpenAPI spec version: 4.0.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 "SWGSDRdaemonSinkSettings.h" + +#include "SWGHelpers.h" + +#include +#include +#include +#include + +namespace SWGSDRangel { + +SWGSDRdaemonSinkSettings::SWGSDRdaemonSinkSettings(QString* json) { + init(); + this->fromJson(*json); +} + +SWGSDRdaemonSinkSettings::SWGSDRdaemonSinkSettings() { + center_frequency = 0; + m_center_frequency_isSet = false; + sample_rate = 0; + m_sample_rate_isSet = false; + log2_interp = 0; + m_log2_interp_isSet = false; + tx_delay = 0.0f; + m_tx_delay_isSet = false; + nb_fec_blocks = 0; + m_nb_fec_blocks_isSet = false; + address = nullptr; + m_address_isSet = false; + data_port = 0; + m_data_port_isSet = false; + control_port = 0; + m_control_port_isSet = false; + specific_parameters = nullptr; + m_specific_parameters_isSet = false; +} + +SWGSDRdaemonSinkSettings::~SWGSDRdaemonSinkSettings() { + this->cleanup(); +} + +void +SWGSDRdaemonSinkSettings::init() { + center_frequency = 0; + m_center_frequency_isSet = false; + sample_rate = 0; + m_sample_rate_isSet = false; + log2_interp = 0; + m_log2_interp_isSet = false; + tx_delay = 0.0f; + m_tx_delay_isSet = false; + nb_fec_blocks = 0; + m_nb_fec_blocks_isSet = false; + address = new QString(""); + m_address_isSet = false; + data_port = 0; + m_data_port_isSet = false; + control_port = 0; + m_control_port_isSet = false; + specific_parameters = new QString(""); + m_specific_parameters_isSet = false; +} + +void +SWGSDRdaemonSinkSettings::cleanup() { + + + + + + if(address != nullptr) { + delete address; + } + + + if(specific_parameters != nullptr) { + delete specific_parameters; + } +} + +SWGSDRdaemonSinkSettings* +SWGSDRdaemonSinkSettings::fromJson(QString &json) { + QByteArray array (json.toStdString().c_str()); + QJsonDocument doc = QJsonDocument::fromJson(array); + QJsonObject jsonObject = doc.object(); + this->fromJsonObject(jsonObject); + return this; +} + +void +SWGSDRdaemonSinkSettings::fromJsonObject(QJsonObject &pJson) { + ::SWGSDRangel::setValue(¢er_frequency, pJson["centerFrequency"], "qint32", ""); + + ::SWGSDRangel::setValue(&sample_rate, pJson["sampleRate"], "qint32", ""); + + ::SWGSDRangel::setValue(&log2_interp, pJson["log2Interp"], "qint32", ""); + + ::SWGSDRangel::setValue(&tx_delay, pJson["txDelay"], "float", ""); + + ::SWGSDRangel::setValue(&nb_fec_blocks, pJson["nbFECBlocks"], "qint32", ""); + + ::SWGSDRangel::setValue(&address, pJson["address"], "QString", "QString"); + + ::SWGSDRangel::setValue(&data_port, pJson["dataPort"], "qint32", ""); + + ::SWGSDRangel::setValue(&control_port, pJson["controlPort"], "qint32", ""); + + ::SWGSDRangel::setValue(&specific_parameters, pJson["specificParameters"], "QString", "QString"); + +} + +QString +SWGSDRdaemonSinkSettings::asJson () +{ + QJsonObject* obj = this->asJsonObject(); + + QJsonDocument doc(*obj); + QByteArray bytes = doc.toJson(); + delete obj; + return QString(bytes); +} + +QJsonObject* +SWGSDRdaemonSinkSettings::asJsonObject() { + QJsonObject* obj = new QJsonObject(); + if(m_center_frequency_isSet){ + obj->insert("centerFrequency", QJsonValue(center_frequency)); + } + if(m_sample_rate_isSet){ + obj->insert("sampleRate", QJsonValue(sample_rate)); + } + if(m_log2_interp_isSet){ + obj->insert("log2Interp", QJsonValue(log2_interp)); + } + if(m_tx_delay_isSet){ + obj->insert("txDelay", QJsonValue(tx_delay)); + } + if(m_nb_fec_blocks_isSet){ + obj->insert("nbFECBlocks", QJsonValue(nb_fec_blocks)); + } + if(address != nullptr && *address != QString("")){ + toJsonValue(QString("address"), address, obj, QString("QString")); + } + if(m_data_port_isSet){ + obj->insert("dataPort", QJsonValue(data_port)); + } + if(m_control_port_isSet){ + obj->insert("controlPort", QJsonValue(control_port)); + } + if(specific_parameters != nullptr && *specific_parameters != QString("")){ + toJsonValue(QString("specificParameters"), specific_parameters, obj, QString("QString")); + } + + return obj; +} + +qint32 +SWGSDRdaemonSinkSettings::getCenterFrequency() { + return center_frequency; +} +void +SWGSDRdaemonSinkSettings::setCenterFrequency(qint32 center_frequency) { + this->center_frequency = center_frequency; + this->m_center_frequency_isSet = true; +} + +qint32 +SWGSDRdaemonSinkSettings::getSampleRate() { + return sample_rate; +} +void +SWGSDRdaemonSinkSettings::setSampleRate(qint32 sample_rate) { + this->sample_rate = sample_rate; + this->m_sample_rate_isSet = true; +} + +qint32 +SWGSDRdaemonSinkSettings::getLog2Interp() { + return log2_interp; +} +void +SWGSDRdaemonSinkSettings::setLog2Interp(qint32 log2_interp) { + this->log2_interp = log2_interp; + this->m_log2_interp_isSet = true; +} + +float +SWGSDRdaemonSinkSettings::getTxDelay() { + return tx_delay; +} +void +SWGSDRdaemonSinkSettings::setTxDelay(float tx_delay) { + this->tx_delay = tx_delay; + this->m_tx_delay_isSet = true; +} + +qint32 +SWGSDRdaemonSinkSettings::getNbFecBlocks() { + return nb_fec_blocks; +} +void +SWGSDRdaemonSinkSettings::setNbFecBlocks(qint32 nb_fec_blocks) { + this->nb_fec_blocks = nb_fec_blocks; + this->m_nb_fec_blocks_isSet = true; +} + +QString* +SWGSDRdaemonSinkSettings::getAddress() { + return address; +} +void +SWGSDRdaemonSinkSettings::setAddress(QString* address) { + this->address = address; + this->m_address_isSet = true; +} + +qint32 +SWGSDRdaemonSinkSettings::getDataPort() { + return data_port; +} +void +SWGSDRdaemonSinkSettings::setDataPort(qint32 data_port) { + this->data_port = data_port; + this->m_data_port_isSet = true; +} + +qint32 +SWGSDRdaemonSinkSettings::getControlPort() { + return control_port; +} +void +SWGSDRdaemonSinkSettings::setControlPort(qint32 control_port) { + this->control_port = control_port; + this->m_control_port_isSet = true; +} + +QString* +SWGSDRdaemonSinkSettings::getSpecificParameters() { + return specific_parameters; +} +void +SWGSDRdaemonSinkSettings::setSpecificParameters(QString* specific_parameters) { + this->specific_parameters = specific_parameters; + this->m_specific_parameters_isSet = true; +} + + +bool +SWGSDRdaemonSinkSettings::isSet(){ + bool isObjectUpdated = false; + do{ + if(m_center_frequency_isSet){ isObjectUpdated = true; break;} + if(m_sample_rate_isSet){ isObjectUpdated = true; break;} + if(m_log2_interp_isSet){ isObjectUpdated = true; break;} + if(m_tx_delay_isSet){ isObjectUpdated = true; break;} + if(m_nb_fec_blocks_isSet){ isObjectUpdated = true; break;} + if(address != nullptr && *address != QString("")){ isObjectUpdated = true; break;} + if(m_data_port_isSet){ isObjectUpdated = true; break;} + if(m_control_port_isSet){ isObjectUpdated = true; break;} + if(specific_parameters != nullptr && *specific_parameters != QString("")){ isObjectUpdated = true; break;} + }while(false); + return isObjectUpdated; +} +} + diff --git a/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.h b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.h new file mode 100644 index 000000000..2beffa783 --- /dev/null +++ b/swagger/sdrangel/code/qt5/client/SWGSDRdaemonSinkSettings.h @@ -0,0 +1,107 @@ +/** + * 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. * Stopping instance i.e. /sdrangel with DELETE method is a server only feature. It allows stopping the instance nicely. * 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 demodulator, Channel Analyzer, Channel Analyzer NG, LoRa demodulator, TCP source * The content type returned is always application/json except in the following cases: * An incorrect URL was specified: this document is returned as text/html with a status 400 --- + * + * OpenAPI spec version: 4.0.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. + */ + +/* + * SWGSDRdaemonSinkSettings.h + * + * SDRdaemonSink + */ + +#ifndef SWGSDRdaemonSinkSettings_H_ +#define SWGSDRdaemonSinkSettings_H_ + +#include + + +#include + +#include "SWGObject.h" +#include "export.h" + +namespace SWGSDRangel { + +class SWG_API SWGSDRdaemonSinkSettings: public SWGObject { +public: + SWGSDRdaemonSinkSettings(); + SWGSDRdaemonSinkSettings(QString* json); + virtual ~SWGSDRdaemonSinkSettings(); + void init(); + void cleanup(); + + virtual QString asJson () override; + virtual QJsonObject* asJsonObject() override; + virtual void fromJsonObject(QJsonObject &json) override; + virtual SWGSDRdaemonSinkSettings* fromJson(QString &jsonString) override; + + qint32 getCenterFrequency(); + void setCenterFrequency(qint32 center_frequency); + + qint32 getSampleRate(); + void setSampleRate(qint32 sample_rate); + + qint32 getLog2Interp(); + void setLog2Interp(qint32 log2_interp); + + float getTxDelay(); + void setTxDelay(float tx_delay); + + qint32 getNbFecBlocks(); + void setNbFecBlocks(qint32 nb_fec_blocks); + + QString* getAddress(); + void setAddress(QString* address); + + qint32 getDataPort(); + void setDataPort(qint32 data_port); + + qint32 getControlPort(); + void setControlPort(qint32 control_port); + + QString* getSpecificParameters(); + void setSpecificParameters(QString* specific_parameters); + + + virtual bool isSet() override; + +private: + qint32 center_frequency; + bool m_center_frequency_isSet; + + qint32 sample_rate; + bool m_sample_rate_isSet; + + qint32 log2_interp; + bool m_log2_interp_isSet; + + float tx_delay; + bool m_tx_delay_isSet; + + qint32 nb_fec_blocks; + bool m_nb_fec_blocks_isSet; + + QString* address; + bool m_address_isSet; + + qint32 data_port; + bool m_data_port_isSet; + + qint32 control_port; + bool m_control_port_isSet; + + QString* specific_parameters; + bool m_specific_parameters_isSet; + +}; + +} + +#endif /* SWGSDRdaemonSinkSettings_H_ */