From 3aa4dc710bd41153849da10a24130a2aa88a3b14 Mon Sep 17 00:00:00 2001 From: f4exb Date: Sun, 30 Aug 2015 21:46:27 +0200 Subject: [PATCH] Deep redesign: move to SDRangel #6. New readme and cleanup --- Readme.md | 69 ++--- doc/img/sdrangel_banner.png | Bin 0 -> 224759 bytes ...drangelove_cover.png => sdrangel_sc01.png} | Bin plugins/channel/nfm_testing/CMakeLists.txt | 47 ---- plugins/channel/nfm_testing/nfmdemod.cpp | 156 ----------- plugins/channel/nfm_testing/nfmdemod.h | 106 -------- plugins/channel/nfm_testing/nfmdemodgui.cpp | 210 --------------- plugins/channel/nfm_testing/nfmdemodgui.h | 64 ----- plugins/channel/nfm_testing/nfmdemodgui.ui | 250 ------------------ plugins/channel/nfm_testing/nfmplugin.cpp | 53 ---- plugins/channel/nfm_testing/nfmplugin.h | 29 -- plugins/channel/usb/CMakeLists.txt | 47 ---- plugins/channel/usb/usbdemod.cpp | 158 ----------- plugins/channel/usb/usbdemod.h | 91 ------- plugins/channel/usb/usbdemodgui.cpp | 180 ------------- plugins/channel/usb/usbdemodgui.h | 60 ----- plugins/channel/usb/usbdemodgui.ui | 172 ------------ plugins/channel/usb/usbplugin.cpp | 53 ---- plugins/channel/usb/usbplugin.h | 29 -- plugins/samplesource/CMakeLists.txt | 4 +- 20 files changed, 39 insertions(+), 1739 deletions(-) create mode 100644 doc/img/sdrangel_banner.png rename doc/img/{sdrangelove_cover.png => sdrangel_sc01.png} (100%) delete mode 100644 plugins/channel/nfm_testing/CMakeLists.txt delete mode 100644 plugins/channel/nfm_testing/nfmdemod.cpp delete mode 100644 plugins/channel/nfm_testing/nfmdemod.h delete mode 100644 plugins/channel/nfm_testing/nfmdemodgui.cpp delete mode 100644 plugins/channel/nfm_testing/nfmdemodgui.h delete mode 100644 plugins/channel/nfm_testing/nfmdemodgui.ui delete mode 100644 plugins/channel/nfm_testing/nfmplugin.cpp delete mode 100644 plugins/channel/nfm_testing/nfmplugin.h delete mode 100644 plugins/channel/usb/CMakeLists.txt delete mode 100644 plugins/channel/usb/usbdemod.cpp delete mode 100644 plugins/channel/usb/usbdemod.h delete mode 100644 plugins/channel/usb/usbdemodgui.cpp delete mode 100644 plugins/channel/usb/usbdemodgui.h delete mode 100644 plugins/channel/usb/usbdemodgui.ui delete mode 100644 plugins/channel/usb/usbplugin.cpp delete mode 100644 plugins/channel/usb/usbplugin.h diff --git a/Readme.md b/Readme.md index fd9f2da1a..53815b07a 100644 --- a/Readme.md +++ b/Readme.md @@ -1,31 +1,35 @@ -=============== -RTL-SDRangelove -=============== -![Channel analyzer plugins](https://github.com/f4exb/rtl-sdrangelove/blob/f4exb/doc/img/sdrangelove_cover.png) +======== +SDRangel +======== +![Channel analyzer plugins](https://github.com/f4exb/sdrangel/blob/f4exb/doc/img/sdrangel_banner.png) -====================== -Cloning the repository -====================== +SDRangel is a Qt5/OpenGL SDR frontend to various hardware -- Clone as usual -- Checkout the f4exb branch: `git checkout f4exb` +=================== +Repository branches +=================== -======================= -GNURadio and libosmosdr -======================= +- master: the "production" branch +- rtlsdrangelove: the master from hexameron rtl-sdrangelove +- legacy: the modified rtl-sdrangelove before major redeisign -These plugins have a lot of bugs and they have been removed trom the build. Original sources still exist in the tree. So current version only supports the following hardware: - - RTL-SDR - - Funcube - - BladeRF (standard and with XB-200 transverter) +================================================ +Plugins unsupported but still in the source tree +================================================ + +- Channels: + - tetra +- Sample sources: + - gnuradio + - osmosdr + - v4l-msi + - v4l-rtl ============== Funcube Dongle ============== -Funcube Dongle Pro+ support will need "libasound2-dev" installed. ("libhid" is built from source). Install the rules file "fcdpp.rules" in "/etc/udev/rules.d" to gain the "root access" needed to control the dongle. - -Funcube Dongle Pro+ USB drivers are broken on some hardware with recent kernels. It works well for me with an Atom Chipset, which has Full Speed USB ports, or a "Valleyview" Chromebook (kernel 3.10). A Desktop with the "same" chipset needs kernel 3.2, available with Debian 7 "wheezy". YMMV. +Only the original Funcube Dongle Pro is supported. Funcube Dongle Pro+ will come later ======= BladeRF @@ -65,30 +69,31 @@ For non standard installations of RTL-SDR library, the GNU Radio runtime and gr. There is no installation procedure the executable is at the root of the build directory -============ -For Debian 8 -============ +========== +For Debian +========== -Debian 7 "wheezy" uses Qt4. Qt5 is available from the "wheezy-backports" repo, but this will remove Qt4. Debian 8 "jessie" uses Qt5. +For any version of Debian you will need Qt5. + +Debian 7 "wheezy" uses Qt4. Qt5 is available from the "wheezy-backports" repo, but this will remove Qt4. Debian 8 "jessie" uses Qt5. + +Assuming Debian Jessie is used: `sudo apt-get install cmake g++ pkg-config libfftw3-dev libusb-1.0-0-dev libusb-dev qt5-default qtbase5-dev qtchooser libqt5multimedia5-plugins qtmultimedia5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev qtbase5-dev librtlsdr-dev libboost-all-dev` `mkdir build && cd build && cmake ../ && make` -The same remarks as for Ubuntu apply... +Then the same remarks as for Ubuntu apply... ============ Known Issues ============ - - Actually NFM seems to be working pretty well - - RTL frontend will have bad aliasing in noisy environments. Considering the size of the hardware there is no place for proper filters. With good filtering and a good antenna up front these devices work remarkably well for the price! - - Aliasing can be annoying for broadcast FM. In this case try to shift the signal until you find a clear background for your station. This is a limitation of the RTL hardware so just use this workaround. - - GNU Radio plugin is not fully functional and has serious bugs (frequent segfaults). Trying to repair it is abandonned. + - You will need to stop input before changing preset then start again -=================== -Done since the fork -=================== +======================== +Changes from SDRangelove +======================== - Added ppm correction for the LO of RTL-SDR. This uses the corresponding function in the librtlsdr interface (range -99..99 ppm) - Added a preset update button (the diskette with the yellow corner) to be able to save the current settings on an existing preset @@ -129,7 +134,7 @@ Done since the fork - Coarse and fine trigger level sliders - Minimalist recording (no file choice) - File sample source plugin (recording reader) not working - - Redesign: + - Major redesign: - Make the DSP engine global static - Fixed startup initialization sequence. New initialization phase in DSP engine and new ready state - Synchronous messaging class to push message to thread and wait for completion diff --git a/doc/img/sdrangel_banner.png b/doc/img/sdrangel_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..147179a70b03f6e16bb02cf6b9bf28406a1fddf8 GIT binary patch literal 224759 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%0DDhJk^F@=Y+4v#Xth0XC!B`{k5$(%_n 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 z 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 z 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

qi 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. // -/////////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include "nfmdemod.h" -#include "audio/audiooutput.h" -#include "dsp/dspcommands.h" - -MESSAGE_CLASS_DEFINITION(NFMDemod::MsgConfigureNFMDemod, Message) - -NFMDemod::NFMDemod(AudioFifo* audioFifo, SampleSink* sampleSink) : - m_sampleSink(sampleSink), - m_audioFifo(audioFifo) -{ - m_rfBandwidth = 12500; - m_volume = 2.0; - m_squelchLevel = pow(10.0, -40.0 / 10.0); - m_sampleRate = 500000; - m_frequency = 0; - m_scale = 0; - m_framedrop = 0; - - m_nco.setFreq(m_frequency, m_sampleRate); - m_interpolator.create(16, m_sampleRate, 12500); - m_sampleDistanceRemain = (Real)m_sampleRate / 48000.0; - - m_lowpass.create(21, 48000, 3000); - - m_audioBuffer.resize(256); - m_audioBufferFill = 0; - - m_movingAverage.resize(16, 0); -} - -NFMDemod::~NFMDemod() -{ -} - -void NFMDemod::configure(MessageQueue* messageQueue, Real rfBandwidth, Real afBandwidth, Real volume, Real squelch) -{ - Message* cmd = MsgConfigureNFMDemod::create(rfBandwidth, afBandwidth, volume, squelch); - cmd->submit(messageQueue, this); -} - -void NFMDemod::feed(SampleVector::const_iterator begin, SampleVector::const_iterator end, bool positiveOnly) -{ - Complex ci; - qint16 sample; - Real a, b, s, demod; - double meansqr = 1.0; - - for(SampleVector::const_iterator it = begin; it < end; ++it) { - Complex c(it->real() / 32768.0, it->imag() / 32768.0); - c *= m_nco.nextIQ(); - - if(m_interpolator.interpolate(&m_sampleDistanceRemain, c, &ci)) { - s = ci.real() * ci.real() + ci.imag() * ci.imag(); - meansqr += s; - m_movingAverage.feed(s); - if(m_movingAverage.average() >= m_squelchLevel) - m_squelchState = m_sampleRate / 50; - - a = m_scale * m_this.real() * (m_last.imag() - ci.imag()); - b = m_scale * m_this.imag() * (m_last.real() - ci.real()); - m_last = m_this; - m_this = Complex(ci.real(), ci.imag()); - - demod = m_volume * m_lowpass.filter(b - a); - sample = demod * 30000; - - // Display audio spectrum to 12kHz - if (++m_framedrop & 1) - m_sampleBuffer.push_back(Sample(sample, sample)); - - if(m_squelchState > 0) - m_squelchState--; - else - sample = 0; - { - m_audioBuffer[m_audioBufferFill].l = sample; - m_audioBuffer[m_audioBufferFill].r = sample; - ++m_audioBufferFill; - if(m_audioBufferFill >= m_audioBuffer.size()) { - uint res = m_audioFifo->write((const quint8*)&m_audioBuffer[0], m_audioBufferFill, 1); - if(res != m_audioBufferFill) - qDebug("lost %u samples", m_audioBufferFill - res); - m_audioBufferFill = 0; - } - } - - m_sampleDistanceRemain += (Real)m_sampleRate / 48000.0; - } - } - if(m_audioFifo->write((const quint8*)&m_audioBuffer[0], m_audioBufferFill, 0) != m_audioBufferFill) - ;//qDebug("lost samples"); - m_audioBufferFill = 0; - - if(m_sampleSink != NULL) - m_sampleSink->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), true); - m_sampleBuffer.clear(); - - // TODO: correct levels - m_scale = ( end - begin) * m_sampleRate / 48000 / meansqr; -} - -void NFMDemod::start() -{ - m_squelchState = 0; -} - -void NFMDemod::stop() -{ -} - -bool NFMDemod::handleMessage(Message* cmd) -{ - if(DSPSignalNotification::match(cmd)) { - DSPSignalNotification* signal = (DSPSignalNotification*)cmd; - qDebug("%d samples/sec, %lld Hz offset", signal->getSampleRate(), signal->getFrequencyOffset()); - m_sampleRate = signal->getSampleRate(); - m_nco.setFreq(-signal->getFrequencyOffset(), m_sampleRate); - m_interpolator.create(16, m_sampleRate, m_rfBandwidth / 2.1); - m_sampleDistanceRemain = m_sampleRate / 48000.0; - m_squelchState = 0; - cmd->completed(); - return true; - } else if(MsgConfigureNFMDemod::match(cmd)) { - MsgConfigureNFMDemod* cfg = (MsgConfigureNFMDemod*)cmd; - m_rfBandwidth = cfg->getRFBandwidth(); - m_interpolator.create(16, m_sampleRate, m_rfBandwidth / 2.1); - m_lowpass.create(21, 48000, cfg->getAFBandwidth()); - m_squelchLevel = pow(10.0, cfg->getSquelch() / 10.0); - m_volume = cfg->getVolume(); - cmd->completed(); - return true; - } else { - if(m_sampleSink != NULL) - return m_sampleSink->handleMessage(cmd); - else return false; - } -} diff --git a/plugins/channel/nfm_testing/nfmdemod.h b/plugins/channel/nfm_testing/nfmdemod.h deleted file mode 100644 index 301e5216e..000000000 --- a/plugins/channel/nfm_testing/nfmdemod.h +++ /dev/null @@ -1,106 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////// -// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany // -// written by Christian Daniel // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation as version 3 of the License, or // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License V3 for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program. If not, see . // -/////////////////////////////////////////////////////////////////////////////////// - -#ifndef INCLUDE_NFMDEMOD_H -#define INCLUDE_NFMDEMOD_H - -#include -#include "dsp/samplesink.h" -#include "dsp/nco.h" -#include "dsp/interpolator.h" -#include "dsp/lowpass.h" -#include "dsp/movingaverage.h" -#include "audio/audiofifo.h" -#include "util/message.h" - -class AudioFifo; - -class NFMDemod : public SampleSink { -public: - NFMDemod(AudioFifo* audioFifo, SampleSink* sampleSink); - ~NFMDemod(); - - void configure(MessageQueue* messageQueue, Real rfBandwidth, Real afBandwidth, Real volume, Real squelch); - - void feed(SampleVector::const_iterator begin, SampleVector::const_iterator end, bool positiveOnly); - void start(); - void stop(); - bool handleMessage(Message* cmd); - -private: - class MsgConfigureNFMDemod : public Message { - MESSAGE_CLASS_DECLARATION - - public: - Real getRFBandwidth() const { return m_rfBandwidth; } - Real getAFBandwidth() const { return m_afBandwidth; } - Real getVolume() const { return m_volume; } - Real getSquelch() const { return m_squelch; } - - static MsgConfigureNFMDemod* create(Real rfBandwidth, Real afBandwidth, Real volume, Real squelch) - { - return new MsgConfigureNFMDemod(rfBandwidth, afBandwidth, volume, squelch); - } - - private: - Real m_rfBandwidth; - Real m_afBandwidth; - Real m_volume; - Real m_squelch; - - MsgConfigureNFMDemod(Real rfBandwidth, Real afBandwidth, Real volume, Real squelch) : - Message(), - m_rfBandwidth(rfBandwidth), - m_afBandwidth(afBandwidth), - m_volume(volume), - m_squelch(squelch) - { } - }; - - struct AudioSample { - qint16 l; - qint16 r; - }; - typedef std::vector AudioVector; - - Real m_rfBandwidth; - Real m_volume; - Real m_squelchLevel; - int m_sampleRate; - int m_frequency; - - NCO m_nco; - Interpolator m_interpolator; - Real m_sampleDistanceRemain; - Lowpass m_lowpass; - - int m_squelchState; - int m_framedrop; - - double m_scale; - Complex m_last, m_this; - MovingAverage m_movingAverage; - - AudioVector m_audioBuffer; - uint m_audioBufferFill; - - SampleSink* m_sampleSink; - SampleVector m_sampleBuffer; - AudioFifo* m_audioFifo; -}; - -#endif // INCLUDE_NFMDEMOD_H diff --git a/plugins/channel/nfm_testing/nfmdemodgui.cpp b/plugins/channel/nfm_testing/nfmdemodgui.cpp deleted file mode 100644 index ed022220e..000000000 --- a/plugins/channel/nfm_testing/nfmdemodgui.cpp +++ /dev/null @@ -1,210 +0,0 @@ -#include -#include -#include "nfmdemodgui.h" -#include "ui_nfmdemodgui.h" -#include "nfmdemodgui.h" -#include "ui_nfmdemodgui.h" -#include "dsp/threadedsamplesink.h" -#include "dsp/channelizer.h" -#include "nfmdemod.h" -#include "dsp/spectrumvis.h" -#include "gui/glspectrum.h" -#include "plugin/pluginapi.h" -#include "util/simpleserializer.h" -#include "gui/basicchannelsettingswidget.h" - -const int NFMDemodGUI::m_rfBW[] = { - 5000, 6250, 8330, 10000, 12500, 15000, 20000, 25000, 40000 -}; - -NFMDemodGUI* NFMDemodGUI::create(PluginAPI* pluginAPI) -{ - NFMDemodGUI* gui = new NFMDemodGUI(pluginAPI); - return gui; -} - -void NFMDemodGUI::destroy() -{ - delete this; -} - -void NFMDemodGUI::setName(const QString& name) -{ - setObjectName(name); -} - -void NFMDemodGUI::resetToDefaults() -{ - ui->rfBW->setValue(4); - ui->afBW->setValue(3); - ui->volume->setValue(20); - ui->squelch->setValue(-40); - ui->spectrumGUI->resetToDefaults(); - applySettings(); -} - -QByteArray NFMDemodGUI::serialize() const -{ - SimpleSerializer s(1); - s.writeS32(1, m_channelMarker->getCenterFrequency()); - s.writeS32(2, ui->rfBW->value()); - s.writeS32(3, ui->afBW->value()); - s.writeS32(4, ui->volume->value()); - s.writeS32(5, ui->squelch->value()); - s.writeBlob(6, ui->spectrumGUI->serialize()); - s.writeU32(7, m_channelMarker->getColor().rgb()); - return s.final(); -} - -bool NFMDemodGUI::deserialize(const QByteArray& data) -{ - SimpleDeserializer d(data); - - if(!d.isValid()) { - resetToDefaults(); - return false; - } - - if(d.getVersion() == 1) { - QByteArray bytetmp; - quint32 u32tmp; - qint32 tmp; - d.readS32(1, &tmp, 0); - m_channelMarker->setCenterFrequency(tmp); - d.readS32(2, &tmp, 4); - ui->rfBW->setValue(tmp); - d.readS32(3, &tmp, 3); - ui->afBW->setValue(tmp); - d.readS32(4, &tmp, 20); - ui->volume->setValue(tmp); - d.readS32(5, &tmp, -40); - ui->squelch->setValue(tmp); - d.readBlob(6, &bytetmp); - ui->spectrumGUI->deserialize(bytetmp); - if(d.readU32(7, &u32tmp)) - m_channelMarker->setColor(u32tmp); - applySettings(); - return true; - } else { - resetToDefaults(); - return false; - } -} - -bool NFMDemodGUI::handleMessage(Message* message) -{ - return false; -} - -void NFMDemodGUI::viewChanged() -{ - applySettings(); -} - -void NFMDemodGUI::on_rfBW_valueChanged(int value) -{ - ui->rfBWText->setText(QString("%1 kHz").arg(m_rfBW[value] / 1000.0)); - m_channelMarker->setBandwidth(m_rfBW[value]); - applySettings(); -} - -void NFMDemodGUI::on_afBW_valueChanged(int value) -{ - ui->afBWText->setText(QString("%1 kHz").arg(value)); - applySettings(); -} - -void NFMDemodGUI::on_volume_valueChanged(int value) -{ - ui->volumeText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1)); - applySettings(); -} - -void NFMDemodGUI::on_squelch_valueChanged(int value) -{ - ui->squelchText->setText(QString("%1 dB").arg(value)); - applySettings(); -} - - -void NFMDemodGUI::onWidgetRolled(QWidget* widget, bool rollDown) -{ - /* - if((widget == ui->spectrumContainer) && (m_nfmDemod != NULL)) - m_nfmDemod->setSpectrum(m_threadedSampleSink->getMessageQueue(), rollDown); - */ -} - -void NFMDemodGUI::onMenuDoubleClicked() -{ - if(!m_basicSettingsShown) { - m_basicSettingsShown = true; - BasicChannelSettingsWidget* bcsw = new BasicChannelSettingsWidget(m_channelMarker, this); - bcsw->show(); - } -} - -NFMDemodGUI::NFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent) : - RollupWidget(parent), - ui(new Ui::NFMDemodGUI), - m_pluginAPI(pluginAPI), - m_basicSettingsShown(false) -{ - ui->setupUi(this); - setAttribute(Qt::WA_DeleteOnClose, true); - connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); - connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked())); - - m_audioFifo = new AudioFifo(4, 48000 / 4); - m_spectrumVis = new SpectrumVis(ui->glSpectrum); - m_nfmDemod = new NFMDemod(m_audioFifo, m_spectrumVis); - m_channelizer = new Channelizer(m_nfmDemod); - m_threadedSampleSink = new ThreadedSampleSink(m_channelizer); - m_pluginAPI->addAudioSource(m_audioFifo); - m_pluginAPI->addSampleSink(m_threadedSampleSink); - - ui->glSpectrum->setCenterFrequency(6000); - ui->glSpectrum->setSampleRate(12000); - ui->glSpectrum->setDisplayWaterfall(true); - ui->glSpectrum->setDisplayMaxHold(true); - m_spectrumVis->configure(m_threadedSampleSink->getMessageQueue(), 64, 10, FFTWindow::BlackmanHarris); - - m_channelMarker = new ChannelMarker(this); - m_channelMarker->setColor(Qt::red); - m_channelMarker->setBandwidth(12500); - m_channelMarker->setCenterFrequency(0); - m_channelMarker->setVisible(true); - connect(m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged())); - m_pluginAPI->addChannelMarker(m_channelMarker); - - ui->spectrumGUI->setBuddies(m_threadedSampleSink->getMessageQueue(), m_spectrumVis, ui->glSpectrum); - - applySettings(); -} - -NFMDemodGUI::~NFMDemodGUI() -{ - m_pluginAPI->removeChannelInstance(this); - m_pluginAPI->removeAudioSource(m_audioFifo); - m_pluginAPI->removeSampleSink(m_threadedSampleSink); - delete m_threadedSampleSink; - delete m_channelizer; - delete m_nfmDemod; - delete m_spectrumVis; - delete m_audioFifo; - delete m_channelMarker; - delete ui; -} - -void NFMDemodGUI::applySettings() -{ - setTitleColor(m_channelMarker->getColor()); - m_channelizer->configure(m_threadedSampleSink->getMessageQueue(), - 48000, - m_channelMarker->getCenterFrequency()); - m_nfmDemod->configure(m_threadedSampleSink->getMessageQueue(), - m_rfBW[ui->rfBW->value()], - ui->afBW->value() * 1000.0, - ui->volume->value() / 10.0, - ui->squelch->value()); -} diff --git a/plugins/channel/nfm_testing/nfmdemodgui.h b/plugins/channel/nfm_testing/nfmdemodgui.h deleted file mode 100644 index edfb80860..000000000 --- a/plugins/channel/nfm_testing/nfmdemodgui.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef INCLUDE_NFMDEMODGUI_H -#define INCLUDE_NFMDEMODGUI_H - -#include "gui/rollupwidget.h" -#include "plugin/plugingui.h" - -class PluginAPI; -class ChannelMarker; - -class AudioFifo; -class ThreadedSampleSink; -class Channelizer; -class NFMDemod; -class SpectrumVis; - -namespace Ui { - class NFMDemodGUI; -} - -class NFMDemodGUI : public RollupWidget, public PluginGUI { - Q_OBJECT - -public: - static NFMDemodGUI* create(PluginAPI* pluginAPI); - void destroy(); - - void setName(const QString& name); - - void resetToDefaults(); - QByteArray serialize() const; - bool deserialize(const QByteArray& data); - - bool handleMessage(Message* message); - -private slots: - void viewChanged(); - void on_rfBW_valueChanged(int value); - void on_afBW_valueChanged(int value); - void on_volume_valueChanged(int value); - void on_squelch_valueChanged(int value); - void onWidgetRolled(QWidget* widget, bool rollDown); - void onMenuDoubleClicked(); - -private: - Ui::NFMDemodGUI* ui; - PluginAPI* m_pluginAPI; - ChannelMarker* m_channelMarker; - bool m_basicSettingsShown; - - AudioFifo* m_audioFifo; - ThreadedSampleSink* m_threadedSampleSink; - Channelizer* m_channelizer; - NFMDemod* m_nfmDemod; - SpectrumVis* m_spectrumVis; - - static const int m_rfBW[]; - - explicit NFMDemodGUI(PluginAPI* pluginAPI, QWidget* parent = NULL); - ~NFMDemodGUI(); - - void applySettings(); -}; - -#endif // INCLUDE_NFMDEMODGUI_H diff --git a/plugins/channel/nfm_testing/nfmdemodgui.ui b/plugins/channel/nfm_testing/nfmdemodgui.ui deleted file mode 100644 index 64cc44921..000000000 --- a/plugins/channel/nfm_testing/nfmdemodgui.ui +++ /dev/null @@ -1,250 +0,0 @@ - - - NFMDemodGUI - - - - 0 - 0 - 302 - 410 - - - - NFM Demodulator - - - - - 35 - 35 - 242 - 96 - - - - Settings - - - - 2 - - - 3 - - - - - RF Bandwidth - - - - - - - 8 - - - 1 - - - 4 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 12.5kHz - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - AF Bandwidth - - - - - - - 1 - - - 20 - - - 1 - - - 3 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 3 kHz - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Volume - - - - - - - 100 - - - 20 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 2.0 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Squelch - - - - - - - -100 - - - 0 - - - -40 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - -40dB - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - 40 - 140 - 218 - 184 - - - - Channel Spectrum - - - - 2 - - - 3 - - - - - - 200 - 150 - - - - - - - - - - - - - GLSpectrum - QWidget -

gui/glspectrum.h
- 1 - - - GLSpectrumGUI - QWidget -
gui/glspectrumgui.h
- 1 -
- - RollupWidget - QWidget -
gui/rollupwidget.h
- 1 -
- - - - diff --git a/plugins/channel/nfm_testing/nfmplugin.cpp b/plugins/channel/nfm_testing/nfmplugin.cpp deleted file mode 100644 index 57b5b9249..000000000 --- a/plugins/channel/nfm_testing/nfmplugin.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include "plugin/pluginapi.h" -#include "nfmplugin.h" -#include "nfmdemodgui.h" - -const PluginDescriptor NFMPlugin::m_pluginDescriptor = { - QString("NFM Demodulator"), - QString("---"), - QString("(c) maintech GmbH (written by Christian Daniel)"), - QString("http://www.maintech.de"), - true, - QString("http://www.maintech.de") -}; - -NFMPlugin::NFMPlugin(QObject* parent) : - QObject(parent) -{ -} - -const PluginDescriptor& NFMPlugin::getPluginDescriptor() const -{ - return m_pluginDescriptor; -} - -void NFMPlugin::initPlugin(PluginAPI* pluginAPI) -{ - m_pluginAPI = pluginAPI; - - // register NFM demodulator - QAction* action = new QAction(tr("&NFM Demodulator"), this); - connect(action, SIGNAL(triggered()), this, SLOT(createInstanceNFM())); - m_pluginAPI->registerChannel("de.maintech.sdrangelove.channel.nfm", this, action); -} - -PluginGUI* NFMPlugin::createChannel(const QString& channelName) -{ - if(channelName == "de.maintech.sdrangelove.channel.nfm") { - NFMDemodGUI* gui = NFMDemodGUI::create(m_pluginAPI); - m_pluginAPI->registerChannelInstance("de.maintech.sdrangelove.channel.nfm", gui); - m_pluginAPI->addChannelRollup(gui); - return gui; - } else { - return NULL; - } -} - -void NFMPlugin::createInstanceNFM() -{ - NFMDemodGUI* gui = NFMDemodGUI::create(m_pluginAPI); - m_pluginAPI->registerChannelInstance("de.maintech.sdrangelove.channel.nfm", gui); - m_pluginAPI->addChannelRollup(gui); -} diff --git a/plugins/channel/nfm_testing/nfmplugin.h b/plugins/channel/nfm_testing/nfmplugin.h deleted file mode 100644 index 0cd345b8f..000000000 --- a/plugins/channel/nfm_testing/nfmplugin.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef INCLUDE_NFMPLUGIN_H -#define INCLUDE_NFMPLUGIN_H - -#include -#include "plugin/plugininterface.h" - -class NFMPlugin : public QObject, PluginInterface { - Q_OBJECT - Q_INTERFACES(PluginInterface) - Q_PLUGIN_METADATA(IID "de.maintech.sdrangelove.channel.nfm") - -public: - explicit NFMPlugin(QObject* parent = NULL); - - const PluginDescriptor& getPluginDescriptor() const; - void initPlugin(PluginAPI* pluginAPI); - - PluginGUI* createChannel(const QString& channelName); - -private: - static const PluginDescriptor m_pluginDescriptor; - - PluginAPI* m_pluginAPI; - -private slots: - void createInstanceNFM(); -}; - -#endif // INCLUDE_NFMPLUGIN_H diff --git a/plugins/channel/usb/CMakeLists.txt b/plugins/channel/usb/CMakeLists.txt deleted file mode 100644 index 5ac60e49e..000000000 --- a/plugins/channel/usb/CMakeLists.txt +++ /dev/null @@ -1,47 +0,0 @@ -project(usb) - -set(usb_SOURCES - usbdemod.cpp - usbdemodgui.cpp - usbplugin.cpp -) - -set(usb_HEADERS - usbdemod.h - usbdemodgui.h - usbplugin.h -) - -set(usb_FORMS - usbdemodgui.ui -) - -include_directories( - . - ${CMAKE_CURRENT_BINARY_DIR} - ${CMAKE_SOURCE_DIR}/include - ${CMAKE_SOURCE_DIR}/include-gpl - ${OPENGL_INCLUDE_DIR} -) - -#include(${QT_USE_FILE}) -add_definitions(${QT_DEFINITIONS}) -add_definitions(-DQT_PLUGIN) -add_definitions(-DQT_SHARED) - -#qt5_wrap_cpp(usb_HEADERS_MOC ${usb_HEADERS}) -qt5_wrap_ui(usb_FORMS_HEADERS ${usb_FORMS}) - -add_library(demodusb SHARED - ${usb_SOURCES} - ${usb_HEADERS_MOC} - ${usb_FORMS_HEADERS} -) - -target_link_libraries(demodusb - ${QT_LIBRARIES} - ${OPENGL_LIBRARIES} - sdrbase -) - -qt5_use_modules(demodusb Core Widgets OpenGL Multimedia) diff --git a/plugins/channel/usb/usbdemod.cpp b/plugins/channel/usb/usbdemod.cpp deleted file mode 100644 index 0733480f2..000000000 --- a/plugins/channel/usb/usbdemod.cpp +++ /dev/null @@ -1,158 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////// -// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany // -// written by Christian Daniel // -// (c) 2014 Modified by John Greb -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation as version 3 of the License, or // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License V3 for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program. If not, see . // -/////////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include "usbdemod.h" -#include "audio/audiooutput.h" -#include "dsp/dspcommands.h" - -MESSAGE_CLASS_DEFINITION(USBDemod::MsgConfigureUSBDemod, Message) - -USBDemod::USBDemod(AudioFifo* audioFifo, SampleSink* sampleSink) : - m_sampleSink(sampleSink), - m_audioFifo(audioFifo) -{ - m_Bandwidth = 5000; - m_volume = 2.0; - m_sampleRate = 96000; - m_frequency = 0; - - m_audioBuffer.resize(512); - m_audioBufferFill = 0; - m_undersampleCount = 0; - m_i = 0; - - USBFilter = new fftfilt(0.01, m_Bandwidth / 96000.0, USBFFTLEN); - // if (!USBFilter) segfault; -} - -USBDemod::~USBDemod() -{ - if (USBFilter) delete USBFilter; -} - -void USBDemod::configure(MessageQueue* messageQueue, Real Bandwidth, Real volume) -{ - Message* cmd = MsgConfigureUSBDemod::create(Bandwidth, volume); - cmd->submit(messageQueue, this); -} - -/* Fractional Downsample to 48 kHz. - * 192 1:4 (3072 / 16) - * 144 1:3 (1152 / 8) - * 96 1:2 (1536 / 16) - * 72 2:3 ( 288 / 4) - * 64 3:4 (1024 / 16) - * For Arbritrary resample use ssb demodulator */ -double rerate(int rate) -{ - switch (rate) - { - case 64000 : return (3.0 * 64000); break; - case 72000 : return (2.0 * 72000); break; - case 0 : return (1.0 ) ; break; - default : return (1.0 * rate ); break; - } -} - -void USBDemod::feed(SampleVector::const_iterator begin, SampleVector::const_iterator end, bool positiveOnly) -{ - Real a, b; - Complex c; - int i, n_out; - cmplx *sideband; - int samplestep = 2; - - if ((m_sampleRate == 72000)||(m_sampleRate == 144000)) - samplestep = 3; - if ((m_sampleRate == 64000)||(m_sampleRate == 192000)) - samplestep = 4; - - for(SampleVector::const_iterator it = begin; it < end; it ++) { - a = it->real(); - b = it->imag(); - c = Complex(a / 65536.0, b / 65536.0); - - n_out = USBFilter->runSSB(c, &sideband, true); - if (m_sampleRate <= 72000) - n_out += USBFilter->runSSB(c, &sideband, true); - if (m_sampleRate == 64000) - n_out += USBFilter->runSSB(c, &sideband, true); - for (i = m_i ; i < n_out; i += samplestep) { - Real demod = (sideband[i].real() + sideband[i].imag()) * 32768.0; - - // Downsample by 4x for audio display - if (!(m_undersampleCount++ & 3)) - m_sampleBuffer.push_back(Sample(demod, 0.0)); - - qint16 sample = (qint16)(demod * m_volume); - m_audioBuffer[m_audioBufferFill].l = sample; - m_audioBuffer[m_audioBufferFill].r = sample; - ++m_audioBufferFill; - if(m_audioBufferFill >= m_audioBuffer.size()) { - uint res = m_audioFifo->write((const quint8*)&m_audioBuffer[0], m_audioBufferFill, 1); - if (res != m_audioBufferFill) - qDebug("lost %u samples", m_audioBufferFill - res); - m_audioBufferFill = 0; - } - } - m_i = i - n_out; - } - if(m_audioFifo->write((const quint8*)&m_audioBuffer[0], m_audioBufferFill, 0) != m_audioBufferFill) - ;//qDebug("lost samples"); - m_audioBufferFill = 0; - - if(m_sampleSink != NULL) - m_sampleSink->feed(m_sampleBuffer.begin(), m_sampleBuffer.end(), true); - m_sampleBuffer.clear(); -} - -void USBDemod::start() -{ -} - -void USBDemod::stop() -{ -} - -bool USBDemod::handleMessage(Message* cmd) -{ - double rate; - if(DSPSignalNotification::match(cmd)) { - DSPSignalNotification* signal = (DSPSignalNotification*)cmd; - m_sampleRate = signal->getSampleRate(); - rate = rerate(m_sampleRate); - USBFilter->create_filter(300.0 / rate, (double)m_Bandwidth / rate); - cmd->completed(); - return true; - } else if(MsgConfigureUSBDemod::match(cmd)) { - MsgConfigureUSBDemod* cfg = (MsgConfigureUSBDemod*)cmd; - m_Bandwidth = cfg->getBandwidth(); - rate = rerate(m_sampleRate); - USBFilter->create_filter(300.0 / rate, (double)m_Bandwidth / rate); - m_volume = cfg->getVolume(); - m_volume *= m_volume * 0.1; - cmd->completed(); - return true; - } else { - if(m_sampleSink != NULL) - return m_sampleSink->handleMessage(cmd); - else return false; - } -} diff --git a/plugins/channel/usb/usbdemod.h b/plugins/channel/usb/usbdemod.h deleted file mode 100644 index b5316689b..000000000 --- a/plugins/channel/usb/usbdemod.h +++ /dev/null @@ -1,91 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////////// -// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany // -// written by Christian Daniel // -// // -// This program is free software; you can redistribute it and/or modify // -// it under the terms of the GNU General Public License as published by // -// the Free Software Foundation as version 3 of the License, or // -// // -// This program is distributed in the hope that it will be useful, // -// but WITHOUT ANY WARRANTY; without even the implied warranty of // -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // -// GNU General Public License V3 for more details. // -// // -// You should have received a copy of the GNU General Public License // -// along with this program. If not, see . // -/////////////////////////////////////////////////////////////////////////////////// - -#ifndef INCLUDE_USBDEMOD_H -#define INCLUDE_USBDEMOD_H - -#include -#include "dsp/samplesink.h" -#include "dsp/nco.h" -#include "dsp/interpolator.h" -#include "dsp/fftfilt.h" -#include "audio/audiofifo.h" -#include "util/message.h" - -#define USBFFTLEN 2048 - -class AudioFifo; - -class USBDemod : public SampleSink { -public: - USBDemod(AudioFifo* audioFifo, SampleSink* sampleSink); - ~USBDemod(); - - void configure(MessageQueue* messageQueue, Real Bandwidth, Real volume); - - void feed(SampleVector::const_iterator begin, SampleVector::const_iterator end, bool positiveOnly); - void start(); - void stop(); - bool handleMessage(Message* cmd); - -private: - class MsgConfigureUSBDemod : public Message { - MESSAGE_CLASS_DECLARATION - - public: - Real getBandwidth() const { return m_Bandwidth; } - Real getVolume() const { return m_volume; } - - static MsgConfigureUSBDemod* create(Real Bandwidth, Real volume) - { - return new MsgConfigureUSBDemod(Bandwidth, volume); - } - - private: - Real m_Bandwidth; - Real m_volume; - - MsgConfigureUSBDemod(Real Bandwidth, Real volume) : - Message(), - m_Bandwidth(Bandwidth), - m_volume(volume) - { } - }; - - struct AudioSample { - qint16 l; - qint16 r; - }; - typedef std::vector AudioVector; - - Real m_Bandwidth; - Real m_volume; - int m_undersampleCount; - int m_sampleRate; - int m_frequency; - int m_i; - - AudioVector m_audioBuffer; - uint m_audioBufferFill; - fftfilt* USBFilter; - - SampleSink* m_sampleSink; - SampleVector m_sampleBuffer; - AudioFifo* m_audioFifo; -}; - -#endif // INCLUDE_USBDEMOD_H diff --git a/plugins/channel/usb/usbdemodgui.cpp b/plugins/channel/usb/usbdemodgui.cpp deleted file mode 100644 index 3058c9cc6..000000000 --- a/plugins/channel/usb/usbdemodgui.cpp +++ /dev/null @@ -1,180 +0,0 @@ -#include -#include -#include "usbdemodgui.h" -#include "ui_usbdemodgui.h" -#include "dsp/threadedsamplesink.h" -#include "dsp/channelizer.h" -#include "usbdemod.h" -#include "dsp/spectrumvis.h" -#include "gui/glspectrum.h" -#include "plugin/pluginapi.h" -#include "util/simpleserializer.h" -#include "gui/basicchannelsettingswidget.h" - -USBDemodGUI* USBDemodGUI::create(PluginAPI* pluginAPI) -{ - USBDemodGUI* gui = new USBDemodGUI(pluginAPI); - return gui; -} - -void USBDemodGUI::destroy() -{ - delete this; -} - -void USBDemodGUI::setName(const QString& name) -{ - setObjectName(name); -} - -void USBDemodGUI::resetToDefaults() -{ - ui->BW->setValue(3); - ui->volume->setValue(4); - applySettings(); -} - -QByteArray USBDemodGUI::serialize() const -{ - SimpleSerializer s(1); - s.writeS32(1, m_channelMarker->getCenterFrequency()); - s.writeS32(2, ui->BW->value()); - s.writeS32(3, ui->volume->value()); - s.writeBlob(4, ui->spectrumGUI->serialize()); - s.writeU32(5, m_channelMarker->getColor().rgb()); - return s.final(); -} - -bool USBDemodGUI::deserialize(const QByteArray& data) -{ - SimpleDeserializer d(data); - - if(!d.isValid()) { - resetToDefaults(); - return false; - } - - if(d.getVersion() == 1) { - QByteArray bytetmp; - quint32 u32tmp; - qint32 tmp; - d.readS32(1, &tmp, 0); - m_channelMarker->setCenterFrequency(tmp); - d.readS32(2, &tmp, 3); - ui->BW->setValue(tmp); - d.readS32(3, &tmp, 20); - ui->volume->setValue(tmp); - d.readBlob(4, &bytetmp); - ui->spectrumGUI->deserialize(bytetmp); - if(d.readU32(5, &u32tmp)) - m_channelMarker->setColor(u32tmp); - applySettings(); - return true; - } else { - resetToDefaults(); - return false; - } -} - -bool USBDemodGUI::handleMessage(Message* message) -{ - return false; -} - -void USBDemodGUI::viewChanged() -{ - applySettings(); -} - -void USBDemodGUI::on_BW_valueChanged(int value) -{ - ui->BWText->setText(QString("%1 kHz").arg(value)); - m_channelMarker->setBandwidth(value * 1000); - m_channelMarker->setCenterFrequency(value * 500); - applySettings(); -} - -void USBDemodGUI::on_volume_valueChanged(int value) -{ - ui->volumeText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1)); - applySettings(); -} - -void USBDemodGUI::onWidgetRolled(QWidget* widget, bool rollDown) -{ - /* - if((widget == ui->spectrumContainer) && (m_usbDemod != NULL)) - m_usbDemod->setSpectrum(m_threadedSampleSink->getMessageQueue(), rollDown); - */ -} - -void USBDemodGUI::onMenuDoubleClicked() -{ - if(!m_basicSettingsShown) { - m_basicSettingsShown = true; - BasicChannelSettingsWidget* bcsw = new BasicChannelSettingsWidget(m_channelMarker, this); - bcsw->show(); - } -} - -USBDemodGUI::USBDemodGUI(PluginAPI* pluginAPI, QWidget* parent) : - RollupWidget(parent), - ui(new Ui::USBDemodGUI), - m_pluginAPI(pluginAPI), - m_basicSettingsShown(false) -{ - ui->setupUi(this); - setAttribute(Qt::WA_DeleteOnClose, true); - connect(this, SIGNAL(widgetRolled(QWidget*,bool)), this, SLOT(onWidgetRolled(QWidget*,bool))); - connect(this, SIGNAL(menuDoubleClickEvent()), this, SLOT(onMenuDoubleClicked())); - - m_audioFifo = new AudioFifo(4, 48000 / 4); - m_spectrumVis = new SpectrumVis(ui->glSpectrum); - m_usbDemod = new USBDemod(m_audioFifo, m_spectrumVis); - m_channelizer = new Channelizer(m_usbDemod); - m_threadedSampleSink = new ThreadedSampleSink(m_channelizer); - m_pluginAPI->addAudioSource(m_audioFifo); - m_pluginAPI->addSampleSink(m_threadedSampleSink); - - ui->glSpectrum->setCenterFrequency(3000); - ui->glSpectrum->setSampleRate(6000); - ui->glSpectrum->setDisplayWaterfall(true); - ui->glSpectrum->setDisplayMaxHold(true); - - m_channelMarker = new ChannelMarker(this); - m_channelMarker->setColor(Qt::blue); - m_channelMarker->setBandwidth(5000); - m_channelMarker->setCenterFrequency(2500); - m_channelMarker->setVisible(true); - connect(m_channelMarker, SIGNAL(changed()), this, SLOT(viewChanged())); - m_pluginAPI->addChannelMarker(m_channelMarker); - - ui->spectrumGUI->setBuddies(m_threadedSampleSink->getMessageQueue(), m_spectrumVis, ui->glSpectrum); - - applySettings(); -} - -USBDemodGUI::~USBDemodGUI() -{ - m_pluginAPI->removeChannelInstance(this); - m_pluginAPI->removeAudioSource(m_audioFifo); - m_pluginAPI->removeSampleSink(m_threadedSampleSink); - delete m_threadedSampleSink; - delete m_channelizer; - delete m_usbDemod; - delete m_spectrumVis; - delete m_audioFifo; - delete m_channelMarker; - delete ui; -} - -void USBDemodGUI::applySettings() -{ - setTitleColor(m_channelMarker->getColor()); - m_channelizer->configure(m_threadedSampleSink->getMessageQueue(), - 48000, - m_channelMarker->getCenterFrequency()); - m_usbDemod->configure(m_threadedSampleSink->getMessageQueue(), - ui->BW->value() * 1000.0, - ui->volume->value() / 10.0 ); -} diff --git a/plugins/channel/usb/usbdemodgui.h b/plugins/channel/usb/usbdemodgui.h deleted file mode 100644 index 4233ffc69..000000000 --- a/plugins/channel/usb/usbdemodgui.h +++ /dev/null @@ -1,60 +0,0 @@ -#ifndef INCLUDE_USBDEMODGUI_H -#define INCLUDE_USBDEMODGUI_H - -#include "gui/rollupwidget.h" -#include "plugin/plugingui.h" - -class PluginAPI; -class ChannelMarker; - -class AudioFifo; -class ThreadedSampleSink; -class Channelizer; -class USBDemod; -class SpectrumVis; - -namespace Ui { - class USBDemodGUI; -} - -class USBDemodGUI : public RollupWidget, public PluginGUI { - Q_OBJECT - -public: - static USBDemodGUI* create(PluginAPI* pluginAPI); - void destroy(); - - void setName(const QString& name); - - void resetToDefaults(); - QByteArray serialize() const; - bool deserialize(const QByteArray& data); - - bool handleMessage(Message* message); - -private slots: - void viewChanged(); - void on_BW_valueChanged(int value); - void on_volume_valueChanged(int value); - void onWidgetRolled(QWidget* widget, bool rollDown); - void onMenuDoubleClicked(); - -private: - Ui::USBDemodGUI* ui; - PluginAPI* m_pluginAPI; - ChannelMarker* m_channelMarker; - bool m_basicSettingsShown; - - AudioFifo* m_audioFifo; - ThreadedSampleSink* m_threadedSampleSink; - Channelizer* m_channelizer; - USBDemod* m_usbDemod; - SpectrumVis* m_spectrumVis; - - explicit USBDemodGUI(PluginAPI* pluginAPI, QWidget* parent = NULL); - ~USBDemodGUI(); - - void applySettings(); -}; - -#endif // INCLUDE_USBDEMODGUI_H diff --git a/plugins/channel/usb/usbdemodgui.ui b/plugins/channel/usb/usbdemodgui.ui deleted file mode 100644 index dc1c8a083..000000000 --- a/plugins/channel/usb/usbdemodgui.ui +++ /dev/null @@ -1,172 +0,0 @@ - - - USBDemodGUI - - - - 0 - 0 - 302 - 410 - - - - USB Demodulator - - - - - 35 - 35 - 242 - 96 - - - - Settings - - - - 2 - - - 3 - - - - - Bandwidth - - - - - - - 1 - - - 20 - - - 1 - - - 3 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 3 kHz - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - Volume - - - - - - - 100 - - - 20 - - - Qt::Horizontal - - - - - - - - 50 - 0 - - - - 2.0 - - - Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter - - - - - - - - - 40 - 140 - 218 - 184 - - - - Channel Spectrum - - - - 2 - - - 3 - - - - - - 200 - 150 - - - - - - - - - - - - - GLSpectrum - QWidget -
gui/glspectrum.h
- 1 -
- - GLSpectrumGUI - QWidget -
gui/glspectrumgui.h
- 1 -
- - RollupWidget - QWidget -
gui/rollupwidget.h
- 1 -
-
- - -
diff --git a/plugins/channel/usb/usbplugin.cpp b/plugins/channel/usb/usbplugin.cpp deleted file mode 100644 index ce4bf202e..000000000 --- a/plugins/channel/usb/usbplugin.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include -#include -#include "plugin/pluginapi.h" -#include "usbplugin.h" -#include "usbdemodgui.h" - -const PluginDescriptor USBPlugin::m_pluginDescriptor = { - QString("USB Demodulator"), - QString("0.1"), - QString("(c) 2014 John Greb"), - QString("http://www.maintech.de"), - true, - QString("github.com/hexameron/rtl-sdrangelove") -}; - -USBPlugin::USBPlugin(QObject* parent) : - QObject(parent) -{ -} - -const PluginDescriptor& USBPlugin::getPluginDescriptor() const -{ - return m_pluginDescriptor; -} - -void USBPlugin::initPlugin(PluginAPI* pluginAPI) -{ - m_pluginAPI = pluginAPI; - - // register demodulator - QAction* action = new QAction(tr("&USB Demodulator"), this); - connect(action, SIGNAL(triggered()), this, SLOT(createInstanceUSB())); - m_pluginAPI->registerChannel("de.maintech.sdrangelove.channel.usb", this, action); -} - -PluginGUI* USBPlugin::createChannel(const QString& channelName) -{ - if(channelName == "de.maintech.sdrangelove.channel.usb") { - USBDemodGUI* gui = USBDemodGUI::create(m_pluginAPI); - m_pluginAPI->registerChannelInstance("de.maintech.sdrangelove.channel.usb", gui); - m_pluginAPI->addChannelRollup(gui); - return gui; - } else { - return NULL; - } -} - -void USBPlugin::createInstanceUSB() -{ - USBDemodGUI* gui = USBDemodGUI::create(m_pluginAPI); - m_pluginAPI->registerChannelInstance("de.maintech.sdrangelove.channel.usb", gui); - m_pluginAPI->addChannelRollup(gui); -} diff --git a/plugins/channel/usb/usbplugin.h b/plugins/channel/usb/usbplugin.h deleted file mode 100644 index a434d1d18..000000000 --- a/plugins/channel/usb/usbplugin.h +++ /dev/null @@ -1,29 +0,0 @@ -#ifndef INCLUDE_USBPLUGIN_H -#define INCLUDE_USBPLUGIN_H - -#include -#include "plugin/plugininterface.h" - -class USBPlugin : public QObject, PluginInterface { - Q_OBJECT - Q_INTERFACES(PluginInterface) - Q_PLUGIN_METADATA(IID "de.maintech.sdrangelove.channel.usb") - -public: - explicit USBPlugin(QObject* parent = NULL); - - const PluginDescriptor& getPluginDescriptor() const; - void initPlugin(PluginAPI* pluginAPI); - - PluginGUI* createChannel(const QString& channelName); - -private: - static const PluginDescriptor m_pluginDescriptor; - - PluginAPI* m_pluginAPI; - -private slots: - void createInstanceUSB(); -}; - -#endif // INCLUDE_USBPLUGIN_H diff --git a/plugins/samplesource/CMakeLists.txt b/plugins/samplesource/CMakeLists.txt index 145ca65f1..93d9d7c57 100644 --- a/plugins/samplesource/CMakeLists.txt +++ b/plugins/samplesource/CMakeLists.txt @@ -5,12 +5,12 @@ find_package(LibUSB) if(V4L-RTL) FIND_LIBRARY (LIBV4L2 v4l2) FIND_PATH (LIBV4L2H libv4l2.h) - add_subdirectory(v4l-rtl) +# add_subdirectory(v4l-rtl) endif() if(V4L-MSI) FIND_LIBRARY (LIBV4L2 v4l2) FIND_PATH (LIBV4L2H libv4l2.h) - add_subdirectory(v4l-msi) +# add_subdirectory(v4l-msi) endif() if(LIBUSB_FOUND AND UNIX)