1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-23 01:55:48 -05:00

MIMO: moved signal notification messageto general DSP commands

This commit is contained in:
f4exb 2019-06-04 16:57:27 +02:00
parent 5f44c61895
commit 014f62d558
6 changed files with 33 additions and 33 deletions

View File

@ -458,7 +458,7 @@ bool TestMI::applySettings(const TestMISettings& settings, bool force)
int sampleRate = settings.m_streams[istream].m_sampleRate/(1<<settings.m_streams[istream].m_log2Decim);
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, settings.m_streams[istream].m_centerFrequency);
m_fileSinks[istream]->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);
}

View File

@ -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(),

View File

@ -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)

View File

@ -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

View File

@ -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);
}

View File

@ -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: