1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-04-29 10:54:01 -04:00

Merge pull request #2630 from f4exb/feature-2292

Make device title editable in the basic device settings. Fixes #2292
This commit is contained in:
Edouard Griffiths 2026-01-28 15:14:57 +01:00 committed by GitHub
commit 00c60a2855
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
354 changed files with 3956 additions and 479 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

View File

@ -728,6 +728,9 @@ void AudioCATSISO::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getAudioCatsisoSettings()->getTitle();
}
if (deviceSettingsKeys.contains("rxCenterFrequency")) {
settings.m_rxCenterFrequency = response.getAudioCatsisoSettings()->getRxCenterFrequency();
}
@ -828,6 +831,12 @@ void AudioCATSISO::webapiUpdateDeviceSettings(
void AudioCATSISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AudioCATSISOSettings& settings)
{
if (response.getAudioCatsisoSettings()->getTitle()) {
*response.getAudioCatsisoSettings()->getTitle() = settings.m_title;
} else {
response.getAudioCatsisoSettings()->setTitle(new QString(settings.m_title));
}
response.getAudioCatsisoSettings()->setRxCenterFrequency(settings.m_rxCenterFrequency);
response.getAudioCatsisoSettings()->setRxSampleRate(settings.m_rxSampleRate);
response.getAudioCatsisoSettings()->setTxCenterFrequency(settings.m_txCenterFrequency);
@ -882,6 +891,9 @@ void AudioCATSISO::webapiReverseSendSettings(const QList<QString>& deviceSetting
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title")) {
swgAudioCATSISOSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("rxCenterFrequency")) {
swgAudioCATSISOSettings->setRxCenterFrequency(settings.m_rxCenterFrequency);
}

View File

@ -31,6 +31,7 @@
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "gui/basicdevicesettingsdialog.h"
#include "mainspectrum/mainspectrumgui.h"
#include "gui/audioselectdialog.h"
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
@ -513,6 +514,8 @@ void AudioCATSISOGUI::displaySettings()
{
blockApplySettings(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency);
ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode);
ui->transverter->setIQOrder(m_settings.m_iqOrder);
@ -843,21 +846,30 @@ void AudioCATSISOGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -69,6 +69,7 @@ AudioCATSISOSettings::AudioCATSISOSettings()
void AudioCATSISOSettings::resetToDefaults()
{
m_title = "AudioCATSISO";
m_txEnable = false;
m_pttSpectrumLink = true;
m_rxCenterFrequency = 14200000;
@ -106,6 +107,7 @@ void AudioCATSISOSettings::resetToDefaults()
AudioCATSISOSettings::AudioCATSISOSettings(const AudioCATSISOSettings& other)
{
m_title = other.m_title;
m_txEnable = other.m_txEnable;
m_pttSpectrumLink = other.m_pttSpectrumLink;
m_rxCenterFrequency = other.m_rxCenterFrequency;
@ -155,6 +157,7 @@ QByteArray AudioCATSISOSettings::serialize() const
s.writeBool(9, m_transverterMode);
s.writeS64(10, m_transverterDeltaFrequency);
s.writeS32(11, m_rxSampleRate); // Serialize RX sample rate
s.writeString(12, m_title);
s.writeString(21, m_txDeviceName);
s.writeU64(22, m_txCenterFrequency);
@ -210,6 +213,7 @@ bool AudioCATSISOSettings::deserialize(const QByteArray& data)
d.readBool(9, &m_transverterMode, false);
d.readS64(10, &m_transverterDeltaFrequency, 0);
d.readS32(11, &m_rxSampleRate, 48000); // Deserialize RX sample rate
d.readString(12, &m_title, "AudioCATSISO");
d.readString(21, &m_txDeviceName, "");
d.readU64(22, &m_txCenterFrequency, 14200000);
@ -255,6 +259,9 @@ bool AudioCATSISOSettings::deserialize(const QByteArray& data)
void AudioCATSISOSettings::applySettings(const QStringList& settingsKeys, const AudioCATSISOSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("transverterMode")) {
m_transverterMode = settings.m_transverterMode;
}
@ -361,6 +368,9 @@ QString AudioCATSISOSettings::getDebugString(const QStringList& settingsKeys, bo
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("transverterMode") || force) {
ostr << " m_transverterMode: " << m_transverterMode;
}

View File

@ -104,6 +104,7 @@ public:
R
};
QString m_title;
quint64 m_rxCenterFrequency;
quint64 m_txCenterFrequency;
bool m_transverterMode;

View File

@ -907,6 +907,9 @@ void BladeRF2MIMO::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getBladeRf2MimoSettings()->getTitle();
}
if (deviceSettingsKeys.contains("devSampleRate")) {
settings.m_devSampleRate = response.getBladeRf2MimoSettings()->getDevSampleRate();
}
@ -1001,6 +1004,12 @@ void BladeRF2MIMO::webapiUpdateDeviceSettings(
void BladeRF2MIMO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF2MIMOSettings& settings)
{
if (response.getBladeRf2MimoSettings()->getTitle()) {
*response.getBladeRf2MimoSettings()->getTitle() = settings.m_title;
} else {
response.getBladeRf2MimoSettings()->setTitle(new QString(settings.m_title));
}
response.getBladeRf2MimoSettings()->setDevSampleRate(settings.m_devSampleRate);
response.getBladeRf2MimoSettings()->setLOppmTenths(settings.m_LOppmTenths);
@ -1097,6 +1106,9 @@ void BladeRF2MIMO::webapiReverseSendSettings(const QList<QString>& deviceSetting
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgBladeRF2MIMOSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("devSampleRate") || force) {
swgBladeRF2MIMOSettings->setDevSampleRate(settings.m_devSampleRate);
}

View File

@ -31,6 +31,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "dsp/devicesamplestatic.h"
@ -196,6 +197,8 @@ void BladeRF2MIMOGui::displaySettings()
displayGain();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->sampleRate->setValue(m_settings.m_devSampleRate);
ui->LOppm->setValue(m_settings.m_LOppmTenths);
ui->LOppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1)));
@ -882,21 +885,30 @@ void BladeRF2MIMOGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -26,6 +26,7 @@ BladeRF2MIMOSettings::BladeRF2MIMOSettings()
void BladeRF2MIMOSettings::resetToDefaults()
{
m_title = "BladeRF2MIMO";
m_devSampleRate = 3072000;
m_LOppmTenths = 0;
@ -66,6 +67,7 @@ QByteArray BladeRF2MIMOSettings::serialize() const
s.writeS32(1, m_devSampleRate);
s.writeS32(2, m_LOppmTenths);
s.writeString(3, m_title);
s.writeU64(10, m_rxCenterFrequency);
s.writeU32(11, m_log2Decim);
@ -117,6 +119,7 @@ bool BladeRF2MIMOSettings::deserialize(const QByteArray& data)
d.readS32(1, &m_devSampleRate, 3072000);
d.readS32(2, &m_LOppmTenths, 0);
d.readString(3, &m_title, "BladeRF2MIMO");
d.readU64(10, &m_rxCenterFrequency, 435000*1000);
d.readU32(11, &m_log2Decim);
@ -169,6 +172,9 @@ bool BladeRF2MIMOSettings::deserialize(const QByteArray& data)
void BladeRF2MIMOSettings::applySettings(const QStringList& settingsKeys, const BladeRF2MIMOSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("devSampleRate")) {
m_devSampleRate = settings.m_devSampleRate;
}
@ -262,6 +268,9 @@ QString BladeRF2MIMOSettings::getDebugString(const QStringList& settingsKeys, bo
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("devSampleRate") || force) {
ostr << " m_devSampleRate: " << m_devSampleRate;
}
@ -352,6 +361,3 @@ QString BladeRF2MIMOSettings::getDebugString(const QStringList& settingsKeys, bo
return QString(ostr.str().c_str());
}

View File

@ -30,6 +30,7 @@ struct BladeRF2MIMOSettings {
FC_POS_CENTER
} fcPos_t;
QString m_title;
qint32 m_devSampleRate;
qint32 m_LOppmTenths;

View File

@ -1646,6 +1646,12 @@ void LimeSDRMIMO::webapiFormatDeviceSettings(
const LimeSDRMIMOSettings& settings)
{
// Common
if (response.getLimeSdrMimoSettings()->getTitle()) {
*response.getLimeSdrMimoSettings()->getTitle() = settings.m_title;
} else {
response.getLimeSdrMimoSettings()->setTitle(new QString(settings.m_title));
}
response.getLimeSdrMimoSettings()->setDevSampleRate(settings.m_devSampleRate);
response.getLimeSdrMimoSettings()->setExtClock(settings.m_extClock ? 1 : 0);
response.getLimeSdrMimoSettings()->setExtClockFreq(settings.m_extClockFreq);
@ -1722,6 +1728,9 @@ void LimeSDRMIMO::webapiUpdateDeviceSettings(
SWGSDRangel::SWGDeviceSettings& response)
{
// Common
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getLimeSdrMimoSettings()->getTitle();
}
if (deviceSettingsKeys.contains("devSampleRate")) {
settings.m_devSampleRate = response.getLimeSdrMimoSettings()->getDevSampleRate();
}
@ -1972,6 +1981,9 @@ void LimeSDRMIMO::webapiReverseSendSettings(const QList<QString>& deviceSettings
SWGSDRangel::SWGLimeSdrMIMOSettings *swgLimeSdrMIMOSettings = swgDeviceSettings->getLimeSdrMimoSettings();
// Common
if (deviceSettingsKeys.contains("title") || force) {
swgLimeSdrMIMOSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("devSampleRate") || force) {
swgLimeSdrMIMOSettings->setDevSampleRate(settings.m_devSampleRate);
}

View File

@ -31,6 +31,7 @@
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "dsp/devicesamplestatic.h"
#include "limesdr/devicelimesdrshared.h"
@ -413,6 +414,8 @@ void LimeSDRMIMOGUI::displaySettings()
}
setNCODisplay();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
}
void LimeSDRMIMOGUI::displayRxSampleRate()
@ -1259,21 +1262,30 @@ void LimeSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -26,6 +26,7 @@ LimeSDRMIMOSettings::LimeSDRMIMOSettings()
void LimeSDRMIMOSettings::resetToDefaults()
{
m_title = "LimeSDRMIMO";
m_devSampleRate = 3200000;
m_gpioDir = 0;
m_gpioPins = 0;
@ -101,6 +102,7 @@ QByteArray LimeSDRMIMOSettings::serialize() const
s.writeString(9, m_reverseAPIAddress);
s.writeU32(10, m_reverseAPIPort);
s.writeU32(11, m_reverseAPIDeviceIndex);
s.writeString(12, m_title);
s.writeU64(20, m_rxCenterFrequency);
s.writeU32(21, m_log2HardDecim);
@ -181,6 +183,9 @@ bool LimeSDRMIMOSettings::deserialize(const QByteArray& data)
d.readBool(8, &m_useReverseAPI, false);
d.readString(9, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(10, &uintval, 0);
d.readU32(11, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(12, &m_title, "LimeSDRMIMO");
if ((uintval > 1023) && (uintval < 65535)) {
m_reverseAPIPort = uintval;
@ -259,6 +264,9 @@ bool LimeSDRMIMOSettings::deserialize(const QByteArray& data)
void LimeSDRMIMOSettings::applySettings(const QStringList& settingsKeys, const LimeSDRMIMOSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("devSampleRate")) {
m_devSampleRate = settings.m_devSampleRate;
}
@ -427,6 +435,9 @@ QString LimeSDRMIMOSettings::getDebugString(const QStringList& settingsKeys, boo
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("devSampleRate") || force) {
ostr << " m_devSampleRate: " << m_devSampleRate;
}

View File

@ -52,6 +52,7 @@ struct LimeSDRMIMOSettings
};
// General
QString m_title;
qint32 m_devSampleRate;
uint8_t m_gpioDir; //!< GPIO pin direction LSB first; 0 input, 1 output
uint8_t m_gpioPins; //!< GPIO pins to write; LSB first

View File

@ -484,6 +484,9 @@ void MetisMISO::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getMetisMisoSettings()->getTitle();
}
if (deviceSettingsKeys.contains("nbReceivers")) {
settings.m_nbReceivers = response.getMetisMisoSettings()->getNbReceivers();
}
@ -614,6 +617,12 @@ void MetisMISO::webapiUpdateDeviceSettings(
void MetisMISO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const MetisMISOSettings& settings)
{
if (response.getMetisMisoSettings()->getTitle()) {
*response.getMetisMisoSettings()->getTitle() = settings.m_title;
} else {
response.getMetisMisoSettings()->setTitle(new QString(settings.m_title));
}
response.getMetisMisoSettings()->setNbReceivers(settings.m_nbReceivers);
response.getMetisMisoSettings()->setTxEnable(settings.m_txEnable ? 1 : 0);
@ -676,6 +685,9 @@ void MetisMISO::webapiReverseSendSettings(const QList<QString>& deviceSettingsKe
swgDeviceSettings->setMetisMisoSettings(new SWGSDRangel::SWGMetisMISOSettings());
SWGSDRangel::SWGMetisMISOSettings *swgMetisMISOSettings = swgDeviceSettings->getMetisMisoSettings();
if (deviceSettingsKeys.contains("title") || force) {
swgMetisMISOSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("nbReceivers") || force) {
swgMetisMISOSettings->setNbReceivers(settings.m_nbReceivers);
}

View File

@ -30,6 +30,7 @@
#include "gui/glspectrum.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "gui/basicdevicesettingsdialog.h"
#include "dsp/dspcommands.h"
@ -384,6 +385,8 @@ void MetisMISOGui::displaySettings()
{
blockApplySettings(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->streamIndex->setCurrentIndex(m_settings.m_streamIndex);
ui->spectrumSource->setCurrentIndex(m_settings.m_spectrumStreamIndex);
ui->nbRxIndex->setCurrentIndex(m_settings.m_nbReceivers - 1);
@ -631,21 +634,30 @@ void MetisMISOGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -26,6 +26,7 @@ MetisMISOSettings::MetisMISOSettings()
MetisMISOSettings::MetisMISOSettings(const MetisMISOSettings& other)
{
m_title = other.m_title;
m_nbReceivers = other.m_nbReceivers;
m_txEnable = other.m_txEnable;
std::copy(other.m_rxCenterFrequencies, other.m_rxCenterFrequencies + m_maxReceivers, m_rxCenterFrequencies);
@ -58,6 +59,7 @@ MetisMISOSettings::MetisMISOSettings(const MetisMISOSettings& other)
void MetisMISOSettings::resetToDefaults()
{
m_title = "MetisMISO";
m_nbReceivers = 1;
m_txEnable = false;
std::fill(m_rxCenterFrequencies, m_rxCenterFrequencies + m_maxReceivers, 7074000);
@ -118,6 +120,7 @@ QByteArray MetisMISOSettings::serialize() const
s.writeS32(24, m_spectrumStreamIndex);
s.writeBool(25, m_streamLock);
s.writeBool(26, m_rxLock);
s.writeString(27, m_title);
for (int i = 0; i < m_maxReceivers; i++)
{
@ -183,6 +186,7 @@ bool MetisMISOSettings::deserialize(const QByteArray& data)
d.readS32(24, &m_spectrumStreamIndex, 0);
d.readBool(25, &m_streamLock, false);
d.readBool(26, &m_rxLock, false);
d.readString(27, &m_title, "MetisMISO");
return true;
}
@ -195,6 +199,9 @@ bool MetisMISOSettings::deserialize(const QByteArray& data)
void MetisMISOSettings::applySettings(const QStringList& settingsKeys, const MetisMISOSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("nbReceivers")) {
m_nbReceivers = settings.m_nbReceivers;
}
@ -327,6 +334,9 @@ QString MetisMISOSettings::getDebugString(const QStringList& settingsKeys, bool
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("nbReceivers") || force) {
ostr << " m_nbReceivers: " << m_nbReceivers;
}

View File

@ -23,8 +23,10 @@
#include <QString>
struct MetisMISOSettings {
struct MetisMISOSettings
{
static const int m_maxReceivers = 8;
QString m_title;
unsigned int m_nbReceivers;
bool m_txEnable;
quint64 m_rxCenterFrequencies[m_maxReceivers];

View File

@ -794,6 +794,9 @@ void PlutoSDRMIMO::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getPlutoSdrMimoSettings()->getTitle();
}
if (deviceSettingsKeys.contains("devSampleRate")) {
settings.m_devSampleRate = response.getPlutoSdrMimoSettings()->getDevSampleRate();
}
@ -924,6 +927,12 @@ void PlutoSDRMIMO::webapiUpdateDeviceSettings(
void PlutoSDRMIMO::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const PlutoSDRMIMOSettings& settings)
{
if (response.getPlutoSdrMimoSettings()->getTitle()) {
*response.getPlutoSdrMimoSettings()->getTitle() = settings.m_title;
} else {
response.getPlutoSdrMimoSettings()->setTitle(new QString(settings.m_title));
}
response.getPlutoSdrMimoSettings()->setDevSampleRate(settings.m_devSampleRate);
response.getPlutoSdrMimoSettings()->setLOppmTenths(settings.m_LOppmTenths);
response.getPlutoSdrMimoSettings()->setRxCenterFrequency(settings.m_rxCenterFrequency);
@ -1029,6 +1038,9 @@ void PlutoSDRMIMO::webapiReverseSendSettings(const QList<QString>& deviceSetting
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title")) {
swgPlutoSDRMIMOSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("devSampleRate") || force) {
swgPlutoSDRMIMOSettings->setDevSampleRate(settings.m_devSampleRate);
}

View File

@ -30,6 +30,7 @@
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "dsp/devicesamplestatic.h"
#include "dsp/devicesamplesource.h"
@ -146,6 +147,9 @@ bool PlutoSDRMIMOGUI::deserialize(const QByteArray& data)
void PlutoSDRMIMOGUI::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
if (m_rxElseTx)
{
ui->transverter->setDeltaFrequency(m_settings.m_rxTransverterDeltaFrequency);
@ -994,21 +998,30 @@ void PlutoSDRMIMOGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -29,6 +29,7 @@ PlutoSDRMIMOSettings::PlutoSDRMIMOSettings()
void PlutoSDRMIMOSettings::resetToDefaults()
{
m_title = "PlutoSDRMIMO";
m_devSampleRate = 2500 * 1000;
m_LOppmTenths = 0;
@ -87,6 +88,7 @@ QByteArray PlutoSDRMIMOSettings::serialize() const
// Common
s.writeU64(1, m_devSampleRate);
s.writeS32(2, m_LOppmTenths);
s.writeString(3, m_title);
// Rx
s.writeU64(10, m_rxCenterFrequency);
@ -163,6 +165,7 @@ bool PlutoSDRMIMOSettings::deserialize(const QByteArray& data)
// Common
d.readU64(1, &m_devSampleRate, 2500 * 1000);
d.readS32(2, &m_LOppmTenths, 0);
d.readString(3, &m_title, "PlutoSDRMIMO");
// Rx
d.readU64(10, &m_rxCenterFrequency, 435000*1000);
@ -287,6 +290,9 @@ bool PlutoSDRMIMOSettings::deserialize(const QByteArray& data)
void PlutoSDRMIMOSettings::applySettings(const QStringList& settingsKeys, const PlutoSDRMIMOSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("devSampleRate")) {
m_devSampleRate = settings.m_devSampleRate;
}
@ -419,6 +425,9 @@ QString PlutoSDRMIMOSettings::getDebugString(const QStringList& settingsKeys, bo
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("devSampleRate") || force) {
ostr << " m_devSampleRate: " << m_devSampleRate;
}

View File

@ -63,6 +63,7 @@ struct PlutoSDRMIMOSettings {
} GainMode;
// Common
QString m_title;
quint64 m_devSampleRate; //!< Host interface sample rate
qint32 m_LOppmTenths; //!< XO correction

View File

@ -679,6 +679,10 @@ void TestMI::webapiUpdateDeviceSettings(
}
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getTestMiSettings()->getTitle();
}
if (deviceSettingsKeys.contains("useReverseAPI")) {
settings.m_useReverseAPI = response.getTestMiSettings()->getUseReverseApi() != 0;
}
@ -722,6 +726,12 @@ void TestMI::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response
streams->back()->setPhaseImbalance(it->m_phaseImbalance);
}
if (response.getTestMiSettings()->getTitle()) {
*response.getTestMiSettings()->getTitle() = settings.m_title;
} else {
response.getTestMiSettings()->setTitle(new QString(settings.m_title));
}
response.getTestMiSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0);
if (response.getTestMiSettings()->getReverseApiAddress()) {

View File

@ -31,6 +31,7 @@
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "util/db.h"
@ -397,6 +398,8 @@ void TestMIGui::displaySettings()
blockApplySettings(true);
ui->sampleSize->blockSignals(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->streamIndex->setCurrentIndex(m_streamIndex);
ui->centerFrequency->setValue(m_settings.m_streams[m_streamIndex].m_centerFrequency / 1000);
ui->decimation->setCurrentIndex(m_settings.m_streams[m_streamIndex].m_log2Decim);
@ -557,17 +560,25 @@ void TestMIGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -48,6 +48,7 @@ void TestMIStreamSettings::resetToDefaults()
TestMISettings::TestMISettings()
{
m_title = "TestMI";
m_useReverseAPI = false;
m_reverseAPIAddress = "127.0.0.1";
m_reverseAPIPort = 8888;
@ -80,6 +81,7 @@ QByteArray TestMISettings::serialize() const
s.writeString(2, m_reverseAPIAddress);
s.writeU32(3, m_reverseAPIPort);
s.writeU32(4, m_reverseAPIDeviceIndex);
s.writeString(5, m_title);
for (unsigned int i = 0; i < m_streams.size(); i++)
{
@ -173,9 +175,3 @@ bool TestMISettings::deserialize(const QByteArray& data)
return false;
}
}

View File

@ -70,6 +70,7 @@ struct TestMIStreamSettings {
struct TestMISettings
{
QString m_title;
bool m_useReverseAPI;
QString m_reverseAPIAddress;
uint16_t m_reverseAPIPort;

View File

@ -401,6 +401,12 @@ void TestMOSync::webapiFormatDeviceSettings(
SWGSDRangel::SWGDeviceSettings& response,
const TestMOSyncSettings& settings)
{
if (response.getTestMoSyncSettings()->getTitle()) {
*response.getTestMoSyncSettings()->getTitle() = settings.m_title;
} else {
response.getTestMoSyncSettings()->setTitle(new QString(settings.m_title));
}
response.getTestMoSyncSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getTestMoSyncSettings()->setFcPosTx((int) settings.m_fcPosTx);
response.getTestMoSyncSettings()->setLog2Interp(settings.m_log2Interp);
@ -412,6 +418,9 @@ void TestMOSync::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getTestMoSyncSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getTestMoSyncSettings()->getCenterFrequency();
}

View File

@ -27,6 +27,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "dsp/spectrumvis.h"
#include "device/deviceapi.h"
@ -204,6 +205,8 @@ void TestMOSyncGui::updateSampleRateAndFrequency()
void TestMOSyncGui::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->sampleRate->setValue(m_settings.m_sampleRate);
}
@ -314,21 +317,30 @@ void TestMOSyncGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -29,6 +29,7 @@ TestMOSyncSettings::TestMOSyncSettings()
void TestMOSyncSettings::resetToDefaults()
{
m_title = "TestMOSync";
m_centerFrequency = 435000*1000;
m_sampleRate = 48000;
m_log2Interp = 0;
@ -50,6 +51,7 @@ QByteArray TestMOSyncSettings::serialize() const
s.writeString(7, m_reverseAPIAddress);
s.writeU32(8, m_reverseAPIPort);
s.writeU32(9, m_reverseAPIDeviceIndex);
s.writeString(10, m_title);
return s.final();
}
@ -73,9 +75,9 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data)
d.readU32(2, &m_log2Interp, 0);
d.readS32(3, &intval, 2);
m_fcPosTx = (fcPos_t) intval;
d.readBool(1, &m_useReverseAPI, false);
d.readString(2, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(3, &utmp, 0);
d.readBool(6, &m_useReverseAPI, false);
d.readString(7, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(8, &utmp, 0);
if ((utmp > 1023) && (utmp < 65535)) {
m_reverseAPIPort = utmp;
@ -83,9 +85,11 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data)
m_reverseAPIPort = 8888;
}
d.readU32(4, &utmp, 0);
d.readU32(9, &utmp, 0);
m_reverseAPIDeviceIndex = utmp > 99 ? 99 : utmp;
d.readString(10, &m_title, "TestMOSync");
return true;
}
else
@ -97,6 +101,9 @@ bool TestMOSyncSettings::deserialize(const QByteArray& data)
void TestMOSyncSettings::applySettings(const QStringList& settingsKeys, const TestMOSyncSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -127,6 +134,9 @@ QString TestMOSyncSettings::getDebugString(const QStringList& settingsKeys, bool
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -27,6 +27,7 @@ struct TestMOSyncSettings {
FC_POS_CENTER
} fcPos_t;
QString m_title;
quint64 m_centerFrequency;
quint64 m_sampleRate;
quint32 m_log2Interp;

View File

@ -1223,6 +1223,9 @@ void XTRXMIMO::webapiUpdateDeviceSettings(
SWGSDRangel::SWGDeviceSettings& response)
{
// common
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getXtrxMimoSettings()->getTitle();
}
if (deviceSettingsKeys.contains("extClock")) {
settings.m_extClock = response.getXtrxMimoSettings()->getExtClock() != 0;
}
@ -1371,6 +1374,12 @@ void XTRXMIMO::webapiFormatDeviceSettings(
const XTRXMIMOSettings& settings)
{
// common
if (response.getXtrxMimoSettings()->getTitle()) {
*response.getXtrxMimoSettings()->getTitle() = settings.m_title;
} else {
response.getXtrxMimoSettings()->setTitle(new QString(settings.m_title));
}
response.getXtrxMimoSettings()->setExtClock(settings.m_extClock ? 1 : 0);
response.getXtrxMimoSettings()->setExtClockFreq(settings.m_extClockFreq);

View File

@ -30,6 +30,7 @@
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/devicesamplestatic.h"
#include "dsp/dspcommands.h"
#include "xtrx/devicextrxshared.h"
@ -268,6 +269,8 @@ void XTRXMIMOGUI::displaySettings()
ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq);
ui->extClock->setExternalClockActive(m_settings.m_extClock);
displaySampleRate();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
if (m_rxElseTx)
{
@ -1081,21 +1084,30 @@ void XTRXMIMOGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -26,6 +26,7 @@ XTRXMIMOSettings::XTRXMIMOSettings()
void XTRXMIMOSettings::resetToDefaults()
{
// common
m_title = "XTRXMIMO";
m_extClock = false;
m_extClockFreq = 0; // Auto
m_useReverseAPI = false;
@ -88,6 +89,7 @@ QByteArray XTRXMIMOSettings::serialize() const
s.writeString(6, m_reverseAPIAddress);
s.writeU32(7, m_reverseAPIPort);
s.writeU32(8, m_reverseAPIDeviceIndex);
s.writeString(9, m_title);
// Rx
s.writeU32(20, m_log2HardDecim);
s.writeU32(21, m_log2SoftDecim);
@ -161,6 +163,7 @@ bool XTRXMIMOSettings::deserialize(const QByteArray& data)
}
d.readU32(8, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(9, &m_title, "XTRXMIMO");
// Rx
d.readU32(20, &m_log2HardDecim, 1);
d.readU32(21, &m_log2SoftDecim, 0);
@ -219,6 +222,9 @@ bool XTRXMIMOSettings::deserialize(const QByteArray& data)
void XTRXMIMOSettings::applySettings(const QStringList& settingsKeys, const XTRXMIMOSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("extClock")) {
m_extClock = settings.m_extClock;
}
@ -354,6 +360,9 @@ QString XTRXMIMOSettings::getDebugString(const QStringList& settingsKeys, bool f
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("extClock") || force) {
ostr << " m_extClock: " << m_extClock;
}

View File

@ -42,6 +42,7 @@ struct XTRXMIMOSettings
} TxAntenna;
// common
QString m_title;
bool m_extClock; //!< True if external clock source
uint32_t m_extClockFreq; //!< Frequency (Hz) of external clock source
uint8_t m_gpioDir; //!< GPIO pin direction LSB first; 0 input, 1 output

View File

@ -375,6 +375,9 @@ void AaroniaRTSAOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getAaroniaRtsaOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getAaroniaRtsaOutputSettings()->getCenterFrequency();
}
@ -400,6 +403,12 @@ void AaroniaRTSAOutput::webapiUpdateDeviceSettings(
void AaroniaRTSAOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AaroniaRTSAOutputSettings& settings)
{
if (response.getAaroniaRtsaOutputSettings()->getTitle()) {
*response.getAaroniaRtsaOutputSettings()->getTitle() = settings.m_title;
} else {
response.getAaroniaRtsaOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getAaroniaRtsaOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getAaroniaRtsaOutputSettings()->setSampleRate(settings.m_sampleRate);

View File

@ -35,6 +35,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -259,6 +260,8 @@ void AaroniaRTSAOutputGui::displaySettings()
{
blockApplySettings(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->sampleRate->setValue(m_settings.m_sampleRate);
ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0));
@ -369,21 +372,30 @@ void AaroniaRTSAOutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -27,6 +27,7 @@ AaroniaRTSAOutputSettings::AaroniaRTSAOutputSettings()
void AaroniaRTSAOutputSettings::resetToDefaults()
{
m_title = "AaroniaRTSAOutput";
m_centerFrequency = 433200000;
m_sampleRate = 100000;
m_serverAddress = "127.0.0.1:5550";
@ -43,6 +44,7 @@ QByteArray AaroniaRTSAOutputSettings::serialize() const
s.writeU64(1, m_centerFrequency);
s.writeString(2, m_serverAddress);
s.writeS32(3, m_sampleRate);
s.writeString(4, m_title);
s.writeString(20, m_reverseAPIAddress);
s.writeU32(21, m_reverseAPIPort);
s.writeU32(22, m_reverseAPIDeviceIndex);
@ -67,6 +69,7 @@ bool AaroniaRTSAOutputSettings::deserialize(const QByteArray& data)
d.readU64(1, &m_centerFrequency, 433200000);
d.readString(2, &m_serverAddress, "127.0.0.1:5550");
d.readS32(3, &m_sampleRate, 100000);
d.readString(4, &m_title, "AaroniaRTSAOutput");
d.readString(20, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(21, &uintval, 0);
@ -90,6 +93,9 @@ bool AaroniaRTSAOutputSettings::deserialize(const QByteArray& data)
void AaroniaRTSAOutputSettings::applySettings(const QStringList& settingsKeys, const AaroniaRTSAOutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -117,6 +123,9 @@ QString AaroniaRTSAOutputSettings::getDebugString(const QStringList& settingsKey
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -34,6 +34,7 @@ struct AaroniaRTSAOutputSettings
ConnectionDisconnected // 4 - magenta
};
QString m_title;
quint64 m_centerFrequency;
int m_sampleRate;
QString m_serverAddress;

View File

@ -332,6 +332,9 @@ void AudioOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getAudioOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("deviceName")) {
settings.m_deviceName = *response.getAudioOutputSettings()->getDeviceName();
}
@ -357,6 +360,12 @@ void AudioOutput::webapiUpdateDeviceSettings(
void AudioOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AudioOutputSettings& settings)
{
if (response.getAudioOutputSettings()->getTitle()) {
*response.getAudioOutputSettings()->getTitle() = settings.m_title;
} else {
response.getAudioOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getAudioOutputSettings()->setDeviceName(new QString(settings.m_deviceName));
response.getAudioOutputSettings()->setVolume(settings.m_volume);
response.getAudioOutputSettings()->setIqMapping((int) settings.m_iqMapping);
@ -463,4 +472,3 @@ void AudioOutput::networkManagerFinished(QNetworkReply *reply)
reply->deleteLater();
}

View File

@ -25,6 +25,7 @@
#include "gui/audioselectdialog.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "audiooutputgui.h"
@ -175,6 +176,8 @@ void AudioOutputGui::updateSampleRateAndFrequency()
void AudioOutputGui::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->deviceLabel->setText(m_settings.m_deviceName);
ui->volume->setValue((int)(m_settings.m_volume*10.0f));
ui->volumeText->setText(QString("%1").arg(m_settings.m_volume, 3, 'f', 1));
@ -249,21 +252,30 @@ void AudioOutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Rejected)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -30,6 +30,7 @@ AudioOutputSettings::AudioOutputSettings()
void AudioOutputSettings::resetToDefaults()
{
m_title = "AudioOutput";
m_deviceName = "";
m_volume = 1.0f;
m_iqMapping = LR;
@ -45,6 +46,7 @@ QByteArray AudioOutputSettings::serialize() const
s.writeString(1, m_deviceName);
s.writeFloat(3, m_volume);
s.writeString(4, m_title);
s.writeS32(5, (int)m_iqMapping);
s.writeBool(24, m_useReverseAPI);
@ -71,6 +73,7 @@ bool AudioOutputSettings::deserialize(const QByteArray& data)
d.readString(1, &m_deviceName, "");
d.readFloat(3, &m_volume, 1.0f);
d.readString(4, &m_title, "AudioOutput");
d.readS32(5, (int *)&m_iqMapping, IQMapping::LR);
d.readBool(24, &m_useReverseAPI, false);

View File

@ -26,6 +26,7 @@
struct AudioOutputSettings {
QString m_title;
QString m_deviceName; // Including realm, as from getFullDeviceName below
float m_volume;
enum IQMapping {

View File

@ -511,6 +511,12 @@ int Bladerf1Output::webapiSettingsGet(
void Bladerf1Output::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF1OutputSettings& settings)
{
if (response.getBladeRf1OutputSettings()->getTitle()) {
*response.getBladeRf1OutputSettings()->getTitle() = settings.m_title;
} else {
response.getBladeRf1OutputSettings()->setTitle(new QString(settings.m_title));
}
response.getBladeRf1OutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getBladeRf1OutputSettings()->setDevSampleRate(settings.m_devSampleRate);
response.getBladeRf1OutputSettings()->setVga1(settings.m_vga1);
@ -561,6 +567,9 @@ void Bladerf1Output::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getBladeRf1OutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getBladeRf1OutputSettings()->getCenterFrequency();
}
@ -641,6 +650,9 @@ void Bladerf1Output::webapiReverseSendSettings(const QList<QString>& deviceSetti
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgBladeRF1OutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgBladeRF1OutputSettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -26,6 +26,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -217,6 +218,8 @@ void Bladerf1OutputGui::displaySampleRate()
void Bladerf1OutputGui::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
displaySampleRate();
@ -478,21 +481,30 @@ void Bladerf1OutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -28,6 +28,7 @@ BladeRF1OutputSettings::BladeRF1OutputSettings()
void BladeRF1OutputSettings::resetToDefaults()
{
m_title = "BladeRF1";
m_centerFrequency = 435000*1000;
m_devSampleRate = 3072000;
m_vga1 = -20;
@ -59,6 +60,7 @@ QByteArray BladeRF1OutputSettings::serialize() const
s.writeString(10, m_reverseAPIAddress);
s.writeU32(11, m_reverseAPIPort);
s.writeU32(12, m_reverseAPIDeviceIndex);
s.writeString(13, m_title);
return s.final();
}
@ -100,6 +102,7 @@ bool BladeRF1OutputSettings::deserialize(const QByteArray& data)
d.readU32(12, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(13, &m_title, "BladeRF1");
return true;
}

View File

@ -26,7 +26,9 @@
#include <libbladeRF.h>
struct BladeRF1OutputSettings {
struct BladeRF1OutputSettings
{
QString m_title;
quint64 m_centerFrequency;
qint32 m_devSampleRate;
qint32 m_vga1;

View File

@ -969,6 +969,9 @@ void BladeRF2Output::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getBladeRf2OutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getBladeRf2OutputSettings()->getCenterFrequency();
}
@ -1021,6 +1024,12 @@ int BladeRF2Output::webapiReportGet(SWGSDRangel::SWGDeviceReport& response, QStr
void BladeRF2Output::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const BladeRF2OutputSettings& settings)
{
if (response.getBladeRf1OutputSettings()->getTitle()) {
*response.getBladeRf1OutputSettings()->getTitle() = settings.m_title;
} else {
response.getBladeRf1OutputSettings()->setTitle(new QString(settings.m_title));
}
response.getBladeRf2OutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getBladeRf2OutputSettings()->setLOppmTenths(settings.m_LOppmTenths);
response.getBladeRf2OutputSettings()->setDevSampleRate(settings.m_devSampleRate);
@ -1126,6 +1135,9 @@ void BladeRF2Output::webapiReverseSendSettings(const QList<QString>& deviceSetti
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgBladeRF2OutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgBladeRF2OutputSettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -27,6 +27,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -287,6 +288,8 @@ void BladeRF2OutputGui::displaySettings()
{
blockApplySettings(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency);
ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode);
@ -463,21 +466,30 @@ void BladeRF2OutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -30,6 +30,7 @@ BladeRF2OutputSettings::BladeRF2OutputSettings()
void BladeRF2OutputSettings::resetToDefaults()
{
m_title = "BladeRF2";
m_centerFrequency = 435000*1000;
m_LOppmTenths = 0;
m_devSampleRate = 3072000;
@ -61,6 +62,7 @@ QByteArray BladeRF2OutputSettings::serialize() const
s.writeString(10, m_reverseAPIAddress);
s.writeU32(11, m_reverseAPIPort);
s.writeU32(12, m_reverseAPIDeviceIndex);
s.writeString(13, m_title);
return s.final();
}
@ -99,6 +101,7 @@ bool BladeRF2OutputSettings::deserialize(const QByteArray& data)
d.readU32(12, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(13, &m_title, "BladeRF2");
return true;
}
@ -111,6 +114,9 @@ bool BladeRF2OutputSettings::deserialize(const QByteArray& data)
void BladeRF2OutputSettings::applySettings(const QStringList& settingsKeys, const BladeRF2OutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -156,6 +162,9 @@ QString BladeRF2OutputSettings::getDebugString(const QStringList& settingsKeys,
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -23,7 +23,9 @@
#include <QtGlobal>
#include <QString>
struct BladeRF2OutputSettings {
struct BladeRF2OutputSettings
{
QString m_title;
quint64 m_centerFrequency;
int m_LOppmTenths;
qint32 m_devSampleRate;

View File

@ -411,6 +411,12 @@ int FileOutput::webapiRun(
void FileOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const FileOutputSettings& settings)
{
if (response.getFileOutputSettings()->getTitle()) {
*response.getFileOutputSettings()->getTitle() = settings.m_title;
} else {
response.getFileOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getFileOutputSettings()->setFileName(new QString(settings.m_fileName));
response.getFileOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getFileOutputSettings()->setSampleRate(settings.m_sampleRate);
@ -433,6 +439,9 @@ void FileOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getFileOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("fileName")) {
settings.m_fileName = *response.getFileOutputSettings()->getFileName();
}

View File

@ -30,6 +30,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "dsp/spectrumvis.h"
@ -210,6 +211,8 @@ void FileOutputGui::updateSampleRateAndFrequency()
void FileOutputGui::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->sampleRate->setValue(m_settings.m_sampleRate);
ui->fileNameText->setText(m_settings.m_fileName);
@ -362,21 +365,30 @@ void FileOutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -28,6 +28,7 @@ FileOutputSettings::FileOutputSettings()
void FileOutputSettings::resetToDefaults()
{
m_title = "FileOutput";
m_centerFrequency = 435000*1000;
m_sampleRate = 48000;
m_log2Interp = 0;
@ -50,6 +51,7 @@ QByteArray FileOutputSettings::serialize() const
s.writeString(5, m_reverseAPIAddress);
s.writeU32(6, m_reverseAPIPort);
s.writeU32(7, m_reverseAPIDeviceIndex);
s.writeString(9, m_title);
if (m_spectrumGUI) {
s.writeBlob(8, m_spectrumGUI->serialize());
@ -87,6 +89,7 @@ bool FileOutputSettings::deserialize(const QByteArray& data)
d.readU32(7, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(9, &m_title, "FileOutput");
if (m_spectrumGUI)
{
@ -106,6 +109,9 @@ bool FileOutputSettings::deserialize(const QByteArray& data)
void FileOutputSettings::applySettings(const QStringList& settingsKeys, const FileOutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -136,6 +142,9 @@ QString FileOutputSettings::getDebugString(const QStringList& settingsKeys, bool
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -22,7 +22,9 @@
class Serializable;
struct FileOutputSettings {
struct FileOutputSettings
{
QString m_title;
quint64 m_centerFrequency;
quint64 m_sampleRate;
quint32 m_log2Interp;

View File

@ -557,6 +557,9 @@ void HackRFOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getHackRfOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getHackRfOutputSettings()->getCenterFrequency();
}
@ -609,6 +612,12 @@ void HackRFOutput::webapiUpdateDeviceSettings(
void HackRFOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const HackRFOutputSettings& settings)
{
if (response.getHackRfOutputSettings()->getTitle()) {
*response.getHackRfOutputSettings()->getTitle() = settings.m_title;
} else {
response.getHackRfOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getHackRfOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getHackRfOutputSettings()->setLOppmTenths(settings.m_LOppmTenths);
response.getHackRfOutputSettings()->setBandwidth(settings.m_bandwidth);
@ -672,6 +681,9 @@ void HackRFOutput::webapiReverseSendSettings(const QList<QString>& deviceSetting
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgHackRFOutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgHackRFOutputSettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -25,6 +25,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -260,6 +261,8 @@ void HackRFOutputGui::displaySettings()
updateFrequencyLimits();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->LOppm->setValue(m_settings.m_LOppmTenths);
ui->LOppmText->setText(QString("%1").arg(QString::number(m_settings.m_LOppmTenths/10.0, 'f', 1)));
@ -480,21 +483,30 @@ void HackRFOutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
m_settingsKeys.append("title");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -28,6 +28,7 @@ HackRFOutputSettings::HackRFOutputSettings()
void HackRFOutputSettings::resetToDefaults()
{
m_title = "HackRF";
m_centerFrequency = 435000 * 1000;
m_LOppmTenths = 0;
m_biasT = false;
@ -63,6 +64,7 @@ QByteArray HackRFOutputSettings::serialize() const
s.writeU32(12, m_reverseAPIDeviceIndex);
s.writeBool(13, m_transverterMode);
s.writeS64(14, m_transverterDeltaFrequency);
s.writeString(15, m_title);
return s.final();
}
@ -105,6 +107,7 @@ bool HackRFOutputSettings::deserialize(const QByteArray& data)
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readBool(13, &m_transverterMode, false);
d.readS64(14, &m_transverterDeltaFrequency, 0);
d.readString(15, &m_title, "HackRF");
return true;
}
@ -117,6 +120,9 @@ bool HackRFOutputSettings::deserialize(const QByteArray& data)
void HackRFOutputSettings::applySettings(const QStringList& settingsKeys, const HackRFOutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -168,6 +174,9 @@ QString HackRFOutputSettings::getDebugString(const QStringList& settingsKeys, bo
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -31,6 +31,7 @@ struct HackRFOutputSettings {
FC_POS_CENTER
} fcPos_t;
QString m_title;
quint64 m_centerFrequency;
qint32 m_LOppmTenths;
quint32 m_bandwidth;

View File

@ -1253,6 +1253,9 @@ void LimeSDROutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getLimeSdrOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("antennaPath")) {
settings.m_antennaPath = (LimeSDROutputSettings::PathRFE) response.getLimeSdrOutputSettings()->getAntennaPath();
}
@ -1330,6 +1333,12 @@ int LimeSDROutput::webapiReportGet(
}
void LimeSDROutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const LimeSDROutputSettings& settings)
{
if (response.getLimeSdrOutputSettings()->getTitle()) {
*response.getLimeSdrOutputSettings()->getTitle() = settings.m_title;
} else {
response.getLimeSdrOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getLimeSdrOutputSettings()->setAntennaPath((int) settings.m_antennaPath);
response.getLimeSdrOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getLimeSdrOutputSettings()->setDevSampleRate(settings.m_devSampleRate);
@ -1438,6 +1447,9 @@ void LimeSDROutput::webapiReverseSendSettings(const QList<QString>& deviceSettin
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgLimeSdrOutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("antennaPath") || force) {
swgLimeSdrOutputSettings->setAntennaPath((int) settings.m_antennaPath);
}

View File

@ -24,6 +24,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -391,6 +392,8 @@ void LimeSDROutputGUI::displaySampleRate()
void LimeSDROutputGUI::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency);
ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode);
@ -697,21 +700,30 @@ void LimeSDROutputGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -28,6 +28,7 @@ LimeSDROutputSettings::LimeSDROutputSettings()
void LimeSDROutputSettings::resetToDefaults()
{
m_title = "LimeSDR";
m_centerFrequency = 435000*1000;
m_devSampleRate = 5000000;
m_log2HardInterp = 3;
@ -75,6 +76,7 @@ QByteArray LimeSDROutputSettings::serialize() const
s.writeString(21, m_reverseAPIAddress);
s.writeU32(22, m_reverseAPIPort);
s.writeU32(23, m_reverseAPIDeviceIndex);
s.writeString(24, m_title);
return s.final();
}
@ -125,6 +127,7 @@ bool LimeSDROutputSettings::deserialize(const QByteArray& data)
d.readU32(23, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(24, &m_title, "LimeSDR");
return true;
}
@ -137,6 +140,9 @@ bool LimeSDROutputSettings::deserialize(const QByteArray& data)
void LimeSDROutputSettings::applySettings(const QStringList& settingsKeys, const LimeSDROutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -206,6 +212,9 @@ QString LimeSDROutputSettings::getDebugString(const QStringList& settingsKeys, b
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}
@ -272,5 +281,3 @@ QString LimeSDROutputSettings::getDebugString(const QStringList& settingsKeys, b
return QString(ostr.str().c_str());
}

View File

@ -45,6 +45,7 @@ struct LimeSDROutputSettings
};
// global settings to be saved
QString m_title;
uint64_t m_centerFrequency;
int m_devSampleRate;
uint32_t m_log2HardInterp;

View File

@ -299,6 +299,9 @@ void LocalOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getLocalOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("useReverseAPI")) {
settings.m_useReverseAPI = response.getLocalOutputSettings()->getUseReverseApi() != 0;
}
@ -315,6 +318,12 @@ void LocalOutput::webapiUpdateDeviceSettings(
void LocalOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const LocalOutputSettings& settings)
{
if (response.getLocalOutputSettings()->getTitle()) {
*response.getLocalOutputSettings()->getTitle() = settings.m_title;
} else {
response.getLocalOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getLocalOutputSettings()->setUseReverseApi(settings.m_useReverseAPI ? 1 : 0);
if (response.getLocalOutputSettings()->getReverseApiAddress()) {

View File

@ -34,6 +34,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -221,6 +222,8 @@ void LocalOutputGui::displaySettings()
{
blockApplySettings(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->centerFrequency->setText(QString("%L1").arg(m_streamCenterFrequency / 1000));
ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0));
@ -295,21 +298,30 @@ void LocalOutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -27,6 +27,7 @@ LocalOutputSettings::LocalOutputSettings()
void LocalOutputSettings::resetToDefaults()
{
m_title = "LocalOutput";
m_useReverseAPI = false;
m_reverseAPIAddress = "127.0.0.1";
m_reverseAPIPort = 8888;
@ -37,6 +38,7 @@ QByteArray LocalOutputSettings::serialize() const
{
SimpleSerializer s(1);
s.writeString(1, m_title);
s.writeString(4, m_reverseAPIAddress);
s.writeU32(5, m_reverseAPIPort);
s.writeU32(6, m_reverseAPIDeviceIndex);
@ -58,6 +60,7 @@ bool LocalOutputSettings::deserialize(const QByteArray& data)
{
quint32 uintval;
d.readString(1, &m_title, "LocalOutput");
d.readString(4, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(5, &uintval, 0);
@ -81,6 +84,9 @@ bool LocalOutputSettings::deserialize(const QByteArray& data)
void LocalOutputSettings::applySettings(const QStringList& settingsKeys, const LocalOutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("useReverseAPI")) {
m_useReverseAPI = settings.m_useReverseAPI;
}
@ -99,6 +105,9 @@ QString LocalOutputSettings::getDebugString(const QStringList& settingsKeys, boo
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("useReverseAPI") || force) {
ostr << " m_useReverseAPI: " << m_useReverseAPI;
}

View File

@ -23,7 +23,9 @@
#include <QByteArray>
#include <QString>
struct LocalOutputSettings {
struct LocalOutputSettings
{
QString m_title;
bool m_useReverseAPI;
QString m_reverseAPIAddress;
uint16_t m_reverseAPIPort;

View File

@ -758,6 +758,9 @@ void PlutoSDROutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getPlutoSdrOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getPlutoSdrOutputSettings()->getCenterFrequency();
}
@ -826,6 +829,12 @@ int PlutoSDROutput::webapiReportGet(
void PlutoSDROutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const PlutoSDROutputSettings& settings)
{
if (response.getPlutoSdrOutputSettings()->getTitle()) {
*response.getPlutoSdrOutputSettings()->getTitle() = settings.m_title;
} else {
response.getPlutoSdrOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getPlutoSdrOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getPlutoSdrOutputSettings()->setDevSampleRate(settings.m_devSampleRate);
response.getPlutoSdrOutputSettings()->setLOppmTenths(settings.m_LOppmTenths);
@ -872,6 +881,9 @@ void PlutoSDROutput::webapiReverseSendSettings(const QList<QString>& deviceSetti
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgPlutoSdrOutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgPlutoSdrOutputSettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -28,6 +28,7 @@
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
#include "plutosdr/deviceplutosdr.h"
@ -331,6 +332,8 @@ void PlutoSDROutputGUI::displaySampleRate()
void PlutoSDROutputGUI::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency);
ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode);
updateFrequencyLimits();
@ -530,21 +533,30 @@ void PlutoSDROutputGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -27,6 +27,7 @@ PlutoSDROutputSettings::PlutoSDROutputSettings()
void PlutoSDROutputSettings::resetToDefaults()
{
m_title = "PlutoSDROutput";
m_centerFrequency = 435000 * 1000;
m_LOppmTenths = 0;
m_log2Interp = 0;
@ -66,6 +67,7 @@ QByteArray PlutoSDROutputSettings::serialize() const
s.writeString(18, m_reverseAPIAddress);
s.writeU32(19, m_reverseAPIPort);
s.writeU32(20, m_reverseAPIDeviceIndex);
s.writeString(21, m_title);
return s.final();
}
@ -119,6 +121,7 @@ bool PlutoSDROutputSettings::deserialize(const QByteArray& data)
d.readU32(20, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(21, &m_title, "PlutoSDROutput");
return true;
}
@ -131,6 +134,9 @@ bool PlutoSDROutputSettings::deserialize(const QByteArray& data)
void PlutoSDROutputSettings::applySettings(const QStringList& settingsKeys, const PlutoSDROutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -188,6 +194,9 @@ QString PlutoSDROutputSettings::getDebugString(const QStringList& settingsKeys,
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -35,6 +35,7 @@ struct PlutoSDROutputSettings {
};
// global settings to be saved
QString m_title;
quint64 m_centerFrequency;
// common device settings
quint64 m_devSampleRate; //!< Host interface sample rate

View File

@ -399,6 +399,9 @@ void RemoteOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getRemoteOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("nbFECBlocks")) {
settings.m_nbFECBlocks = response.getRemoteOutputSettings()->getNbFecBlocks();
}
@ -450,6 +453,12 @@ int RemoteOutput::webapiReportGet(
void RemoteOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const RemoteOutputSettings& settings)
{
if (response.getRemoteOutputSettings()->getTitle()) {
*response.getRemoteOutputSettings()->getTitle() = settings.m_title;
} else {
response.getRemoteOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getRemoteOutputSettings()->setNbFecBlocks(settings.m_nbFECBlocks);
response.getRemoteOutputSettings()->setNbTxBytes(settings.m_nbTxBytes);
response.getRemoteOutputSettings()->setApiAddress(new QString(settings.m_apiAddress));
@ -656,6 +665,9 @@ void RemoteOutput::webapiReverseSendSettings(const QList<QString>& deviceSetting
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgRemoteOutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("nbFECBlocks") || force) {
swgRemoteOutputSettings->setNbFecBlocks(settings.m_nbFECBlocks);
}

View File

@ -31,6 +31,7 @@
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialpopup.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
@ -219,6 +220,8 @@ void RemoteOutputSinkGui::updateSampleRate()
void RemoteOutputSinkGui::displaySettings()
{
blockApplySettings(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->centerFrequency->setText(QString("%L1").arg(m_deviceCenterFrequency));
ui->nbFECBlocks->setValue(m_settings.m_nbFECBlocks);
ui->nbTxBytes->setCurrentIndex(log2(m_settings.m_nbTxBytes));
@ -556,21 +559,30 @@ void RemoteOutputSinkGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -27,6 +27,7 @@ RemoteOutputSettings::RemoteOutputSettings()
void RemoteOutputSettings::resetToDefaults()
{
m_title = "RemoteOutput";
m_nbFECBlocks = 0;
m_nbTxBytes = 2;
m_apiAddress = "127.0.0.1";
@ -45,6 +46,7 @@ QByteArray RemoteOutputSettings::serialize() const
{
SimpleSerializer s(1);
s.writeString(2, m_title);
s.writeU32(3, m_nbTxBytes);
s.writeU32(4, m_nbFECBlocks);
s.writeString(5, m_apiAddress);
@ -75,7 +77,8 @@ bool RemoteOutputSettings::deserialize(const QByteArray& data)
{
quint32 uintval;
d.readU32(4, &m_nbTxBytes, 2);
d.readString(2, &m_title, "RemoteOutput");
d.readU32(3, &m_nbTxBytes, 2);
d.readU32(4, &m_nbFECBlocks, 0);
d.readString(5, &m_apiAddress, "127.0.0.1");
d.readU32(6, &uintval, 9090);
@ -109,6 +112,9 @@ bool RemoteOutputSettings::deserialize(const QByteArray& data)
void RemoteOutputSettings::applySettings(const QStringList& settingsKeys, const RemoteOutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("nbFECBlocks")) {
m_nbFECBlocks = settings.m_nbFECBlocks;
}
@ -151,6 +157,9 @@ QString RemoteOutputSettings::getDebugString(const QStringList& settingsKeys, bo
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("nbFECBlocks") || force) {
ostr << " m_nbFECBlocks: " << m_nbFECBlocks;
}
@ -190,4 +199,3 @@ QString RemoteOutputSettings::getDebugString(const QStringList& settingsKeys, bo
return QString(ostr.str().c_str());
}

View File

@ -23,7 +23,9 @@
#include <QByteArray>
#include <QString>
struct RemoteOutputSettings {
struct RemoteOutputSettings
{
QString m_title;
quint32 m_nbFECBlocks;
quint32 m_nbTxBytes;
QString m_apiAddress;

View File

@ -1388,6 +1388,9 @@ void SoapySDROutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getSoapySdrOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getSoapySdrOutputSettings()->getCenterFrequency();
}
@ -1550,6 +1553,12 @@ int SoapySDROutput::webapiRun(
void SoapySDROutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const SoapySDROutputSettings& settings)
{
if (response.getSoapySdrOutputSettings()->getTitle()) {
*response.getSoapySdrOutputSettings()->getTitle() = settings.m_title;
} else {
response.getSoapySdrOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getSoapySdrOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getSoapySdrOutputSettings()->setLOppmTenths(settings.m_LOppmTenths);
response.getSoapySdrOutputSettings()->setDevSampleRate(settings.m_devSampleRate);
@ -1851,6 +1860,9 @@ void SoapySDROutput::webapiReverseSendSettings(QList<QString>& deviceSettingsKey
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgSoapySDROutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgSoapySDROutputSettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -27,6 +27,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "soapygui/discreterangegui.h"
#include "soapygui/intervalrangegui.h"
#include "soapygui/stringrangegui.h"
@ -675,6 +676,8 @@ void SoapySDROutputGui::displaySettings()
{
blockApplySettings(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency);
ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode);
@ -893,17 +896,25 @@ void SoapySDROutputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -31,6 +31,7 @@ SoapySDROutputSettings::SoapySDROutputSettings()
void SoapySDROutputSettings::resetToDefaults()
{
m_title = "SoapySDROutput";
m_centerFrequency = 435000*1000;
m_LOppmTenths = 0;
m_devSampleRate = 1024000;
@ -78,6 +79,7 @@ QByteArray SoapySDROutputSettings::serialize() const
s.writeString(24, m_reverseAPIAddress);
s.writeU32(25, m_reverseAPIPort);
s.writeU32(26, m_reverseAPIDeviceIndex);
s.writeString(27, m_title);
return s.final();
}
@ -135,6 +137,7 @@ bool SoapySDROutputSettings::deserialize(const QByteArray& data)
d.readU32(26, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(27, &m_title, "SoapySDROutput");
return true;
}
@ -178,4 +181,3 @@ void SoapySDROutputSettings::deserializeArgumentMap(const QByteArray& data, QMap
(*stream) >> map;
delete stream;
}

View File

@ -24,7 +24,9 @@
#include <QVariant>
#include <QMap>
struct SoapySDROutputSettings {
struct SoapySDROutputSettings
{
QString m_title;
quint64 m_centerFrequency;
int m_LOppmTenths;
qint32 m_devSampleRate;

View File

@ -28,6 +28,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/spectrumvis.h"
#include "dsp/dspcommands.h"
@ -191,6 +192,8 @@ void TestSinkGui::displaySettings()
{
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->sampleRate->setValue(m_settings.m_sampleRate);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
}
void TestSinkGui::sendSettings()
@ -289,21 +292,30 @@ void TestSinkGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -28,6 +28,7 @@ TestSinkSettings::TestSinkSettings()
void TestSinkSettings::resetToDefaults()
{
m_title = "TestSink";
m_centerFrequency = 435000*1000;
m_sampleRate = 48000;
m_log2Interp = 0;
@ -54,6 +55,7 @@ QByteArray TestSinkSettings::serialize() const
s.writeString(8, m_reverseAPIAddress);
s.writeU32(9, m_reverseAPIPort);
s.writeU32(10, m_reverseAPIDeviceIndex);
s.writeString(11, m_title);
return s.final();
}
@ -94,6 +96,7 @@ bool TestSinkSettings::deserialize(const QByteArray& data)
d.readU32(10, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(11, &m_title, "TestSink");
return true;
}

View File

@ -24,7 +24,9 @@
class Serializable;
struct TestSinkSettings {
struct TestSinkSettings
{
QString m_title;
quint64 m_centerFrequency;
quint64 m_sampleRate;
quint32 m_log2Interp;

View File

@ -1028,6 +1028,9 @@ void USRPOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getUsrpOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("antennaPath")) {
settings.m_antennaPath = *response.getUsrpOutputSettings()->getAntennaPath();
}
@ -1090,6 +1093,12 @@ int USRPOutput::webapiReportGet(
}
void USRPOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const USRPOutputSettings& settings)
{
if (response.getUsrpOutputSettings()->getTitle()) {
*response.getUsrpOutputSettings()->getTitle() = settings.m_title;
} else {
response.getUsrpOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getUsrpOutputSettings()->setAntennaPath(new QString(settings.m_antennaPath));
response.getUsrpOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getUsrpOutputSettings()->setDevSampleRate(settings.m_devSampleRate);
@ -1172,6 +1181,9 @@ void USRPOutput::webapiReverseSendSettings(const QList<QString>& deviceSettingsK
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgUsrpOutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("antennaPath") || force) {
swgUsrpOutputSettings->setAntennaPath(new QString(settings.m_antennaPath));
}

View File

@ -24,6 +24,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -354,6 +355,8 @@ void USRPOutputGUI::displaySampleRate()
void USRPOutputGUI::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency);
ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode);
@ -589,21 +592,30 @@ void USRPOutputGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -29,6 +29,7 @@ USRPOutputSettings::USRPOutputSettings()
void USRPOutputSettings::resetToDefaults()
{
m_title = "USRPOutput";
m_masterClockRate = -1; // Calculated by UHD
m_centerFrequency = 435000*1000;
m_devSampleRate = 3000000;
@ -67,6 +68,7 @@ QByteArray USRPOutputSettings::serialize() const
s.writeS32(13, m_loOffset);
s.writeU32(14, m_gpioDir);
s.writeU32(15, m_gpioPins);
s.writeString(16, m_title);
return s.final();
}
@ -110,6 +112,7 @@ bool USRPOutputSettings::deserialize(const QByteArray& data)
m_gpioDir = uintval & 0xFF;
d.readU32(15, &uintval, 0);
m_gpioPins = uintval & 0xFF;
d.readString(16, &m_title, "USRPOutput");
return true;
}
@ -123,6 +126,9 @@ bool USRPOutputSettings::deserialize(const QByteArray& data)
void USRPOutputSettings::applySettings(const QStringList& settingsKeys, const USRPOutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("masterClockRate")) {
m_masterClockRate = settings.m_masterClockRate;
}
@ -180,6 +186,9 @@ QString USRPOutputSettings::getDebugString(const QStringList& settingsKeys, bool
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("masterClockRate") || force) {
ostr << " m_masterClockRate: " << m_masterClockRate;
}

View File

@ -32,6 +32,7 @@
*/
struct USRPOutputSettings
{
QString m_title;
int m_masterClockRate;
// global settings to be saved
uint64_t m_centerFrequency;

View File

@ -1170,6 +1170,9 @@ void XTRXOutput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getXtrxOutputSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getXtrxOutputSettings()->getCenterFrequency();
}
@ -1222,6 +1225,12 @@ void XTRXOutput::webapiUpdateDeviceSettings(
void XTRXOutput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const XTRXOutputSettings& settings)
{
if (response.getXtrxOutputSettings()->getTitle()) {
*response.getXtrxOutputSettings()->getTitle() = settings.m_title;
} else {
response.getXtrxOutputSettings()->setTitle(new QString(settings.m_title));
}
response.getXtrxOutputSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getXtrxOutputSettings()->setDevSampleRate(settings.m_devSampleRate);
response.getXtrxOutputSettings()->setLog2HardInterp(settings.m_log2HardInterp);
@ -1321,6 +1330,9 @@ void XTRXOutput::webapiReverseSendSettings(const QList<QString>& deviceSettingsK
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgXtrxOutputSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgXtrxOutputSettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -26,6 +26,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "device/deviceapi.h"
#include "device/deviceuiset.h"
@ -307,6 +308,8 @@ void XTRXOutputGUI::displaySampleRate()
void XTRXOutputGUI::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq);
ui->extClock->setExternalClockActive(m_settings.m_extClock);
@ -586,21 +589,30 @@ void XTRXOutputGUI::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -28,6 +28,7 @@ XTRXOutputSettings::XTRXOutputSettings()
void XTRXOutputSettings::resetToDefaults()
{
m_title = "XTRXOutput";
m_centerFrequency = 435000*1000;
m_devSampleRate = 5e6;
m_log2HardInterp = 2;
@ -65,6 +66,7 @@ QByteArray XTRXOutputSettings::serialize() const
s.writeString(13, m_reverseAPIAddress);
s.writeU32(14, m_reverseAPIPort);
s.writeU32(15, m_reverseAPIDeviceIndex);
s.writeString(16, m_title);
return s.final();
}
@ -108,6 +110,7 @@ bool XTRXOutputSettings::deserialize(const QByteArray& data)
d.readU32(15, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readString(16, &m_title, "XTRXOutput");
return true;
}
@ -121,6 +124,9 @@ bool XTRXOutputSettings::deserialize(const QByteArray& data)
void XTRXOutputSettings::applySettings(const QStringList& settingsKeys, const XTRXOutputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -175,6 +181,9 @@ QString XTRXOutputSettings::getDebugString(const QStringList& settingsKeys, bool
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -34,6 +34,7 @@
struct XTRXOutputSettings
{
// global settings to be saved
QString m_title;
uint64_t m_centerFrequency;
double m_devSampleRate;
uint32_t m_log2HardInterp;

View File

@ -384,6 +384,9 @@ void AaroniaRTSAInput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getAaroniaRtsaSettings()->getTitle();;
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getAaroniaRtsaSettings()->getCenterFrequency();
}
@ -420,6 +423,12 @@ int AaroniaRTSAInput::webapiReportGet(
void AaroniaRTSAInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AaroniaRTSAInputSettings& settings)
{
if (response.getAaroniaRtsaSettings()->getTitle()) {
*response.getAaroniaRtsaSettings()->getTitle() = settings.m_title;
} else {
response.getAaroniaRtsaSettings()->setTitle(new QString(settings.m_title));
}
response.getAaroniaRtsaSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getAaroniaRtsaSettings()->setSampleRate(settings.m_sampleRate);
@ -457,6 +466,9 @@ void AaroniaRTSAInput::webapiReverseSendSettings(const QList<QString>& deviceSet
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgAaroniaRTSASettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgAaroniaRTSASettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -30,6 +30,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "aaroniartsainputgui.h"
@ -172,6 +173,8 @@ void AaroniaRTSAInputGui::displaySettings()
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->serverAddress->setText(m_settings.m_serverAddress);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title + " Spectrum");
blockApplySettings(false);
}
@ -315,21 +318,30 @@ void AaroniaRTSAInputGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
m_settingsKeys.append("title");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -28,6 +28,7 @@ AaroniaRTSAInputSettings::AaroniaRTSAInputSettings()
void AaroniaRTSAInputSettings::resetToDefaults()
{
m_title = "AaroniaRTSAInput";
m_centerFrequency = 1450000;
m_sampleRate = 200000;
m_serverAddress = "127.0.0.1:8073";
@ -41,6 +42,7 @@ QByteArray AaroniaRTSAInputSettings::serialize() const
{
SimpleSerializer s(2);
s.writeString(1, m_title);
s.writeString(2, m_serverAddress);
s.writeS32(3, m_sampleRate);
s.writeBool(100, m_useReverseAPI);
@ -65,6 +67,7 @@ bool AaroniaRTSAInputSettings::deserialize(const QByteArray& data)
{
uint32_t utmp;
d.readString(1, &m_title, "AaroniaRTSAInput");
d.readString(2, &m_serverAddress, "127.0.0.1:8073");
d.readS32(3, &m_sampleRate, 200000);
d.readBool(100, &m_useReverseAPI, false);
@ -92,6 +95,9 @@ bool AaroniaRTSAInputSettings::deserialize(const QByteArray& data)
void AaroniaRTSAInputSettings::applySettings(const QStringList& settingsKeys, const AaroniaRTSAInputSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -119,6 +125,9 @@ QString AaroniaRTSAInputSettings::getDebugString(const QStringList& settingsKeys
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -36,6 +36,7 @@ struct AaroniaRTSAInputSettings {
ConnectionDisconnected // 4 - magenta
};
QString m_title;
quint64 m_centerFrequency;
int m_sampleRate;
QString m_serverAddress;

View File

@ -32,6 +32,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
AirspyGui::AirspyGui(DeviceUISet *deviceUISet, QWidget* parent) :
@ -201,6 +202,8 @@ void AirspyGui::updateFrequencyLimits()
void AirspyGui::displaySettings()
{
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
ui->transverter->setDeltaFrequency(m_settings.m_transverterDeltaFrequency);
ui->transverter->setDeltaFrequencyActive(m_settings.m_transverterMode);
ui->transverter->setIQOrder(m_settings.m_iqOrder);
@ -479,21 +482,29 @@ void AirspyGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
sendSettings();
}
}
resetContextMenuType();

View File

@ -664,6 +664,9 @@ void AirspyInput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getAirspySettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getAirspySettings()->getCenterFrequency();
}
@ -741,6 +744,12 @@ int AirspyInput::webapiReportGet(
void AirspyInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AirspySettings& settings)
{
if (response.getAirspySettings()->getTitle()) {
*response.getAirspySettings()->getTitle() = settings.m_title;
} else {
response.getAirspySettings()->setTitle(new QString(settings.m_title));
}
response.getAirspySettings()->setCenterFrequency(settings.m_centerFrequency);
response.getAirspySettings()->setLOppmTenths(settings.m_LOppmTenths);
response.getAirspySettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex);
@ -792,6 +801,9 @@ void AirspyInput::webapiReverseSendSettings(const QList<QString>& deviceSettings
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgAirspySettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgAirspySettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -26,6 +26,7 @@ AirspySettings::AirspySettings()
void AirspySettings::resetToDefaults()
{
m_title = "Airspy";
m_centerFrequency = 435000*1000;
m_devSampleRateIndex = 0;
m_LOppmTenths = 0;
@ -71,6 +72,7 @@ QByteArray AirspySettings::serialize() const
s.writeU32(17, m_reverseAPIPort);
s.writeU32(18, m_reverseAPIDeviceIndex);
s.writeBool(19, m_iqOrder);
s.writeString(20, m_title);
return s.final();
}
@ -118,6 +120,7 @@ bool AirspySettings::deserialize(const QByteArray& data)
d.readU32(18, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
d.readBool(19, &m_iqOrder, true);
d.readString(20, &m_title, "Airspy");
return true;
}
@ -130,6 +133,9 @@ bool AirspySettings::deserialize(const QByteArray& data)
void AirspySettings::applySettings(const QStringList& settingsKeys, const AirspySettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -196,6 +202,9 @@ QString AirspySettings::getDebugString(const QStringList& settingsKeys, bool for
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

View File

@ -30,6 +30,7 @@ struct AirspySettings {
FC_POS_CENTER
} fcPos_t;
QString m_title;
quint64 m_centerFrequency;
qint32 m_LOppmTenths;
quint32 m_devSampleRateIndex;

View File

@ -30,6 +30,7 @@
#include "gui/glspectrum.h"
#include "gui/basicdevicesettingsdialog.h"
#include "gui/dialogpositioner.h"
#include "mainspectrum/mainspectrumgui.h"
#include "dsp/dspcommands.h"
#include "airspyhfgui.h"
@ -216,6 +217,8 @@ void AirspyHFGui::displaySettings()
{
blockApplySettings(true);
ui->band->blockSignals(true);
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_bandIndex = m_settings.m_centerFrequency <= 31000000UL ? 0 : 1; // override
ui->band->setCurrentIndex(m_settings.m_bandIndex);
updateFrequencyLimits();
@ -510,28 +513,37 @@ void AirspyHFGui::openDeviceSettingsDialog(const QPoint& p)
dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
dialog.setTitle(m_settings.m_title);
dialog.setDefaultTitle(getDefaultTitle());
dialog.move(p);
new DialogPositioner(&dialog, false);
dialog.exec();
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settings.m_replayLength = dialog.getReplayLength();
m_settings.m_replayStep = dialog.getReplayStep();
displayReplayLength();
displayReplayOffset();
displayReplayStep();
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
m_settingsKeys.append("replayLength");
m_settingsKeys.append("replayStep");
if (dialog.result() == QDialog::Accepted)
{
m_settings.m_title = dialog.getTitle();
setTitle(m_settings.m_title);
getDeviceUISet()->m_mainSpectrumGUI->setTitle(m_settings.m_title);
m_settings.m_useReverseAPI = dialog.useReverseAPI();
m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
m_settings.m_replayLength = dialog.getReplayLength();
m_settings.m_replayStep = dialog.getReplayStep();
displayReplayLength();
displayReplayOffset();
displayReplayStep();
m_settingsKeys.append("title");
m_settingsKeys.append("useReverseAPI");
m_settingsKeys.append("reverseAPIAddress");
m_settingsKeys.append("reverseAPIPort");
m_settingsKeys.append("reverseAPIDeviceIndex");
m_settingsKeys.append("replayLength");
m_settingsKeys.append("replayStep");
sendSettings();
sendSettings();
}
}
resetContextMenuType();

View File

@ -681,6 +681,9 @@ void AirspyHFInput::webapiUpdateDeviceSettings(
const QStringList& deviceSettingsKeys,
SWGSDRangel::SWGDeviceSettings& response)
{
if (deviceSettingsKeys.contains("title")) {
settings.m_title = *response.getAirspyHfSettings()->getTitle();
}
if (deviceSettingsKeys.contains("centerFrequency")) {
settings.m_centerFrequency = response.getAirspyHfSettings()->getCenterFrequency();
}
@ -742,6 +745,12 @@ void AirspyHFInput::webapiUpdateDeviceSettings(
void AirspyHFInput::webapiFormatDeviceSettings(SWGSDRangel::SWGDeviceSettings& response, const AirspyHFSettings& settings)
{
if (response.getAirspyHfSettings()->getTitle()) {
*response.getAirspyHfSettings()->getTitle() = settings.m_title;
} else {
response.getAirspyHfSettings()->setTitle(new QString(settings.m_title));
}
response.getAirspyHfSettings()->setCenterFrequency(settings.m_centerFrequency);
response.getAirspyHfSettings()->setDevSampleRateIndex(settings.m_devSampleRateIndex);
response.getAirspyHfSettings()->setLOppmTenths(settings.m_LOppmTenths);
@ -831,6 +840,9 @@ void AirspyHFInput::webapiReverseSendSettings(const QList<QString>& deviceSettin
// transfer data that has been modified. When force is on transfer all data except reverse API data
if (deviceSettingsKeys.contains("title") || force) {
swgAirspyHFSettings->setTitle(new QString(settings.m_title));
}
if (deviceSettingsKeys.contains("centerFrequency") || force) {
swgAirspyHFSettings->setCenterFrequency(settings.m_centerFrequency);
}

View File

@ -27,6 +27,7 @@ AirspyHFSettings::AirspyHFSettings()
void AirspyHFSettings::resetToDefaults()
{
m_title = "AirspyHF";
m_centerFrequency = 7150*1000;
m_LOppmTenths = 0;
m_devSampleRateIndex = 0;
@ -78,6 +79,7 @@ QByteArray AirspyHFSettings::serialize() const
s.writeFloat(23, m_replayLength);
s.writeFloat(24, m_replayStep);
s.writeBool(25, m_replayLoop);
s.writeString(26, m_title);
return s.final();
}
@ -129,6 +131,7 @@ bool AirspyHFSettings::deserialize(const QByteArray& data)
d.readFloat(23, &m_replayLength, 20.0f);
d.readFloat(24, &m_replayStep, 5.0f);
d.readBool(25, &m_replayLoop, false);
d.readString(26, &m_title, "AirspyHF");
return true;
}
@ -141,6 +144,9 @@ bool AirspyHFSettings::deserialize(const QByteArray& data)
void AirspyHFSettings::applySettings(const QStringList& settingsKeys, const AirspyHFSettings& settings)
{
if (settingsKeys.contains("title")) {
m_title = settings.m_title;
}
if (settingsKeys.contains("centerFrequency")) {
m_centerFrequency = settings.m_centerFrequency;
}
@ -216,6 +222,9 @@ QString AirspyHFSettings::getDebugString(const QStringList& settingsKeys, bool f
{
std::ostringstream ostr;
if (settingsKeys.contains("title") || force) {
ostr << " m_title: " << m_title.toStdString();
}
if (settingsKeys.contains("centerFrequency") || force) {
ostr << " m_centerFrequency: " << m_centerFrequency;
}

Some files were not shown because too many files have changed in this diff Show More