1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-12-22 17:45:48 -05:00

SDRDaemon device plugins migration to Remote device: final changes to remove daemon references. Updated version and Debian changelog

This commit is contained in:
f4exb 2019-02-03 01:52:11 +01:00
parent 60ca383a6e
commit 8a0508c609
41 changed files with 96 additions and 94 deletions

View File

@ -45,7 +45,7 @@ Since version 3 transmission or signal generation is supported for BladeRF, Hack
- [PlutoSDR output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/plutosdroutput)
- [XTRX output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/xtrxoutput) Experimental.
- [File output or file sink plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/filesink)
- [Remote device via Network with SDRdaemon](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/sdrdaemonsink) Linux only
- [Remote device via Network](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/remoteoutput) Linux only
<h2>REST API</h2>
@ -55,9 +55,9 @@ Since version 4 a REST API is available to interact with the SDRangel applicatio
Since version 4 the `sdrangelsrv` binary launches a server mode SDRangel instance that runs wihout the GUI. More information is provided in the Readme file of the `sdrsrv` folder.
<h2>Detached RF head server (SDRdaemon)</h2>
<h2>Detached RF head server</h2>
Since version 4.1 the previously separated project SDRdaemon has been modified and included in SDRangel. The `sdrangelsrv` headless variant can be used for this purpose using the Daemon source or sink channels.
Since version 4.1 the previously separated project SDRdaemon has been modified and included in SDRangel. The `sdrangelsrv` headless variant can be used for this purpose using the Remote source or sink channels.
<h1>Notes on pulseaudio setup</h1>
@ -300,11 +300,11 @@ Note that this plugin does not require any of the hardware support libraries nor
The [Test source plugin](https://github.com/f4exb/sdrangel/tree/master/plugins/samplesource/testsource) is an internal continuous wave generator that can be used to carry out test of software internals.
<h2>SDRdaemon receiver input</h2>
<h2>Remote input</h2>
Linux only.
The [SDRdaemon source input plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesource/sdrdaemonsource) is the client side of an instance of SDRangel running the Daemon Sink channel plugin. On the "Data" line you must specify the local address and UDP port to which the remote server connects and samples will flow into the SDRangel application (default is `127.0.0.1`port `9090`). It uses the meta data to retrieve the sample flow characteristics such as sample rate and receiving center frequency. The remote is entirely controlled by the REST API. On the "API" line you can specify the address and port at which the remote REST API listens. However it is used just to display basic information about the remote.
The [Remote input plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesource/remoteinput) is the client side of an instance of SDRangel running the Remote Sink channel plugin. On the "Data" line you must specify the local address and UDP port to which the remote server connects and samples will flow into the SDRangel application (default is `127.0.0.1`port `9090`). It uses the meta data to retrieve the sample flow characteristics such as sample rate and receiving center frequency. The remote is entirely controlled by the REST API. On the "API" line you can specify the address and port at which the remote REST API listens. However it is used just to display basic information about the remote.
The data blocks transmitted via UDP are protected against loss with a Cauchy MDS block erasure codec. This makes the transmission more robust in particular with WiFi links.
@ -312,19 +312,19 @@ There is an automated skew rate compensation in place. During rate readjustment
This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system.
Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `SDRdaemonSource[0]` even if no physical device is connected.
Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `RemoteInput` even if no physical device is connected.
<h2>SDRdaemon transmitter output</h2>
<h2>Remote output</h2>
Linux only.
The [SDRdaemon sink output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/sdrdaemonsink) is the client side of and instance of SDRangel running the Daemon Source channel plugin. On the "Data" line you must specify the distant address and UDP port to which the plugin connects and samples from the SDRangel application will flow into the transmitter server (default is `127.0.0.1`port `9090`). The remote is entirely controlled by the REST API. On the "API" line you can specify the address and port at which the remote REST API listens. The API is pinged regularly to retrieve the status of the data blocks queue and allow rate control to stabilize the queue length. Therefore it is important to connect to the API properly (The status line must return "API OK" and the API label should be lit in green).
The [Remote output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/remoteoutput) is the client side of and instance of SDRangel running the Remote Source channel plugin. On the "Data" line you must specify the distant address and UDP port to which the plugin connects and samples from the SDRangel application will flow into the transmitter server (default is `127.0.0.1`port `9090`). The remote is entirely controlled by the REST API. On the "API" line you can specify the address and port at which the remote REST API listens. The API is pinged regularly to retrieve the status of the data blocks queue and allow rate control to stabilize the queue length. Therefore it is important to connect to the API properly (The status line must return "API OK" and the API label should be lit in green).
The data blocks sent via UDP are protected against loss with a Cauchy MDS block erasure codec. This makes the transmission more robust in particular with WiFi links.
This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) IS installed in your system.
Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `SDRdaemonSink[0]` even if no physical device is connected.
Note that this plugin does not require any of the hardware support libraries nor the libusb library. It is always available in the list of devices as `RemoteOutput` even if no physical device is connected.
<h1>Channel plugins with special conditions</h1>

View File

@ -40,8 +40,7 @@ At present the following plugins are available:
- `FCDProPlusXxx` classes in `plugins/samplesource/fcdproplus`: Interface with Funcube Pro+ devices
- `HackRFXxx` classes in `plugins/samplesource/hackrf`: Interface with HackRF devices
- `RTLSDRXxx` classes in `plugins/samplesource/rtlsdr`: Interface with RTL-SDR devices
- `SDRDaemonXxx` classes in `plugins/samplesource/sdrdaemon`: Special interface collecting I/Q samples from an UDP flow sent by a remote device using [SDRdaemon](https://github.com/f4exb/sdrdaemon).
- `SDRDaemonFECXxx` classes in `plugins/samplesource/sdrdaemonfec`: Special interface collecting I/Q samples from an UDP flow sent by a remote device using [SDRdaemon](https://github.com/f4exb/sdrdaemon) with FEC protection of blocks.
- `RemoteInput` class in `plugins/samplesource/remoteinput`: Special interface collecting I/Q samples from an UDP flow sent by a remote instance of SDRangel using Remote sink channel.
- `FileSource` classes in `plugins/samplesource/filesource`: Special interface reading I/Q samples from a file directly into the baseband skipping the downsampling block
<h3>Device sample sink plugins</h3>

View File

@ -8,7 +8,7 @@ You should take note that the Windows scheduler is just a piece of crap and not
There are no plugins for both flavours of Funcubes since it uses Alsa interface which is Linux exclusively. Changing for the Qt audio portable interface instead could be a solution that will be investigated in the future.
Please be aware that the SDRdaemon plugin is not working well mainly due to the fact that it needs an OS with a decent scheduler and Windows is definitely not this sort of OS (see my previous warning). In fact depending on the case your mileage may vary however the Linux version works always beautifully so you know the options if you really want to use it!
Please be aware that the Remote input/output plugin is not working well mainly due to the fact that it needs an OS with a decent scheduler and Windows is definitely not this sort of OS (see my previous warning). In fact depending on the case your mileage may vary however the Linux version works always beautifully so you know the options if you really want to use it!
<h3>Build environment</h3>

View File

@ -35,7 +35,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
*/
QCoreApplication::setOrganizationName("f4exb");
QCoreApplication::setApplicationName("SDRangel");
QCoreApplication::setApplicationVersion("4.4.2");
QCoreApplication::setApplicationVersion("4.4.3");
#if QT_VERSION >= 0x050600
QApplication::setAttribute(Qt::AA_EnableHighDpiScaling); // DPI support
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //HiDPI pixmaps

View File

@ -57,7 +57,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
QCoreApplication::setOrganizationName("f4exb");
QCoreApplication::setApplicationName("SDRangelBench");
QCoreApplication::setApplicationVersion("4.4.2");
QCoreApplication::setApplicationVersion("4.4.3");
int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP};
std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int));

View File

@ -56,7 +56,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
QCoreApplication::setOrganizationName("f4exb");
QCoreApplication::setApplicationName("SDRangelSrv");
QCoreApplication::setApplicationVersion("4.4.2");
QCoreApplication::setApplicationVersion("4.4.3");
int catchSignals[] = {SIGQUIT, SIGINT, SIGTERM, SIGHUP};
std::vector<int> vsig(catchSignals, catchSignals + sizeof(catchSignals) / sizeof(int));

View File

@ -1,11 +1,11 @@
project(cm256cc)
if (HAS_SSSE3)
message(STATUS "SDRdaemonFEC: use SSSE3 SIMD" )
message(STATUS "RemoteFEC: use SSSE3 SIMD" )
elseif (HAS_NEON)
message(STATUS "SDRdaemonFEC: use Neon SIMD" )
message(STATUS "RemoteFEC: use Neon SIMD" )
else()
message(STATUS "SDRdaemonFEC: Unsupported architecture")
message(STATUS "RemoteFEC: Unsupported architecture")
return()
endif()

