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

Reverse API: SoapySDR input

This commit is contained in:
f4exb
2018-12-26 18:15:43 +01:00
parent c6e057b143
commit bc4c9aeba6
6 changed files with 249 additions and 1 deletions
@@ -45,6 +45,10 @@ void SoapySDRInputSettings::resetToDefaults()
m_autoIQCorrection = false;
m_dcCorrection = std::complex<double>{0,0};
m_iqCorrection = std::complex<double>{0,0};
m_useReverseAPI = false;
m_reverseAPIAddress = "127.0.0.1";
m_reverseAPIPort = 8888;
m_reverseAPIDeviceIndex = 0;
}
QByteArray SoapySDRInputSettings::serialize() const
@@ -73,6 +77,10 @@ QByteArray SoapySDRInputSettings::serialize() const
s.writeDouble(20, m_iqCorrection.imag());
s.writeBlob(21, serializeArgumentMap(m_streamArgSettings));
s.writeBlob(22, serializeArgumentMap(m_deviceArgSettings));
s.writeBool(23, m_useReverseAPI);
s.writeString(24, m_reverseAPIAddress);
s.writeU32(25, m_reverseAPIPort);
s.writeU32(26, m_reverseAPIDeviceIndex);
return s.final();
}
@@ -90,6 +98,7 @@ bool SoapySDRInputSettings::deserialize(const QByteArray& data)
if (d.getVersion() == 1)
{
int intval;
uint32_t uintval;
QByteArray blob;
double realval, imagval;
@@ -122,6 +131,18 @@ bool SoapySDRInputSettings::deserialize(const QByteArray& data)
deserializeArgumentMap(blob, m_streamArgSettings);
d.readBlob(22, &blob);
deserializeArgumentMap(blob, m_deviceArgSettings);
d.readBool(23, &m_useReverseAPI, false);
d.readString(24, &m_reverseAPIAddress, "127.0.0.1");
d.readU32(25, &uintval, 0);
if ((uintval > 1023) && (uintval < 65535)) {
m_reverseAPIPort = uintval;
} else {
m_reverseAPIPort = 8888;
}
d.readU32(26, &uintval, 0);
m_reverseAPIDeviceIndex = uintval > 99 ? 99 : uintval;
return true;
}