mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-08-04 06:52:26 -04:00
Channel Rx / GUI new messaging system
This commit is contained in:
parent
5ab144da82
commit
95891164d5
@ -636,7 +636,7 @@ void ATVDemod::applySettings()
|
|||||||
int sampleRate = m_objRFRunning.m_blndecimatorEnable ? m_objRunningPrivate.m_intTVSampleRate : m_objRunning.m_intSampleRate;
|
int sampleRate = m_objRFRunning.m_blndecimatorEnable ? m_objRunningPrivate.m_intTVSampleRate : m_objRunning.m_intSampleRate;
|
||||||
MsgReportEffectiveSampleRate *report;
|
MsgReportEffectiveSampleRate *report;
|
||||||
report = MsgReportEffectiveSampleRate::create(sampleRate, m_objRunningPrivate.m_intNumberSamplePerLine);
|
report = MsgReportEffectiveSampleRate::create(sampleRate, m_objRunningPrivate.m_intNumberSamplePerLine);
|
||||||
getOutputMessageQueue()->push(report);
|
getMessageQueueToGUI()->push(report);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -242,7 +242,7 @@ void ATVDemodGUI::handleSourceMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_objATVDemod->getOutputMessageQueue()->pop()) != 0)
|
while ((message = getInputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
if (handleMessage(*message))
|
if (handleMessage(*message))
|
||||||
{
|
{
|
||||||
@ -285,6 +285,7 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
|
|||||||
|
|
||||||
m_objScopeVis = new ScopeVisNG(ui->glScope);
|
m_objScopeVis = new ScopeVisNG(ui->glScope);
|
||||||
m_objATVDemod = new ATVDemod(m_objScopeVis);
|
m_objATVDemod = new ATVDemod(m_objScopeVis);
|
||||||
|
m_objATVDemod->setMessageQueueToGUI(getInputMessageQueue());
|
||||||
m_objATVDemod->setATVScreen(ui->screenTV);
|
m_objATVDemod->setATVScreen(ui->screenTV);
|
||||||
|
|
||||||
m_objChannelizer = new DownChannelizer(m_objATVDemod);
|
m_objChannelizer = new DownChannelizer(m_objATVDemod);
|
||||||
@ -337,7 +338,7 @@ ATVDemodGUI::ATVDemodGUI(PluginAPI* objPluginAPI, DeviceSourceAPI *objDeviceAPI,
|
|||||||
ui->scopeGUI->changeTrigger(0, triggerData);
|
ui->scopeGUI->changeTrigger(0, triggerData);
|
||||||
ui->scopeGUI->focusOnTrigger(0); // re-focus to take changes into account in the GUI
|
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);
|
QChar delta = QChar(0x94, 0x03);
|
||||||
ui->fmDeviationLabel->setText(delta);
|
ui->fmDeviationLabel->setText(delta);
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
#include <dsp/basebandsamplesink.h>
|
#include <dsp/basebandsamplesink.h>
|
||||||
#include "util/message.h"
|
#include "util/message.h"
|
||||||
|
|
||||||
BasebandSampleSink::BasebandSampleSink()
|
BasebandSampleSink::BasebandSampleSink() :
|
||||||
|
m_guiMessageQueue(0)
|
||||||
{
|
{
|
||||||
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()));
|
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()));
|
||||||
}
|
}
|
||||||
|
@ -37,11 +37,12 @@ public:
|
|||||||
virtual bool handleMessage(const Message& cmd) = 0; //!< Processing of a message. Returns true if message has actually been processed
|
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 *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:
|
protected:
|
||||||
MessageQueue m_inputMessageQueue; //!< Queue for asynchronous inbound communication
|
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:
|
protected slots:
|
||||||
void handleInputMessages();
|
void handleInputMessages();
|
||||||
|
@ -58,8 +58,6 @@ public:
|
|||||||
~ThreadedBasebandSampleSink();
|
~ThreadedBasebandSampleSink();
|
||||||
|
|
||||||
const BasebandSampleSink *getSink() const { return m_basebandSampleSink; }
|
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 start(); //!< this thread start()
|
||||||
void stop(); //!< this thread exit() and wait()
|
void stop(); //!< this thread exit() and wait()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user