1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-02 06:04:39 -04:00

SoapySDR support: input: stream ArgInfo GUI

This commit is contained in:
f4exb
2018-11-11 02:30:10 +01:00
parent 3c9d1a3637
commit 1005d1d4e5
12 changed files with 353 additions and 5 deletions
@@ -71,6 +71,7 @@ QByteArray SoapySDRInputSettings::serialize() const
s.writeDouble(18, m_dcCorrection.imag());
s.writeDouble(19, m_iqCorrection.real());
s.writeDouble(20, m_iqCorrection.imag());
s.writeBlob(21, serializeArgumentMap(m_streamArgSettings));
return s.final();
}
@@ -116,6 +117,8 @@ bool SoapySDRInputSettings::deserialize(const QByteArray& data)
d.readDouble(19, &realval, 0);
d.readDouble(20, &imagval, 0);
m_iqCorrection = std::complex<double>{realval, imagval};
d.readBlob(21, &blob);
deserializeArgumentMap(blob, m_streamArgSettings);
return true;
}
@@ -142,3 +145,21 @@ void SoapySDRInputSettings::deserializeNamedElementMap(const QByteArray& data, Q
(*stream) >> map;
delete stream;
}
QByteArray SoapySDRInputSettings::serializeArgumentMap(const QMap<QString, QVariant>& map) const
{
QByteArray data;
QDataStream *stream = new QDataStream(&data, QIODevice::WriteOnly);
(*stream) << map;
delete stream;
return data;
}
void deserializeArgumentMap(const QByteArray& data, QMap<QString, QVariant>& map)
{
QDataStream *stream = new QDataStream(data);
(*stream) >> map;
delete stream;
}