diff --git a/include/plugin/plugingui.h b/include/plugin/plugingui.h index 75509faa4..42c83b057 100644 --- a/include/plugin/plugingui.h +++ b/include/plugin/plugingui.h @@ -20,7 +20,8 @@ public: virtual QByteArray serializeGeneral() const; virtual bool deserializeGeneral(const QByteArray& data); - virtual qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const = 0; + virtual void setCenterFrequency(qint64 centerFrequency) = 0; virtual QByteArray serialize() const = 0; virtual bool deserialize(const QByteArray& data) = 0; diff --git a/plugins/channel/am/amdemodgui.cpp b/plugins/channel/am/amdemodgui.cpp index 969268aca..0fa46f754 100644 --- a/plugins/channel/am/amdemodgui.cpp +++ b/plugins/channel/am/amdemodgui.cpp @@ -42,6 +42,12 @@ qint64 AMDemodGUI::getCenterFrequency() const { return m_channelMarker.getCenterFrequency(); } +void AMDemodGUI::setCenterFrequency(qint64 centerFrequency) +{ + m_channelMarker.setCenterFrequency(centerFrequency); + applySettings(); +} + void AMDemodGUI::resetToDefaults() { blockApplySettings(true); diff --git a/plugins/channel/am/amdemodgui.h b/plugins/channel/am/amdemodgui.h index e18034802..34565247a 100644 --- a/plugins/channel/am/amdemodgui.h +++ b/plugins/channel/am/amdemodgui.h @@ -24,7 +24,8 @@ public: void setName(const QString& name); QString getName() const; - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); void resetToDefaults(); QByteArray serialize() const; diff --git a/plugins/channel/chanalyzer/chanalyzergui.cpp b/plugins/channel/chanalyzer/chanalyzergui.cpp index dc67550bd..2bd4e6b02 100644 --- a/plugins/channel/chanalyzer/chanalyzergui.cpp +++ b/plugins/channel/chanalyzer/chanalyzergui.cpp @@ -43,6 +43,12 @@ qint64 ChannelAnalyzerGUI::getCenterFrequency() const return m_channelMarker.getCenterFrequency(); } +void ChannelAnalyzerGUI::setCenterFrequency(qint64 centerFrequency) +{ + m_channelMarker.setCenterFrequency(centerFrequency); + applySettings(); +} + void ChannelAnalyzerGUI::resetToDefaults() { blockApplySettings(true); diff --git a/plugins/channel/chanalyzer/chanalyzergui.h b/plugins/channel/chanalyzer/chanalyzergui.h index b2ebd5f73..321ffab5d 100644 --- a/plugins/channel/chanalyzer/chanalyzergui.h +++ b/plugins/channel/chanalyzer/chanalyzergui.h @@ -27,7 +27,8 @@ public: void setName(const QString& name); QString getName() const; - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); void resetToDefaults(); QByteArray serialize() const; diff --git a/plugins/channel/lora/lorademodgui.cpp b/plugins/channel/lora/lorademodgui.cpp index 6ab4b8adf..8b5cfb4a6 100644 --- a/plugins/channel/lora/lorademodgui.cpp +++ b/plugins/channel/lora/lorademodgui.cpp @@ -39,6 +39,12 @@ qint64 LoRaDemodGUI::getCenterFrequency() const { return m_channelMarker.getCenterFrequency(); } +void LoRaDemodGUI::setCenterFrequency(qint64 centerFrequency) +{ + m_channelMarker.setCenterFrequency(centerFrequency); + applySettings(); +} + void LoRaDemodGUI::resetToDefaults() { blockApplySettings(true); diff --git a/plugins/channel/lora/lorademodgui.h b/plugins/channel/lora/lorademodgui.h index f5c1ff8a2..c3b1baf3d 100644 --- a/plugins/channel/lora/lorademodgui.h +++ b/plugins/channel/lora/lorademodgui.h @@ -26,7 +26,8 @@ public: void setName(const QString& name); QString getName() const; - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); void resetToDefaults(); QByteArray serialize() const; diff --git a/plugins/channel/nfm/nfmdemodgui.cpp b/plugins/channel/nfm/nfmdemodgui.cpp index ed270d936..5ec0c1c2b 100644 --- a/plugins/channel/nfm/nfmdemodgui.cpp +++ b/plugins/channel/nfm/nfmdemodgui.cpp @@ -43,6 +43,12 @@ qint64 NFMDemodGUI::getCenterFrequency() const return m_channelMarker.getCenterFrequency(); } +void NFMDemodGUI::setCenterFrequency(qint64 centerFrequency) +{ + m_channelMarker.setCenterFrequency(centerFrequency); + applySettings(); +} + void NFMDemodGUI::resetToDefaults() { blockApplySettings(true); diff --git a/plugins/channel/nfm/nfmdemodgui.h b/plugins/channel/nfm/nfmdemodgui.h index 9686e7d3f..0cc582926 100644 --- a/plugins/channel/nfm/nfmdemodgui.h +++ b/plugins/channel/nfm/nfmdemodgui.h @@ -25,7 +25,8 @@ public: void setName(const QString& name); QString getName() const; - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); void resetToDefaults(); QByteArray serialize() const; diff --git a/plugins/channel/ssb/ssbdemodgui.cpp b/plugins/channel/ssb/ssbdemodgui.cpp index 26dd20560..8c7127fc3 100644 --- a/plugins/channel/ssb/ssbdemodgui.cpp +++ b/plugins/channel/ssb/ssbdemodgui.cpp @@ -41,6 +41,12 @@ qint64 SSBDemodGUI::getCenterFrequency() const return m_channelMarker.getCenterFrequency(); } +void SSBDemodGUI::setCenterFrequency(qint64 centerFrequency) +{ + m_channelMarker.setCenterFrequency(centerFrequency); + applySettings(); +} + void SSBDemodGUI::resetToDefaults() { blockApplySettings(true); diff --git a/plugins/channel/ssb/ssbdemodgui.h b/plugins/channel/ssb/ssbdemodgui.h index 403412537..03373a6ae 100644 --- a/plugins/channel/ssb/ssbdemodgui.h +++ b/plugins/channel/ssb/ssbdemodgui.h @@ -26,7 +26,8 @@ public: void setName(const QString& name); QString getName() const; - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); void resetToDefaults(); QByteArray serialize() const; diff --git a/plugins/channel/tcpsrc/tcpsrcgui.cpp b/plugins/channel/tcpsrc/tcpsrcgui.cpp index 7be27b035..382d8bc22 100644 --- a/plugins/channel/tcpsrc/tcpsrcgui.cpp +++ b/plugins/channel/tcpsrc/tcpsrcgui.cpp @@ -30,6 +30,12 @@ qint64 TCPSrcGUI::getCenterFrequency() const return m_channelMarker.getCenterFrequency(); } +void TCPSrcGUI::setCenterFrequency(qint64 centerFrequency) +{ + m_channelMarker.setCenterFrequency(centerFrequency); + applySettings(); +} + QString TCPSrcGUI::getName() const { return objectName(); diff --git a/plugins/channel/tcpsrc/tcpsrcgui.h b/plugins/channel/tcpsrc/tcpsrcgui.h index 15a2b2216..9d8f84db1 100644 --- a/plugins/channel/tcpsrc/tcpsrcgui.h +++ b/plugins/channel/tcpsrc/tcpsrcgui.h @@ -26,7 +26,8 @@ public: void setName(const QString& name); QString getName() const; - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); void resetToDefaults(); QByteArray serialize() const; diff --git a/plugins/channel/wfm/wfmdemodgui.cpp b/plugins/channel/wfm/wfmdemodgui.cpp index 571469c67..4c9d8247c 100644 --- a/plugins/channel/wfm/wfmdemodgui.cpp +++ b/plugins/channel/wfm/wfmdemodgui.cpp @@ -53,6 +53,12 @@ qint64 WFMDemodGUI::getCenterFrequency() const return m_channelMarker.getCenterFrequency(); } +void WFMDemodGUI::setCenterFrequency(qint64 centerFrequency) +{ + m_channelMarker.setCenterFrequency(centerFrequency); + applySettings(); +} + void WFMDemodGUI::resetToDefaults() { blockApplySettings(true); diff --git a/plugins/channel/wfm/wfmdemodgui.h b/plugins/channel/wfm/wfmdemodgui.h index a6680461a..dba14f61e 100644 --- a/plugins/channel/wfm/wfmdemodgui.h +++ b/plugins/channel/wfm/wfmdemodgui.h @@ -24,7 +24,8 @@ public: void setName(const QString& name); QString getName() const; - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); void resetToDefaults(); QByteArray serialize() const; diff --git a/plugins/samplesource/airspy/airspygui.cpp b/plugins/samplesource/airspy/airspygui.cpp index cd229e419..877913fc4 100644 --- a/plugins/samplesource/airspy/airspygui.cpp +++ b/plugins/samplesource/airspy/airspygui.cpp @@ -76,6 +76,13 @@ qint64 AirspyGui::getCenterFrequency() const return m_settings.m_centerFrequency; } +void AirspyGui::setCenterFrequency(qint64 centerFrequency) +{ + m_settings.m_centerFrequency = centerFrequency; + displaySettings(); + sendSettings(); +} + QByteArray AirspyGui::serialize() const { return m_settings.serialize(); diff --git a/plugins/samplesource/airspy/airspygui.h b/plugins/samplesource/airspy/airspygui.h index a65f3c9a9..50c478c49 100644 --- a/plugins/samplesource/airspy/airspygui.h +++ b/plugins/samplesource/airspy/airspygui.h @@ -43,7 +43,8 @@ public: QString getName() const; void resetToDefaults(); - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); QByteArray serialize() const; bool deserialize(const QByteArray& data); virtual bool handleMessage(const Message& message); diff --git a/plugins/samplesource/bladerf/bladerfgui.cpp b/plugins/samplesource/bladerf/bladerfgui.cpp index 095890223..a52233a71 100644 --- a/plugins/samplesource/bladerf/bladerfgui.cpp +++ b/plugins/samplesource/bladerf/bladerfgui.cpp @@ -73,6 +73,13 @@ qint64 BladerfGui::getCenterFrequency() const return m_settings.m_centerFrequency; } +void BladerfGui::setCenterFrequency(qint64 centerFrequency) +{ + m_settings.m_centerFrequency = centerFrequency; + displaySettings(); + sendSettings(); +} + QByteArray BladerfGui::serialize() const { return m_settings.serialize(); diff --git a/plugins/samplesource/bladerf/bladerfgui.h b/plugins/samplesource/bladerf/bladerfgui.h index fc349b073..968f2680a 100644 --- a/plugins/samplesource/bladerf/bladerfgui.h +++ b/plugins/samplesource/bladerf/bladerfgui.h @@ -41,7 +41,8 @@ public: QString getName() const; void resetToDefaults(); - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); QByteArray serialize() const; bool deserialize(const QByteArray& data); virtual bool handleMessage(const Message& message); diff --git a/plugins/samplesource/fcdpro/fcdprogui.cpp b/plugins/samplesource/fcdpro/fcdprogui.cpp index 080c14bac..5b681cb0b 100644 --- a/plugins/samplesource/fcdpro/fcdprogui.cpp +++ b/plugins/samplesource/fcdpro/fcdprogui.cpp @@ -151,6 +151,13 @@ qint64 FCDProGui::getCenterFrequency() const return m_settings.centerFrequency; } +void FCDProGui::setCenterFrequency(qint64 centerFrequency) +{ + m_settings.centerFrequency = centerFrequency; + displaySettings(); + sendSettings(); +} + QByteArray FCDProGui::serialize() const { return m_settings.serialize(); diff --git a/plugins/samplesource/fcdpro/fcdprogui.h b/plugins/samplesource/fcdpro/fcdprogui.h index 44daf12a3..4a9600f42 100644 --- a/plugins/samplesource/fcdpro/fcdprogui.h +++ b/plugins/samplesource/fcdpro/fcdprogui.h @@ -24,7 +24,8 @@ public: QString getName() const; void resetToDefaults(); - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); QByteArray serialize() const; bool deserialize(const QByteArray& data); diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp index 397eb6836..1372cfa65 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusgui.cpp +++ b/plugins/samplesource/fcdproplus/fcdproplusgui.cpp @@ -69,6 +69,13 @@ qint64 FCDProPlusGui::getCenterFrequency() const return m_settings.centerFrequency; } +void FCDProPlusGui::setCenterFrequency(qint64 centerFrequency) +{ + m_settings.centerFrequency = centerFrequency; + displaySettings(); + sendSettings(); +} + QByteArray FCDProPlusGui::serialize() const { return m_settings.serialize(); diff --git a/plugins/samplesource/fcdproplus/fcdproplusgui.h b/plugins/samplesource/fcdproplus/fcdproplusgui.h index ebd3e9f88..d4460ce60 100644 --- a/plugins/samplesource/fcdproplus/fcdproplusgui.h +++ b/plugins/samplesource/fcdproplus/fcdproplusgui.h @@ -24,7 +24,8 @@ public: QString getName() const; void resetToDefaults(); - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); QByteArray serialize() const; bool deserialize(const QByteArray& data); diff --git a/plugins/samplesource/filesource/filesourcegui.cpp b/plugins/samplesource/filesource/filesourcegui.cpp index f7e96716b..e1ddf36d3 100644 --- a/plugins/samplesource/filesource/filesourcegui.cpp +++ b/plugins/samplesource/filesource/filesourcegui.cpp @@ -87,6 +87,13 @@ qint64 FileSourceGui::getCenterFrequency() const return m_centerFrequency; } +void FileSourceGui::setCenterFrequency(qint64 centerFrequency) +{ + m_centerFrequency = centerFrequency; + displaySettings(); + sendSettings(); +} + QByteArray FileSourceGui::serialize() const { return m_settings.serialize(); diff --git a/plugins/samplesource/filesource/filesourcegui.h b/plugins/samplesource/filesource/filesourcegui.h index 1f4503609..d77ebdd75 100644 --- a/plugins/samplesource/filesource/filesourcegui.h +++ b/plugins/samplesource/filesource/filesourcegui.h @@ -40,7 +40,8 @@ public: QString getName() const; void resetToDefaults(); - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); QByteArray serialize() const; bool deserialize(const QByteArray& data); virtual bool handleMessage(const Message& message); diff --git a/plugins/samplesource/hackrf/hackrfgui.cpp b/plugins/samplesource/hackrf/hackrfgui.cpp index 90d179c1e..9fbb748b9 100644 --- a/plugins/samplesource/hackrf/hackrfgui.cpp +++ b/plugins/samplesource/hackrf/hackrfgui.cpp @@ -77,6 +77,13 @@ qint64 HackRFGui::getCenterFrequency() const return m_settings.m_centerFrequency; } +void HackRFGui::setCenterFrequency(qint64 centerFrequency) +{ + m_settings.m_centerFrequency = centerFrequency; + displaySettings(); + sendSettings(); +} + QByteArray HackRFGui::serialize() const { return m_settings.serialize(); diff --git a/plugins/samplesource/hackrf/hackrfgui.h b/plugins/samplesource/hackrf/hackrfgui.h index c1a7e330b..5706f9fdd 100644 --- a/plugins/samplesource/hackrf/hackrfgui.h +++ b/plugins/samplesource/hackrf/hackrfgui.h @@ -50,7 +50,8 @@ public: QString getName() const; void resetToDefaults(); - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); QByteArray serialize() const; bool deserialize(const QByteArray& data); virtual bool handleMessage(const Message& message); diff --git a/plugins/samplesource/hackrf/hackrfinput.cpp b/plugins/samplesource/hackrf/hackrfinput.cpp index 84c47c096..7e0692ea4 100644 --- a/plugins/samplesource/hackrf/hackrfinput.cpp +++ b/plugins/samplesource/hackrf/hackrfinput.cpp @@ -60,7 +60,7 @@ void HackRFInput::Settings::resetToDefaults() QByteArray HackRFInput::Settings::serialize() const { - HackRFSerializer::AirspyData data; + HackRFSerializer::HackRFData data; data.m_data.m_frequency = m_centerFrequency; data.m_LOppmTenths = m_LOppmTenths; @@ -82,7 +82,7 @@ QByteArray HackRFInput::Settings::serialize() const bool HackRFInput::Settings::deserialize(const QByteArray& serializedData) { - HackRFSerializer::AirspyData data; + HackRFSerializer::HackRFData data; bool valid = HackRFSerializer::readSerializedData(serializedData, data); diff --git a/plugins/samplesource/hackrf/hackrfserializer.cpp b/plugins/samplesource/hackrf/hackrfserializer.cpp index 472e09b33..9a9e2d5af 100644 --- a/plugins/samplesource/hackrf/hackrfserializer.cpp +++ b/plugins/samplesource/hackrf/hackrfserializer.cpp @@ -16,7 +16,7 @@ #include "hackrfserializer.h" -void HackRFSerializer::writeSerializedData(const AirspyData& data, QByteArray& serializedData) +void HackRFSerializer::writeSerializedData(const HackRFData& data, QByteArray& serializedData) { QByteArray sampleSourceSerialized; SampleSourceSerializer::writeSerializedData(data.m_data, sampleSourceSerialized); @@ -37,7 +37,7 @@ void HackRFSerializer::writeSerializedData(const AirspyData& data, QByteArray& s serializedData = s.final(); } -bool HackRFSerializer::readSerializedData(const QByteArray& serializedData, AirspyData& data) +bool HackRFSerializer::readSerializedData(const QByteArray& serializedData, HackRFData& data) { bool valid = SampleSourceSerializer::readSerializedData(serializedData, data.m_data); @@ -75,7 +75,7 @@ bool HackRFSerializer::readSerializedData(const QByteArray& serializedData, Airs } } -void HackRFSerializer::setDefaults(AirspyData& data) +void HackRFSerializer::setDefaults(HackRFData& data) { data.m_LOppmTenths = 0; data.m_sampleRateIndex = 0; diff --git a/plugins/samplesource/hackrf/hackrfserializer.h b/plugins/samplesource/hackrf/hackrfserializer.h index b97ce0925..17789eb6c 100644 --- a/plugins/samplesource/hackrf/hackrfserializer.h +++ b/plugins/samplesource/hackrf/hackrfserializer.h @@ -22,7 +22,7 @@ class HackRFSerializer { public: - struct AirspyData + struct HackRFData { SampleSourceSerializer::Data m_data; qint32 m_LOppmTenths; @@ -36,9 +36,9 @@ public: bool m_lnaExt; }; - static void writeSerializedData(const AirspyData& data, QByteArray& serializedData); - static bool readSerializedData(const QByteArray& serializedData, AirspyData& data); - static void setDefaults(AirspyData& data); + static void writeSerializedData(const HackRFData& data, QByteArray& serializedData); + static bool readSerializedData(const QByteArray& serializedData, HackRFData& data); + static void setDefaults(HackRFData& data); }; diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp index 93a78c16f..70d2d2b9e 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.cpp @@ -55,6 +55,13 @@ qint64 RTLSDRGui::getCenterFrequency() const return m_settings.m_centerFrequency; } +void RTLSDRGui::setCenterFrequency(qint64 centerFrequency) +{ + m_settings.m_centerFrequency = centerFrequency; + displaySettings(); + sendSettings(); +} + QByteArray RTLSDRGui::serialize() const { return m_settings.serialize(); diff --git a/plugins/samplesource/rtlsdr/rtlsdrgui.h b/plugins/samplesource/rtlsdr/rtlsdrgui.h index bd4004233..ef9fbeaf8 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrgui.h +++ b/plugins/samplesource/rtlsdr/rtlsdrgui.h @@ -24,7 +24,8 @@ public: QString getName() const; void resetToDefaults(); - qint64 getCenterFrequency() const; + virtual qint64 getCenterFrequency() const; + virtual void setCenterFrequency(qint64 centerFrequency); QByteArray serialize() const; bool deserialize(const QByteArray& data); virtual bool handleMessage(const Message& message); diff --git a/sdrbase/plugin/plugingui.cpp b/sdrbase/plugin/plugingui.cpp index 6b4e5e8c8..f8bf791c8 100644 --- a/sdrbase/plugin/plugingui.cpp +++ b/sdrbase/plugin/plugingui.cpp @@ -9,8 +9,3 @@ bool PluginGUI::deserializeGeneral(const QByteArray& data) { return false; } - -qint64 PluginGUI::getCenterFrequency() const -{ - return 0; -} diff --git a/sdrbase/plugin/pluginmanager.cpp b/sdrbase/plugin/pluginmanager.cpp index 08caf8bb1..9336320c0 100644 --- a/sdrbase/plugin/pluginmanager.cpp +++ b/sdrbase/plugin/pluginmanager.cpp @@ -144,15 +144,16 @@ void PluginManager::loadSettings(const Preset* preset) if(m_sampleSourcePluginGUI != 0) { - /* FIXME: remove in pluginGUI and preset - qDebug() << "m_sampleSourcePluginGUI->deserializeGeneral (" << m_sampleSourcePluginGUI->getName().toStdString().c_str() << ")"; - m_sampleSourcePluginGUI->deserializeGeneral(preset->getSourceGeneralConfig()); - */ + // TODO: have one set of source presets per identified source (preset -> find source with name) if(m_sampleSourceName == preset->getSource()) { qDebug() << " - deserializing source " << qPrintable(m_sampleSourceName); m_sampleSourcePluginGUI->deserialize(preset->getSourceConfig()); } + + // FIXME: get center frequency from preset center frequency + qint64 centerFrequency = preset->getCenterFrequency(); + m_sampleSourcePluginGUI->setCenterFrequency(centerFrequency); } }