1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-07 00:14:49 -04:00

Multi device support: migrate device specific stuff outside plugin classes

This commit is contained in:
f4exb
2016-05-16 01:12:37 +02:00
parent a26174eb8b
commit be918a217b
40 changed files with 120 additions and 69 deletions
+4 -2
View File
@@ -22,16 +22,18 @@
#include "airspygui.h"
#include "ui_airspygui.h"
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "gui/colormapper.h"
#include "gui/glspectrum.h"
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/filesink.h"
AirspyGui::AirspyGui(PluginAPI* pluginAPI, QWidget* parent) :
AirspyGui::AirspyGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::AirspyGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_settings(),
m_sampleSource(0),
m_lastEngineState((DSPDeviceEngine::State)-1)
@@ -55,7 +57,7 @@ AirspyGui::AirspyGui(PluginAPI* pluginAPI, QWidget* parent) :
char recFileNameCStr[30];
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
m_fileSink = new FileSink(std::string(recFileNameCStr));
m_pluginAPI->addSink(m_fileSink);
m_deviceAPI->addSink(m_fileSink);
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
}
+3 -1
View File
@@ -25,6 +25,7 @@
#define AIRSPY_MAX_DEVICE (32)
class PluginAPI;
class DeviceAPI;
class FileSink;
namespace Ui {
@@ -36,7 +37,7 @@ class AirspyGui : public QWidget, public PluginGUI {
Q_OBJECT
public:
explicit AirspyGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit AirspyGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~AirspyGui();
void destroy();
@@ -56,6 +57,7 @@ private:
Ui::AirspyGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
AirspySettings m_settings;
QTimer m_updateTimer;
QTimer m_statusTimer;
+2 -2
View File
@@ -117,7 +117,7 @@ PluginInterface::SampleSourceDevices AirspyPlugin::enumSampleSources()
return result;
}
PluginGUI* AirspyPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* AirspyPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if (!m_pluginAPI)
{
@@ -126,7 +126,7 @@ PluginGUI* AirspyPlugin::createSampleSourcePluginGUI(const QString& sourceId, co
if(sourceId == m_deviceTypeID)
{
AirspyGui* gui = new AirspyGui(m_pluginAPI);
AirspyGui* gui = new AirspyGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
}
+1 -1
View File
@@ -34,7 +34,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;
+4 -2
View File
@@ -21,6 +21,7 @@
#include "ui_bladerfgui.h"
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "gui/colormapper.h"
#include "gui/glspectrum.h"
#include "dsp/dspengine.h"
@@ -28,10 +29,11 @@
#include "dsp/filesink.h"
#include "bladerfgui.h"
BladerfGui::BladerfGui(PluginAPI* pluginAPI, QWidget* parent) :
BladerfGui::BladerfGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::BladerfGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_settings(),
m_sampleSource(NULL),
m_sampleRate(0),
@@ -65,7 +67,7 @@ BladerfGui::BladerfGui(PluginAPI* pluginAPI, QWidget* parent) :
char recFileNameCStr[30];
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
m_fileSink = new FileSink(std::string(recFileNameCStr));
m_pluginAPI->addSink(m_fileSink);
m_deviceAPI->addSink(m_fileSink);
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
}
+3 -1
View File
@@ -23,6 +23,7 @@
#include "bladerfinput.h"
class PluginAPI;
class DeviceAPI;
class FileSink;
namespace Ui {
@@ -34,7 +35,7 @@ class BladerfGui : public QWidget, public PluginGUI {
Q_OBJECT
public:
explicit BladerfGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit BladerfGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~BladerfGui();
void destroy();
@@ -52,6 +53,7 @@ private:
Ui::BladerfGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
BladeRFSettings m_settings;
QTimer m_updateTimer;
QTimer m_statusTimer;
@@ -75,7 +75,7 @@ PluginInterface::SampleSourceDevices BlderfPlugin::enumSampleSources()
return result;
}
PluginGUI* BlderfPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* BlderfPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if (!m_pluginAPI)
{
@@ -84,7 +84,7 @@ PluginGUI* BlderfPlugin::createSampleSourcePluginGUI(const QString& sourceId, co
if(sourceId == m_deviceTypeID)
{
BladerfGui* gui = new BladerfGui(m_pluginAPI);
BladerfGui* gui = new BladerfGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
}
+1 -1
View File
@@ -34,7 +34,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;
+4 -2
View File
@@ -18,6 +18,7 @@
#include "ui_fcdprogui.h"
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "gui/colormapper.h"
#include "gui/glspectrum.h"
#include "dsp/dspengine.h"
@@ -26,10 +27,11 @@
#include "fcdprogui.h"
#include "fcdproconst.h"
FCDProGui::FCDProGui(PluginAPI* pluginAPI, QWidget* parent) :
FCDProGui::FCDProGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::FCDProGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_settings(),
m_sampleSource(NULL),
m_lastEngineState((DSPDeviceEngine::State)-1)
@@ -146,7 +148,7 @@ FCDProGui::FCDProGui(PluginAPI* pluginAPI, QWidget* parent) :
char recFileNameCStr[30];
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
m_fileSink = new FileSink(std::string(recFileNameCStr));
m_pluginAPI->addSink(m_fileSink);
m_deviceAPI->addSink(m_fileSink);
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
}
+3 -1
View File
@@ -23,6 +23,7 @@
#include "plugin/plugingui.h"
class PluginAPI;
class DeviceAPI;
class FileSink;
namespace Ui {
@@ -33,7 +34,7 @@ class FCDProGui : public QWidget, public PluginGUI {
Q_OBJECT
public:
explicit FCDProGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit FCDProGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~FCDProGui();
void destroy();
@@ -52,6 +53,7 @@ private:
Ui::FCDProGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
FCDProSettings m_settings;
QTimer m_updateTimer;
QTimer m_statusTimer;
+2 -2
View File
@@ -74,11 +74,11 @@ PluginInterface::SampleSourceDevices FCDProPlugin::enumSampleSources()
return result;
}
PluginGUI* FCDProPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* FCDProPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if(sourceId == fcd_traits<Pro>::interfaceIID)
{
FCDProGui* gui = new FCDProGui(m_pluginAPI);
FCDProGui* gui = new FCDProGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
}
+1 -1
View File
@@ -18,7 +18,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;
@@ -19,6 +19,7 @@
#include "ui_fcdproplusgui.h"
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "gui/colormapper.h"
#include "gui/glspectrum.h"
#include "dsp/dspengine.h"
@@ -27,10 +28,11 @@
#include "fcdproplusgui.h"
#include "fcdproplusconst.h"
FCDProPlusGui::FCDProPlusGui(PluginAPI* pluginAPI, QWidget* parent) :
FCDProPlusGui::FCDProPlusGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::FCDProPlusGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_settings(),
m_sampleSource(NULL),
m_lastEngineState((DSPDeviceEngine::State)-1)
@@ -64,7 +66,7 @@ FCDProPlusGui::FCDProPlusGui(PluginAPI* pluginAPI, QWidget* parent) :
char recFileNameCStr[30];
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
m_fileSink = new FileSink(std::string(recFileNameCStr));
m_pluginAPI->addSink(m_fileSink);
m_deviceAPI->addSink(m_fileSink);
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
}
@@ -23,6 +23,7 @@
#include "plugin/plugingui.h"
class PluginAPI;
class DeviceAPI;
class FileSink;
namespace Ui {
@@ -33,7 +34,7 @@ class FCDProPlusGui : public QWidget, public PluginGUI {
Q_OBJECT
public:
explicit FCDProPlusGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit FCDProPlusGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~FCDProPlusGui();
void destroy();
@@ -52,6 +53,7 @@ private:
Ui::FCDProPlusGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
FCDProPlusSettings m_settings;
QTimer m_updateTimer;
QTimer m_statusTimer;
@@ -74,11 +74,11 @@ PluginInterface::SampleSourceDevices FCDProPlusPlugin::enumSampleSources()
return result;
}
PluginGUI* FCDProPlusPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* FCDProPlusPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if(sourceId == fcd_traits<ProPlus>::interfaceIID)
{
FCDProPlusGui* gui = new FCDProPlusGui(m_pluginAPI);
FCDProPlusGui* gui = new FCDProPlusGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
}
@@ -18,7 +18,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;
@@ -33,10 +33,11 @@
#include "filesourcegui.h"
FileSourceGui::FileSourceGui(PluginAPI* pluginAPI, QWidget* parent) :
FileSourceGui::FileSourceGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::FileSourceGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_settings(),
m_sampleSource(NULL),
m_acquisition(false),
@@ -23,6 +23,7 @@
#include "filesourceinput.h"
class PluginAPI;
class DeviceAPI;
namespace Ui {
class FileSourceGui;
@@ -32,7 +33,7 @@ class FileSourceGui : public QWidget, public PluginGUI {
Q_OBJECT
public:
explicit FileSourceGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit FileSourceGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~FileSourceGui();
void destroy();
@@ -50,6 +51,7 @@ private:
Ui::FileSourceGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
FileSourceInput::Settings m_settings;
QTimer m_statusTimer;
std::vector<int> m_gains;
@@ -67,11 +67,11 @@ PluginInterface::SampleSourceDevices FileSourcePlugin::enumSampleSources()
return result;
}
PluginGUI* FileSourcePlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* FileSourcePlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if(sourceId == m_deviceTypeID)
{
FileSourceGui* gui = new FileSourceGui(m_pluginAPI);
FileSourceGui* gui = new FileSourceGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
}
@@ -34,7 +34,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;
+4 -2
View File
@@ -20,6 +20,7 @@
#include <libhackrf/hackrf.h>
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "gui/colormapper.h"
#include "gui/glspectrum.h"
#include "dsp/dspengine.h"
@@ -28,10 +29,11 @@
#include "hackrfgui.h"
#include "ui_hackrfgui.h"
HackRFGui::HackRFGui(PluginAPI* pluginAPI, QWidget* parent) :
HackRFGui::HackRFGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::HackRFGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_settings(),
m_sampleSource(NULL),
m_lastEngineState((DSPDeviceEngine::State)-1)
@@ -56,7 +58,7 @@ HackRFGui::HackRFGui(PluginAPI* pluginAPI, QWidget* parent) :
char recFileNameCStr[30];
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
m_fileSink = new FileSink(std::string(recFileNameCStr));
m_pluginAPI->addSink(m_fileSink);
m_deviceAPI->addSink(m_fileSink);
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
}
+3 -1
View File
@@ -25,6 +25,7 @@
#define HACKRF_MAX_DEVICE (32)
class PluginAPI;
class DeviceAPI;
class FileSink;
namespace Ui {
@@ -43,7 +44,7 @@ public:
HACKRF_IMGREJ_NB
} HackRFImgRejValue;
explicit HackRFGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit HackRFGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~HackRFGui();
void destroy();
@@ -61,6 +62,7 @@ private:
Ui::HackRFGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
HackRFSettings m_settings;
QTimer m_updateTimer;
QTimer m_statusTimer;
+2 -2
View File
@@ -112,7 +112,7 @@ PluginInterface::SampleSourceDevices HackRFPlugin::enumSampleSources()
return result;
}
PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if (!m_pluginAPI)
{
@@ -121,7 +121,7 @@ PluginGUI* HackRFPlugin::createSampleSourcePluginGUI(const QString& sourceId, co
if(sourceId == m_deviceTypeID)
{
HackRFGui* gui = new HackRFGui(m_pluginAPI);
HackRFGui* gui = new HackRFGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
}
+1 -1
View File
@@ -34,7 +34,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;
+4 -2
View File
@@ -20,16 +20,18 @@
#include "rtlsdrgui.h"
#include "ui_rtlsdrgui.h"
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "gui/colormapper.h"
#include "gui/glspectrum.h"
#include "dsp/dspengine.h"
#include "dsp/dspcommands.h"
#include "dsp/filesink.h"
RTLSDRGui::RTLSDRGui(PluginAPI* pluginAPI, QWidget* parent) :
RTLSDRGui::RTLSDRGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::RTLSDRGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_settings(),
m_sampleSource(0),
m_lastEngineState((DSPDeviceEngine::State)-1)
@@ -58,7 +60,7 @@ RTLSDRGui::RTLSDRGui(PluginAPI* pluginAPI, QWidget* parent) :
char recFileNameCStr[30];
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
m_fileSink = new FileSink(std::string(recFileNameCStr));
m_pluginAPI->addSink(m_fileSink);
m_deviceAPI->addSink(m_fileSink);
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
}
+3 -1
View File
@@ -22,6 +22,7 @@
#include "rtlsdrinput.h"
class PluginAPI;
class DeviceAPI;
class FileSink;
namespace Ui {
@@ -33,7 +34,7 @@ class RTLSDRGui : public QWidget, public PluginGUI {
Q_OBJECT
public:
explicit RTLSDRGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit RTLSDRGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~RTLSDRGui();
void destroy();
@@ -51,6 +52,7 @@ private:
Ui::RTLSDRGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
RTLSDRSettings m_settings;
QTimer m_updateTimer;
QTimer m_statusTimer;
+2 -2
View File
@@ -59,10 +59,10 @@ PluginInterface::SampleSourceDevices RTLSDRPlugin::enumSampleSources()
return result;
}
PluginGUI* RTLSDRPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* RTLSDRPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if(sourceId == m_deviceTypeID) {
RTLSDRGui* gui = new RTLSDRGui(m_pluginAPI);
RTLSDRGui* gui = new RTLSDRGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
} else {
+1 -1
View File
@@ -18,7 +18,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;
@@ -31,6 +31,7 @@
#include "ui_sdrdaemongui.h"
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "gui/colormapper.h"
#include "gui/glspectrum.h"
#include "dsp/dspengine.h"
@@ -41,10 +42,11 @@
#include "sdrdaemongui.h"
SDRdaemonGui::SDRdaemonGui(PluginAPI* pluginAPI, QWidget* parent) :
SDRdaemonGui::SDRdaemonGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent) :
QWidget(parent),
ui(new Ui::SDRdaemonGui),
m_pluginAPI(pluginAPI),
m_deviceAPI(deviceAPI),
m_sampleSource(NULL),
m_acquisition(false),
m_lastEngineState((DSPDeviceEngine::State)-1),
@@ -99,7 +101,7 @@ SDRdaemonGui::SDRdaemonGui(PluginAPI* pluginAPI, QWidget* parent) :
char recFileNameCStr[30];
sprintf(recFileNameCStr, "test_%d.sdriq", m_pluginAPI->getDeviceUID());
m_fileSink = new FileSink(std::string(recFileNameCStr));
m_pluginAPI->addSink(m_fileSink);
m_deviceAPI->addSink(m_fileSink);
connect(m_pluginAPI->getDeviceOutputMessageQueue(), SIGNAL(messageEnqueued()), this, SLOT(handleDSPMessages()), Qt::QueuedConnection);
}
@@ -24,6 +24,7 @@
#include "sdrdaemoninput.h"
class PluginAPI;
class DeviceAPI;
class FileSink;
namespace Ui {
@@ -34,7 +35,7 @@ class SDRdaemonGui : public QWidget, public PluginGUI {
Q_OBJECT
public:
explicit SDRdaemonGui(PluginAPI* pluginAPI, QWidget* parent = NULL);
explicit SDRdaemonGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent = NULL);
virtual ~SDRdaemonGui();
void destroy();
@@ -52,6 +53,7 @@ private:
Ui::SDRdaemonGui* ui;
PluginAPI* m_pluginAPI;
DeviceAPI* m_deviceAPI;
QTimer m_updateTimer;
QTimer m_statusTimer;
SampleSource* m_sampleSource;
@@ -67,11 +67,11 @@ PluginInterface::SampleSourceDevices SDRdaemonPlugin::enumSampleSources()
return result;
}
PluginGUI* SDRdaemonPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName)
PluginGUI* SDRdaemonPlugin::createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI)
{
if(sourceId == m_deviceTypeID)
{
SDRdaemonGui* gui = new SDRdaemonGui(m_pluginAPI);
SDRdaemonGui* gui = new SDRdaemonGui(m_pluginAPI, deviceAPI);
m_pluginAPI->setInputGUI(gui, sourceDisplayName);
return gui;
}
@@ -34,7 +34,7 @@ public:
void initPlugin(PluginAPI* pluginAPI);
virtual SampleSourceDevices enumSampleSources();
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName);
virtual PluginGUI* createSampleSourcePluginGUI(const QString& sourceId, const QString& sourceDisplayName, DeviceAPI *deviceAPI);
static const QString m_deviceTypeID;