diff --git a/doc/img/MetisMISO_plugin.png b/doc/img/MetisMISO_plugin.png index 7518003fc..e08267ffc 100644 Binary files a/doc/img/MetisMISO_plugin.png and b/doc/img/MetisMISO_plugin.png differ diff --git a/doc/img/MetisMISO_plugin.xcf b/doc/img/MetisMISO_plugin.xcf index 39c3868f7..a663749a5 100644 Binary files a/doc/img/MetisMISO_plugin.xcf and b/doc/img/MetisMISO_plugin.xcf differ diff --git a/plugins/samplemimo/metismiso/metismiso.cpp b/plugins/samplemimo/metismiso/metismiso.cpp index 46c2c3ff6..8844a349e 100644 --- a/plugins/samplemimo/metismiso/metismiso.cpp +++ b/plugins/samplemimo/metismiso/metismiso.cpp @@ -352,7 +352,7 @@ bool MetisMISO::applySettings(const MetisMISOSettings& settings, const QListconfigureCorrections(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;