7
debian/changelog vendored
View File

@ -1,3 +1,10 @@
sdrangel (4.4.3-1) unstable; urgency=medium
* Migration of SDRDaemon* devices to Remote* devices
* PlutoSDR: get LP filter bandwidth from device
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 03 Feb 2019 10:14:18 +0100
sdrangel (4.4.2-1) unstable; urgency=medium
* Migration of Daemon* channels to Remote* channels

2
debian/control vendored
View File

@ -13,7 +13,7 @@ Architecture: any
Depends: libc6, libasound2, libfftw3-single3, libgcc1, libgl1-mesa-glx, libqt5core5a, libqt5gui5, libqt5multimedia5, libqt5network5, libqt5opengl5, libqt5widgets5, libqt5multimedia5-plugins, libstdc++6, libusb-1.0-0, libopencv-dev, pulseaudio, libxml2, ffmpeg, libavcodec-dev, libavformat-dev, ${shlibs:Depends}, ${misc:Depends}
Description: SDR/Analyzer/Generator front-end for various hardware
SDR/Analyzer/Generator front-end for Airspy, BladeRF, HackRF, RTL-SDR, FunCube, LimeSDR, PlutoSDR.
Also File source and sink for I/Q samples, network I/Q sources with SDRDaemon.
Also File source and sink for I/Q samples, network I/Q sources with remote instance.
Based on Qt5 framework and OpenGL for the spectrum and scope rendering.
Builds on Linux, Windows and Mac O/S
Reception modes supported:

View File

@ -25,7 +25,7 @@
#include "remotesink.h"
const PluginDescriptor RemoteSinkPlugin::m_pluginDescriptor = {
QString("Remote channel Sink"),
QString("Remote channel sink"),
QString("4.4.2"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),

View File

@ -28,7 +28,7 @@
#include "remoteoutputplugin.h"
const PluginDescriptor RemoteOutputPlugin::m_pluginDescriptor = {
QString("Remote output"),
QString("Remote device output"),
QString("4.4.3"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),

View File

@ -20,7 +20,7 @@ For controls 10 to 13 to be effective you will need a recent version (up to date
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>
@ -81,7 +81,7 @@ The I/Q stream from the AirspyHF to host is downsampled by a power of two before
This button opens a dialog to set the transverter mode frequency translation options:
![SDR Daemon source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
![AirspyHF input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.

View File

@ -18,7 +18,7 @@ The BladeRF Host library is also provided by many Linux distributions (check its
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>

View File

@ -18,7 +18,7 @@ The BladeRF Host library is also provided by many Linux distributions (check its
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>

View File

@ -10,7 +10,7 @@ This input sample source plugin gets its samples from a [FunCube Dongle (FCD) Pr
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>
@ -62,7 +62,7 @@ The I/Q stream from the FCD Pro ADC is downsampled by a power of two before bein
This button opens a dialog to set the transverter mode frequency translation options:
![SDR Daemon source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
![FCD Pro source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.

View File

@ -10,7 +10,7 @@ This input sample source plugin gets its samples from a [FunCube Dongle (FCD) Pr
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>
@ -62,7 +62,7 @@ The I/Q stream from the FCD Pro+ ADC is downsampled by a power of two before bei
This button opens a dialog to set the transverter mode frequency translation options:
![SDR Daemon source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
![FCD Pro+ source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.

View File

@ -16,7 +16,7 @@ The HackRF Host library is also provided by many Linux distributions and is buil
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>

View File

@ -37,7 +37,7 @@ Then add the following defines on `cmake` command line:
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/LimeSDRInput_plugin_1.png)
![LimeSDR source input stream GUI](../../../doc/img/LimeSDRInput_plugin_1.png)
<h4>1.1: Frequency</h4>
@ -71,7 +71,7 @@ LimeSDR is a 2x2 MIMO device so it has two receiving channels. This shows the co
<h3>2: NCO, DC/IQ correction and external clock controls</h3>
![SDR Daemon source input stream GUI](../../../doc/img/LimeSDRInput_plugin_2.png)
![LimeSDR source input stream GUI](../../../doc/img/LimeSDRInput_plugin_2.png)
<h4>2.1: NCO toggle</h4>
@ -97,7 +97,7 @@ Enables or disables the auto I/Q balance correction. The DC correction must be e
This button opens a dialog to set the transverter mode frequency translation options:
![SDR Daemon source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
![LimeSDR source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.

View File

@ -27,7 +27,7 @@ It has a limited number of controls compared to other source interfaces. This is
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>
@ -73,7 +73,7 @@ The I/Q stream from the Perseus to host is downsampled by a power of two before
This button opens a dialog to set the transverter mode frequency translation options:
![SDR Daemon source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
![Perseus source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.

View File

@ -76,7 +76,7 @@ These buttons control the software DSP auto correction options:
This button opens a dialog to set the transverter mode frequency translation options:
![SDR Daemon source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
![PlutoSDR source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.

View File

@ -28,7 +28,7 @@
#include "remoteinputplugin.h"
const PluginDescriptor RemoteInputPlugin::m_pluginDescriptor = {
QString("Remote input"),
QString("Remote device input"),
QString("4.4.3"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),

View File

@ -16,7 +16,7 @@ If you want to benefit from the direct sampling you will have to compile and ins
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>
@ -64,7 +64,7 @@ With SR as the sample rate before decimation Fc is calculated as:
This button opens a dialog to set the transverter mode frequency translation options:
![SDR Daemon source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
![RTLSDR source input stream transverter dialog](../../../doc/img/RTLSDR_plugin_xvrt.png)
Note that if you mouse over the button a tooltip appears that displays the translating frequency and if translation is enabled or disabled. When the frequency translation is enabled the button is lit.

View File

@ -71,7 +71,7 @@ The top part described by number tags is common for all devices. The bottom part
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>

View File

@ -14,7 +14,7 @@ The plugin is present in the core of the software and thus is always present in
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/SDRdaemonSource_plugin_01.png)
![Remote source input stream GUI](../../../doc/img/RemoteInput_plugin_01.png)
<h4>1.1: Frequency</h4>

View File

@ -48,7 +48,7 @@ For a group the syntax is the same but the group name is prefixed with `@` like:
<h3>1: Common stream parameters</h3>
![SDR Daemon source input stream GUI](../../../doc/img/LimeSDRInput_plugin_1.png)
![XTRX source input stream GUI](../../../doc/img/LimeSDRInput_plugin_1.png)
<h4>1.1: Frequency</h4>
@ -82,7 +82,7 @@ LimeSDR is a 2x2 MIMO device so it has two receiving channels. This shows the co
<h3>2: NCO, DC/IQ correction and external clock controls</h3>
![SDR Daemon source input stream GUI](../../../doc/img/LimeSDRInput_plugin_2.png)
![XTRX source input stream GUI](../../../doc/img/LimeSDRInput_plugin_2.png)
<h4>2.1: NCO toggle</h4>

View File

@ -4,11 +4,11 @@ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(PLUGIN_PREFIX "../../../plugins/samplesink/remoteoutput")
if (HAS_SSSE3)
message(STATUS "SDRdaemonFEC: use SSSE3 SIMD" )
message(STATUS "RemoteOutput: use SSSE3 SIMD" )
elseif (HAS_NEON)
message(STATUS "SDRdaemonFEC: use Neon SIMD" )
message(STATUS "RemoteOutput: use Neon SIMD" )
else()
message(STATUS "SDRdaemonFEC: Unsupported architecture")
message(STATUS "RemoteOutput: Unsupported architecture")
return()
endif()

View File

@ -11,7 +11,7 @@ SUBDIRS += sdrgui
#SUBDIRS += libhackrf
#SUBDIRS += libairspy
SUBDIRS += plugins/samplesource/filesource
SUBDIRS += plugins/samplesource/sdrdaemon
SUBDIRS += plugins/samplesource/remoteinput
#SUBDIRS += plugins/samplesource/rtlsdr
#SUBDIRS += plugins/samplesource/hackrf
#SUBDIRS += plugins/samplesource/airspy

View File

@ -43,7 +43,7 @@ SUBDIRS += plugins/samplesource/limesdrinput
SUBDIRS += plugins/samplesource/perseus
SUBDIRS += plugins/samplesource/plutosdrinput
SUBDIRS += plugins/samplesource/rtlsdr
SUBDIRS += plugins/samplesource/sdrdaemonsource
SUBDIRS += plugins/samplesource/remoteinput
SUBDIRS += plugins/samplesource/sdrplay
SUBDIRS += plugins/samplesource/soapysdrinput
SUBDIRS += plugins/samplesource/testsource
@ -54,11 +54,11 @@ SUBDIRS += plugins/samplesink/filesink
SUBDIRS += plugins/samplesink/hackrfoutput
SUBDIRS += plugins/samplesink/limesdroutput
SUBDIRS += plugins/samplesink/plutosdroutput
SUBDIRS += plugins/samplesink/sdrdaemonsink
SUBDIRS += plugins/samplesink/remoteoutput
SUBDIRS += plugins/samplesink/soapysdroutput
SUBDIRS += plugins/channelrx/chanalyzer
SUBDIRS += plugins/channelrx/daemonsink
SUBDIRS += plugins/channelrx/remotesink
SUBDIRS += plugins/channelrx/demodam
#SUBDIRS += plugins/channelrx/demodatv
SUBDIRS += plugins/channelrx/demodbfm
@ -70,7 +70,7 @@ SUBDIRS += plugins/channelrx/demodssb
SUBDIRS += plugins/channelrx/demodwfm
SUBDIRS += plugins/channelrx/udpsink
SUBDIRS += plugins/channeltx/daemonsource
SUBDIRS += plugins/channeltx/remotesource
SUBDIRS += plugins/channeltx/modam
SUBDIRS += plugins/channeltx/modatv
SUBDIRS += plugins/channeltx/modnfm

View File

@ -37,7 +37,7 @@ SUBDIRS += plugins/samplesource/filesource
SUBDIRS += plugins/samplesource/hackrfinput
SUBDIRS += plugins/samplesource/limesdrinput
CONFIG(!MSVC):SUBDIRS += plugins/samplesource/plutosdrinput
CONFIG(MSVC):SUBDIRS += plugins/samplesource/sdrdaemonsource
CONFIG(MSVC):SUBDIRS += plugins/samplesource/remoteinput
SUBDIRS += plugins/samplesource/rtlsdr
CONFIG(MSVC):SUBDIRS += plugins/samplesource/soapysdrinput
SUBDIRS += plugins/samplesource/testsource
@ -47,7 +47,7 @@ CONFIG(!MSVC):SUBDIRS += plugins/samplesink/bladerf2output
SUBDIRS += plugins/samplesink/hackrfoutput
SUBDIRS += plugins/samplesink/limesdroutput
CONFIG(!MSVC):SUBDIRS += plugins/samplesink/plutosdroutput
CONFIG(MSVC):SUBDIRS += plugins/samplesink/sdrdaemonsink
CONFIG(MSVC):SUBDIRS += plugins/samplesink/remoteoutput
CONFIG(MSVC):SUBDIRS += plugins/samplesink/soapysdroutput
SUBDIRS += plugins/channelrx/chanalyzer
SUBDIRS += plugins/channelrx/demodam

View File

@ -21,8 +21,8 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
///////////////////////////////////////////////////////////////////////////////////
#ifndef SDRDAEMON_CHANNEL_SDRDAEMONDATABLOCK_H_
#define SDRDAEMON_CHANNEL_SDRDAEMONDATABLOCK_H_
#ifndef CHANNEL_REMOTEDATABLOCK_H_
#define CHANNEL_REMOTEDATABLOCK_H_
#include <stdint.h>
#include <string.h>
@ -171,4 +171,4 @@ public:
RemoteSuperBlock *m_superBlocks;
};
#endif /* SDRDAEMON_CHANNEL_SDRDAEMONDATABLOCK_H_ */
#endif /* CHANNEL_REMOTEDATABLOCK_H_ */

View File

@ -39,7 +39,7 @@ RemoteDataQueue::~RemoteDataQueue()
while ((data = pop()) != 0)
{
qDebug() << "SDRDaemonDataQueue::~SDRDaemonDataQueue: data block was still in queue";
qDebug() << "RemoteDataQueue::~RemoteDataQueue: data block was still in queue";
delete data;
}
}

View File

@ -41,7 +41,7 @@ RemoteDataReadQueue::~RemoteDataReadQueue()
while ((data = pop()) != 0)
{
qDebug("SDRDaemonDataReadQueue::~SDRDaemonDataReadQueue: data block was still in queue");
qDebug("RemoteDataReadQueue::~RemoteDataReadQueue: data block was still in queue");
delete data;
}
}
@ -50,7 +50,7 @@ void RemoteDataReadQueue::push(RemoteDataBlock* dataBlock)
{
if (length() >= m_maxSize)
{
qWarning("SDRDaemonDataReadQueue::push: queue is full");
qWarning("RemoteDataReadQueue::push: queue is full");
m_full = true; // stop filling the queue
RemoteDataBlock *data = m_dataReadQueue.takeLast();
delete data;
@ -94,7 +94,7 @@ void RemoteDataReadQueue::readSample(Sample& s, bool scaleForTx)
{
if (length() >= m_maxSize/2)
{
qDebug("SDRDaemonDataReadQueue::readSample: initial pop new block: queue size: %u", length());
qDebug("RemoteDataReadQueue::readSample: initial pop new block: queue size: %u", length());
m_blockIndex = 1;
m_dataBlock = m_dataReadQueue.takeFirst();
convertDataToSample(s, m_blockIndex, m_sampleIndex, scaleForTx);
@ -135,12 +135,12 @@ void RemoteDataReadQueue::readSample(Sample& s, bool scaleForTx)
m_dataBlock = 0;
if (length() == 0) {
qWarning("SDRDaemonDataReadQueue::readSample: try to pop new block but queue is empty");
qWarning("RemoteDataReadQueue::readSample: try to pop new block but queue is empty");
}
if (length() > 0)
{
//qDebug("SDRDaemonDataReadQueue::readSample: pop new block: queue size: %u", length());
//qDebug("RemoteDataReadQueue::readSample: pop new block: queue size: %u", length());
m_blockIndex = 1;
m_dataBlock = m_dataReadQueue.takeFirst();
convertDataToSample(s, m_blockIndex, m_sampleIndex, scaleForTx);

View File

@ -32,13 +32,13 @@
#include "plugin/pluginmanager.h"
const QString PluginManager::m_sdrDaemonSourceHardwareID = "SDRdaemonSource";
const QString PluginManager::m_sdrDaemonSourceDeviceTypeID = "sdrangel.samplesource.sdrdaemonsource";
const QString PluginManager::m_remoteInputHardwareID = "RemoteInput";
const QString PluginManager::m_remoteInputDeviceTypeID = "sdrangel.samplesource.remoteinput";
const QString PluginManager::m_fileSourceHardwareID = "FileSource";
const QString PluginManager::m_fileSourceDeviceTypeID = "sdrangel.samplesource.filesource";
const QString PluginManager::m_sdrDaemonSinkHardwareID = "SDRdaemonSink";
const QString PluginManager::m_sdrDaemonSinkDeviceTypeID = "sdrangel.samplesink.sdrdaemonsink";
const QString PluginManager::m_remoteOutputHardwareID = "RemoteOutput";
const QString PluginManager::m_remoteOutputDeviceTypeID = "sdrangel.samplesink.remoteoutput";
const QString PluginManager::m_fileSinkHardwareID = "FileSink";
const QString PluginManager::m_fileSinkDeviceTypeID = "sdrangel.samplesink.filesink";

View File

@ -103,16 +103,16 @@ private:
PluginAPI::SamplingDeviceRegistrations m_sampleSinkRegistrations; //!< Output sink plugins (one per device kind) register here
// "Local" sample source device IDs
static const QString m_sdrDaemonSourceHardwareID; //!< SDRdaemon source hardware ID
static const QString m_sdrDaemonSourceDeviceTypeID; //!< SDRdaemon source plugin ID
static const QString m_fileSourceHardwareID; //!< FileSource source hardware ID
static const QString m_fileSourceDeviceTypeID; //!< FileSource source plugin ID
static const QString m_remoteInputHardwareID; //!< Remote input hardware ID
static const QString m_remoteInputDeviceTypeID; //!< Remote input plugin ID
static const QString m_fileSourceHardwareID; //!< FileSource source hardware ID
static const QString m_fileSourceDeviceTypeID; //!< FileSource source plugin ID
// "Local" sample sink device IDs
static const QString m_sdrDaemonSinkHardwareID; //!< SDRdaemon source hardware ID
static const QString m_sdrDaemonSinkDeviceTypeID; //!< SDRdaemon source plugin ID
static const QString m_fileSinkHardwareID; //!< FileSource source hardware ID
static const QString m_fileSinkDeviceTypeID; //!< FileSink sink plugin ID
static const QString m_remoteOutputHardwareID; //!< Remote output hardware ID
static const QString m_remoteOutputDeviceTypeID; //!< Remote output plugin ID
static const QString m_fileSinkHardwareID; //!< FileSource source hardware ID
static const QString m_fileSinkDeviceTypeID; //!< FileSink sink plugin ID
void loadPluginsDir(const QDir& dir);
};

View File

@ -61,8 +61,8 @@ SOURCES += audio/audiodevicemanager.cpp\
audio/audionetsink.cpp\
channel/channelsinkapi.cpp\
channel/channelsourceapi.cpp\
channel/sdrdaemondataqueue.cpp\
channel/sdrdaemondatareadqueue.cpp\
channel/remotedataqueue.cpp\
channel/remotedatareadqueue.cpp\
commands/command.cpp\
device/devicesourceapi.cpp\
device/devicesinkapi.cpp\
@ -139,9 +139,9 @@ HEADERS += audio/audiodevicemanager.h\
audio/audionetsink.h\
channel/channelsinkapi.h\
channel/channelsourceapi.h\
channel/sdrdaemondataqueue.h\
channel/sdrdaemondatareadqueue.h\
channel/sdrdaemondatablock.h\
channel/remotedataqueue.h\
channel/remotedatareadqueue.h\
channel/remotedatablock.h\
commands/command.h\
device/devicesourceapi.h\
device/devicesinkapi.h\

View File

@ -1,6 +1,4 @@
///////////////////////////////////////////////////////////////////////////////////////
// SDRdaemon - send I/Q samples read from a SDR device over the network via UDP //
// with FEC protection. GNUradio interface. //
// //
// http://stackoverflow.com/questions/10990618/calculate-rolling-moving-average-in-c //
// //
@ -124,4 +122,4 @@ class MovingAverageUtilVar
};
#endif /* GR_SDRDAEMONFEC_LIB_MOVINGAVERAGE_H_ */
#endif /* _UTIL_MOVINGAVERAGE_H_ */

View File

@ -232,7 +232,7 @@ This is the sampling rate in kS/s of the I/Q stream extracted from the device af
<h4>2.4. Center frequency</h4>
This is the current center frequency in kHz with dot separated thousands (MHz, GHz). On devices for which frequency can be directly controlled (i.e. all except File Source and SDRdaemon) you can use the thumbwheels to set the frequency. Thumbwheels move with the mouse wheel when hovering over a digit.
This is the current center frequency in kHz with dot separated thousands (MHz, GHz). On devices for which frequency can be directly controlled (i.e. all except File Source and Remote Input) you can use the thumbwheels to set the frequency. Thumbwheels move with the mouse wheel when hovering over a digit.
When left clicking on a digit a cursor is set on it and you can also use the arrows to move the corresponding thumbwheel.

View File

@ -8,7 +8,7 @@ The main motivations are:
- be able to run SDRangel on hardware with less CPU/GPU requirements in particular without OpenGL suport.
- be used in sophisticated remote transponders or repeaters in a headless server configuration.
- possibility to use Docker technology to host SDRangel server instances in a distributed environment.
- using [SDRdaemon](https://github.com/f4exb/sdrdaemon) for the RF device interface even more distributed architectures can be supported to share workload in a cluster.
- possibility to use SDRangel remotely for the RF device interface even more distributed architectures can be supported to share workload in a cluster.
- using the Web REST API interface developers with web technology skills can implement their own GUI.
<h2>Plugins supported</h2>
@ -16,7 +16,7 @@ The main motivations are:
- Rx channels:
- AM demodulator
- BFM (Broadcast FM) demodulator
- Daemon sink
- Remote sink
- DSD (Digital Vouice) demodulator
- NFM (Narrowband FM) demodulator
- SSB demodulator
@ -26,7 +26,7 @@ The main motivations are:
- Tx channels:
- AM modulator
- ATV modulator
- Daemon source
- Remote source
- NFM (Narrowband FM) modulator
- SSB modulator
- WFM (Wideband FM) modulator
@ -44,7 +44,7 @@ The main motivations are:
- Perseus (24 bit build only)
- PlutoSDR input
- RTL-SDR
- SDRdaemon source
- Remote input
- SDRplay RSP1
- Test source
@ -54,7 +54,7 @@ The main motivations are:
- HackRF output
- LimeSDR output
- PlutoSDR output
- SDRdaemon sink
- Remote output
<h2>Command line options</h2>

View File

@ -15,9 +15,7 @@ commands = [
["/deviceset/0/device", "PUT", None, {"hwType": "AirspyHF"}, "setup AirspyHF on Rx 0"],
["/preset", "PATCH", None, {"deviceSetIndex": 0, "preset": {"groupName": "OM144", "centerFrequency": 145480000, "type": "R", "name": "Rept + Simplex + DV"}}, "load preset on Rx 0"],
["/deviceset", "POST", None, None, "add Rx 1 device set"],
["/deviceset/1/device", "PUT", None, {"hwType": "SDRdaemonSource"}, "setup SDRdaemonSource on Rx 1"],
# ["/preset", "PATCH", None, {"deviceSetIndex": 1, "preset": {"groupName": "OM430", "centerFrequency": 439550000, "type": "R", "name": "F5ZKP Daemon RPi3 SUSE"}}, "load preset on Rx 1"],
# ["/preset", "PATCH", None, {"deviceSetIndex": 1, "preset": {"groupName": "PRO400", "centerFrequency": 463880000, "type": "R", "name": "PM Nice NXDN daemon"}}, "load preset on Rx 1"],
["/deviceset/1/device", "PUT", None, {"hwType": "RemoteInput"}, "setup RemoteInput on Rx 1"],
["/preset", "PATCH", None, {"deviceSetIndex": 1, "preset": {"groupName": "PRO400", "centerFrequency": 463750000, "type": "R", "name": "PM nice low remote"}}, "load preset on Rx 1"],
["/deviceset", "POST", None, None, "add Rx 2 device set"],
["/deviceset/2/device", "PUT", None, {"hwType": "Perseus"}, "setup Perseus on Rx 2"],

View File

@ -64,11 +64,11 @@ copy plugins\samplesource\bladerf1input\%1\inputbladerf1.dll %2\plugins\sampleso
copy plugins\samplesource\bladerf2input\%1\inputbladerf2.dll %2\plugins\samplesource
copy plugins\samplesource\limesdrinput\%1\inputlimesdr.dll %2\plugins\samplesource
copy plugins\samplesource\plutosdrinput\%1\inputplutosdr.dll %2\plugins\samplesource
REM copy plugins\samplesource\sdrdaemonsource\%1\inputsdrdaemonsource.dll %2\plugins\samplesource
REM copy plugins\samplesource\remoteinput\%1\inputremote.dll %2\plugins\samplesource
copy plugins\samplesink\filesink\%1\outputfilesink.dll %2\plugins\samplesink
copy plugins\samplesink\bladerf1output\%1\outputbladerf1.dll %2\plugins\samplesink
copy plugins\samplesink\bladerf2output\%1\outputbladerf2.dll %2\plugins\samplesink
copy plugins\samplesink\hackrfoutput\%1\outputhackrf.dll %2\plugins\samplesink
copy plugins\samplesink\limesdroutput\%1\outputlimesdr.dll %2\plugins\samplesink
copy plugins\samplesink\plutosdroutput\%1\outputplutosdr.dll %2\plugins\samplesink
REM copy plugins\samplesink\sdrdaemonsink\%1\outputsdrdaemonsink.dll %2\plugins\samplesink
REM copy plugins\samplesink\remoteoutput\%1\outputremote.dll %2\plugins\samplesink

View File

@ -72,7 +72,7 @@ copy plugins\channeltx\modwfm\%1\modwfm.dll %2\plugins\channeltx
copy plugins\channeltx\udpsink\%1\udpsink.dll %2\plugins\channeltx
copy plugins\samplesource\filesource\%1\inputfilesource.dll %2\plugins\samplesource
copy plugins\samplesource\testsource\%1\inputtestsource.dll %2\plugins\samplesource
copy plugins\samplesource\sdrdaemonsource\%1\inputsdrdaemonsource.dll %2\plugins\samplesource
copy plugins\samplesource\remoteinput\%1\inputremote.dll %2\plugins\samplesource
copy plugins\samplesource\rtlsdr\%1\inputrtlsdr.dll %2\plugins\samplesource
copy plugins\samplesource\hackrfinput\%1\inputhackrf.dll %2\plugins\samplesource
copy plugins\samplesource\airspy\%1\inputairspy.dll %2\plugins\samplesource