mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-03-12 07:21:23 -04:00
Multi device support: migrate device specific stuff outside plugin classes completed for source plugins
This commit is contained in:
parent
4756299ad9
commit
7412ee0d54
@ -48,23 +48,23 @@ AirspyGui::AirspyGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent
|
|||||||
|
|
||||||
displaySettings();
|
displaySettings();
|
||||||
|
|
||||||
m_sampleSource = new AirspyInput(m_pluginAPI);
|
m_sampleSource = new AirspyInput(m_deviceAPI);
|
||||||
m_rates = ((AirspyInput*) m_sampleSource)->getSampleRates();
|
m_rates = ((AirspyInput*) m_sampleSource)->getSampleRates();
|
||||||
displaySampleRates();
|
displaySampleRates();
|
||||||
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
char recFileNameCStr[30];
|
char recFileNameCStr[30];
|
||||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceAPI->getDeviceUID());
|
||||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||||
m_deviceAPI->addSink(m_fileSink);
|
m_deviceAPI->addSink(m_fileSink);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
AirspyGui::~AirspyGui()
|
AirspyGui::~AirspyGui()
|
||||||
{
|
{
|
||||||
m_pluginAPI->removeSink(m_fileSink);
|
m_deviceAPI->removeSink(m_fileSink);
|
||||||
delete m_fileSink;
|
delete m_fileSink;
|
||||||
delete m_sampleSource; // Valgrind memcheck
|
delete m_sampleSource; // Valgrind memcheck
|
||||||
delete ui;
|
delete ui;
|
||||||
@ -140,7 +140,7 @@ void AirspyGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("AirspyGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("AirspyGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -175,8 +175,8 @@ void AirspyGui::handleSourceMessages()
|
|||||||
|
|
||||||
void AirspyGui::updateSampleRateAndFrequency()
|
void AirspyGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -348,15 +348,15 @@ void AirspyGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -385,7 +385,7 @@ void AirspyGui::updateHardware()
|
|||||||
|
|
||||||
void AirspyGui::updateStatus()
|
void AirspyGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -402,7 +402,7 @@ void AirspyGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
#include "airspygui.h"
|
#include "airspygui.h"
|
||||||
#include "airspyinput.h"
|
#include "airspyinput.h"
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "airspysettings.h"
|
#include "airspysettings.h"
|
||||||
@ -29,8 +29,8 @@
|
|||||||
MESSAGE_CLASS_DEFINITION(AirspyInput::MsgConfigureAirspy, Message)
|
MESSAGE_CLASS_DEFINITION(AirspyInput::MsgConfigureAirspy, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(AirspyInput::MsgReportAirspy, Message)
|
MESSAGE_CLASS_DEFINITION(AirspyInput::MsgReportAirspy, Message)
|
||||||
|
|
||||||
AirspyInput::AirspyInput(PluginAPI *pluginAPI) :
|
AirspyInput::AirspyInput(DeviceAPI *deviceAPI) :
|
||||||
m_pluginAPI(pluginAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
m_settings(),
|
m_settings(),
|
||||||
m_dev(0),
|
m_dev(0),
|
||||||
m_airspyThread(0),
|
m_airspyThread(0),
|
||||||
@ -228,13 +228,13 @@ bool AirspyInput::applySettings(const AirspySettings& settings, bool force)
|
|||||||
if (m_settings.m_dcBlock != settings.m_dcBlock)
|
if (m_settings.m_dcBlock != settings.m_dcBlock)
|
||||||
{
|
{
|
||||||
m_settings.m_dcBlock = settings.m_dcBlock;
|
m_settings.m_dcBlock = settings.m_dcBlock;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_settings.m_iqCorrection != settings.m_iqCorrection)
|
if (m_settings.m_iqCorrection != settings.m_iqCorrection)
|
||||||
{
|
{
|
||||||
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((m_settings.m_devSampleRateIndex != settings.m_devSampleRateIndex) || force)
|
if ((m_settings.m_devSampleRateIndex != settings.m_devSampleRateIndex) || force)
|
||||||
@ -451,7 +451,7 @@ bool AirspyInput::applySettings(const AirspySettings& settings, bool force)
|
|||||||
{
|
{
|
||||||
int sampleRate = devSampleRate/(1<<m_settings.m_log2Decim);
|
int sampleRate = devSampleRate/(1<<m_settings.m_log2Decim);
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
||||||
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <libairspy/airspy.h>
|
#include <libairspy/airspy.h>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
class AirspyThread;
|
class AirspyThread;
|
||||||
|
|
||||||
class AirspyInput : public SampleSource {
|
class AirspyInput : public SampleSource {
|
||||||
@ -67,7 +67,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
AirspyInput(PluginAPI *pluginAPI);
|
AirspyInput(DeviceAPI *deviceAPI);
|
||||||
virtual ~AirspyInput();
|
virtual ~AirspyInput();
|
||||||
|
|
||||||
virtual bool init(const Message& message);
|
virtual bool init(const Message& message);
|
||||||
@ -86,7 +86,7 @@ private:
|
|||||||
struct airspy_device *open_airspy_from_sequence(int sequence);
|
struct airspy_device *open_airspy_from_sequence(int sequence);
|
||||||
void setCenterFrequency(quint64 freq);
|
void setCenterFrequency(quint64 freq);
|
||||||
|
|
||||||
PluginAPI *m_pluginAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
AirspySettings m_settings;
|
AirspySettings m_settings;
|
||||||
struct airspy_device* m_dev;
|
struct airspy_device* m_dev;
|
||||||
|
@ -61,20 +61,20 @@ BladerfGui::BladerfGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* pare
|
|||||||
|
|
||||||
displaySettings();
|
displaySettings();
|
||||||
|
|
||||||
m_sampleSource = new BladerfInput(m_pluginAPI);
|
m_sampleSource = new BladerfInput(m_deviceAPI);
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
char recFileNameCStr[30];
|
char recFileNameCStr[30];
|
||||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceAPI->getDeviceUID());
|
||||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||||
m_deviceAPI->addSink(m_fileSink);
|
m_deviceAPI->addSink(m_fileSink);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
BladerfGui::~BladerfGui()
|
BladerfGui::~BladerfGui()
|
||||||
{
|
{
|
||||||
m_pluginAPI->removeSink(m_fileSink);
|
m_deviceAPI->removeSink(m_fileSink);
|
||||||
delete m_fileSink;
|
delete m_fileSink;
|
||||||
delete m_sampleSource; // Valgrind memcheck
|
delete m_sampleSource; // Valgrind memcheck
|
||||||
delete ui;
|
delete ui;
|
||||||
@ -148,7 +148,7 @@ void BladerfGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("BladerfGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("BladerfGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -168,8 +168,8 @@ void BladerfGui::handleDSPMessages()
|
|||||||
|
|
||||||
void BladerfGui::updateSampleRateAndFrequency()
|
void BladerfGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateLabel->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
ui->deviceRateLabel->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -356,15 +356,15 @@ void BladerfGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -393,7 +393,7 @@ void BladerfGui::updateHardware()
|
|||||||
|
|
||||||
void BladerfGui::updateStatus()
|
void BladerfGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -410,7 +410,7 @@ void BladerfGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "util/simpleserializer.h"
|
#include "util/simpleserializer.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
@ -29,8 +29,8 @@
|
|||||||
MESSAGE_CLASS_DEFINITION(BladerfInput::MsgConfigureBladerf, Message)
|
MESSAGE_CLASS_DEFINITION(BladerfInput::MsgConfigureBladerf, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(BladerfInput::MsgReportBladerf, Message)
|
MESSAGE_CLASS_DEFINITION(BladerfInput::MsgReportBladerf, Message)
|
||||||
|
|
||||||
BladerfInput::BladerfInput(PluginAPI *pluginAPI) :
|
BladerfInput::BladerfInput(DeviceAPI *deviceAPI) :
|
||||||
m_pluginAPI(pluginAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
m_settings(),
|
m_settings(),
|
||||||
m_dev(0),
|
m_dev(0),
|
||||||
m_bladerfThread(0),
|
m_bladerfThread(0),
|
||||||
@ -182,13 +182,13 @@ bool BladerfInput::applySettings(const BladeRFSettings& settings, bool force)
|
|||||||
if (m_settings.m_dcBlock != settings.m_dcBlock)
|
if (m_settings.m_dcBlock != settings.m_dcBlock)
|
||||||
{
|
{
|
||||||
m_settings.m_dcBlock = settings.m_dcBlock;
|
m_settings.m_dcBlock = settings.m_dcBlock;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_settings.m_iqCorrection != settings.m_iqCorrection)
|
if (m_settings.m_iqCorrection != settings.m_iqCorrection)
|
||||||
{
|
{
|
||||||
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((m_settings.m_lnaGain != settings.m_lnaGain) || force)
|
if ((m_settings.m_lnaGain != settings.m_lnaGain) || force)
|
||||||
@ -415,7 +415,7 @@ bool BladerfInput::applySettings(const BladeRFSettings& settings, bool force)
|
|||||||
{
|
{
|
||||||
int sampleRate = m_settings.m_devSampleRate/(1<<m_settings.m_log2Decim);
|
int sampleRate = m_settings.m_devSampleRate/(1<<m_settings.m_log2Decim);
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
||||||
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
}
|
}
|
||||||
|
|
||||||
qDebug() << "BladerfInput::applySettings: center freq: " << m_settings.m_centerFrequency << " Hz"
|
qDebug() << "BladerfInput::applySettings: center freq: " << m_settings.m_centerFrequency << " Hz"
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include <libbladeRF.h>
|
#include <libbladeRF.h>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
class BladerfThread;
|
class BladerfThread;
|
||||||
|
|
||||||
class BladerfInput : public SampleSource {
|
class BladerfInput : public SampleSource {
|
||||||
@ -64,7 +64,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
BladerfInput(PluginAPI *pluginAPI);
|
BladerfInput(DeviceAPI *deviceAPI);
|
||||||
virtual ~BladerfInput();
|
virtual ~BladerfInput();
|
||||||
|
|
||||||
virtual bool init(const Message& message);
|
virtual bool init(const Message& message);
|
||||||
@ -82,7 +82,7 @@ private:
|
|||||||
bladerf_lna_gain getLnaGain(int lnaGain);
|
bladerf_lna_gain getLnaGain(int lnaGain);
|
||||||
struct bladerf *open_bladerf_from_serial(const char *serial);
|
struct bladerf *open_bladerf_from_serial(const char *serial);
|
||||||
|
|
||||||
PluginAPI *m_pluginAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
BladeRFSettings m_settings;
|
BladeRFSettings m_settings;
|
||||||
struct bladerf* m_dev;
|
struct bladerf* m_dev;
|
||||||
|
@ -142,20 +142,20 @@ FCDProGui::FCDProGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent
|
|||||||
|
|
||||||
displaySettings();
|
displaySettings();
|
||||||
|
|
||||||
m_sampleSource = new FCDProInput(m_pluginAPI);
|
m_sampleSource = new FCDProInput(m_deviceAPI);
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
char recFileNameCStr[30];
|
char recFileNameCStr[30];
|
||||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceAPI->getDeviceUID());
|
||||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||||
m_deviceAPI->addSink(m_fileSink);
|
m_deviceAPI->addSink(m_fileSink);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
FCDProGui::~FCDProGui()
|
FCDProGui::~FCDProGui()
|
||||||
{
|
{
|
||||||
m_pluginAPI->removeSink(m_fileSink);
|
m_deviceAPI->removeSink(m_fileSink);
|
||||||
delete m_fileSink;
|
delete m_fileSink;
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
@ -223,7 +223,7 @@ void FCDProGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("FCDProGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("FCDProGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -243,8 +243,8 @@ void FCDProGui::handleDSPMessages()
|
|||||||
|
|
||||||
void FCDProGui::updateSampleRateAndFrequency()
|
void FCDProGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -426,15 +426,15 @@ void FCDProGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -455,7 +455,7 @@ void FCDProGui::on_record_toggled(bool checked)
|
|||||||
|
|
||||||
void FCDProGui::updateStatus()
|
void FCDProGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -472,7 +472,7 @@ void FCDProGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "fcdproinput.h"
|
#include "fcdproinput.h"
|
||||||
@ -33,8 +33,8 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(FCDProInput::MsgConfigureFCD, Message)
|
MESSAGE_CLASS_DEFINITION(FCDProInput::MsgConfigureFCD, Message)
|
||||||
|
|
||||||
FCDProInput::FCDProInput(PluginAPI *pluginAPI) :
|
FCDProInput::FCDProInput(DeviceAPI *deviceAPI) :
|
||||||
m_pluginAPI(pluginAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
m_dev(0),
|
m_dev(0),
|
||||||
m_settings(),
|
m_settings(),
|
||||||
m_FCDThread(0),
|
m_FCDThread(0),
|
||||||
@ -335,19 +335,19 @@ void FCDProInput::applySettings(const FCDProSettings& settings, bool force)
|
|||||||
if ((m_settings.m_dcBlock != settings.m_dcBlock) || force)
|
if ((m_settings.m_dcBlock != settings.m_dcBlock) || force)
|
||||||
{
|
{
|
||||||
m_settings.m_dcBlock = settings.m_dcBlock;
|
m_settings.m_dcBlock = settings.m_dcBlock;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((m_settings.m_iqCorrection != settings.m_iqCorrection) || force)
|
if ((m_settings.m_iqCorrection != settings.m_iqCorrection) || force)
|
||||||
{
|
{
|
||||||
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (signalChange)
|
if (signalChange)
|
||||||
{
|
{
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(fcd_traits<Pro>::sampleRate, m_settings.m_centerFrequency);
|
DSPSignalNotification *notif = new DSPSignalNotification(fcd_traits<Pro>::sampleRate, m_settings.m_centerFrequency);
|
||||||
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ struct fcd_buffer {
|
|||||||
std::size_t length;
|
std::size_t length;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
class FCDProThread;
|
class FCDProThread;
|
||||||
|
|
||||||
class FCDProInput : public SampleSource {
|
class FCDProInput : public SampleSource {
|
||||||
@ -54,7 +54,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
FCDProInput(PluginAPI *pluginAPI);
|
FCDProInput(DeviceAPI *deviceAPI);
|
||||||
virtual ~FCDProInput();
|
virtual ~FCDProInput();
|
||||||
|
|
||||||
virtual bool init(const Message& cmd);
|
virtual bool init(const Message& cmd);
|
||||||
@ -90,7 +90,7 @@ private:
|
|||||||
void applySettings(const FCDProSettings& settings, bool force);
|
void applySettings(const FCDProSettings& settings, bool force);
|
||||||
void set_lo_ppm();
|
void set_lo_ppm();
|
||||||
|
|
||||||
PluginAPI *m_pluginAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
hid_device *m_dev;
|
hid_device *m_dev;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
FCDProSettings m_settings;
|
FCDProSettings m_settings;
|
||||||
|
@ -60,20 +60,20 @@ FCDProPlusGui::FCDProPlusGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget
|
|||||||
|
|
||||||
displaySettings();
|
displaySettings();
|
||||||
|
|
||||||
m_sampleSource = new FCDProPlusInput(m_pluginAPI);
|
m_sampleSource = new FCDProPlusInput(m_deviceAPI);
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
char recFileNameCStr[30];
|
char recFileNameCStr[30];
|
||||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceAPI->getDeviceUID());
|
||||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||||
m_deviceAPI->addSink(m_fileSink);
|
m_deviceAPI->addSink(m_fileSink);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
FCDProPlusGui::~FCDProPlusGui()
|
FCDProPlusGui::~FCDProPlusGui()
|
||||||
{
|
{
|
||||||
m_pluginAPI->removeSink(m_fileSink);
|
m_deviceAPI->removeSink(m_fileSink);
|
||||||
delete m_fileSink;
|
delete m_fileSink;
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
@ -141,7 +141,7 @@ void FCDProPlusGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("RTLSDRGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("RTLSDRGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -161,8 +161,8 @@ void FCDProPlusGui::handleDSPMessages()
|
|||||||
|
|
||||||
void FCDProPlusGui::updateSampleRateAndFrequency()
|
void FCDProPlusGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,7 +215,7 @@ void FCDProPlusGui::updateHardware()
|
|||||||
|
|
||||||
void FCDProPlusGui::updateStatus()
|
void FCDProPlusGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -232,7 +232,7 @@ void FCDProPlusGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@ -290,15 +290,15 @@ void FCDProPlusGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "fcdproplusinput.h"
|
#include "fcdproplusinput.h"
|
||||||
@ -32,8 +32,8 @@
|
|||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(FCDProPlusInput::MsgConfigureFCD, Message)
|
MESSAGE_CLASS_DEFINITION(FCDProPlusInput::MsgConfigureFCD, Message)
|
||||||
|
|
||||||
FCDProPlusInput::FCDProPlusInput(PluginAPI *pluginAPI) :
|
FCDProPlusInput::FCDProPlusInput(DeviceAPI *deviceAPI) :
|
||||||
m_pluginApi(pluginAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
m_dev(0),
|
m_dev(0),
|
||||||
m_settings(),
|
m_settings(),
|
||||||
m_FCDThread(0),
|
m_FCDThread(0),
|
||||||
@ -234,19 +234,19 @@ void FCDProPlusInput::applySettings(const FCDProPlusSettings& settings, bool for
|
|||||||
if ((m_settings.m_dcBlock != settings.m_dcBlock) || force)
|
if ((m_settings.m_dcBlock != settings.m_dcBlock) || force)
|
||||||
{
|
{
|
||||||
m_settings.m_dcBlock = settings.m_dcBlock;
|
m_settings.m_dcBlock = settings.m_dcBlock;
|
||||||
m_pluginApi->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((m_settings.m_iqImbalance != settings.m_iqImbalance) || force)
|
if ((m_settings.m_iqImbalance != settings.m_iqImbalance) || force)
|
||||||
{
|
{
|
||||||
m_settings.m_iqImbalance = settings.m_iqImbalance;
|
m_settings.m_iqImbalance = settings.m_iqImbalance;
|
||||||
m_pluginApi->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (signalChange)
|
if (signalChange)
|
||||||
{
|
{
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(fcd_traits<ProPlus>::sampleRate, m_settings.m_centerFrequency);
|
DSPSignalNotification *notif = new DSPSignalNotification(fcd_traits<ProPlus>::sampleRate, m_settings.m_centerFrequency);
|
||||||
m_pluginApi->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,7 +28,7 @@ struct fcd_buffer {
|
|||||||
std::size_t length;
|
std::size_t length;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
class FCDProPlusThread;
|
class FCDProPlusThread;
|
||||||
|
|
||||||
class FCDProPlusInput : public SampleSource {
|
class FCDProPlusInput : public SampleSource {
|
||||||
@ -53,7 +53,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
FCDProPlusInput(PluginAPI *pluginAPI);
|
FCDProPlusInput(DeviceAPI *deviceAPI);
|
||||||
virtual ~FCDProPlusInput();
|
virtual ~FCDProPlusInput();
|
||||||
|
|
||||||
virtual bool init(const Message& cmd);
|
virtual bool init(const Message& cmd);
|
||||||
@ -78,7 +78,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void applySettings(const FCDProPlusSettings& settings, bool force);
|
void applySettings(const FCDProPlusSettings& settings, bool force);
|
||||||
|
|
||||||
PluginAPI *m_pluginApi;
|
DeviceAPI *m_deviceAPI;
|
||||||
hid_device *m_dev;
|
hid_device *m_dev;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
FCDProPlusSettings m_settings;
|
FCDProPlusSettings m_settings;
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
|
|
||||||
#include "ui_filesourcegui.h"
|
#include "ui_filesourcegui.h"
|
||||||
#include "plugin/pluginapi.h"
|
#include "plugin/pluginapi.h"
|
||||||
|
#include "device/deviceapi.h"
|
||||||
#include "gui/colormapper.h"
|
#include "gui/colormapper.h"
|
||||||
#include "gui/glspectrum.h"
|
#include "gui/glspectrum.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
@ -68,9 +69,9 @@ FileSourceGui::FileSourceGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget
|
|||||||
|
|
||||||
m_sampleSource = new FileSourceInput(m_pluginAPI->getMainWindow()->getMasterTimer());
|
m_sampleSource = new FileSourceInput(m_pluginAPI->getMainWindow()->getMasterTimer());
|
||||||
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
FileSourceGui::~FileSourceGui()
|
FileSourceGui::~FileSourceGui()
|
||||||
@ -133,7 +134,7 @@ void FileSourceGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("FileSourceGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("FileSourceGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -196,8 +197,8 @@ void FileSourceGui::handleSourceMessages()
|
|||||||
|
|
||||||
void FileSourceGui::updateSampleRateAndFrequency()
|
void FileSourceGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_deviceSampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_deviceSampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateText->setText(tr("%1k").arg((float)m_deviceSampleRate / 1000));
|
ui->deviceRateText->setText(tr("%1k").arg((float)m_deviceSampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -218,22 +219,22 @@ void FileSourceGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void FileSourceGui::updateStatus()
|
void FileSourceGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -250,7 +251,7 @@ void FileSourceGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -48,24 +48,24 @@ HackRFGui::HackRFGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent
|
|||||||
|
|
||||||
displaySettings();
|
displaySettings();
|
||||||
|
|
||||||
m_sampleSource = new HackRFInput(m_pluginAPI);
|
m_sampleSource = new HackRFInput(m_deviceAPI);
|
||||||
|
|
||||||
displaySampleRates();
|
displaySampleRates();
|
||||||
displayBandwidths();
|
displayBandwidths();
|
||||||
|
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
char recFileNameCStr[30];
|
char recFileNameCStr[30];
|
||||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceAPI->getDeviceUID());
|
||||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||||
m_deviceAPI->addSink(m_fileSink);
|
m_deviceAPI->addSink(m_fileSink);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
HackRFGui::~HackRFGui()
|
HackRFGui::~HackRFGui()
|
||||||
{
|
{
|
||||||
m_pluginAPI->removeSink(m_fileSink);
|
m_deviceAPI->removeSink(m_fileSink);
|
||||||
delete m_fileSink;
|
delete m_fileSink;
|
||||||
delete m_sampleSource; // Valgrind memcheck
|
delete m_sampleSource; // Valgrind memcheck
|
||||||
delete ui;
|
delete ui;
|
||||||
@ -131,7 +131,7 @@ void HackRFGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("HackRFGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("HackRFGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -151,8 +151,8 @@ void HackRFGui::handleDSPMessages()
|
|||||||
|
|
||||||
void HackRFGui::updateSampleRateAndFrequency()
|
void HackRFGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -331,15 +331,15 @@ void HackRFGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -368,7 +368,7 @@ void HackRFGui::updateHardware()
|
|||||||
|
|
||||||
void HackRFGui::updateStatus()
|
void HackRFGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -385,7 +385,7 @@ void HackRFGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "util/simpleserializer.h"
|
#include "util/simpleserializer.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
@ -30,8 +30,8 @@
|
|||||||
MESSAGE_CLASS_DEFINITION(HackRFInput::MsgConfigureHackRF, Message)
|
MESSAGE_CLASS_DEFINITION(HackRFInput::MsgConfigureHackRF, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(HackRFInput::MsgReportHackRF, Message)
|
MESSAGE_CLASS_DEFINITION(HackRFInput::MsgReportHackRF, Message)
|
||||||
|
|
||||||
HackRFInput::HackRFInput(PluginAPI *pluginAPI) :
|
HackRFInput::HackRFInput(DeviceAPI *deviceAPI) :
|
||||||
m_pluginAPI(pluginAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
m_settings(),
|
m_settings(),
|
||||||
m_dev(0),
|
m_dev(0),
|
||||||
m_hackRFThread(0),
|
m_hackRFThread(0),
|
||||||
@ -185,13 +185,13 @@ bool HackRFInput::applySettings(const HackRFSettings& settings, bool force)
|
|||||||
if (m_settings.m_dcBlock != settings.m_dcBlock)
|
if (m_settings.m_dcBlock != settings.m_dcBlock)
|
||||||
{
|
{
|
||||||
m_settings.m_dcBlock = settings.m_dcBlock;
|
m_settings.m_dcBlock = settings.m_dcBlock;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_settings.m_iqCorrection != settings.m_iqCorrection)
|
if (m_settings.m_iqCorrection != settings.m_iqCorrection)
|
||||||
{
|
{
|
||||||
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
m_settings.m_iqCorrection = settings.m_iqCorrection;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqCorrection);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((m_settings.m_devSampleRateIndex != settings.m_devSampleRateIndex) || force)
|
if ((m_settings.m_devSampleRateIndex != settings.m_devSampleRateIndex) || force)
|
||||||
@ -398,7 +398,7 @@ bool HackRFInput::applySettings(const HackRFSettings& settings, bool force)
|
|||||||
{
|
{
|
||||||
int sampleRate = devSampleRate/(1<<m_settings.m_log2Decim);
|
int sampleRate = devSampleRate/(1<<m_settings.m_log2Decim);
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
||||||
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
#include "hackrfsettings.h"
|
#include "hackrfsettings.h"
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
class HackRFThread;
|
class HackRFThread;
|
||||||
|
|
||||||
class HackRFInput : public SampleSource {
|
class HackRFInput : public SampleSource {
|
||||||
@ -65,7 +65,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
HackRFInput(PluginAPI *pluginAPI);
|
HackRFInput(DeviceAPI *deviceAPI);
|
||||||
virtual ~HackRFInput();
|
virtual ~HackRFInput();
|
||||||
|
|
||||||
virtual bool init(const Message& message);
|
virtual bool init(const Message& message);
|
||||||
@ -83,7 +83,7 @@ private:
|
|||||||
hackrf_device *open_hackrf_from_sequence(int sequence);
|
hackrf_device *open_hackrf_from_sequence(int sequence);
|
||||||
void setCenterFrequency(quint64 freq);
|
void setCenterFrequency(quint64 freq);
|
||||||
|
|
||||||
PluginAPI *m_pluginAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
HackRFSettings m_settings;
|
HackRFSettings m_settings;
|
||||||
struct hackrf_device* m_dev;
|
struct hackrf_device* m_dev;
|
||||||
|
@ -53,21 +53,21 @@ RTLSDRGui::RTLSDRGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent
|
|||||||
|
|
||||||
displaySettings();
|
displaySettings();
|
||||||
|
|
||||||
m_sampleSource = new RTLSDRInput(m_pluginAPI);
|
m_sampleSource = new RTLSDRInput(m_deviceAPI);
|
||||||
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
char recFileNameCStr[30];
|
char recFileNameCStr[30];
|
||||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceAPI->getDeviceUID());
|
||||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||||
m_deviceAPI->addSink(m_fileSink);
|
m_deviceAPI->addSink(m_fileSink);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
RTLSDRGui::~RTLSDRGui()
|
RTLSDRGui::~RTLSDRGui()
|
||||||
{
|
{
|
||||||
m_pluginAPI->removeSink(m_fileSink);
|
m_deviceAPI->removeSink(m_fileSink);
|
||||||
delete m_fileSink;
|
delete m_fileSink;
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
@ -157,7 +157,7 @@ void RTLSDRGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("RTLSDRGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("RTLSDRGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -192,8 +192,8 @@ void RTLSDRGui::handleSourceMessages()
|
|||||||
|
|
||||||
void RTLSDRGui::updateSampleRateAndFrequency()
|
void RTLSDRGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -315,15 +315,15 @@ void RTLSDRGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -351,7 +351,7 @@ void RTLSDRGui::updateHardware()
|
|||||||
|
|
||||||
void RTLSDRGui::updateStatus()
|
void RTLSDRGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -368,7 +368,7 @@ void RTLSDRGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -21,15 +21,15 @@
|
|||||||
#include "rtlsdrinput.h"
|
#include "rtlsdrinput.h"
|
||||||
#include "rtlsdrthread.h"
|
#include "rtlsdrthread.h"
|
||||||
#include "rtlsdrgui.h"
|
#include "rtlsdrgui.h"
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
|
|
||||||
MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgConfigureRTLSDR, Message)
|
MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgConfigureRTLSDR, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgReportRTLSDR, Message)
|
MESSAGE_CLASS_DEFINITION(RTLSDRInput::MsgReportRTLSDR, Message)
|
||||||
|
|
||||||
RTLSDRInput::RTLSDRInput(PluginAPI *pluginAPI) :
|
RTLSDRInput::RTLSDRInput(DeviceAPI *deviceAPI) :
|
||||||
m_pluginAPI(pluginAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
m_settings(),
|
m_settings(),
|
||||||
m_dev(0),
|
m_dev(0),
|
||||||
m_rtlSDRThread(0),
|
m_rtlSDRThread(0),
|
||||||
@ -358,20 +358,20 @@ bool RTLSDRInput::applySettings(const RTLSDRSettings& settings, bool force)
|
|||||||
if ((m_settings.m_dcBlock != settings.m_dcBlock) || force)
|
if ((m_settings.m_dcBlock != settings.m_dcBlock) || force)
|
||||||
{
|
{
|
||||||
m_settings.m_dcBlock = settings.m_dcBlock;
|
m_settings.m_dcBlock = settings.m_dcBlock;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((m_settings.m_iqImbalance != settings.m_iqImbalance) || force)
|
if ((m_settings.m_iqImbalance != settings.m_iqImbalance) || force)
|
||||||
{
|
{
|
||||||
m_settings.m_iqImbalance = settings.m_iqImbalance;
|
m_settings.m_iqImbalance = settings.m_iqImbalance;
|
||||||
m_pluginAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
m_deviceAPI->configureCorrections(m_settings.m_dcBlock, m_settings.m_iqImbalance);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (forwardChange)
|
if (forwardChange)
|
||||||
{
|
{
|
||||||
int sampleRate = m_settings.m_devSampleRate/(1<<m_settings.m_log2Decim);
|
int sampleRate = m_settings.m_devSampleRate/(1<<m_settings.m_log2Decim);
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
|
||||||
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
#include <rtl-sdr.h>
|
#include <rtl-sdr.h>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
class RTLSDRThread;
|
class RTLSDRThread;
|
||||||
|
|
||||||
class RTLSDRInput : public SampleSource {
|
class RTLSDRInput : public SampleSource {
|
||||||
@ -68,7 +68,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
RTLSDRInput(PluginAPI *pluginAPI);
|
RTLSDRInput(DeviceAPI *deviceAPI);
|
||||||
virtual ~RTLSDRInput();
|
virtual ~RTLSDRInput();
|
||||||
|
|
||||||
virtual bool init(const Message& message);
|
virtual bool init(const Message& message);
|
||||||
@ -84,7 +84,7 @@ public:
|
|||||||
void set_ds_mode(int on);
|
void set_ds_mode(int on);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PluginAPI *m_pluginAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
RTLSDRSettings m_settings;
|
RTLSDRSettings m_settings;
|
||||||
rtlsdr_dev_t* m_dev;
|
rtlsdr_dev_t* m_dev;
|
||||||
|
@ -90,25 +90,25 @@ SDRdaemonGui::SDRdaemonGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget*
|
|||||||
m_statusTimer.start(500);
|
m_statusTimer.start(500);
|
||||||
connect(&(m_pluginAPI->getMainWindow()->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
|
connect(&(m_pluginAPI->getMainWindow()->getMasterTimer()), SIGNAL(timeout()), this, SLOT(tick()));
|
||||||
|
|
||||||
m_sampleSource = new SDRdaemonInput(m_pluginAPI->getMainWindow()->getMasterTimer(), m_pluginAPI);
|
m_sampleSource = new SDRdaemonInput(m_pluginAPI->getMainWindow()->getMasterTimer(), m_deviceAPI);
|
||||||
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
connect(m_sampleSource->getOutputMessageQueueToGUI(), SIGNAL(messageEnqueued()), this, SLOT(handleSourceMessages()));
|
||||||
m_pluginAPI->setSource(m_sampleSource);
|
m_deviceAPI->setSource(m_sampleSource);
|
||||||
|
|
||||||
displaySettings();
|
displaySettings();
|
||||||
ui->applyButton->setEnabled(false);
|
ui->applyButton->setEnabled(false);
|
||||||
ui->sendButton->setEnabled(false);
|
ui->sendButton->setEnabled(false);
|
||||||
|
|
||||||
char recFileNameCStr[30];
|
char recFileNameCStr[30];
|
||||||
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
|
sprintf(recFileNameCStr, "test_%d.sdriq", m_deviceAPI->getDeviceUID());
|
||||||
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
m_fileSink = new FileSink(std::string(recFileNameCStr));
|
||||||
m_deviceAPI->addSink(m_fileSink);
|
m_deviceAPI->addSink(m_fileSink);
|
||||||
|
|
||||||
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
connect(m_deviceAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
|
||||||
}
|
}
|
||||||
|
|
||||||
SDRdaemonGui::~SDRdaemonGui()
|
SDRdaemonGui::~SDRdaemonGui()
|
||||||
{
|
{
|
||||||
m_pluginAPI->removeSink(m_fileSink);
|
m_deviceAPI->removeSink(m_fileSink);
|
||||||
delete m_fileSink;
|
delete m_fileSink;
|
||||||
delete ui;
|
delete ui;
|
||||||
}
|
}
|
||||||
@ -337,7 +337,7 @@ void SDRdaemonGui::handleDSPMessages()
|
|||||||
{
|
{
|
||||||
Message* message;
|
Message* message;
|
||||||
|
|
||||||
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
|
||||||
{
|
{
|
||||||
qDebug("SDRdaemonGui::handleDSPMessages: message: %s", message->getIdentifier());
|
qDebug("SDRdaemonGui::handleDSPMessages: message: %s", message->getIdentifier());
|
||||||
|
|
||||||
@ -372,8 +372,8 @@ void SDRdaemonGui::handleSourceMessages()
|
|||||||
|
|
||||||
void SDRdaemonGui::updateSampleRateAndFrequency()
|
void SDRdaemonGui::updateSampleRateAndFrequency()
|
||||||
{
|
{
|
||||||
m_pluginAPI->getSpectrum()->setSampleRate(m_deviceSampleRate);
|
m_deviceAPI->getSpectrum()->setSampleRate(m_deviceSampleRate);
|
||||||
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
|
||||||
ui->deviceRateText->setText(tr("%1k").arg((float)m_deviceSampleRate / 1000));
|
ui->deviceRateText->setText(tr("%1k").arg((float)m_deviceSampleRate / 1000));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -587,15 +587,15 @@ void SDRdaemonGui::on_startStop_toggled(bool checked)
|
|||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
{
|
{
|
||||||
if (m_pluginAPI->initAcquisition())
|
if (m_deviceAPI->initAcquisition())
|
||||||
{
|
{
|
||||||
m_pluginAPI->startAcquisition();
|
m_deviceAPI->startAcquisition();
|
||||||
DSPEngine::instance()->startAudio();
|
DSPEngine::instance()->startAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_pluginAPI->stopAcquistion();
|
m_deviceAPI->stopAcquisition();
|
||||||
DSPEngine::instance()->stopAudio();
|
DSPEngine::instance()->stopAudio();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -701,7 +701,7 @@ void SDRdaemonGui::updateWithStreamTime()
|
|||||||
|
|
||||||
void SDRdaemonGui::updateStatus()
|
void SDRdaemonGui::updateStatus()
|
||||||
{
|
{
|
||||||
int state = m_pluginAPI->state();
|
int state = m_deviceAPI->state();
|
||||||
|
|
||||||
if(m_lastEngineState != state)
|
if(m_lastEngineState != state)
|
||||||
{
|
{
|
||||||
@ -718,7 +718,7 @@ void SDRdaemonGui::updateStatus()
|
|||||||
break;
|
break;
|
||||||
case DSPDeviceEngine::StError:
|
case DSPDeviceEngine::StError:
|
||||||
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
|
||||||
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
|
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "util/simpleserializer.h"
|
#include "util/simpleserializer.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
@ -38,8 +38,8 @@ MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonAcquisition, Message)
|
|||||||
MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonStreamData, Message)
|
MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonStreamData, Message)
|
||||||
MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonStreamTiming, Message)
|
MESSAGE_CLASS_DEFINITION(SDRdaemonInput::MsgReportSDRdaemonStreamTiming, Message)
|
||||||
|
|
||||||
SDRdaemonInput::SDRdaemonInput(const QTimer& masterTimer, PluginAPI *pluginAPI) :
|
SDRdaemonInput::SDRdaemonInput(const QTimer& masterTimer, DeviceAPI *deviceAPI) :
|
||||||
m_pluginAPI(pluginAPI),
|
m_deviceAPI(deviceAPI),
|
||||||
m_address("127.0.0.1"),
|
m_address("127.0.0.1"),
|
||||||
m_port(9090),
|
m_port(9090),
|
||||||
m_SDRdaemonUDPHandler(0),
|
m_SDRdaemonUDPHandler(0),
|
||||||
@ -52,7 +52,7 @@ SDRdaemonInput::SDRdaemonInput(const QTimer& masterTimer, PluginAPI *pluginAPI)
|
|||||||
m_autoCorrBuffer(false)
|
m_autoCorrBuffer(false)
|
||||||
{
|
{
|
||||||
m_sampleFifo.setSize(96000 * 4);
|
m_sampleFifo.setSize(96000 * 4);
|
||||||
m_SDRdaemonUDPHandler = new SDRdaemonUDPHandler(&m_sampleFifo, getOutputMessageQueueToGUI(), m_pluginAPI);
|
m_SDRdaemonUDPHandler = new SDRdaemonUDPHandler(&m_sampleFifo, getOutputMessageQueueToGUI(), m_deviceAPI);
|
||||||
m_SDRdaemonUDPHandler->connectTimer(&m_masterTimer);
|
m_SDRdaemonUDPHandler->connectTimer(&m_masterTimer);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -124,7 +124,7 @@ bool SDRdaemonInput::handleMessage(const Message& message)
|
|||||||
MsgConfigureSDRdaemonAutoCorr& conf = (MsgConfigureSDRdaemonAutoCorr&) message;
|
MsgConfigureSDRdaemonAutoCorr& conf = (MsgConfigureSDRdaemonAutoCorr&) message;
|
||||||
bool dcBlock = conf.getDCBlock();
|
bool dcBlock = conf.getDCBlock();
|
||||||
bool iqImbalance = conf.getIQImbalance();
|
bool iqImbalance = conf.getIQImbalance();
|
||||||
m_pluginAPI->configureCorrections(dcBlock, iqImbalance);
|
m_deviceAPI->configureCorrections(dcBlock, iqImbalance);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else if (MsgConfigureSDRdaemonAutoFollowPolicy::match(message))
|
else if (MsgConfigureSDRdaemonAutoFollowPolicy::match(message))
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
#include <iostream>
|
#include <iostream>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
class SDRdaemonUDPHandler;
|
class SDRdaemonUDPHandler;
|
||||||
|
|
||||||
class SDRdaemonInput : public SampleSource {
|
class SDRdaemonInput : public SampleSource {
|
||||||
@ -274,7 +274,7 @@ public:
|
|||||||
{ }
|
{ }
|
||||||
};
|
};
|
||||||
|
|
||||||
SDRdaemonInput(const QTimer& masterTimer, PluginAPI *pluginAPI);
|
SDRdaemonInput(const QTimer& masterTimer, DeviceAPI *deviceAPI);
|
||||||
virtual ~SDRdaemonInput();
|
virtual ~SDRdaemonInput();
|
||||||
|
|
||||||
virtual bool init(const Message& message);
|
virtual bool init(const Message& message);
|
||||||
@ -290,7 +290,7 @@ public:
|
|||||||
virtual bool handleMessage(const Message& message);
|
virtual bool handleMessage(const Message& message);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PluginAPI *m_pluginAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
QMutex m_mutex;
|
QMutex m_mutex;
|
||||||
QString m_address;
|
QString m_address;
|
||||||
quint16 m_port;
|
quint16 m_port;
|
||||||
|
@ -19,14 +19,14 @@
|
|||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
#include "plugin/pluginapi.h"
|
#include "device/deviceapi.h"
|
||||||
#include "dsp/dspcommands.h"
|
#include "dsp/dspcommands.h"
|
||||||
#include "dsp/dspengine.h"
|
#include "dsp/dspengine.h"
|
||||||
#include "sdrdaemonudphandler.h"
|
#include "sdrdaemonudphandler.h"
|
||||||
#include "sdrdaemoninput.h"
|
#include "sdrdaemoninput.h"
|
||||||
|
|
||||||
SDRdaemonUDPHandler::SDRdaemonUDPHandler(SampleFifo *sampleFifo, MessageQueue *outputMessageQueueToGUI, PluginAPI *pluginAPI) :
|
SDRdaemonUDPHandler::SDRdaemonUDPHandler(SampleFifo *sampleFifo, MessageQueue *outputMessageQueueToGUI, DeviceAPI *devieAPI) :
|
||||||
m_pluginAPI(pluginAPI),
|
m_deviceAPI(devieAPI),
|
||||||
m_sdrDaemonBuffer(m_rateDivider),
|
m_sdrDaemonBuffer(m_rateDivider),
|
||||||
m_dataSocket(0),
|
m_dataSocket(0),
|
||||||
m_dataAddress(QHostAddress::LocalHost),
|
m_dataAddress(QHostAddress::LocalHost),
|
||||||
@ -91,7 +91,7 @@ void SDRdaemonUDPHandler::start()
|
|||||||
|
|
||||||
// Need to notify the DSP engine to actually start
|
// Need to notify the DSP engine to actually start
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency * 1000); // Frequency in Hz for the DSP engine
|
DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency * 1000); // Frequency in Hz for the DSP engine
|
||||||
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
m_elapsedTimer.start();
|
m_elapsedTimer.start();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -172,7 +172,7 @@ void SDRdaemonUDPHandler::processData()
|
|||||||
if (change)
|
if (change)
|
||||||
{
|
{
|
||||||
DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency * 1000); // Frequency in Hz for the DSP engine
|
DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency * 1000); // Frequency in Hz for the DSP engine
|
||||||
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
|
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
|
||||||
SDRdaemonInput::MsgReportSDRdaemonStreamData *report = SDRdaemonInput::MsgReportSDRdaemonStreamData::create(
|
SDRdaemonInput::MsgReportSDRdaemonStreamData *report = SDRdaemonInput::MsgReportSDRdaemonStreamData::create(
|
||||||
m_sdrDaemonBuffer.getSampleRateStream(),
|
m_sdrDaemonBuffer.getSampleRateStream(),
|
||||||
m_samplerate,
|
m_samplerate,
|
||||||
|
@ -30,13 +30,13 @@
|
|||||||
class SampleFifo;
|
class SampleFifo;
|
||||||
class MessageQueue;
|
class MessageQueue;
|
||||||
class QTimer;
|
class QTimer;
|
||||||
class PluginAPI;
|
class DeviceAPI;
|
||||||
|
|
||||||
class SDRdaemonUDPHandler : public QObject
|
class SDRdaemonUDPHandler : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
SDRdaemonUDPHandler(SampleFifo* sampleFifo, MessageQueue *outputMessageQueueToGUI, PluginAPI *pluginAPI);
|
SDRdaemonUDPHandler(SampleFifo* sampleFifo, MessageQueue *outputMessageQueueToGUI, DeviceAPI *deviceAPI);
|
||||||
~SDRdaemonUDPHandler();
|
~SDRdaemonUDPHandler();
|
||||||
void connectTimer(const QTimer* timer);
|
void connectTimer(const QTimer* timer);
|
||||||
void start();
|
void start();
|
||||||
@ -50,7 +50,7 @@ public slots:
|
|||||||
void dataReadyRead();
|
void dataReadyRead();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PluginAPI *m_pluginAPI;
|
DeviceAPI *m_deviceAPI;
|
||||||
SDRdaemonBuffer m_sdrDaemonBuffer;
|
SDRdaemonBuffer m_sdrDaemonBuffer;
|
||||||
QUdpSocket *m_dataSocket;
|
QUdpSocket *m_dataSocket;
|
||||||
QHostAddress m_dataAddress;
|
QHostAddress m_dataAddress;
|
||||||
|
@ -64,10 +64,10 @@ void PluginAPI::registerSampleSource(const QString& sourceName, PluginInterface*
|
|||||||
// m_pluginManager->addSink(sink);
|
// m_pluginManager->addSink(sink);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
void PluginAPI::removeSink(SampleSink* sink)
|
//void PluginAPI::removeSink(SampleSink* sink)
|
||||||
{
|
//{
|
||||||
m_pluginManager->removeSink(sink);
|
// m_pluginManager->removeSink(sink);
|
||||||
}
|
//}
|
||||||
|
|
||||||
void PluginAPI::addThreadedSink(ThreadedSampleSink* sink)
|
void PluginAPI::addThreadedSink(ThreadedSampleSink* sink)
|
||||||
{
|
{
|
||||||
@ -79,60 +79,60 @@ void PluginAPI::removeThreadedSink(ThreadedSampleSink* sink)
|
|||||||
m_pluginManager->removeThreadedSink(sink);
|
m_pluginManager->removeThreadedSink(sink);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PluginAPI::setSource(SampleSource* source)
|
//void PluginAPI::setSource(SampleSource* source)
|
||||||
{
|
//{
|
||||||
m_pluginManager->setSource(source);
|
// m_pluginManager->setSource(source);
|
||||||
}
|
//}
|
||||||
|
|
||||||
bool PluginAPI::initAcquisition()
|
//bool PluginAPI::initAcquisition()
|
||||||
{
|
//{
|
||||||
return m_pluginManager->initAcquisition();
|
// return m_pluginManager->initAcquisition();
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
//bool PluginAPI::startAcquisition()
|
||||||
|
//{
|
||||||
|
// return m_pluginManager->startAcquisition();
|
||||||
|
//}
|
||||||
|
//
|
||||||
|
//void PluginAPI::stopAcquistion()
|
||||||
|
//{
|
||||||
|
// m_pluginManager->stopAcquistion();
|
||||||
|
//}
|
||||||
|
|
||||||
bool PluginAPI::startAcquisition()
|
//DSPDeviceEngine::State PluginAPI::state() const
|
||||||
{
|
//{
|
||||||
return m_pluginManager->startAcquisition();
|
// return m_pluginManager->state();
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
//QString PluginAPI::errorMessage()
|
||||||
|
//{
|
||||||
|
// return m_pluginManager->errorMessage();
|
||||||
|
//}
|
||||||
|
|
||||||
void PluginAPI::stopAcquistion()
|
//uint PluginAPI::getDeviceUID() const
|
||||||
{
|
//{
|
||||||
m_pluginManager->stopAcquistion();
|
// return m_pluginManager->getDeviceUID();
|
||||||
}
|
//}
|
||||||
|
|
||||||
DSPDeviceEngine::State PluginAPI::state() const
|
//MessageQueue *PluginAPI::getDeviceInputMessageQueue()
|
||||||
{
|
//{
|
||||||
return m_pluginManager->state();
|
// return m_pluginManager->getDeviceInputMessageQueue();
|
||||||
}
|
//}
|
||||||
|
//
|
||||||
|
//MessageQueue *PluginAPI::getDeviceOutputMessageQueue()
|
||||||
|
//{
|
||||||
|
// return m_pluginManager->getDeviceOutputMessageQueue();
|
||||||
|
//}
|
||||||
|
|
||||||
QString PluginAPI::errorMessage()
|
//void PluginAPI::configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection)
|
||||||
{
|
//{
|
||||||
return m_pluginManager->errorMessage();
|
// m_pluginManager->configureCorrections(dcOffsetCorrection, iqImbalanceCorrection);
|
||||||
}
|
//}
|
||||||
|
|
||||||
uint PluginAPI::getDeviceUID() const
|
//GLSpectrum *PluginAPI::getSpectrum()
|
||||||
{
|
//{
|
||||||
return m_pluginManager->getDeviceUID();
|
// return m_pluginManager->getSpectrum();
|
||||||
}
|
//}
|
||||||
|
|
||||||
MessageQueue *PluginAPI::getDeviceInputMessageQueue()
|
|
||||||
{
|
|
||||||
return m_pluginManager->getDeviceInputMessageQueue();
|
|
||||||
}
|
|
||||||
|
|
||||||
MessageQueue *PluginAPI::getDeviceOutputMessageQueue()
|
|
||||||
{
|
|
||||||
return m_pluginManager->getDeviceOutputMessageQueue();
|
|
||||||
}
|
|
||||||
|
|
||||||
void PluginAPI::configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection)
|
|
||||||
{
|
|
||||||
m_pluginManager->configureCorrections(dcOffsetCorrection, iqImbalanceCorrection);
|
|
||||||
}
|
|
||||||
|
|
||||||
GLSpectrum *PluginAPI::getSpectrum()
|
|
||||||
{
|
|
||||||
return m_pluginManager->getSpectrum();
|
|
||||||
}
|
|
||||||
|
|
||||||
PluginAPI::PluginAPI(PluginManager* pluginManager, MainWindow* mainWindow) :
|
PluginAPI::PluginAPI(PluginManager* pluginManager, MainWindow* mainWindow) :
|
||||||
QObject(mainWindow),
|
QObject(mainWindow),
|
||||||
|
@ -42,21 +42,21 @@ public:
|
|||||||
|
|
||||||
// Device engine stuff
|
// Device engine stuff
|
||||||
// void addSink(SampleSink* sink); //!< Add a sample sink to device engine
|
// void addSink(SampleSink* sink); //!< Add a sample sink to device engine
|
||||||
void removeSink(SampleSink* sink); //!< Remove a sample sink from device engine
|
// void removeSink(SampleSink* sink); //!< Remove a sample sink from device engine
|
||||||
void addThreadedSink(ThreadedSampleSink* sink); //!< Add a sample sink that will run on its own thread to device engine
|
void addThreadedSink(ThreadedSampleSink* sink); //!< Add a sample sink that will run on its own thread to device engine
|
||||||
void setSource(SampleSource* source); //!< Set device engine sample source type
|
|
||||||
void removeThreadedSink(ThreadedSampleSink* sink); //!< Remove a sample sink that runs on its own thread from device engine
|
void removeThreadedSink(ThreadedSampleSink* sink); //!< Remove a sample sink that runs on its own thread from device engine
|
||||||
bool initAcquisition(); //!< Initialize device engine acquisition sequence
|
// void setSource(SampleSource* source); //!< Set device engine sample source type
|
||||||
bool startAcquisition(); //!< Start device engine acquisition sequence
|
// bool initAcquisition(); //!< Initialize device engine acquisition sequence
|
||||||
void stopAcquistion(); //!< Stop device engine acquisition sequence
|
// bool startAcquisition(); //!< Start device engine acquisition sequence
|
||||||
DSPDeviceEngine::State state() const; //!< device engine state
|
// void stopAcquistion(); //!< Stop device engine acquisition sequence
|
||||||
QString errorMessage(); //!< Return the current device engine error message
|
// DSPDeviceEngine::State state() const; //!< device engine state
|
||||||
uint getDeviceUID() const; //!< Return the current device engine unique ID
|
// QString errorMessage(); //!< Return the current device engine error message
|
||||||
MessageQueue *getDeviceInputMessageQueue();
|
// uint getDeviceUID() const; //!< Return the current device engine unique ID
|
||||||
MessageQueue *getDeviceOutputMessageQueue();
|
// MessageQueue *getDeviceInputMessageQueue();
|
||||||
void configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection); //!< Configure current device engine DSP corrections
|
// MessageQueue *getDeviceOutputMessageQueue();
|
||||||
|
// void configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection); //!< Configure current device engine DSP corrections
|
||||||
|
|
||||||
GLSpectrum *getSpectrum();
|
// GLSpectrum *getSpectrum();
|
||||||
|
|
||||||
// R/O access to main window
|
// R/O access to main window
|
||||||
const MainWindow* getMainWindow() const { return m_mainWindow; }
|
const MainWindow* getMainWindow() const { return m_mainWindow; }
|
||||||
|
@ -111,10 +111,10 @@ void PluginManager::setInputGUI(QWidget* gui, const QString& sourceDisplayName)
|
|||||||
// m_dspDeviceEngine->addSink(sink);
|
// m_dspDeviceEngine->addSink(sink);
|
||||||
//}
|
//}
|
||||||
|
|
||||||
void PluginManager::removeSink(SampleSink* sink)
|
//void PluginManager::removeSink(SampleSink* sink)
|
||||||
{
|
//{
|
||||||
m_dspDeviceEngine->removeSink(sink);
|
// m_dspDeviceEngine->removeSink(sink);
|
||||||
}
|
//}
|
||||||
|
|
||||||
void PluginManager::addThreadedSink(ThreadedSampleSink* sink)
|
void PluginManager::addThreadedSink(ThreadedSampleSink* sink)
|
||||||
{
|
{
|
||||||
|
@ -60,25 +60,25 @@ public:
|
|||||||
void setInputGUI(QWidget* gui, const QString& sourceDisplayName);
|
void setInputGUI(QWidget* gui, const QString& sourceDisplayName);
|
||||||
|
|
||||||
// void addSink(SampleSink* sink);
|
// void addSink(SampleSink* sink);
|
||||||
void removeSink(SampleSink* sink);
|
// void removeSink(SampleSink* sink);
|
||||||
void addThreadedSink(ThreadedSampleSink* sink);
|
void addThreadedSink(ThreadedSampleSink* sink);
|
||||||
void removeThreadedSink(ThreadedSampleSink* sink);
|
void removeThreadedSink(ThreadedSampleSink* sink);
|
||||||
void setSource(SampleSource* source) { m_dspDeviceEngine->setSource(source); }; //!< Set device engine sample source type
|
// void setSource(SampleSource* source) { m_dspDeviceEngine->setSource(source); }; //!< Set device engine sample source type
|
||||||
bool initAcquisition() { return m_dspDeviceEngine->initAcquisition(); } //!< Initialize device engine acquisition sequence
|
// bool initAcquisition() { return m_dspDeviceEngine->initAcquisition(); } //!< Initialize device engine acquisition sequence
|
||||||
bool startAcquisition() { return m_dspDeviceEngine->startAcquisition(); } //!< Start device engine acquisition sequence
|
// bool startAcquisition() { return m_dspDeviceEngine->startAcquisition(); } //!< Start device engine acquisition sequence
|
||||||
void stopAcquistion() { m_dspDeviceEngine->stopAcquistion(); } //!< Stop device engine acquisition sequence
|
// void stopAcquistion() { m_dspDeviceEngine->stopAcquistion(); } //!< Stop device engine acquisition sequence
|
||||||
DSPDeviceEngine::State state() const { return m_dspDeviceEngine->state(); }
|
// DSPDeviceEngine::State state() const { return m_dspDeviceEngine->state(); }
|
||||||
QString errorMessage() { return m_dspDeviceEngine->errorMessage(); } //!< Return the current device engine error message
|
// QString errorMessage() { return m_dspDeviceEngine->errorMessage(); } //!< Return the current device engine error message
|
||||||
uint getDeviceUID() const { return m_dspDeviceEngine->getUID(); } //!< Return the current device engine unique ID
|
// uint getDeviceUID() const { return m_dspDeviceEngine->getUID(); } //!< Return the current device engine unique ID
|
||||||
MessageQueue *getDeviceInputMessageQueue() { return m_dspDeviceEngine->getInputMessageQueue(); }
|
// MessageQueue *getDeviceInputMessageQueue() { return m_dspDeviceEngine->getInputMessageQueue(); }
|
||||||
MessageQueue *getDeviceOutputMessageQueue() { return m_dspDeviceEngine->getOutputMessageQueue(); }
|
// MessageQueue *getDeviceOutputMessageQueue() { return m_dspDeviceEngine->getOutputMessageQueue(); }
|
||||||
|
|
||||||
void configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection) //!< Configure current device engine DSP corrections
|
// void configureCorrections(bool dcOffsetCorrection, bool iqImbalanceCorrection) //!< Configure current device engine DSP corrections
|
||||||
{
|
// {
|
||||||
m_dspDeviceEngine->configureCorrections(dcOffsetCorrection, iqImbalanceCorrection);
|
// m_dspDeviceEngine->configureCorrections(dcOffsetCorrection, iqImbalanceCorrection);
|
||||||
}
|
// }
|
||||||
|
|
||||||
GLSpectrum *getSpectrum() { return m_spectrum; }
|
// GLSpectrum *getSpectrum() { return m_spectrum; }
|
||||||
|
|
||||||
void loadSettings(const Preset* preset);
|
void loadSettings(const Preset* preset);
|
||||||
void loadSourceSettings(const Preset* preset);
|
void loadSourceSettings(const Preset* preset);
|
||||||
|
Loading…
Reference in New Issue
Block a user