1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-20 06:38:36 -04:00

SoapySDR support: output: tunable elements GUIs

This commit is contained in:
f4exb
2018-11-06 20:19:20 +01:00
parent 6ea676d5c4
commit e17828c7ee
7 changed files with 105 additions and 4 deletions
@@ -15,6 +15,8 @@
///////////////////////////////////////////////////////////////////////////////////
#include <QtGlobal>
#include <QDataStream>
#include "util/simpleserializer.h"
#include "soapysdroutputsettings.h"
@@ -47,6 +49,7 @@ QByteArray SoapySDROutputSettings::serialize() const
s.writeS64(5, m_transverterDeltaFrequency);
s.writeString(6, m_antenna);
s.writeU32(7, m_bandwidth);
s.writeBlob(8, serializeNamedElementMap(m_tunableElements));
return s.final();
}
@@ -63,6 +66,8 @@ bool SoapySDROutputSettings::deserialize(const QByteArray& data)
if (d.getVersion() == 1)
{
QByteArray blob;
d.readS32(1, &m_devSampleRate);
d.readS32(2, &m_LOppmTenths);
d.readU32(3, &m_log2Interp);
@@ -70,6 +75,8 @@ bool SoapySDROutputSettings::deserialize(const QByteArray& data)
d.readS64(5, &m_transverterDeltaFrequency, 0);
d.readString(6, &m_antenna, "NONE");
d.readU32(7, &m_bandwidth, 1000000);
d.readBlob(8, &blob);
deserializeNamedElementMap(blob, m_tunableElements);
return true;
}
@@ -79,3 +86,20 @@ bool SoapySDROutputSettings::deserialize(const QByteArray& data)
return false;
}
}
QByteArray SoapySDROutputSettings::serializeNamedElementMap(const QMap<QString, double>& map) const
{
QByteArray data;
QDataStream *stream = new QDataStream(&data, QIODevice::WriteOnly);
(*stream) << map;
delete stream;
return data;
}
void SoapySDROutputSettings::deserializeNamedElementMap(const QByteArray& data, QMap<QString, double>& map)
{
QDataStream *stream = new QDataStream(data);
(*stream) >> map;
delete stream;
}