From 014f62d558012f3778d835e2afc7e1323a6ffe18 Mon Sep 17 00:00:00 2001 From: f4exb Date: Tue, 4 Jun 2019 16:57:27 +0200 Subject: [PATCH] MIMO: moved signal notification messageto general DSP commands --- plugins/samplemimo/testmi/testmi.cpp | 2 +- plugins/samplemimo/testmi/testmigui.cpp | 6 +++--- sdrbase/dsp/dspcommands.cpp | 1 + sdrbase/dsp/dspcommands.h | 21 +++++++++++++++++++++ sdrbase/dsp/dspdevicemimoengine.cpp | 15 +++++++-------- sdrbase/dsp/dspdevicemimoengine.h | 21 --------------------- 6 files changed, 33 insertions(+), 33 deletions(-) diff --git a/plugins/samplemimo/testmi/testmi.cpp b/plugins/samplemimo/testmi/testmi.cpp index 4a1ae5e8d..39cbbce8e 100644 --- a/plugins/samplemimo/testmi/testmi.cpp +++ b/plugins/samplemimo/testmi/testmi.cpp @@ -458,7 +458,7 @@ bool TestMI::applySettings(const TestMISettings& settings, bool force) int sampleRate = settings.m_streams[istream].m_sampleRate/(1<handleMessage(*notif); // forward to file sink - DSPDeviceMIMOEngine::SignalNotification *engineNotif = new DSPDeviceMIMOEngine::SignalNotification( + DSPMIMOSignalNotification *engineNotif = new DSPMIMOSignalNotification( sampleRate, settings.m_streams[istream].m_centerFrequency, true, istream); m_deviceAPI->getDeviceEngineInputMessageQueue()->push(engineNotif); } diff --git a/plugins/samplemimo/testmi/testmigui.cpp b/plugins/samplemimo/testmi/testmigui.cpp index 6433621bb..f802483b6 100644 --- a/plugins/samplemimo/testmi/testmigui.cpp +++ b/plugins/samplemimo/testmi/testmigui.cpp @@ -551,15 +551,15 @@ void TestMIGui::handleInputMessages() while ((message = m_inputMessageQueue.pop()) != 0) { - if (DSPDeviceMIMOEngine::SignalNotification::match(*message)) + if (DSPMIMOSignalNotification::match(*message)) { - DSPDeviceMIMOEngine::SignalNotification* notif = (DSPDeviceMIMOEngine::SignalNotification*) message; + DSPMIMOSignalNotification* notif = (DSPMIMOSignalNotification*) message; int istream = notif->getIndex(); bool sourceOrSink = notif->getSourceOrSink(); m_deviceSampleRates[istream] = notif->getSampleRate(); m_deviceCenterFrequencies[istream] = notif->getCenterFrequency(); // Do not consider multiple sources at this time - qDebug("TestMIGui::handleInputMessages: DSPDeviceMIMOEngine::SignalNotification: %s stream: %d SampleRate:%d, CenterFrequency:%llu", + qDebug("TestMIGui::handleInputMessages: DSPMIMOSignalNotification: %s stream: %d SampleRate:%d, CenterFrequency:%llu", sourceOrSink ? "source" : "sink", istream, notif->getSampleRate(), diff --git a/sdrbase/dsp/dspcommands.cpp b/sdrbase/dsp/dspcommands.cpp index 6d84f20d9..32b8a8e9b 100644 --- a/sdrbase/dsp/dspcommands.cpp +++ b/sdrbase/dsp/dspcommands.cpp @@ -45,5 +45,6 @@ MESSAGE_CLASS_DEFINITION(DSPConfigureCorrection, Message) MESSAGE_CLASS_DEFINITION(DSPEngineReport, Message) MESSAGE_CLASS_DEFINITION(DSPConfigureScopeVis, Message) MESSAGE_CLASS_DEFINITION(DSPSignalNotification, Message) +MESSAGE_CLASS_DEFINITION(DSPMIMOSignalNotification, Message) MESSAGE_CLASS_DEFINITION(DSPConfigureChannelizer, Message) MESSAGE_CLASS_DEFINITION(DSPConfigureAudio, Message) diff --git a/sdrbase/dsp/dspcommands.h b/sdrbase/dsp/dspcommands.h index 92579682b..12e5403c7 100644 --- a/sdrbase/dsp/dspcommands.h +++ b/sdrbase/dsp/dspcommands.h @@ -333,6 +333,27 @@ private: qint64 m_centerFrequency; }; +class SDRBASE_API DSPMIMOSignalNotification : public Message { + MESSAGE_CLASS_DECLARATION +public: + DSPMIMOSignalNotification(int samplerate, qint64 centerFrequency, bool sourceOrSink, unsigned int index) : + Message(), + m_sampleRate(samplerate), + m_centerFrequency(centerFrequency), + m_sourceOrSink(sourceOrSink), + m_index(index) + { } + int getSampleRate() const { return m_sampleRate; } + qint64 getCenterFrequency() const { return m_centerFrequency; } + bool getSourceOrSink() const { return m_sourceOrSink; } + unsigned int getIndex() const { return m_index; } +private: + int m_sampleRate; + qint64 m_centerFrequency; + bool m_sourceOrSink; + unsigned int m_index; +}; + class SDRBASE_API DSPConfigureChannelizer : public Message { MESSAGE_CLASS_DECLARATION diff --git a/sdrbase/dsp/dspdevicemimoengine.cpp b/sdrbase/dsp/dspdevicemimoengine.cpp index e209ab4ac..75fbed646 100644 --- a/sdrbase/dsp/dspdevicemimoengine.cpp +++ b/sdrbase/dsp/dspdevicemimoengine.cpp @@ -41,7 +41,6 @@ MESSAGE_CLASS_DEFINITION(DSPDeviceMIMOEngine::RemoveSpectrumSink, Message) MESSAGE_CLASS_DEFINITION(DSPDeviceMIMOEngine::GetErrorMessage, Message) MESSAGE_CLASS_DEFINITION(DSPDeviceMIMOEngine::GetMIMODeviceDescription, Message) MESSAGE_CLASS_DEFINITION(DSPDeviceMIMOEngine::ConfigureCorrection, Message) -MESSAGE_CLASS_DEFINITION(DSPDeviceMIMOEngine::SignalNotification, Message) MESSAGE_CLASS_DEFINITION(DSPDeviceMIMOEngine::SetSpectrumSinkInput, Message) DSPDeviceMIMOEngine::DSPDeviceMIMOEngine(uint32_t uid, QObject* parent) : @@ -544,7 +543,7 @@ DSPDeviceMIMOEngine::State DSPDeviceMIMOEngine::gotoInit() // MessageQueue *guiMessageQueue = m_deviceSampleMIMO->getMessageQueueToGUI(); // if (guiMessageQueue) { - // SignalNotification* rep = new SignalNotification(sourceStreamSampleRate, sourceCenterFrequency, true, isource); // make a copy for the MIMO GUI + // DSPMIMOSignalNotification* rep = new DSPMIMOSignalNotification(sourceStreamSampleRate, sourceCenterFrequency, true, isource); // make a copy for the MIMO GUI // guiMessageQueue->push(rep); // } } @@ -937,9 +936,9 @@ void DSPDeviceMIMOEngine::handleInputMessages() delete message; } - else if (SignalNotification::match(*message)) + else if (DSPMIMOSignalNotification::match(*message)) { - SignalNotification *notif = (SignalNotification *) message; + DSPMIMOSignalNotification *notif = (DSPMIMOSignalNotification *) message; // update DSP values @@ -948,7 +947,7 @@ void DSPDeviceMIMOEngine::handleInputMessages() int sampleRate = notif->getSampleRate(); qint64 centerFrequency = notif->getCenterFrequency(); - qDebug() << "DeviceMIMOEngine::handleInputMessages: SignalNotification:" + qDebug() << "DeviceMIMOEngine::handleInputMessages: DSPMIMOSignalNotification:" << " sourceElseSink: " << sourceElseSink << " istream: " << istream << " sampleRate: " << sampleRate @@ -982,10 +981,10 @@ void DSPDeviceMIMOEngine::handleInputMessages() // forward changes to MIMO GUI input queue MessageQueue *guiMessageQueue = m_deviceSampleMIMO->getMessageQueueToGUI(); - qDebug("DeviceMIMOEngine::handleInputMessages: SignalNotification: guiMessageQueue: %p", guiMessageQueue); + qDebug("DeviceMIMOEngine::handleInputMessages: DSPMIMOSignalNotification: guiMessageQueue: %p", guiMessageQueue); if (guiMessageQueue) { - SignalNotification* rep = new SignalNotification(*notif); // make a copy for the MIMO GUI + DSPMIMOSignalNotification* rep = new DSPMIMOSignalNotification(*notif); // make a copy for the MIMO GUI guiMessageQueue->push(rep); } @@ -1018,7 +1017,7 @@ void DSPDeviceMIMOEngine::handleInputMessages() qDebug("DSPDeviceMIMOEngine::handleInputMessages: DSPSignalNotification: guiMessageQueue: %p", guiMessageQueue); if (guiMessageQueue) { - SignalNotification* rep = new SignalNotification(*notif); // make a copy for the source GUI + DSPMIMOSignalNotification* rep = new DSPMIMOSignalNotification(*notif); // make a copy for the source GUI guiMessageQueue->push(rep); } diff --git a/sdrbase/dsp/dspdevicemimoengine.h b/sdrbase/dsp/dspdevicemimoengine.h index 2f3f34b42..742156057 100644 --- a/sdrbase/dsp/dspdevicemimoengine.h +++ b/sdrbase/dsp/dspdevicemimoengine.h @@ -217,27 +217,6 @@ public: unsigned int m_index; }; - class SignalNotification : public Message { - MESSAGE_CLASS_DECLARATION - public: - SignalNotification(int samplerate, qint64 centerFrequency, bool sourceOrSink, unsigned int index) : - Message(), - m_sampleRate(samplerate), - m_centerFrequency(centerFrequency), - m_sourceOrSink(sourceOrSink), - m_index(index) - { } - int getSampleRate() const { return m_sampleRate; } - qint64 getCenterFrequency() const { return m_centerFrequency; } - bool getSourceOrSink() const { return m_sourceOrSink; } - unsigned int getIndex() const { return m_index; } - private: - int m_sampleRate; - qint64 m_centerFrequency; - bool m_sourceOrSink; - unsigned int m_index; - }; - class SetSpectrumSinkInput : public Message { MESSAGE_CLASS_DECLARATION public: