From 844628bc48e02efd482bdf70f3fc685babbbef3d Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 4 Aug 2017 10:31:54 +0200 Subject: [PATCH] LimeSDR: corrected NCO de-tune when sample rate changes --- plugins/samplesink/limesdroutput/limesdroutput.cpp | 6 ++++-- plugins/samplesource/limesdrinput/limesdrinput.cpp | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/samplesink/limesdroutput/limesdroutput.cpp b/plugins/samplesink/limesdroutput/limesdroutput.cpp index ef7c1c7bc..c117d4643 100644 --- a/plugins/samplesink/limesdroutput/limesdroutput.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutput.cpp @@ -483,7 +483,8 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo bool suspendOwnThread = false; bool suspendTxThread = false; bool suspendAllThread = false; - bool doCalibration = false; + bool doCalibration = false; + bool forceNCOFrequency = false; // QMutexLocker mutexLocker(&m_mutex); // determine if buddies threads or own thread need to be suspended @@ -614,6 +615,7 @@ bool LimeSDROutput::applySettings(const LimeSDROutputSettings& settings, bool fo m_deviceShared.m_deviceParams->m_log2OvSRTx = m_settings.m_log2HardInterp; m_deviceShared.m_deviceParams->m_sampleRate = m_settings.m_devSampleRate; doCalibration = true; + forceNCOFrequency = true; qDebug("LimeSDROutput::applySettings: set sample rate set to %d with oversampling of %d", m_settings.m_devSampleRate, 1<m_log2OvSRRx = m_settings.m_log2HardDecim; m_deviceShared.m_deviceParams->m_sampleRate = m_settings.m_devSampleRate; doCalibration = true; + forceNCOFrequency = true; qDebug("LimeSDRInput::applySettings: set sample rate set to %d with oversampling of %d", m_settings.m_devSampleRate, 1<