diff --git a/doc/img/AudioCATSISO_plugin.png b/doc/img/AudioCATSISO_plugin.png new file mode 100644 index 000000000..609906e7f Binary files /dev/null and b/doc/img/AudioCATSISO_plugin.png differ diff --git a/doc/img/AudioCATSISO_plugin.xcf b/doc/img/AudioCATSISO_plugin.xcf new file mode 100644 index 000000000..15b411fa5 Binary files /dev/null and b/doc/img/AudioCATSISO_plugin.xcf differ diff --git a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp index 09556dd40..f2947f024 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsiso.cpp @@ -749,10 +749,16 @@ void AudioCATSISO::webapiUpdateDeviceSettings( if (deviceSettingsKeys.contains("catRTSHigh")) { settings.m_catRTSHigh = response.getAudioCatsisoSettings()->getCatRtsHigh() != 0; } + if (deviceSettingsKeys.contains("catRTSHigh")) { + settings.m_catPollingMs = response.getAudioCatsisoSettings()->getCatPollingMs(); + } if (deviceSettingsKeys.contains("txEnable")) { settings.m_txEnable = response.getAudioCatsisoSettings()->getTxEnable() != 0; } + if (deviceSettingsKeys.contains("pttSpectrumLink")) { + settings.m_pttSpectrumLink = response.getAudioCatsisoSettings()->getPttSpectrumLink() != 0; + } if (deviceSettingsKeys.contains("useReverseAPI")) { settings.m_useReverseAPI = response.getAudioCatsisoSettings()->getUseReverseApi() != 0; } @@ -787,6 +793,7 @@ void AudioCATSISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getAudioCatsisoSettings()->setTxVolume(settings.m_txVolume); response.getAudioCatsisoSettings()->setTxEnable(settings.m_txEnable ? 1 : 0); + response.getAudioCatsisoSettings()->setPttSpectrumLink(settings.m_pttSpectrumLink ? 1 : 0); response.getAudioCatsisoSettings()->setCatSpeedIndex(settings.m_catSpeedIndex); response.getAudioCatsisoSettings()->setCatHandshakeIndex(settings.m_catHandshakeIndex); @@ -795,6 +802,7 @@ void AudioCATSISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& re response.getAudioCatsisoSettings()->setCatStopBitsIndex(settings.m_catPTTMethodIndex); response.getAudioCatsisoSettings()->setCatDtrHigh(settings.m_catDTRHigh ? 1 : 0); response.getAudioCatsisoSettings()->setCatRtsHigh(settings.m_catRTSHigh ? 1 : 0); + response.getAudioCatsisoSettings()->setCatPollingMs(settings.m_catPollingMs); response.getAudioCatsisoSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0); @@ -869,6 +877,9 @@ void AudioCATSISO::webapiReverseSendSettings(const QList& deviceSetting if (deviceSettingsKeys.contains("txEnable")) { swgAudioCATSISOSettings->setTxEnable(settings.m_txEnable ? 1 : 0); } + if (deviceSettingsKeys.contains("pttSpectrumLink")) { + swgAudioCATSISOSettings->setPttSpectrumLink(settings.m_pttSpectrumLink ? 1 : 0); + } if (deviceSettingsKeys.contains("catSpeedIndex")) { swgAudioCATSISOSettings->setCatSpeedIndex(settings.m_catSpeedIndex); @@ -891,6 +902,9 @@ void AudioCATSISO::webapiReverseSendSettings(const QList& deviceSetting if (deviceSettingsKeys.contains("catRTSHigh")) { swgAudioCATSISOSettings->setCatRtsHigh(settings.m_catRTSHigh ? 1 : 0); } + if (deviceSettingsKeys.contains("catPollingMs")) { + swgAudioCATSISOSettings->setCatPollingMs(settings.m_catPollingMs); + } QString deviceSettingsURL = QString("http://%1:%2/sdrangel/deviceset/%3/device/settings") .arg(settings.m_reverseAPIAddress) diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.cpp b/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.cpp index 6f73a0101..45eb97ae9 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.cpp @@ -33,6 +33,7 @@ AudioCATSISOCATDialog::AudioCATSISOCATDialog(AudioCATSISOSettings& settings, QLi ui->pttMethod->blockSignals(true); ui->dtrHigh->blockSignals(true); ui->rtsHigh->blockSignals(true); + ui->pollingTime->blockSignals(true); ui->baudRate->setCurrentIndex(m_settings.m_catSpeedIndex); ui->handshake->setCurrentIndex(m_settings.m_catHandshakeIndex); @@ -41,6 +42,7 @@ AudioCATSISOCATDialog::AudioCATSISOCATDialog(AudioCATSISOSettings& settings, QLi ui->pttMethod->setCurrentIndex(m_settings.m_catPTTMethodIndex); ui->dtrHigh->setCurrentIndex(m_settings.m_catDTRHigh ? 1 : 0); ui->rtsHigh->setCurrentIndex(m_settings.m_catRTSHigh ? 1 : 0); + ui->pollingTime->setValue(m_settings.m_catPollingMs); ui->baudRate->blockSignals(false); ui->handshake->blockSignals(false); @@ -49,6 +51,7 @@ AudioCATSISOCATDialog::AudioCATSISOCATDialog(AudioCATSISOSettings& settings, QLi ui->pttMethod->blockSignals(false); ui->dtrHigh->blockSignals(false); ui->rtsHigh->blockSignals(false); + ui->pollingTime->blockSignals(false); } AudioCATSISOCATDialog::~AudioCATSISOCATDialog() @@ -123,3 +126,12 @@ void AudioCATSISOCATDialog::on_rtsHigh_currentIndexChanged(int index) m_settingsKeys.append("catRTSHigh"); } } + +void AudioCATSISOCATDialog::on_pollingTime_valueChanged(int value) +{ + m_settings.m_catPollingMs = value; + + if (!m_settingsKeys.contains("catPollingMs")) { + m_settingsKeys.append("catPollingMs"); + } +} diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.h b/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.h index 51b844313..81fedf9cb 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.h +++ b/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.h @@ -44,6 +44,7 @@ private slots: void on_pttMethod_currentIndexChanged(int index); void on_dtrHigh_currentIndexChanged(int index); void on_rtsHigh_currentIndexChanged(int index); + void on_pollingTime_valueChanged(int value); private: Ui::AudioCATSISOCATDialog* ui; diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.ui b/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.ui index 93d6c8baa..306ba0321 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.ui +++ b/plugins/samplemimo/audiocatsiso/audiocatsisocatdialog.ui @@ -6,7 +6,7 @@ 0 0 - 319 + 337 256 @@ -243,6 +243,32 @@ + + + + Polling (ms) + + + + + + + CAT frequency polling time in milliseconds + + + Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter + + + 500 + + + 5000 + + + 100 + + + diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisocatworker.cpp b/plugins/samplemimo/audiocatsiso/audiocatsisocatworker.cpp index 8927bc02a..0a27340ae 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisocatworker.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsisocatworker.cpp @@ -79,6 +79,11 @@ void AudioCATSISOCATWorker::applySettings(const AudioCATSISOSettings& settings, } } + if (settingsKeys.contains("catPollingMs") || force) + { + m_pollTimer.setInterval(settings.m_catPollingMs); + } + if (force) { m_settings = settings; } else { @@ -268,6 +273,7 @@ void AudioCATSISOCATWorker::pollingTick() if (retcode == RIG_OK) { + // qDebug("AudioCATSISOCATWorker::pollingTick: %f %lu", freq, m_frequency); if (m_frequency != freq) { qDebug("AudioCATSISOCATWorker::pollingTick: %lu", m_frequency); diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp b/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp index e889ffd79..1cfce1af4 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsisogui.cpp @@ -156,6 +156,8 @@ bool AudioCATSISOGUI::deserialize(const QByteArray& data) void AudioCATSISOGUI::on_startStop_toggled(bool checked) { + ui->txEnable->setEnabled(!checked); + if (m_doApplySettings) { AudioCATSISO::MsgStartStop *message = AudioCATSISO::MsgStartStop::create(checked); @@ -165,10 +167,21 @@ void AudioCATSISOGUI::on_startStop_toggled(bool checked) void AudioCATSISOGUI::on_ptt_toggled(bool checked) { + if (m_settings.m_pttSpectrumLink) { + ui->streamSide->setCurrentIndex(checked ? 1 : 0); + } + AudioCATSISOSettings::MsgPTT *msg = AudioCATSISOSettings::MsgPTT::create(checked); m_sampleMIMO->getInputMessageQueue()->push(msg); } +void AudioCATSISOGUI::on_pttSpectrumLinkToggled(bool checked) +{ + m_settings.m_pttSpectrumLink = checked; + m_settingsKeys.append("pttSpectrumLink"); + sendSettings(); +} + void AudioCATSISOGUI::on_catConnect_toggled(bool checked) { AudioCATSISOSettings::MsgCATConnect *msg = AudioCATSISOSettings::MsgCATConnect::create(checked); @@ -408,10 +421,11 @@ void AudioCATSISOGUI::displaySettings() ui->dcBlock->setChecked(m_settings.m_dcBlock); ui->iqCorrection->setChecked(m_settings.m_iqCorrection); ui->txEnable->setChecked(m_settings.m_txEnable); + ui->pttSpectrumLink->setChecked(m_settings.m_pttSpectrumLink); ui->rxVolume->setValue((int)(m_settings.m_rxVolume*10.0f)); ui->rxVolumeText->setText(QString("%1").arg(m_settings.m_rxVolume, 3, 'f', 1)); ui->rxChannels->setCurrentIndex((int)m_settings.m_rxIQMapping); - ui->txVolume->setValue((int)(m_settings.m_txVolume*10.0f)); + ui->txVolume->setValue((int)(m_settings.m_txVolume)); ui->txVolumeText->setText(tr("%1").arg(m_settings.m_txVolume)); ui->txChannels->setCurrentIndex((int)m_settings.m_txIQMapping); ui->fcPosRx->setCurrentIndex(m_settings.m_fcPosRx); @@ -753,6 +767,7 @@ void AudioCATSISOGUI::makeUIConnections() QObject::connect(ui->dcBlock, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_dcBlock_toggled); QObject::connect(ui->iqCorrection, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_iqCorrection_toggled); QObject::connect(ui->txEnable, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_txEnable_toggled); + QObject::connect(ui->pttSpectrumLink, &ButtonSwitch::toggled, this, &AudioCATSISOGUI::on_pttSpectrumLinkToggled); QObject::connect(ui->transverter, &TransverterButton::clicked, this, &AudioCATSISOGUI::on_transverter_clicked); QObject::connect(ui->rxDeviceSelect, &QPushButton::clicked, this, &AudioCATSISOGUI::on_rxDeviceSelect_clicked); QObject::connect(ui->txDeviceSelect, &QPushButton::clicked, this, &AudioCATSISOGUI::on_txDeviceSelect_clicked); diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisogui.h b/plugins/samplemimo/audiocatsiso/audiocatsisogui.h index f210dbdb7..9f94c454a 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisogui.h +++ b/plugins/samplemimo/audiocatsiso/audiocatsisogui.h @@ -90,6 +90,7 @@ private slots: void on_streamLock_toggled(bool checked); void on_startStop_toggled(bool checked); void on_ptt_toggled(bool checked); + void on_pttSpectrumLinkToggled(bool checked); void on_catConnect_toggled(bool checked); void on_centerFrequency_changed(quint64 value); void on_log2Decim_currentIndexChanged(int index); diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui b/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui index f20ab2967..6c0d9dc58 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui +++ b/plugins/samplemimo/audiocatsiso/audiocatsisogui.ui @@ -180,6 +180,26 @@ + + + + + 24 + 24 + + + + Toggles PTT switches spectrum view + + + + + + + :/link.png:/link.png + + + diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp index 80638ba9d..725f2ccb8 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp +++ b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.cpp @@ -69,6 +69,8 @@ AudioCATSISOSettings::AudioCATSISOSettings() void AudioCATSISOSettings::resetToDefaults() { + m_txEnable = false; + m_pttSpectrumLink = true; m_rxCenterFrequency = 14200000; m_txCenterFrequency = 14200000; m_rxDeviceName = ""; @@ -100,6 +102,8 @@ void AudioCATSISOSettings::resetToDefaults() AudioCATSISOSettings::AudioCATSISOSettings(const AudioCATSISOSettings& other) { + m_txEnable = other.m_txEnable; + m_pttSpectrumLink = other.m_pttSpectrumLink; m_rxCenterFrequency = other.m_rxCenterFrequency; m_txCenterFrequency = other.m_txCenterFrequency; m_rxDeviceName = other.m_rxDeviceName; @@ -112,7 +116,6 @@ AudioCATSISOSettings::AudioCATSISOSettings(const AudioCATSISOSettings& other) m_txDeviceName = other.m_txDeviceName; m_txVolume = other.m_txVolume; m_txIQMapping = other.m_txIQMapping; - m_txEnable = other.m_txEnable; m_catDevicePath = other.m_catDevicePath; m_hamlibModel = other.m_hamlibModel; m_catSpeedIndex = other.m_catSpeedIndex; @@ -162,6 +165,7 @@ QByteArray AudioCATSISOSettings::serialize() const s.writeString(52, m_reverseAPIAddress); s.writeU32(53, m_reverseAPIPort); s.writeU32(54, m_reverseAPIDeviceIndex); + s.writeBool(56, m_pttSpectrumLink); s.writeBool(57, m_txEnable); return s.final(); @@ -221,6 +225,7 @@ bool AudioCATSISOSettings::deserialize(const QByteArray& data) d.readU32(54, &uintval, 0); m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval; + d.readBool(56, &m_pttSpectrumLink, true); d.readBool(57, &m_txEnable, false); return true; @@ -275,6 +280,9 @@ void AudioCATSISOSettings::applySettings(const QStringList& settingsKeys, const if (settingsKeys.contains("txEnable")) { m_txEnable = settings.m_txEnable; } + if (settingsKeys.contains("pttSpectrumLink")) { + m_pttSpectrumLink = settings.m_pttSpectrumLink; + } if (settingsKeys.contains("catDevicePath")) { m_catDevicePath = settings.m_catDevicePath; } @@ -365,6 +373,9 @@ QString AudioCATSISOSettings::getDebugString(const QStringList& settingsKeys, bo if (settingsKeys.contains("txEnable") || force) { ostr << " m_txEnable: " << m_txEnable; } + if (settingsKeys.contains("pttSpectrumLink") || force) { + ostr << " m_pttSpectrumLink: " << m_pttSpectrumLink; + } if (settingsKeys.contains("catDevicePath") || force) { ostr << " m_catDevicePath: " << m_catDevicePath.toStdString(); } diff --git a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h index 51ce54de2..632e4fc42 100644 --- a/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h +++ b/plugins/samplemimo/audiocatsiso/audiocatsisosettings.h @@ -106,6 +106,7 @@ struct AudioCATSISOSettings { qint64 m_transverterDeltaFrequency; bool m_iqOrder; bool m_txEnable; + bool m_pttSpectrumLink; QString m_rxDeviceName; // Including realm, as from getFullDeviceName below IQMapping m_rxIQMapping; diff --git a/plugins/samplemimo/audiocatsiso/readme.md b/plugins/samplemimo/audiocatsiso/readme.md new file mode 100644 index 000000000..fbbb38c9a --- /dev/null +++ b/plugins/samplemimo/audiocatsiso/readme.md @@ -0,0 +1,38 @@ +

Audio CAT SISO plugin

+ +

Introduction

+ +This MIMO plugin gets its samples from an audio device on the Rx side and sends its samples to an audio device on the Tx side. It is single stream on both Rx and Tx therefore it has "SISO" in the name. In addition it allows CAT control of a radio device using Hamlib. CAT control is limited to frequency and PTT for radios that are transceivers. You can enable or disable the Tx side. It does not use VFO-A and VFO-B to manage split operation instead it holds one frequency for Rx and one for Tx and switches the current VFO to the appropriate value according to PTT status. It is specifically designed for radios with internal audio cards but you may also connect the audio I/O of a "traditional" radio to the line in and out of a soundcard. Not a lot of radios (if any) allow true I/Q modulation through their audio in interface therefore transmission will be limited to mono audio transfer with the radio in USB mode and have limited bandwidth only on the positive frequencies of the baseband (using the negative side just switches USB to LSB). + +

Interface

+ +The top and bottom bars of the device window are described [here](../../../sdrgui/device/readme.md) + +![Audio output plugin GUI](../../../doc/img/AudioOutput_plugin.png) + +

1: Start/Stop

+ +Device start / stop button. Use this switch button to play or stop audio playback + +

2: Audio sample rate

+ +Audio sample rate in Hz (Sa/s) with multiplier indicator (k). + +

3: Select audio device

+ +Use this push button to open a dialog that lets you choose the audio playback device. See [audio management documentation](../../../sdrgui/audio.md) for details. + +

4: Audio device

+ +The name of the audio device in use. + +

5: Volume

+ +A control to set the output volume. This is not supported by all output audio devices. + +

6: Channel Map

+ +This controls how the left and right audio channels map on to the IQ channels. + +* I=L, Q=R - The left audio channel is driven to the I channel. The right audio channel is driven to the Q channel for a complex (analytic signal)input. +* I=R, Q=L - The right audio channel is driven to the I channel. The left audio channel is driven to the Q channel for a complex (analytic signal)input. diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 6e1bf2685..93594acfa 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -2474,6 +2474,10 @@ margin-bottom: 20px; "type" : "integer", "description" : "Enable or disable transmission\n * 0 - Disable transmission\n * 1 - Enable transmission\n" }, + "pttSpectrumLink" : { + "type" : "integer", + "description" : "Main spectrum display (Rx/Tx) follows PTT (GUI)\n * 0 - Disable PTT following\n * 1 - Enable PTT following\n" + }, "rxDeviceName" : { "type" : "string", "description" : "The name of the input audio device" @@ -2541,6 +2545,10 @@ margin-bottom: 20px; "type" : "integer", "description" : "CAT RTS control\n * 0 - low\n * 1 - high (default)\n" }, + "catPollingMs" : { + "type" : "integer", + "description" : "CAT frequency polling interval in milliseconds" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -57798,7 +57806,7 @@ except ApiException as e:
- Generated 2023-06-12T01:13:22.125+02:00 + Generated 2023-06-16T17:40:24.489+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml b/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml index efb673028..adc2ca7b8 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/AudioCATSISO.yaml @@ -24,6 +24,12 @@ AudioCATSISOSettings: Enable or disable transmission * 0 - Disable transmission * 1 - Enable transmission + pttSpectrumLink: + type: integer + description: > + Main spectrum display (Rx/Tx) follows PTT (GUI) + * 0 - Disable PTT following + * 1 - Enable PTT following rxDeviceName: description: The name of the input audio device type: string @@ -122,6 +128,9 @@ AudioCATSISOSettings: CAT RTS control * 0 - low * 1 - high (default) + catPollingMs: + type: integer + description: CAT frequency polling interval in milliseconds useReverseAPI: description: Synchronize with reverse API (1 for yes, 0 for no) type: integer diff --git a/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml b/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml index efb673028..adc2ca7b8 100644 --- a/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml +++ b/swagger/sdrangel/api/swagger/include/AudioCATSISO.yaml @@ -24,6 +24,12 @@ AudioCATSISOSettings: Enable or disable transmission * 0 - Disable transmission * 1 - Enable transmission + pttSpectrumLink: + type: integer + description: > + Main spectrum display (Rx/Tx) follows PTT (GUI) + * 0 - Disable PTT following + * 1 - Enable PTT following rxDeviceName: description: The name of the input audio device type: string @@ -122,6 +128,9 @@ AudioCATSISOSettings: CAT RTS control * 0 - low * 1 - high (default) + catPollingMs: + type: integer + description: CAT frequency polling interval in milliseconds 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 6e1bf2685..93594acfa 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -2474,6 +2474,10 @@ margin-bottom: 20px; "type" : "integer", "description" : "Enable or disable transmission\n * 0 - Disable transmission\n * 1 - Enable transmission\n" }, + "pttSpectrumLink" : { + "type" : "integer", + "description" : "Main spectrum display (Rx/Tx) follows PTT (GUI)\n * 0 - Disable PTT following\n * 1 - Enable PTT following\n" + }, "rxDeviceName" : { "type" : "string", "description" : "The name of the input audio device" @@ -2541,6 +2545,10 @@ margin-bottom: 20px; "type" : "integer", "description" : "CAT RTS control\n * 0 - low\n * 1 - high (default)\n" }, + "catPollingMs" : { + "type" : "integer", + "description" : "CAT frequency polling interval in milliseconds" + }, "useReverseAPI" : { "type" : "integer", "description" : "Synchronize with reverse API (1 for yes, 0 for no)" @@ -57798,7 +57806,7 @@ except ApiException as e:
- Generated 2023-06-12T01:13:22.125+02:00 + Generated 2023-06-16T17:40:24.489+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp index f023cfdba..24c1c6138 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.cpp @@ -40,6 +40,8 @@ SWGAudioCATSISOSettings::SWGAudioCATSISOSettings() { m_iq_order_isSet = false; tx_enable = 0; m_tx_enable_isSet = false; + ptt_spectrum_link = 0; + m_ptt_spectrum_link_isSet = false; rx_device_name = nullptr; m_rx_device_name_isSet = false; rx_iq_mapping = 0; @@ -74,6 +76,8 @@ SWGAudioCATSISOSettings::SWGAudioCATSISOSettings() { m_cat_dtr_high_isSet = false; cat_rts_high = 0; m_cat_rts_high_isSet = false; + cat_polling_ms = 0; + m_cat_polling_ms_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = nullptr; @@ -102,6 +106,8 @@ SWGAudioCATSISOSettings::init() { m_iq_order_isSet = false; tx_enable = 0; m_tx_enable_isSet = false; + ptt_spectrum_link = 0; + m_ptt_spectrum_link_isSet = false; rx_device_name = new QString(""); m_rx_device_name_isSet = false; rx_iq_mapping = 0; @@ -136,6 +142,8 @@ SWGAudioCATSISOSettings::init() { m_cat_dtr_high_isSet = false; cat_rts_high = 0; m_cat_rts_high_isSet = false; + cat_polling_ms = 0; + m_cat_polling_ms_isSet = false; use_reverse_api = 0; m_use_reverse_api_isSet = false; reverse_api_address = new QString(""); @@ -154,6 +162,7 @@ SWGAudioCATSISOSettings::cleanup() { + if(rx_device_name != nullptr) { delete rx_device_name; } @@ -176,6 +185,7 @@ SWGAudioCATSISOSettings::cleanup() { + if(reverse_api_address != nullptr) { delete reverse_api_address; } @@ -206,6 +216,8 @@ SWGAudioCATSISOSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&tx_enable, pJson["txEnable"], "qint32", ""); + ::SWGSDRangel::setValue(&ptt_spectrum_link, pJson["pttSpectrumLink"], "qint32", ""); + ::SWGSDRangel::setValue(&rx_device_name, pJson["rxDeviceName"], "QString", "QString"); ::SWGSDRangel::setValue(&rx_iq_mapping, pJson["rxIQMapping"], "qint32", ""); @@ -240,6 +252,8 @@ SWGAudioCATSISOSettings::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&cat_rts_high, pJson["catRTSHigh"], "qint32", ""); + ::SWGSDRangel::setValue(&cat_polling_ms, pJson["catPollingMs"], "qint32", ""); + ::SWGSDRangel::setValue(&use_reverse_api, pJson["useReverseAPI"], "qint32", ""); ::SWGSDRangel::setValue(&reverse_api_address, pJson["reverseAPIAddress"], "QString", "QString"); @@ -282,6 +296,9 @@ SWGAudioCATSISOSettings::asJsonObject() { if(m_tx_enable_isSet){ obj->insert("txEnable", QJsonValue(tx_enable)); } + if(m_ptt_spectrum_link_isSet){ + obj->insert("pttSpectrumLink", QJsonValue(ptt_spectrum_link)); + } if(rx_device_name != nullptr && *rx_device_name != QString("")){ toJsonValue(QString("rxDeviceName"), rx_device_name, obj, QString("QString")); } @@ -333,6 +350,9 @@ SWGAudioCATSISOSettings::asJsonObject() { if(m_cat_rts_high_isSet){ obj->insert("catRTSHigh", QJsonValue(cat_rts_high)); } + if(m_cat_polling_ms_isSet){ + obj->insert("catPollingMs", QJsonValue(cat_polling_ms)); + } if(m_use_reverse_api_isSet){ obj->insert("useReverseAPI", QJsonValue(use_reverse_api)); } @@ -409,6 +429,16 @@ SWGAudioCATSISOSettings::setTxEnable(qint32 tx_enable) { this->m_tx_enable_isSet = true; } +qint32 +SWGAudioCATSISOSettings::getPttSpectrumLink() { + return ptt_spectrum_link; +} +void +SWGAudioCATSISOSettings::setPttSpectrumLink(qint32 ptt_spectrum_link) { + this->ptt_spectrum_link = ptt_spectrum_link; + this->m_ptt_spectrum_link_isSet = true; +} + QString* SWGAudioCATSISOSettings::getRxDeviceName() { return rx_device_name; @@ -579,6 +609,16 @@ SWGAudioCATSISOSettings::setCatRtsHigh(qint32 cat_rts_high) { this->m_cat_rts_high_isSet = true; } +qint32 +SWGAudioCATSISOSettings::getCatPollingMs() { + return cat_polling_ms; +} +void +SWGAudioCATSISOSettings::setCatPollingMs(qint32 cat_polling_ms) { + this->cat_polling_ms = cat_polling_ms; + this->m_cat_polling_ms_isSet = true; +} + qint32 SWGAudioCATSISOSettings::getUseReverseApi() { return use_reverse_api; @@ -642,6 +682,9 @@ SWGAudioCATSISOSettings::isSet(){ if(m_tx_enable_isSet){ isObjectUpdated = true; break; } + if(m_ptt_spectrum_link_isSet){ + isObjectUpdated = true; break; + } if(rx_device_name && *rx_device_name != QString("")){ isObjectUpdated = true; break; } @@ -693,6 +736,9 @@ SWGAudioCATSISOSettings::isSet(){ if(m_cat_rts_high_isSet){ isObjectUpdated = true; break; } + if(m_cat_polling_ms_isSet){ + isObjectUpdated = true; break; + } if(m_use_reverse_api_isSet){ isObjectUpdated = true; break; } diff --git a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h index ac57b26b7..8cf8ca60d 100644 --- a/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h +++ b/swagger/sdrangel/code/qt5/client/SWGAudioCATSISOSettings.h @@ -60,6 +60,9 @@ public: qint32 getTxEnable(); void setTxEnable(qint32 tx_enable); + qint32 getPttSpectrumLink(); + void setPttSpectrumLink(qint32 ptt_spectrum_link); + QString* getRxDeviceName(); void setRxDeviceName(QString* rx_device_name); @@ -111,6 +114,9 @@ public: qint32 getCatRtsHigh(); void setCatRtsHigh(qint32 cat_rts_high); + qint32 getCatPollingMs(); + void setCatPollingMs(qint32 cat_polling_ms); + qint32 getUseReverseApi(); void setUseReverseApi(qint32 use_reverse_api); @@ -145,6 +151,9 @@ private: qint32 tx_enable; bool m_tx_enable_isSet; + qint32 ptt_spectrum_link; + bool m_ptt_spectrum_link_isSet; + QString* rx_device_name; bool m_rx_device_name_isSet; @@ -196,6 +205,9 @@ private: qint32 cat_rts_high; bool m_cat_rts_high_isSet; + qint32 cat_polling_ms; + bool m_cat_polling_ms_isSet; + qint32 use_reverse_api; bool m_use_reverse_api_isSet;