From a85731d3f7a225f9b6704cd3215e99c6b781b8ef Mon Sep 17 00:00:00 2001 From: f4exb <f4exb06@gmail.com> Date: Sun, 12 May 2024 23:18:16 +0200 Subject: [PATCH] Interferometer: added localDeviceIndex and play to API --- .../interferometer/interferometer.cpp | 24 ++++++---- sdrbase/resources/webapi/doc/html2/index.html | 10 +++- .../doc/swagger/include/Interferometer.yaml | 9 ++++ .../api/swagger/include/Interferometer.yaml | 9 ++++ swagger/sdrangel/code/html2/index.html | 10 +++- .../qt5/client/SWGInterferometerSettings.cpp | 46 +++++++++++++++++++ .../qt5/client/SWGInterferometerSettings.h | 12 +++++ 7 files changed, 110 insertions(+), 10 deletions(-) diff --git a/plugins/channelmimo/interferometer/interferometer.cpp b/plugins/channelmimo/interferometer/interferometer.cpp index 8bddf5073..1330edbf2 100644 --- a/plugins/channelmimo/interferometer/interferometer.cpp +++ b/plugins/channelmimo/interferometer/interferometer.cpp @@ -554,6 +554,12 @@ void Interferometer::webapiUpdateChannelSettings( if (channelSettingsKeys.contains("gain")) { settings.m_gain = response.getInterferometerSettings()->getGain(); } + if (channelSettingsKeys.contains("localDeviceIndex")) { + settings.m_localDeviceIndex = response.getInterferometerSettings()->getLocalDeviceIndex(); + } + if (channelSettingsKeys.contains("play")) { + settings.m_play = response.getInterferometerSettings()->getPlay() != 0; + } if (channelSettingsKeys.contains("filterChainHash")) { @@ -603,6 +609,8 @@ void Interferometer::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings response.getInterferometerSettings()->setLog2Decim(settings.m_log2Decim); response.getInterferometerSettings()->setPhase(settings.m_phase); response.getInterferometerSettings()->setGain(settings.m_gain); + response.getInterferometerSettings()->setLocalDeviceIndex(settings.m_localDeviceIndex); + response.getInterferometerSettings()->setPlay(settings.m_play ? 1 : 0); response.getInterferometerSettings()->setFilterChainHash(settings.m_filterChainHash); response.getInterferometerSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); @@ -613,8 +621,8 @@ void Interferometer::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings } response.getInterferometerSettings()->setReverseApiPort(settings.m_reverseAPIPort); - // response.getInterferometerSettings()->setReverseApiDeviceIndex(settings.m_reverseAPIDeviceIndex); - // response.getInterferometerSettings()->setReverseApiChannelIndex(settings.m_reverseAPIChannelIndex); + response.getInterferometerSettings()->setReverseApiDeviceIndex(settings.m_reverseAPIDeviceIndex); + response.getInterferometerSettings()->setReverseApiChannelIndex(settings.m_reverseAPIChannelIndex); if (settings.m_spectrumGUI) { @@ -754,12 +762,12 @@ void Interferometer::webapiFormatChannelSettings( if (channelSettingsKeys.contains("gain") || force) { swgInterferometerSettings->setGain(settings.m_gain); } - // if (channelSettingsKeys.contains("localDeviceIndex") || force) { - // swgInterferometerSettings->setLocalDeviceIndex(settings.m_localDeviceIndex); - // } - // if (channelSettingsKeys.contains("play") || force) { - // swgInterferometerSettings->setPlay(settings.m_play ? 1 : 0); - // } + if (channelSettingsKeys.contains("localDeviceIndex") || force) { + swgInterferometerSettings->setLocalDeviceIndex(settings.m_localDeviceIndex); + } + if (channelSettingsKeys.contains("play") || force) { + swgInterferometerSettings->setPlay(settings.m_play ? 1 : 0); + } if (channelSettingsKeys.contains("filterChainHash") || force) { swgInterferometerSettings->setFilterChainHash(settings.m_filterChainHash); } diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index eb33f0050..352dfefbd 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -8509,6 +8509,14 @@ margin-bottom: 20px; "type" : "integer", "description" : "Channel B gain in centi-Bels" }, + "localDeviceIndex" : { + "type" : "integer", + "description" : "Receiving local input device set index for correlated IQ" + }, + "play" : { + "type" : "integer", + "description" : "Run correlated IQ samples transfer\n * 0 - stop\n * 1 - run\n" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -58960,7 +58968,7 @@ except ApiException as e: </div> <div id="generator"> <div class="content"> - Generated 2024-05-12T00:06:46.949+02:00 + Generated 2024-05-12T21:57:44.126+02:00 </div> </div> </div> diff --git a/sdrbase/resources/webapi/doc/swagger/include/Interferometer.yaml b/sdrbase/resources/webapi/doc/swagger/include/Interferometer.yaml index 5159e3908..90e85483d 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/Interferometer.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/Interferometer.yaml @@ -18,6 +18,15 @@ InterferometerSettings: gain: description: Channel B gain in centi-Bels type: integer + localDeviceIndex: + description: "Receiving local input device set index for correlated IQ" + type: integer + play: + type: integer + description: > + Run correlated IQ samples transfer + * 0 - stop + * 1 - run useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/swagger/sdrangel/api/swagger/include/Interferometer.yaml b/swagger/sdrangel/api/swagger/include/Interferometer.yaml index aa26b07e7..6bac1c0c2 100644 --- a/swagger/sdrangel/api/swagger/include/Interferometer.yaml +++ b/swagger/sdrangel/api/swagger/include/Interferometer.yaml @@ -18,6 +18,15 @@ InterferometerSettings: gain: description: Channel B gain in centi-Bels type: integer + localDeviceIndex: + description: "Receiving local input device set index for correlated IQ" + type: integer + play: + type: integer + description: > + Run correlated IQ samples transfer + * 0 - stop + * 1 - run useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index eb33f0050..352dfefbd 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -8509,6 +8509,14 @@ margin-bottom: 20px; "type" : "integer", "description" : "Channel B gain in centi-Bels" }, + "localDeviceIndex" : { + "type" : "integer", + "description" : "Receiving local input device set index for correlated IQ" + }, + "play" : { + "type" : "integer", + "description" : "Run correlated IQ samples transfer\n * 0 - stop\n * 1 - run\n" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -58960,7 +58968,7 @@ except ApiException as e: </div> <div id="generator"> <div class="content"> - Generated 2024-05-12T00:06:46.949+02:00 + Generated 2024-05-12T21:57:44.126+02:00 </div> </div> </div> diff --git a/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.cpp index ba9e6e732..6a3477994 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.cpp @@ -42,6 +42,10 @@ SWGInterferometerSettings::SWGInterferometerSettings() { m_phase_isSet = false; gain = 0; m_gain_isSet = false; + local_device_index = 0; + m_local_device_index_isSet = false; + play = 0; + m_play_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -82,6 +86,10 @@ SWGInterferometerSettings::init() { m_phase_isSet = false; gain = 0; m_gain_isSet = false; + local_device_index = 0; + m_local_device_index_isSet = false; + play = 0; + m_play_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -114,6 +122,8 @@ SWGInterferometerSettings::cleanup() { + + if(reverse_api_address != nullptr) { delete reverse_api_address; } @@ -159,6 +169,10 @@ SWGInterferometerSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&gain, pJson["gain"], "qint32", ""); + ::SWGSDRangel::setValue(&local_device_index, pJson["localDeviceIndex"], "qint32", ""); + + ::SWGSDRangel::setValue(&play, pJson["play"], "qint32", ""); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -214,6 +228,12 @@ SWGInterferometerSettings::asJsonObject() { if(m_gain_isSet){ obj->insert("gain", QJsonValue(gain)); } + if(m_local_device_index_isSet){ + obj->insert("localDeviceIndex", QJsonValue(local_device_index)); + } + if(m_play_isSet){ + obj->insert("play", QJsonValue(play)); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -315,6 +335,26 @@ SWGInterferometerSettings::setGain(qint32 gain) { this->m_gain_isSet = true; } +qint32 +SWGInterferometerSettings::getLocalDeviceIndex() { + return local_device_index; +} +void +SWGInterferometerSettings::setLocalDeviceIndex(qint32 local_device_index) { + this->local_device_index = local_device_index; + this->m_local_device_index_isSet = true; +} + +qint32 +SWGInterferometerSettings::getPlay() { + return play; +} +void +SWGInterferometerSettings::setPlay(qint32 play) { + this->play = play; + this->m_play_isSet = true; +} + qint32 SWGInterferometerSettings::getUseReverseApi() { return use_reverse_api; @@ -431,6 +471,12 @@ SWGInterferometerSettings::isSet(){ if(m_gain_isSet){ isObjectUpdated = true; break; } + if(m_local_device_index_isSet){ + isObjectUpdated = true; break; + } + if(m_play_isSet){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.h b/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.h index 830664de6..9770f96db 100644 --- a/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGInterferometerSettings.h @@ -67,6 +67,12 @@ public: qint32 getGain(); void setGain(qint32 gain); + qint32 getLocalDeviceIndex(); + void setLocalDeviceIndex(qint32 local_device_index); + + qint32 getPlay(); + void setPlay(qint32 play); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -119,6 +125,12 @@ private: qint32 gain; bool m_gain_isSet; + qint32 local_device_index; + bool m_local_device_index_isSet; + + qint32 play; + bool m_play_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet;