From a9b2e76e154db031e4749e1fc65042b3ff6188d2 Mon Sep 17 00:00:00 2001 From: f4exb Date: Wed, 6 Sep 2017 01:01:17 +0200 Subject: [PATCH] LimeSDR input: interim state () --- .../plutosdrinput/plutosdrinput.cpp | 38 ++++++++++++++++++- .../plutosdrinput/plutosdrinput.h | 1 + 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp index 5af3e1b14..d27b70286 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.cpp +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.cpp @@ -48,7 +48,35 @@ PlutoSDRInput::~PlutoSDRInput() bool PlutoSDRInput::start() { - return false; + if (!m_deviceShared.m_deviceParams->getBox()) { + return false; + } + + if (m_running) stop(); + + applySettings(m_settings, true); + + // start / stop streaming is done in the thread. + +// if ((m_limeSDRInputThread = new LimeSDRInputThread(&m_streamId, &m_sampleFifo)) == 0) +// { +// qFatal("LimeSDRInput::start: cannot create thread"); +// stop(); +// return false; +// } +// else +// { +// qDebug("LimeSDRInput::start: thread created"); +// } +// +// m_limeSDRInputThread->setLog2Decimation(m_settings.m_log2SoftDecim); +// +// m_limeSDRInputThread->startWork(); +// +// m_deviceShared.m_thread = m_limeSDRInputThread; +// m_running = true; + + return true; } void PlutoSDRInput::stop() @@ -139,6 +167,8 @@ bool PlutoSDRInput::openDevice() DevicePlutoSDRBox *plutoBox = m_deviceShared.m_deviceParams->getBox(); plutoBox->openRx(); m_plutoRxBuffer = plutoBox->createRxBuffer(1024*1024, false); + + return true; } void PlutoSDRInput::closeDevice() @@ -183,5 +213,9 @@ void PlutoSDRInput::resumeBuddies() buddyShared->m_thread->startWork(); } } - +} + +bool PlutoSDRInput::applySettings(const PlutoSDRInputSettings& settings, bool force) +{ + return false; } diff --git a/plugins/samplesource/plutosdrinput/plutosdrinput.h b/plugins/samplesource/plutosdrinput/plutosdrinput.h index e5edd140f..660e21fd5 100644 --- a/plugins/samplesource/plutosdrinput/plutosdrinput.h +++ b/plugins/samplesource/plutosdrinput/plutosdrinput.h @@ -76,6 +76,7 @@ public: void closeDevice(); void suspendBuddies(); void resumeBuddies(); + bool applySettings(const PlutoSDRInputSettings& settings, bool force = false); };