1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 13:47:01 -04:00

Source plugins: put a serializer and deserializer in the core plugin for server. NFM demod: fixed deserializer

This commit is contained in:
f4exb
2017-12-28 03:21:48 +01:00
parent 1ee6abc3d3
commit 8399baeb4e
36 changed files with 682 additions and 69 deletions
@@ -425,6 +425,33 @@ void LimeSDRInput::stop()
releaseChannel();
}
QByteArray LimeSDRInput::serialize() const
{
return m_settings.serialize();
}
bool LimeSDRInput::deserialize(const QByteArray& data)
{
bool success = true;
if (!m_settings.deserialize(data))
{
m_settings.resetToDefaults();
success = false;
}
MsgConfigureLimeSDR* message = MsgConfigureLimeSDR::create(m_settings, true);
m_inputMessageQueue.push(message);
if (m_guiMessageQueue)
{
MsgConfigureLimeSDR* messageToGUI = MsgConfigureLimeSDR::create(m_settings, true);
m_guiMessageQueue->push(messageToGUI);
}
return success;
}
const QString& LimeSDRInput::getDeviceDescription() const
{
return m_deviceDescription;
@@ -441,6 +468,21 @@ quint64 LimeSDRInput::getCenterFrequency() const
return m_settings.m_centerFrequency;
}
void LimeSDRInput::setCenterFrequency(qint64 centerFrequency)
{
LimeSDRInputSettings settings = m_settings;
settings.m_centerFrequency = centerFrequency;
MsgConfigureLimeSDR* message = MsgConfigureLimeSDR::create(settings, false);
m_inputMessageQueue.push(message);
if (m_guiMessageQueue)
{
MsgConfigureLimeSDR* messageToGUI = MsgConfigureLimeSDR::create(settings, false);
m_guiMessageQueue->push(messageToGUI);
}
}
std::size_t LimeSDRInput::getChannelIndex()
{
return m_deviceShared.m_channel;