1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-16 13:21:50 -05:00

Deep redesign: debug phase #1

This commit is contained in:
f4exb 2015-08-17 09:15:57 +02:00
parent a6a7145f3d
commit d23da25354
2 changed files with 34 additions and 3 deletions

View File

@ -59,11 +59,11 @@ void DSPEngine::run()
qDebug() << "DSPEngine::run";
connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
connect(&m_syncMessenger, SIGNAL(messageSent(Message*)), this, SLOT(handleSynchronousMessages(Message*)), Qt::QueuedConnection);
connect(&m_syncMessenger, SIGNAL(messageSent(const Message&)), this, SLOT(handleSynchronousMessages(const Message&)), Qt::QueuedConnection);
m_state = StIdle;
handleInputMessages();
//handleInputMessages();
exec();
}
@ -84,6 +84,7 @@ void DSPEngine::stop()
bool DSPEngine::initAcquisition()
{
qDebug() << "DSPEngine::initAcquisition";
DSPAcquisitionInit cmd;
return m_syncMessenger.sendWait(cmd) == StReady;
@ -91,6 +92,7 @@ bool DSPEngine::initAcquisition()
bool DSPEngine::startAcquisition()
{
qDebug() << "DSPEngine::startAcquisition";
DSPAcquisitionStart cmd;
return m_syncMessenger.sendWait(cmd) == StRunning;
@ -98,6 +100,7 @@ bool DSPEngine::startAcquisition()
void DSPEngine::stopAcquistion()
{
qDebug() << "DSPEngine::stopAcquistion";
DSPAcquisitionStop cmd;
m_syncMessenger.sendWait(cmd);
@ -109,6 +112,7 @@ void DSPEngine::stopAcquistion()
void DSPEngine::setSource(SampleSource* source)
{
qDebug() << "DSPEngine::setSource";
DSPSetSource cmd(source);
m_syncMessenger.sendWait(cmd);
}
@ -122,6 +126,7 @@ void DSPEngine::addSink(SampleSink* sink)
void DSPEngine::removeSink(SampleSink* sink)
{
qDebug() << "DSPEngine::removeSink: " << sink->objectName().toStdString().c_str();
DSPRemoveSink cmd(sink);
m_syncMessenger.sendWait(cmd);
}
@ -135,30 +140,35 @@ void DSPEngine::addThreadedSink(SampleSink* sink)
void DSPEngine::removeThreadedSink(SampleSink* sink)
{
qDebug() << "DSPEngine::removeThreadedSink: " << sink->objectName().toStdString().c_str();
DSPRemoveThreadedSink cmd(sink);
m_syncMessenger.sendWait(cmd);
}
void DSPEngine::addAudioSink(AudioFifo* audioFifo)
{
qDebug() << "DSPEngine::addAudioSink";
DSPAddAudioSink cmd(audioFifo);
m_syncMessenger.sendWait(cmd);
}
void DSPEngine::removeAudioSink(AudioFifo* audioFifo)
{
qDebug() << "DSPEngine::removeAudioSink";
DSPRemoveAudioSink cmd(audioFifo);
m_syncMessenger.sendWait(cmd);
}
void DSPEngine::configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection)
{
qDebug() << "DSPEngine::configureCorrections";
DSPConfigureCorrection* cmd = new DSPConfigureCorrection(dcOffsetCorrection, iqImbalanceCorrection);
m_inputMessageQueue.push(cmd);
}
QString DSPEngine::errorMessage()
{
qDebug() << "DSPEngine::errorMessage";
DSPGetErrorMessage cmd;
m_syncMessenger.sendWait(cmd);
return cmd.getErrorMessage();
@ -166,6 +176,7 @@ QString DSPEngine::errorMessage()
QString DSPEngine::sourceDeviceDescription()
{
qDebug() << "DSPEngine::sourceDeviceDescription";
DSPGetSourceDeviceDescription cmd;
m_syncMessenger.sendWait(cmd);
return cmd.getDeviceDescription();
@ -178,6 +189,8 @@ void DSPEngine::dcOffset(SampleVector::iterator begin, SampleVector::iterator en
int qo = 0;
Sample corr((qint16)m_iOffset, (qint16)m_qOffset);
qDebug() << "DSPEngine::dcOffset";
// sum and correct in one pass
for(SampleVector::iterator it = begin; it < end; it++)
{
@ -199,6 +212,8 @@ void DSPEngine::imbalance(SampleVector::iterator begin, SampleVector::iterator e
int qMin = 0;
int qMax = 0;
qDebug() << "DSPEngine::imbalance";
// find value ranges for both I and Q
// both intervals should be same same size (for a perfect circle)
for (SampleVector::iterator it = begin; it < end; it++)
@ -243,6 +258,8 @@ void DSPEngine::imbalance(SampleVector::iterator begin, SampleVector::iterator e
void DSPEngine::work()
{
qDebug() << "DSPEngine::work";
SampleFifo* sampleFifo = m_sampleSource->getSampleFifo();
std::size_t samplesDone = 0;
bool positiveOnly = false;
@ -304,6 +321,8 @@ void DSPEngine::work()
DSPEngine::State DSPEngine::gotoIdle()
{
qDebug() << "DSPEngine::gotoIdle";
switch(m_state) {
case StNotStarted:
return StNotStarted;
@ -339,6 +358,8 @@ DSPEngine::State DSPEngine::gotoIdle()
DSPEngine::State DSPEngine::gotoInit()
{
qDebug() << "DSPEngine::gotoInit";
switch(m_state) {
case StNotStarted:
return StNotStarted;
@ -450,6 +471,8 @@ DSPEngine::State DSPEngine::gotoRunning()
DSPEngine::State DSPEngine::gotoError(const QString& errorMessage)
{
qDebug() << "DSPEngine::gotoError";
m_errorMessage = errorMessage;
m_deviceDescription.clear();
m_state = StError;
@ -480,6 +503,8 @@ void DSPEngine::handleSetSource(SampleSource* source)
void DSPEngine::handleData()
{
qDebug() << "DSPEngine::handleData";
if(m_state == StRunning)
{
work();
@ -488,6 +513,8 @@ void DSPEngine::handleData()
void DSPEngine::handleSynchronousMessages(const Message& message)
{
qDebug() << "DSPEngine::handleSynchronousMessages";
if (DSPExit::match(message))
{
gotoIdle();
@ -597,6 +624,8 @@ void DSPEngine::handleSynchronousMessages(const Message& message)
void DSPEngine::handleInputMessages()
{
qDebug() << "DSPEngine::handleInputMessages";
Message* message;
while ((message = m_inputMessageQueue.pop()) != 0)

View File

@ -21,7 +21,9 @@
SyncMessenger::SyncMessenger() :
m_complete(0),
m_result(0)
{}
{
qRegisterMetaType<Message>("Message");
}
SyncMessenger::~SyncMessenger()
{}