mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-25 01:18:38 -05:00
Metis MISO: added lock all Rx frequencies option
This commit is contained in:
parent
79310b2008
commit
5231d1877b
Binary file not shown.
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 22 KiB |
Binary file not shown.
@ -352,7 +352,7 @@ bool MetisMISO::applySettings(const MetisMISOSettings& settings, const QList<QSt
|
||||
m_deviceAPI->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<QString>& 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)
|
||||
|
@ -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<int>::of(&QComboBox::currentIndexChanged), this, &MetisMISOGui::on_streamIndex_currentIndexChanged);
|
||||
QObject::connect(ui->spectrumSource, QOverload<int>::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);
|
||||
|
@ -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);
|
||||
|
@ -123,6 +123,24 @@
|
||||
</item>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="streamLock">
|
||||
<property name="toolTip">
|
||||
<string>Lock spectrum display to stream selection</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
</property>
|
||||
<property name="icon">
|
||||
<iconset resource="../../../sdrgui/resources/res.qrc">
|
||||
<normaloff>:/unlocked.png</normaloff>
|
||||
<normalon>:/locked.png</normalon>:/unlocked.png</iconset>
|
||||
</property>
|
||||
<property name="checkable">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QLabel" name="spectrumSourceLabel">
|
||||
<property name="text">
|
||||
@ -195,9 +213,16 @@
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="streamLock">
|
||||
<widget class="QLabel" name="rxLockLabel">
|
||||
<property name="text">
|
||||
<string>Rx</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item>
|
||||
<widget class="QToolButton" name="rxLock">
|
||||
<property name="toolTip">
|
||||
<string>Lock spectrum display to stream selection</string>
|
||||
<string>Lock all Rx frequencies</string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string/>
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -28,15 +28,19 @@ Select for which streams the controls are active. Controls specific to each stre
|
||||
- Center frequency
|
||||
- Subsampling index
|
||||
|
||||
<h3>2: Spectrum source selection</h3>
|
||||
|
||||
Select which stream is routed to the main spectrum display
|
||||
|
||||
<h3>3: Active stream / spectrum source lock</h3>
|
||||
<h3>2: Active stream / spectrum source lock</h3>
|
||||
|
||||
This ties together the stream selection and spectrum source stream selections.
|
||||
|
||||
<h3>4: Start/Stop</h3>
|
||||
<h3>3: Spectrum source selection</h3>
|
||||
|
||||
Select which stream is routed to the main spectrum display
|
||||
|
||||
<h3>4: Lock all Rx frequencies</h3>
|
||||
|
||||
This ties together all Rx frequencies. When you change any of them it changes the frequency of all other receivers.
|
||||
|
||||
<h3>5: Start/Stop</h3>
|
||||
|
||||
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)
|
||||
|
||||
<h3>5: Stream sample rate</h3>
|
||||
<h3>6: Stream sample rate</h3>
|
||||
|
||||
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).
|
||||
|
||||
<h3>6: Center frequency</h3>
|
||||
<h3>7: Center frequency</h3>
|
||||
|
||||
Tunes the center frequency of the active stream
|
||||
|
||||
<h3>7: Local Oscillator frequency correction in ppm</h3>
|
||||
<h3>8: Local Oscillator frequency correction in ppm</h3>
|
||||
|
||||
This lets you compensate for the main oscillator frequency inaccuracy. Value is in ppm (parts per million)
|
||||
|
||||
<h3>8: Sample rate - Decimation - Subsampling - DC and IQ corrections</h3>
|
||||
<h3>9: Sample rate - Decimation - Subsampling - DC and IQ corrections</h3>
|
||||
|
||||
![Metis Miso GUI 1](../../../doc/img/MetisMISO_plugin_1.png)
|
||||
|
||||
<h4>8.1: Sample rate</h4>
|
||||
<h4>9.1: Sample rate</h4>
|
||||
|
||||
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
|
||||
|
||||
<h4>8.2: Decimation factor</h4>
|
||||
<h4>9.2: Decimation factor</h4>
|
||||
|
||||
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.
|
||||
|
||||
<h4>8.3: Subsampling index</h4>
|
||||
<h4>9.3: Subsampling index</h4>
|
||||
|
||||
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.
|
||||
|
||||
<h4>8.4: DC correction</h4>
|
||||
<h4>9.4: DC correction</h4>
|
||||
|
||||
This corrects residual DC present at the center of the passband. By construction this is useless for the Red Pitaya.
|
||||
|
||||
<h4>8.5: IQ imbalance correction</h4>
|
||||
<h4>9.5: IQ imbalance correction</h4>
|
||||
|
||||
This corrects I/Q imbalance. By construction this is useless for the Red Pitaya.
|
||||
|
||||
<h3>9: Preamp - Random - Dither - Duplex - Number of receivers - Tx enable - Transverter</h3>
|
||||
<h3>10: Preamp - Random - Dither - Duplex - Number of receivers - Tx enable - Transverter</h3>
|
||||
|
||||
![Metis Miso GUI 1](../../../doc/img/MetisMISO_plugin_2.png)
|
||||
|
||||
<h4>9.1: Preamp</h4>
|
||||
<h4>10.1: Preamp</h4>
|
||||
|
||||
Toggle Rx preamplifier - not found to be effective
|
||||
|
||||
<h4>9.2: Random</h4>
|
||||
<h4>10.2: Random</h4>
|
||||
|
||||
Toggle LTC2185 randomization - not found to be effective
|
||||
|
||||
<h4>9.3: Dither</h4>
|
||||
<h4>10.3: Dither</h4>
|
||||
|
||||
Toggle LTC2185 dithering - not found to be effective
|
||||
|
||||
<h4>9.4: Duplex</h4>
|
||||
<h4>10.4: Duplex</h4>
|
||||
|
||||
Toggle duplex - not found to be effective
|
||||
|
||||
<h4>9.5: Number or active receivers</h4>
|
||||
<h4>10.5: Number or active receivers</h4>
|
||||
|
||||
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
|
||||
|
||||
<h4>9.6: Toggle Tx activation</h4>
|
||||
<h4>10.6: Toggle Tx activation</h4>
|
||||
|
||||
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.
|
||||
|
||||
<h4>9.7: Transverter mode</h4>
|
||||
<h4>10.7: Transverter mode</h4>
|
||||
|
||||
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.
|
||||
|
||||
<h3>10: Tx drive level</h3>
|
||||
<h3>11: Tx drive level</h3>
|
||||
|
||||
Choose a level from 0 (deactivated) to 15 (full power)
|
||||
|
@ -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:
|
||||
</div>
|
||||
<div id="generator">
|
||||
<div class="content">
|
||||
Generated 2024-05-12T21:57:44.126+02:00
|
||||
Generated 2024-05-13T21:38:23.490+02:00
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -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: >
|
||||
|
@ -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: >
|
||||
|
@ -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:
|
||||
</div>
|
||||
<div id="generator">
|
||||
<div class="content">
|
||||
Generated 2024-05-12T21:57:44.126+02:00
|
||||
Generated 2024-05-13T21:38:23.490+02:00
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user