From 987c23004cacddb7992019fd73d0ac4acdc8cea6 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sat, 22 Oct 2016 21:47:59 +0200 Subject: [PATCH] Tx ph.1: Enable center frequecy UI in FileSinkGUI --- plugins/samplesink/filesink/filesinkgui.cpp | 2 +- plugins/samplesink/filesink/filesinkgui.ui | 13 ++----------- plugins/samplesink/filesink/filesinkoutput.cpp | 15 ++++++++++++++- plugins/samplesink/filesink/filesinkoutput.h | 4 +++- plugins/samplesource/rtlsdr/rtlsdrinput.cpp | 2 +- 5 files changed, 21 insertions(+), 15 deletions(-) diff --git a/plugins/samplesink/filesink/filesinkgui.cpp b/plugins/samplesink/filesink/filesinkgui.cpp index 5acfee68c..05c0845ea 100644 --- a/plugins/samplesink/filesink/filesinkgui.cpp +++ b/plugins/samplesink/filesink/filesinkgui.cpp @@ -64,7 +64,7 @@ FileSinkGui::FileSinkGui(DeviceSinkAPI *deviceAPI, QWidget* parent) : displaySettings(); - m_deviceSampleSink = new FileSinkOutput(m_deviceAPI->getMainWindow()->getMasterTimer()); + m_deviceSampleSink = new FileSinkOutput(m_deviceAPI, m_deviceAPI->getMainWindow()->getMasterTimer()); connect(m_deviceSampleSink->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSinkMessages())); m_deviceAPI->setSink(m_deviceSampleSink); } diff --git a/plugins/samplesink/filesink/filesinkgui.ui b/plugins/samplesink/filesink/filesinkgui.ui index 85b38486e..61ea3a409 100644 --- a/plugins/samplesink/filesink/filesinkgui.ui +++ b/plugins/samplesink/filesink/filesinkgui.ui @@ -35,16 +35,7 @@ 3 - - 2 - - - 2 - - - 2 - - + 2 @@ -111,7 +102,7 @@ - false + true diff --git a/plugins/samplesink/filesink/filesinkoutput.cpp b/plugins/samplesink/filesink/filesinkoutput.cpp index ef4434287..f03a3840a 100644 --- a/plugins/samplesink/filesink/filesinkoutput.cpp +++ b/plugins/samplesink/filesink/filesinkoutput.cpp @@ -23,6 +23,8 @@ #include "dsp/dspengine.h" #include "dsp/filerecord.h" +#include "device/devicesinkapi.h" + #include "filesinkgui.h" #include "filesinkoutput.h" #include "filesinkthread.h" @@ -34,7 +36,8 @@ MESSAGE_CLASS_DEFINITION(FileSinkOutput::MsgConfigureFileSinkStreamTiming, Messa MESSAGE_CLASS_DEFINITION(FileSinkOutput::MsgReportFileSinkGeneration, Message) MESSAGE_CLASS_DEFINITION(FileSinkOutput::MsgReportFileSinkStreamTiming, Message) -FileSinkOutput::FileSinkOutput(const QTimer& masterTimer) : +FileSinkOutput::FileSinkOutput(DeviceSinkAPI *deviceAPI, const QTimer& masterTimer) : + m_deviceAPI(deviceAPI), m_settings(), m_fileSinkThread(0), m_deviceDescription(), @@ -195,14 +198,24 @@ bool FileSinkOutput::handleMessage(const Message& message) void FileSinkOutput::applySettings(const FileSinkSettings& settings, bool force) { QMutexLocker mutexLocker(&m_mutex); + bool forwardChange = false; if (force || (m_settings.m_centerFrequency != settings.m_centerFrequency)) { m_settings.m_centerFrequency = settings.m_centerFrequency; + forwardChange = true; } if (force || (m_settings.m_sampleRate != settings.m_sampleRate)) { m_settings.m_sampleRate = settings.m_sampleRate; + forwardChange = true; } + + if (forwardChange) + { + DSPSignalNotification *notif = new DSPSignalNotification(m_settings.m_sampleRate, m_settings.m_centerFrequency); + m_deviceAPI->getDeviceInputMessageQueue()->push(notif); + } + } diff --git a/plugins/samplesink/filesink/filesinkoutput.h b/plugins/samplesink/filesink/filesinkoutput.h index d3b5b5aa1..f0808ed28 100644 --- a/plugins/samplesink/filesink/filesinkoutput.h +++ b/plugins/samplesink/filesink/filesinkoutput.h @@ -27,6 +27,7 @@ #include "filesinksettings.h" class FileSinkThread; +class DeviceSinkAPI; class FileSinkOutput : public DeviceSampleSink { public: @@ -147,7 +148,7 @@ public: { } }; - FileSinkOutput(const QTimer& masterTimer); + FileSinkOutput(DeviceSinkAPI *deviceAPI, const QTimer& masterTimer); virtual ~FileSinkOutput(); virtual bool init(const Message& message); @@ -162,6 +163,7 @@ public: virtual bool handleMessage(const Message& message); private: + DeviceSinkAPI *m_deviceAPI; QMutex m_mutex; FileSinkSettings m_settings; std::ofstream m_ofstream; diff --git a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp index 7f879cc4a..e507a39b5 100644 --- a/plugins/samplesource/rtlsdr/rtlsdrinput.cpp +++ b/plugins/samplesource/rtlsdr/rtlsdrinput.cpp @@ -20,7 +20,7 @@ #include #include "rtlsdrinput.h" -#include +#include "device/devicesourceapi.h" #include "rtlsdrthread.h" #include "rtlsdrgui.h"