1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 13:47:01 -04:00

Deep redesign: Init sequence review phase #5: fixed source message forwarding for other sample sources

This commit is contained in:
f4exb
2015-08-19 22:12:08 +02:00
parent 23c956cf17
commit 60a8946ce4
4 changed files with 30 additions and 2 deletions
@@ -20,6 +20,7 @@
#include "rtlsdrinput.h"
#include "rtlsdrthread.h"
#include "rtlsdrgui.h"
#include "dsp/dspcommands.h"
#include "util/simpleserializer.h"
MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgConfigureRTLSDR, Message)
@@ -259,6 +260,7 @@ bool RTLSDRInput::handleMessage(const Message& message)
bool RTLSDRInput::applySettings(const Settings& settings, bool force)
{
QMutexLocker mutexLocker(&m_mutex);
bool forwardChange = false;
if ((m_settings.m_gain != settings.m_gain) || force)
{
@@ -275,6 +277,8 @@ bool RTLSDRInput::applySettings(const Settings& settings, bool force)
if ((m_settings.m_devSampleRate != settings.m_devSampleRate) || force)
{
forwardChange = true;
if(m_dev != 0)
{
if( rtlsdr_set_sample_rate(m_dev, settings.m_devSampleRate) < 0)
@@ -306,6 +310,8 @@ bool RTLSDRInput::applySettings(const Settings& settings, bool force)
if ((m_settings.m_log2Decim != settings.m_log2Decim) || force)
{
forwardChange = true;
if(m_dev != 0)
{
m_settings.m_log2Decim = settings.m_log2Decim;
@@ -313,6 +319,11 @@ bool RTLSDRInput::applySettings(const Settings& settings, bool force)
}
}
if (m_settings.m_centerFrequency != settings.m_centerFrequency)
{
forwardChange = true;
}
m_settings.m_centerFrequency = settings.m_centerFrequency;
if(m_dev != 0)
@@ -333,6 +344,13 @@ bool RTLSDRInput::applySettings(const Settings& settings, bool force)
qDebug("rtlsdr_set_center_freq(%lld) failed", m_settings.m_centerFrequency);
}
}
if (forwardChange)
{
int sampleRate = m_settings.m_devSampleRate/(1<<m_settings.m_log2Decim);
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
getOutputMessageQueue()->push(notif);
}
return true;
}