Channel Rx / GUI new messaging system

pull/85/head
f4exb 2017-09-27 23:47:29 +02:00
rodzic 5ab144da82
commit 95891164d5
5 zmienionych plików z 9 dodań i 8 usunięć

Wyświetl plik

@ -636,7 +636,7 @@ void ATVDemod::applySettings()
int sampleRate = m_objRFRunning.m_blndecimatorEnable ? m_objRunningPrivate.m_intTVSampleRate : m_objRunning.m_intSampleRate;
MsgReportEffectiveSampleRate *report;
report = MsgReportEffectiveSampleRate::create(sampleRate, m_objRunningPrivate.m_intNumberSamplePerLine);
getOutputMessageQueue()->push(report);
getMessageQueueToGUI()->push(report);
}
}

Wyświetl plik

@ -242,7 +242,7 @@ void ATVDemodGUI::handleSourceMessages()
{
Message* message;
while ((message = m_objATVDemod->getOutputMessageQueue()->pop()) != 0)
while ((message = getInputMessageQueue()->pop()) != 0)
{
if (handleMessage(*message))
{
@ -285,6 +285,7 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
m_objScopeVis = new ScopeVisNG(ui->glScope);
m_objATVDemod = new ATVDemod(m_objScopeVis);
m_objATVDemod->setMessageQueueToGUI(getInputMessageQueue());
m_objATVDemod->setATVScreen(ui->screenTV);
m_objChannelizer = new DownChannelizer(m_objATVDemod);
@ -337,7 +338,7 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
ui->scopeGUI->changeTrigger(0, triggerData);
ui->scopeGUI->focusOnTrigger(0); // re-focus to take changes into account in the GUI
connect(m_objATVDemod->getOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
connect(getInputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
QChar delta = QChar(0x94, 0x03);
ui->fmDeviationLabel->setText(delta);

Wyświetl plik

@ -1,7 +1,8 @@
#include <dsp/basebandsamplesink.h>
#include "util/message.h"
BasebandSampleSink::BasebandSampleSink()
BasebandSampleSink::BasebandSampleSink() :
m_guiMessageQueue(0)
{
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()));
}

Wyświetl plik

@ -37,11 +37,12 @@ public:
virtual bool handleMessage(const Message& cmd) = 0; //!< Processing of a message. Returns true if message has actually been processed
MessageQueue *getInputMessageQueue() { return &m_inputMessageQueue; } //!< Get the queue for asynchronous inbound communication
MessageQueue *getOutputMessageQueue() { return &m_outputMessageQueue; } //!< Get the queue for asynchronous outbound communication
virtual void setMessageQueueToGUI(MessageQueue *queue) { m_guiMessageQueue = queue; }
MessageQueue *getMessageQueueToGUI() { return m_guiMessageQueue; }
protected:
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
MessageQueue m_outputMessageQueue; //!< Queue for asynchronous outbound communication
MessageQueue *m_guiMessageQueue; //!< Input message queue to the GUI
protected slots:
void handleInputMessages();

Wyświetl plik

@ -58,8 +58,6 @@ public:
~ThreadedBasebandSampleSink();
const BasebandSampleSink *getSink() const { return m_basebandSampleSink; }
MessageQueue* getInputMessageQueue() { return m_basebandSampleSink->getInputMessageQueue(); } //!< Return pointer to sample sink's input message queue
MessageQueue* getOutputMessageQueue() { return m_basebandSampleSink->getOutputMessageQueue(); } //!< Return pointer to sample sink's output message queue
void start(); //!< this thread start()
void stop(); //!< this thread exit() and wait()