1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-03 06:24:48 -04:00

Multi device support: migrate device specific stuff outside plugin classes completed for source plugins

This commit is contained in:
f4exb
2016-05-16 02:14:36 +02:00
parent 4756299ad9
commit 7412ee0d54
28 changed files with 256 additions and 255 deletions
+13 -13
View File
@@ -48,24 +48,24 @@ HackRFGui::HackRFGui(PluginAPI* pluginAPI, DeviceAPI *deviceAPI, QWidget* parent
displaySettings();
m_sampleSource = new HackRFInput(m_pluginAPI);
m_sampleSource = new HackRFInput(m_deviceAPI);
displaySampleRates();
displayBandwidths();
m_pluginAPI->setSource(m_sampleSource);
m_deviceAPI->setSource(m_sampleSource);
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_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()
{
m_pluginAPI->removeSink(m_fileSink);
m_deviceAPI->removeSink(m_fileSink);
delete m_fileSink;
delete m_sampleSource; // Valgrind memcheck
delete ui;
@@ -131,7 +131,7 @@ void HackRFGui::handleDSPMessages()
{
Message* message;
while ((message = m_pluginAPI->getDeviceOutputMessageQueue()->pop()) != 0)
while ((message = m_deviceAPI->getDeviceOutputMessageQueue()->pop()) != 0)
{
qDebug("HackRFGui::handleDSPMessages: message: %s", message->getIdentifier());
@@ -151,8 +151,8 @@ void HackRFGui::handleDSPMessages()
void HackRFGui::updateSampleRateAndFrequency()
{
m_pluginAPI->getSpectrum()->setSampleRate(m_sampleRate);
m_pluginAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
m_deviceAPI->getSpectrum()->setSampleRate(m_sampleRate);
m_deviceAPI->getSpectrum()->setCenterFrequency(m_deviceCenterFrequency);
ui->deviceRateText->setText(tr("%1k").arg((float)m_sampleRate / 1000));
}
@@ -331,15 +331,15 @@ void HackRFGui::on_startStop_toggled(bool checked)
{
if (checked)
{
if (m_pluginAPI->initAcquisition())
if (m_deviceAPI->initAcquisition())
{
m_pluginAPI->startAcquisition();
m_deviceAPI->startAcquisition();
DSPEngine::instance()->startAudio();
}
}
else
{
m_pluginAPI->stopAcquistion();
m_deviceAPI->stopAcquisition();
DSPEngine::instance()->stopAudio();
}
}
@@ -368,7 +368,7 @@ void HackRFGui::updateHardware()
void HackRFGui::updateStatus()
{
int state = m_pluginAPI->state();
int state = m_deviceAPI->state();
if(m_lastEngineState != state)
{
@@ -385,7 +385,7 @@ void HackRFGui::updateStatus()
break;
case DSPDeviceEngine::StError:
ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
QMessageBox::information(this, tr("Message"), m_pluginAPI->errorMessage());
QMessageBox::information(this, tr("Message"), m_deviceAPI->errorMessage());
break;
default:
break;
+6 -6
View File
@@ -18,7 +18,7 @@
#include <errno.h>
#include <QDebug>
#include "plugin/pluginapi.h"
#include "device/deviceapi.h"
#include "util/simpleserializer.h"
#include "dsp/dspcommands.h"
#include "dsp/dspengine.h"
@@ -30,8 +30,8 @@
MESSAGE_CLASS_DEFINITION(HackRFInput::MsgConfigureHackRF, Message)
MESSAGE_CLASS_DEFINITION(HackRFInput::MsgReportHackRF, Message)
HackRFInput::HackRFInput(PluginAPI *pluginAPI) :
m_pluginAPI(pluginAPI),
HackRFInput::HackRFInput(DeviceAPI *deviceAPI) :
m_deviceAPI(deviceAPI),
m_settings(),
m_dev(0),
m_hackRFThread(0),
@@ -185,13 +185,13 @@ bool HackRFInput::applySettings(const HackRFSettings& settings, bool force)
if (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)
{
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)
@@ -398,7 +398,7 @@ bool HackRFInput::applySettings(const HackRFSettings& settings, bool force)
{
int sampleRate = devSampleRate/(1<<m_settings.m_log2Decim);
DSPSignalNotification *notif = new DSPSignalNotification(sampleRate, m_settings.m_centerFrequency);
m_pluginAPI->getDeviceInputMessageQueue()->push(notif);
m_deviceAPI->getDeviceInputMessageQueue()->push(notif);
}
return true;
+3 -3
View File
@@ -22,7 +22,7 @@
#include "hackrfsettings.h"
#include <QString>
class PluginAPI;
class DeviceAPI;
class HackRFThread;
class HackRFInput : public SampleSource {
@@ -65,7 +65,7 @@ public:
{ }
};
HackRFInput(PluginAPI *pluginAPI);
HackRFInput(DeviceAPI *deviceAPI);
virtual ~HackRFInput();
virtual bool init(const Message& message);
@@ -83,7 +83,7 @@ private:
hackrf_device *open_hackrf_from_sequence(int sequence);
void setCenterFrequency(quint64 freq);
PluginAPI *m_pluginAPI;
DeviceAPI *m_deviceAPI;
QMutex m_mutex;
HackRFSettings m_settings;
struct hackrf_device* m_dev;