From ca14e41e1cb892a429ca47b4d0f70eb7b3b36afd Mon Sep 17 00:00:00 2001 From: f4exb Date: Thu, 26 Oct 2017 01:47:43 +0200 Subject: [PATCH] LimeSDR: use LMS_GetSampleRate to get the actual rates when MsgReportBuddyChange comes from an opposite buddy --- .../limesdroutput/limesdroutput.cpp | 30 +++++++++++++++++-- .../limesdrinput/limesdrinput.cpp | 28 +++++++++++++++-- 2 files changed, 54 insertions(+), 4 deletions(-) diff --git a/plugins/samplesink/limesdroutput/limesdroutput.cpp b/plugins/samplesink/limesdroutput/limesdroutput.cpp index 0dfe6d1cf..e01ae924f 100644 --- a/plugins/samplesink/limesdroutput/limesdroutput.cpp +++ b/plugins/samplesink/limesdroutput/limesdroutput.cpp @@ -532,8 +532,34 @@ bool LimeSDROutput::handleMessage(const Message& message) if (report.getRxElseTx()) { - int adcdac_rate = report.getDevSampleRate() * (1<getDevice(), + LMS_CH_TX, + m_deviceShared.m_channel, + &host_Hz, + &rf_Hz) < 0) + { + qDebug("LimeSDROutput::handleMessage: MsgReportBuddyChange: LMS_GetSampleRate() failed"); + } + else + { + m_settings.m_devSampleRate = roundf(host_Hz); + int hard = roundf(rf_Hz) / m_settings.m_devSampleRate; + m_settings.m_log2HardInterp = log2(hard); + + qDebug() << "LimeSDROutput::handleMessage: MsgReportBuddyChange:" + << " host_Hz: " << host_Hz + << " rf_Hz: " << rf_Hz + << " m_devSampleRate: " << m_settings.m_devSampleRate + << " log2Hard: " << hard + << " m_log2HardInterp: " << m_settings.m_log2HardInterp; + +// int adcdac_rate = report.getDevSampleRate() * (1<getDevice(), + LMS_CH_RX, + m_deviceShared.m_channel, + &host_Hz, + &rf_Hz) < 0) + { + qDebug("LimeSDRInput::handleMessage: MsgReportBuddyChange: LMS_GetSampleRate() failed"); + } + else + { + m_settings.m_devSampleRate = roundf(host_Hz); + int hard = roundf(rf_Hz) / m_settings.m_devSampleRate; + m_settings.m_log2HardDecim = log2(hard); + + qDebug() << "LimeSDRInput::handleMessage: MsgReportBuddyChange:" + << " host_Hz: " << host_Hz + << " rf_Hz: " << rf_Hz + << " m_devSampleRate: " << m_settings.m_devSampleRate + << " log2Hard: " << hard + << " m_log2HardDecim: " << m_settings.m_log2HardDecim; +// int adcdac_rate = report.getDevSampleRate() * (1<