1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-26 01:39:05 -05:00

Tx ph.1: Connect sample source FIFO read signal with forwarding samples to spectrum sink

This commit is contained in:
f4exb 2016-10-24 18:31:14 +02:00
parent 289c1a203f
commit 5021d15162
2 changed files with 18 additions and 4 deletions

View File

@ -218,10 +218,10 @@ void DSPDeviceSinkEngine::work()
}
// feed the mix to the main spectrum sink
if (m_spectrumSink)
{
m_spectrumSink->feed(writeBegin, writeBegin + nbWriteSamples, false);
}
// if (m_spectrumSink)
// {
// m_spectrumSink->feed(writeBegin, writeBegin + nbWriteSamples, false);
// }
}
}
@ -263,6 +263,8 @@ DSPDeviceSinkEngine::State DSPDeviceSinkEngine::gotoIdle()
(*it)->stop();
}
disconnect(m_deviceSampleSink->getSampleFifo(), SIGNAL(dataRead(int)), this, SLOT(handleForwardToSpectrumSink(int)));
m_spectrumSink->stop();
m_deviceSampleSink->stop();
m_deviceDescription.clear();
@ -374,6 +376,7 @@ DSPDeviceSinkEngine::State DSPDeviceSinkEngine::gotoRunning()
(*it)->start();
}
connect(m_deviceSampleSink->getSampleFifo(), SIGNAL(dataRead(int)), this, SLOT(handleForwardToSpectrumSink(int)));
m_spectrumSink->start();
qDebug() << "DSPDeviceSinkEngine::gotoRunning: input message queue pending: " << m_inputMessageQueue.size();
@ -551,3 +554,13 @@ void DSPDeviceSinkEngine::handleInputMessages()
}
}
void DSPDeviceSinkEngine::handleForwardToSpectrumSink(int nbSamples)
{
if (m_spectrumSink)
{
SampleSourceFifo* sampleFifo = m_deviceSampleSink->getSampleFifo();
SampleVector::iterator readUntil;
sampleFifo->getReadIterator(readUntil);
m_spectrumSink->feed(readUntil - nbSamples, readUntil, false);
}
}

View File

@ -118,6 +118,7 @@ private slots:
void handleData(); //!< Handle data when samples from source FIFO are ready to be processed
void handleInputMessages(); //!< Handle input message queue
void handleSynchronousMessages(); //!< Handle synchronous messages with the thread
void handleForwardToSpectrumSink(int nbSamples);
};