From 5231d1877bfbf13c23692739a09396da049f5157 Mon Sep 17 00:00:00 2001 From: f4exb Date: Mon, 13 May 2024 22:08:22 +0200 Subject: [PATCH] Metis MISO: added lock all Rx frequencies option --- doc/img/MetisMISO_plugin.png | Bin 23145 -> 22035 bytes doc/img/MetisMISO_plugin.xcf | Bin 92325 -> 84728 bytes plugins/samplemimo/metismiso/metismiso.cpp | 16 +++++- plugins/samplemimo/metismiso/metismisogui.cpp | 28 +++++++++- plugins/samplemimo/metismiso/metismisogui.h | 1 + plugins/samplemimo/metismiso/metismisogui.ui | 29 +++++++++- .../metismiso/metismisosettings.cpp | 20 +++++++ .../samplemimo/metismiso/metismisosettings.h | 2 + plugins/samplemimo/metismiso/readme.md | 52 ++++++++++-------- sdrbase/resources/webapi/doc/html2/index.html | 10 +++- .../webapi/doc/swagger/include/MetisMISO.yaml | 12 ++++ .../api/swagger/include/MetisMISO.yaml | 12 ++++ swagger/sdrangel/code/html2/index.html | 10 +++- .../code/qt5/client/SWGMetisMISOSettings.cpp | 46 ++++++++++++++++ .../code/qt5/client/SWGMetisMISOSettings.h | 12 ++++ 15 files changed, 219 insertions(+), 31 deletions(-) diff --git a/doc/img/MetisMISO_plugin.png b/doc/img/MetisMISO_plugin.png index 7518003fc5d61ae6029e1f2b1fc20ce55a836eed..e08267ffc37c7e910ef9793d868b3ac7d99b4ba0 100644 GIT binary patch literal 22035 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 literal 23145 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 diff --git a/doc/img/MetisMISO_plugin.xcf b/doc/img/MetisMISO_plugin.xcf index 39c3868f7ee65691ed95cf6c14814ccbcb97941d..a663749a530501cf6fecd2b512823633adbd5939 100644 GIT binary patch literal 84728 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 zSi)u-{7}tcOCDrA!g$configureCorrections(settings.m_dcBlock, settings.m_iqCorrection, 1); } - for (int i = 0; i < MetisMISOSettings::m_maxReceivers; i++) + for (int i = 0; i < (int) m_settings.m_nbReceivers; i++) { if (settingsKeys.contains(QString("rx%1CenterFrequency").arg(i+1)) || settingsKeys.contains("sampleRateIndex") || @@ -586,6 +586,12 @@ void MetisMISO::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("spectrumStreamIndex")) { settings.m_spectrumStreamIndex = response.getMetisMisoSettings()->getSpectrumStreamIndex(); } + if (deviceSettingsKeys.contains("streamLock")) { + settings.m_streamLock = response.getMetisMisoSettings()->getStreamLock() != 0; + } + if (deviceSettingsKeys.contains("rxLock")) { + settings.m_rxLock = response.getMetisMisoSettings()->getRxLock() != 0; + } if (deviceSettingsKeys.contains("streamIndex")) { settings.m_streamIndex = response.getMetisMisoSettings()->getStreamIndex(); } @@ -643,6 +649,8 @@ void MetisMISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& respo response.getMetisMisoSettings()->setIqCorrection(settings.m_iqCorrection ? 1 : 0); response.getMetisMisoSettings()->setTxDrive(settings.m_txDrive); response.getMetisMisoSettings()->setSpectrumStreamIndex(settings.m_spectrumStreamIndex); + response.getMetisMisoSettings()->setStreamLock(settings.m_streamLock ? 1 : 0); + response.getMetisMisoSettings()->setRxLock(settings.m_rxLock ? 1 : 0); response.getMetisMisoSettings()->setStreamIndex(settings.m_streamIndex); response.getMetisMisoSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); @@ -776,6 +784,12 @@ void MetisMISO::webapiReverseSendSettings(const QList& deviceSettingsKe if (deviceSettingsKeys.contains("streamIndex") || force) { swgMetisMISOSettings->setStreamIndex(settings.m_streamIndex); } + if (deviceSettingsKeys.contains("streamLock") || force) { + swgMetisMISOSettings->setStreamLock(settings.m_streamLock ? 1 : 0); + } + if (deviceSettingsKeys.contains("rxLock") || force) { + swgMetisMISOSettings->setRxLock(settings.m_rxLock ? 1 : 0); + } QString channelSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplemimo/metismiso/metismisogui.cpp b/plugins/samplemimo/metismiso/metismisogui.cpp index 958f2bc3d..4466998f1 100644 --- a/plugins/samplemimo/metismiso/metismisogui.cpp +++ b/plugins/samplemimo/metismiso/metismisogui.cpp @@ -214,6 +214,17 @@ void MetisMISOGui::on_streamLock_toggled(bool checked) if (checked && (ui->streamIndex->currentIndex() != ui->spectrumSource->currentIndex())) { ui->spectrumSource->setCurrentIndex(ui->streamIndex->currentIndex()); } + + m_settings.m_streamLock = checked; + m_settingsKeys.append("streamLock"); + sendSettings(); +} + +void MetisMISOGui::on_rxLock_toggled(bool checked) +{ + m_settings.m_rxLock = checked; + m_settingsKeys.append("rxLock"); + sendSettings(); } void MetisMISOGui::on_LOppm_valueChanged(int value) @@ -228,8 +239,18 @@ void MetisMISOGui::on_centerFrequency_changed(quint64 value) { if (m_settings.m_streamIndex < MetisMISOSettings::m_maxReceivers) { - m_settings.m_rxCenterFrequencies[m_settings.m_streamIndex] = value * 1000; - m_settingsKeys.append(QString("rx%1CenterFrequency").arg(m_settings.m_streamIndex+1)); + for (int i = 0; i < (int) m_settings.m_nbReceivers; i++) + { + if (!m_settings.m_rxLock && (i != m_settings.m_streamIndex)) { + continue; + } + + m_settings.m_rxCenterFrequencies[i] = value * 1000; + m_settingsKeys.append(QString("rx%1CenterFrequency").arg(i+1)); + } + + // m_settings.m_rxCenterFrequencies[m_settings.m_streamIndex] = value * 1000; + // m_settingsKeys.append(QString("rx%1CenterFrequency").arg(m_settings.m_streamIndex+1)); } else if (m_settings.m_streamIndex == MetisMISOSettings::m_maxReceivers) { @@ -380,6 +401,8 @@ void MetisMISOGui::displaySettings() ui->txEnable->setChecked(m_settings.m_txEnable); ui->txDrive->setValue(m_settings.m_txDrive); ui->txDriveText->setText(tr("%1").arg(m_settings.m_txDrive)); + ui->streamLock->setChecked(m_settings.m_streamLock); + ui->rxLock->setChecked(m_settings.m_rxLock); updateSubsamplingIndex(); displayFrequency(); displaySampleRate(); @@ -633,6 +656,7 @@ void MetisMISOGui::makeUIConnections() QObject::connect(ui->streamIndex, QOverload::of(&QComboBox::currentIndexChanged), this, &MetisMISOGui::on_streamIndex_currentIndexChanged); QObject::connect(ui->spectrumSource, QOverload::of(&QComboBox::currentIndexChanged), this, &MetisMISOGui::on_spectrumSource_currentIndexChanged); QObject::connect(ui->streamLock, &QToolButton::toggled, this, &MetisMISOGui::on_streamLock_toggled); + QObject::connect(ui->rxLock, &QToolButton::toggled, this, &MetisMISOGui::on_rxLock_toggled); QObject::connect(ui->LOppm, &QSlider::valueChanged, this, &MetisMISOGui::on_LOppm_valueChanged); QObject::connect(ui->startStop, &ButtonSwitch::toggled, this, &MetisMISOGui::on_startStop_toggled); QObject::connect(ui->centerFrequency, &ValueDial::changed, this, &MetisMISOGui::on_centerFrequency_changed); diff --git a/plugins/samplemimo/metismiso/metismisogui.h b/plugins/samplemimo/metismiso/metismisogui.h index fb30b6ef5..5b9865b6f 100644 --- a/plugins/samplemimo/metismiso/metismisogui.h +++ b/plugins/samplemimo/metismiso/metismisogui.h @@ -82,6 +82,7 @@ private slots: void on_streamIndex_currentIndexChanged(int index); void on_spectrumSource_currentIndexChanged(int index); void on_streamLock_toggled(bool checked); + void on_rxLock_toggled(bool checked); void on_LOppm_valueChanged(int value); void on_startStop_toggled(bool checked); void on_centerFrequency_changed(quint64 value); diff --git a/plugins/samplemimo/metismiso/metismisogui.ui b/plugins/samplemimo/metismiso/metismisogui.ui index bcb622bba..647a2ce12 100644 --- a/plugins/samplemimo/metismiso/metismisogui.ui +++ b/plugins/samplemimo/metismiso/metismisogui.ui @@ -123,6 +123,24 @@ + + + + Lock spectrum display to stream selection + + + + + + + :/unlocked.png + :/locked.png:/unlocked.png + + + true + + + @@ -195,9 +213,16 @@ - + + + Rx + + + + + - Lock spectrum display to stream selection + Lock all Rx frequencies diff --git a/plugins/samplemimo/metismiso/metismisosettings.cpp b/plugins/samplemimo/metismiso/metismisosettings.cpp index 84105bf61..775e62591 100644 --- a/plugins/samplemimo/metismiso/metismisosettings.cpp +++ b/plugins/samplemimo/metismiso/metismisosettings.cpp @@ -48,6 +48,8 @@ MetisMISOSettings::MetisMISOSettings(const MetisMISOSettings& other) m_txDrive = other.m_txDrive; m_streamIndex = other.m_streamIndex; m_spectrumStreamIndex = other.m_spectrumStreamIndex; + m_streamLock = other.m_streamLock; + m_rxLock = other.m_rxLock; m_useReverseAPI = other.m_useReverseAPI; m_reverseAPIAddress = other.m_reverseAPIAddress; m_reverseAPIPort = other.m_reverseAPIPort; @@ -78,6 +80,8 @@ void MetisMISOSettings::resetToDefaults() m_txDrive = 15; m_streamIndex = 0; m_spectrumStreamIndex = 0; + m_streamLock = false; + m_rxLock = false; m_useReverseAPI = false; m_reverseAPIAddress = "127.0.0.1"; m_reverseAPIPort = 8888; @@ -112,6 +116,8 @@ QByteArray MetisMISOSettings::serialize() const s.writeU32(22, m_reverseAPIDeviceIndex); s.writeS32(23, m_streamIndex); s.writeS32(24, m_spectrumStreamIndex); + s.writeBool(25, m_streamLock); + s.writeBool(26, m_rxLock); for (int i = 0; i < m_maxReceivers; i++) { @@ -175,6 +181,8 @@ bool MetisMISOSettings::deserialize(const QByteArray& data) d.readS32(23, &m_streamIndex, 0); d.readS32(24, &m_spectrumStreamIndex, 0); + d.readBool(25, &m_streamLock, false); + d.readBool(26, &m_rxLock, false); return true; } @@ -295,6 +303,12 @@ void MetisMISOSettings::applySettings(const QStringList& settingsKeys, const Met if (settingsKeys.contains("spectrumStreamIndex")) { m_spectrumStreamIndex = settings.m_spectrumStreamIndex; } + if (settingsKeys.contains("streamLock")) { + m_streamLock = settings.m_streamLock; + } + if (settingsKeys.contains("rxLock")) { + m_rxLock = settings.m_rxLock; + } if (settingsKeys.contains("useReverseAPI")) { m_useReverseAPI = settings.m_useReverseAPI; } @@ -421,6 +435,12 @@ QString MetisMISOSettings::getDebugString(const QStringList& settingsKeys, bool if (settingsKeys.contains("spectrumStreamIndex") || force) { ostr << " m_spectrumStreamIndex: " << m_spectrumStreamIndex; } + if (settingsKeys.contains("streamLock") || force) { + ostr << " m_streamLock: " << m_streamLock; + } + if (settingsKeys.contains("rxLock") || force) { + ostr << " m_rxLock: " << m_rxLock; + } if (settingsKeys.contains("useReverseAPI") || force) { ostr << " m_useReverseAPI: " << m_useReverseAPI; } diff --git a/plugins/samplemimo/metismiso/metismisosettings.h b/plugins/samplemimo/metismiso/metismisosettings.h index 663af10da..189d5cb1f 100644 --- a/plugins/samplemimo/metismiso/metismisosettings.h +++ b/plugins/samplemimo/metismiso/metismisosettings.h @@ -47,6 +47,8 @@ struct MetisMISOSettings { unsigned int m_txDrive; int m_streamIndex; int m_spectrumStreamIndex; //!< spectrum source + bool m_streamLock; //!< Lock stream control and spectrum to same Rx + bool m_rxLock; //!< Lock all Rx frequencies together bool m_useReverseAPI; QString m_reverseAPIAddress; uint16_t m_reverseAPIPort; diff --git a/plugins/samplemimo/metismiso/readme.md b/plugins/samplemimo/metismiso/readme.md index c05a0f73a..0ed0722c5 100644 --- a/plugins/samplemimo/metismiso/readme.md +++ b/plugins/samplemimo/metismiso/readme.md @@ -28,15 +28,19 @@ Select for which streams the controls are active. Controls specific to each stre - Center frequency - Subsampling index -

2: Spectrum source selection

- -Select which stream is routed to the main spectrum display - -

3: Active stream / spectrum source lock

+

2: Active stream / spectrum source lock

This ties together the stream selection and spectrum source stream selections. -

4: Start/Stop

+

3: Spectrum source selection

+ +Select which stream is routed to the main spectrum display + +

4: Lock all Rx frequencies

+ +This ties together all Rx frequencies. When you change any of them it changes the frequency of all other receivers. + +

5: Start/Stop

Device start / stop button. @@ -46,23 +50,23 @@ Device start / stop button. Starting the device means that the network stream from the Metis compatible device is started. It will be stopped by the stop button. This effectively starts all available streams that can be controlled with the Rx number select (9.5) or Tx enable (9.6) -

5: Stream sample rate

+

6: Stream sample rate

Baseband I/Q sample rate in kS/s. This is the device to host sample rate (8.1) divided by the software decimation factor (8.2). -

6: Center frequency

+

7: Center frequency

Tunes the center frequency of the active stream -

7: Local Oscillator frequency correction in ppm

+

8: Local Oscillator frequency correction in ppm

This lets you compensate for the main oscillator frequency inaccuracy. Value is in ppm (parts per million) -

8: Sample rate - Decimation - Subsampling - DC and IQ corrections

+

9: Sample rate - Decimation - Subsampling - DC and IQ corrections

![Metis Miso GUI 1](../../../doc/img/MetisMISO_plugin_1.png) -

8.1: Sample rate

+

9.1: Sample rate

This combo box lets you control the four possible values for the device to host sample rate (Rx). Host to device (Tx) sample rate is fixed by design of the Metis interface at 48 kS/s: @@ -71,13 +75,13 @@ This combo box lets you control the four possible values for the device to host - **192k**: 192000 samples per second - **384k**: 384000 samples per second -

8.2: Decimation factor

+

9.2: Decimation factor

The I/Q stream from the Metis stream is downsampled by a power of two before being sent to the passband. Possible values are increasing powers of two: 1 (no decimation), 2, 4, 8. Note that there is no interpolation on the Tx side. -

8.3: Subsampling index

+

9.3: Subsampling index

The Red Pitaya has a LTC2185 ADC specified for a bandwidth up to 550 MHz. This lets you use the Red Pitaya receivers in subsampling mode with appropriate filtering and LNA chain as a front end. In this mode the received frequency may extend above 61.44 MHz in successive 61.44 MHz wide bands. This index corresponds to the frequency band index from 0 to 7 and let you input the frequency directly corresponding to the subsampling scheme. The band limits appear in the tooltip and are the following: @@ -92,35 +96,35 @@ The Red Pitaya has a LTC2185 ADC specified for a bandwidth up to 550 MHz. This l Of course the more the higher the frequency above the fundamental range the worse the performance is. In practice it is still OK at VHF frequencies but not much above. -

8.4: DC correction

+

9.4: DC correction

This corrects residual DC present at the center of the passband. By construction this is useless for the Red Pitaya. -

8.5: IQ imbalance correction

+

9.5: IQ imbalance correction

This corrects I/Q imbalance. By construction this is useless for the Red Pitaya. -

9: Preamp - Random - Dither - Duplex - Number of receivers - Tx enable - Transverter

+

10: Preamp - Random - Dither - Duplex - Number of receivers - Tx enable - Transverter

![Metis Miso GUI 1](../../../doc/img/MetisMISO_plugin_2.png) -

9.1: Preamp

+

10.1: Preamp

Toggle Rx preamplifier - not found to be effective -

9.2: Random

+

10.2: Random

Toggle LTC2185 randomization - not found to be effective -

9.3: Dither

+

10.3: Dither

Toggle LTC2185 dithering - not found to be effective -

9.4: Duplex

+

10.4: Duplex

Toggle duplex - not found to be effective -

9.5: Number or active receivers

+

10.5: Number or active receivers

Controls the number of active receivers. Each receiver allocates a slot in the data stream from the Metis interface. @@ -129,16 +133,16 @@ Controls the number of active receivers. Each receiver allocates a slot in the d It is a waste to have more active receivers than you actually need because it will increase network traffic for nothing -

9.6: Toggle Tx activation

+

10.6: Toggle Tx activation

Use this button to toggle the generation and sending of Tx samples in the Metis stream from host to device. When inactivated null samples are sent in the return payload from host to device. -

9.7: Transverter mode

+

10.7: Transverter mode

This button opens a dialog to set the transverter mode frequency translation options. The details about this dialog can be found [here](../../../sdrgui/gui/transverterdialog.md) Transverter mixing is the same for all receivers and may be different for the transmitter. -

10: Tx drive level

+

11: Tx drive level

Choose a level from 0 (deactivated) to 15 (full power) diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 352dfefbd..319e483cd 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -10472,6 +10472,14 @@ margin-bottom: 20px; "type" : "integer", "description" : "The index of the stream that is used as source of the main spectrum" }, + "streamLock" : { + "type" : "integer", + "description" : "Ties together the stream selection and spectrum source stream selections * 0 - stream unlocked * 1 - stream locked\n" + }, + "rxLock" : { + "type" : "integer", + "description" : "Ties together all Rx frequencies * 0 - Rx frequencies untied * 1 - Rx frequencies tied\n" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API * 0 - disabled * 1 - enabled\n" @@ -58968,7 +58976,7 @@ except ApiException as e:
- Generated 2024-05-12T21:57:44.126+02:00 + Generated 2024-05-13T21:38:23.490+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml b/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml index 49b42e5b2..404e26e61 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/MetisMISO.yaml @@ -145,6 +145,18 @@ MetisMISOSettings: spectrumStreamIndex: type: integer description: The index of the stream that is used as source of the main spectrum + streamLock: + type: integer + description: > + Ties together the stream selection and spectrum source stream selections + * 0 - stream unlocked + * 1 - stream locked + rxLock: + type: integer + description: > + Ties together all Rx frequencies + * 0 - Rx frequencies untied + * 1 - Rx frequencies tied useReverseAPI: type: integer description: > diff --git a/swagger/sdrangel/api/swagger/include/MetisMISO.yaml b/swagger/sdrangel/api/swagger/include/MetisMISO.yaml index 49b42e5b2..404e26e61 100644 --- a/swagger/sdrangel/api/swagger/include/MetisMISO.yaml +++ b/swagger/sdrangel/api/swagger/include/MetisMISO.yaml @@ -145,6 +145,18 @@ MetisMISOSettings: spectrumStreamIndex: type: integer description: The index of the stream that is used as source of the main spectrum + streamLock: + type: integer + description: > + Ties together the stream selection and spectrum source stream selections + * 0 - stream unlocked + * 1 - stream locked + rxLock: + type: integer + description: > + Ties together all Rx frequencies + * 0 - Rx frequencies untied + * 1 - Rx frequencies tied useReverseAPI: type: integer description: > diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 352dfefbd..319e483cd 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -10472,6 +10472,14 @@ margin-bottom: 20px; "type" : "integer", "description" : "The index of the stream that is used as source of the main spectrum" }, + "streamLock" : { + "type" : "integer", + "description" : "Ties together the stream selection and spectrum source stream selections * 0 - stream unlocked * 1 - stream locked\n" + }, + "rxLock" : { + "type" : "integer", + "description" : "Ties together all Rx frequencies * 0 - Rx frequencies untied * 1 - Rx frequencies tied\n" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API * 0 - disabled * 1 - enabled\n" @@ -58968,7 +58976,7 @@ except ApiException as e:
- Generated 2024-05-12T21:57:44.126+02:00 + Generated 2024-05-13T21:38:23.490+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp index 9b38cc91c..cbd29b9e3 100644 --- a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.cpp @@ -100,6 +100,10 @@ SWGMetisMISOSettings::SWGMetisMISOSettings() { m_stream_index_isSet = false; spectrum_stream_index = 0; m_spectrum_stream_index_isSet = false; + stream_lock = 0; + m_stream_lock_isSet = false; + rx_lock = 0; + m_rx_lock_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -188,6 +192,10 @@ SWGMetisMISOSettings::init() { m_stream_index_isSet = false; spectrum_stream_index = 0; m_spectrum_stream_index_isSet = false; + stream_lock = 0; + m_stream_lock_isSet = false; + rx_lock = 0; + m_rx_lock_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -234,6 +242,8 @@ SWGMetisMISOSettings::cleanup() { + + @@ -327,6 +337,10 @@ SWGMetisMISOSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&spectrum_stream_index, pJson["spectrumStreamIndex"], "qint32", ""); + ::SWGSDRangel::setValue(&stream_lock, pJson["streamLock"], "qint32", ""); + + ::SWGSDRangel::setValue(&rx_lock, pJson["rxLock"], "qint32", ""); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -459,6 +473,12 @@ SWGMetisMISOSettings::asJsonObject() { if(m_spectrum_stream_index_isSet){ obj->insert("spectrumStreamIndex", QJsonValue(spectrum_stream_index)); } + if(m_stream_lock_isSet){ + obj->insert("streamLock", QJsonValue(stream_lock)); + } + if(m_rx_lock_isSet){ + obj->insert("rxLock", QJsonValue(rx_lock)); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -835,6 +855,26 @@ SWGMetisMISOSettings::setSpectrumStreamIndex(qint32 spectrum_stream_index) { this->m_spectrum_stream_index_isSet = true; } +qint32 +SWGMetisMISOSettings::getStreamLock() { + return stream_lock; +} +void +SWGMetisMISOSettings::setStreamLock(qint32 stream_lock) { + this->stream_lock = stream_lock; + this->m_stream_lock_isSet = true; +} + +qint32 +SWGMetisMISOSettings::getRxLock() { + return rx_lock; +} +void +SWGMetisMISOSettings::setRxLock(qint32 rx_lock) { + this->rx_lock = rx_lock; + this->m_rx_lock_isSet = true; +} + qint32 SWGMetisMISOSettings::getUseReverseApi() { return use_reverse_api; @@ -988,6 +1028,12 @@ SWGMetisMISOSettings::isSet(){ if(m_spectrum_stream_index_isSet){ isObjectUpdated = true; break; } + if(m_stream_lock_isSet){ + isObjectUpdated = true; break; + } + if(m_rx_lock_isSet){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h index b2dbad91a..26718a3eb 100644 --- a/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGMetisMISOSettings.h @@ -150,6 +150,12 @@ public: qint32 getSpectrumStreamIndex(); void setSpectrumStreamIndex(qint32 spectrum_stream_index); + qint32 getStreamLock(); + void setStreamLock(qint32 stream_lock); + + qint32 getRxLock(); + void setRxLock(qint32 rx_lock); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -274,6 +280,12 @@ private: qint32 spectrum_stream_index; bool m_spectrum_stream_index_isSet; + qint32 stream_lock; + bool m_stream_lock_isSet; + + qint32 rx_lock; + bool m_rx_lock_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet;