From 89b67b03781dd5c5106c64c67201103b07eaaa5d Mon Sep 17 00:00:00 2001 From: f4exb Date: Thu, 11 Jan 2018 04:40:13 +0100 Subject: [PATCH] AirspyHF support: specify int16 samples --- .../samplesource/airspyhf/airspyhfinput.cpp | 3 +++ sdrbase/device/devicesourceapi.cpp | 18 +++++++++++++++--- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/plugins/samplesource/airspyhf/airspyhfinput.cpp b/plugins/samplesource/airspyhf/airspyhfinput.cpp index b024c0e48..5d1e3c1a8 100644 --- a/plugins/samplesource/airspyhf/airspyhfinput.cpp +++ b/plugins/samplesource/airspyhf/airspyhfinput.cpp @@ -134,6 +134,8 @@ bool AirspyHFInput::openDevice() delete[] sampleRates; + airspyhf_set_sampleformat(m_dev, AIRSPYHF_SAMPLE_FORMAT_INT16); + return true; } @@ -387,6 +389,7 @@ bool AirspyHFInput::applySettings(const AirspyHFSettings& settings, bool force) || (m_settings.m_transverterMode != settings.m_transverterMode) || (m_settings.m_transverterDeltaFrequency != settings.m_transverterDeltaFrequency)) { + m_settings.m_LOppmTenths = settings.m_LOppmTenths; qint64 deviceCenterFrequency = settings.m_centerFrequency; deviceCenterFrequency -= settings.m_transverterMode ? settings.m_transverterDeltaFrequency : 0; deviceCenterFrequency = deviceCenterFrequency < 0 ? 0 : deviceCenterFrequency; diff --git a/sdrbase/device/devicesourceapi.cpp b/sdrbase/device/devicesourceapi.cpp index 3707d1717..dc0e2584a 100644 --- a/sdrbase/device/devicesourceapi.cpp +++ b/sdrbase/device/devicesourceapi.cpp @@ -254,22 +254,34 @@ void DeviceSourceAPI::loadSourceSettings(const Preset* preset) if (m_sampleSourcePluginInstanceUI != 0) // GUI flavor { m_sampleSourcePluginInstanceUI->deserialize(*sourceConfig); - m_sampleSourcePluginInstanceUI->setCenterFrequency(centerFrequency); } else if (m_deviceSourceEngine->getSource() != 0) // Server flavor { m_deviceSourceEngine->getSource()->deserialize(*sourceConfig); - m_deviceSourceEngine->getSource()->setCenterFrequency(centerFrequency); } else { - qDebug("DeviceSourceAPI::loadSourceSettings: no source"); + qDebug("DeviceSourceAPI::loadSourceSettings: deserializing no source"); } } else { qDebug("DeviceSourceAPI::loadSourceSettings: source %s[%d]: %s not found", qPrintable(m_sampleSourceId), m_sampleSourceSequence, qPrintable(m_sampleSourceSerial)); } + + // set center frequency anyway + if (m_sampleSourcePluginInstanceUI != 0) // GUI flavor + { + m_sampleSourcePluginInstanceUI->setCenterFrequency(centerFrequency); + } + else if (m_deviceSourceEngine->getSource() != 0) // Server flavor + { + m_deviceSourceEngine->getSource()->setCenterFrequency(centerFrequency); + } + else + { + qDebug("DeviceSourceAPI::loadSourceSettings: no source"); + } } else {