1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-25 09:18:54 -05:00

SDRDaemon: removed references to nanomsg entirely

This commit is contained in:
f4exb 2018-09-09 10:45:34 +02:00
parent a56b96a97b
commit cfd414073e
19 changed files with 21 additions and 374 deletions

View File

@ -213,13 +213,13 @@ The [Test source plugin](https://github.com/f4exb/sdrangel/tree/master/plugins/s
Linux only.
The [SDRdaemon source input plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesource/sdrdaemonsource) is the client side of the SDRdaemon receiver server `sdrdaemonrx`. See the [SDRdaemon](https://github.com/f4exb/sdrdaemon) project in this Github repository. 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. It also opens a TCP link to another port to send service messages such as setting parameters specific to the hardware device connected to the server (default port is `9091`). The `libnanomsg` library is used to support this messaging.
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 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.
There is an automated skew rate compensation in place. During rate readjustment streaming can be suspended or signal glitches can occur for about one second.
This plugin will be built only if the libnanomsg and the [CM256cc library](https://github.com/f4exb/cm256cc) are installed in your system. libnanomsg is available as a dev package in most distributions For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
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.
@ -227,13 +227,11 @@ Note that this plugin does not require any of the hardware support libraries nor
Linux only.
The [SDRdaemon sink output plugin](https://github.com/f4exb/sdrangel/tree/dev/plugins/samplesink/sdrdaemonsink) is the client side of the SDRdaemon transmitter server `sdrdaemontx`. See the [SDRdaemon](https://github.com/f4exb/sdrdaemon) project in this Github repository. 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 `9092`). It also opens a TCP link to another port to exchange service messages such as setting the center frequency or getting status information from the server (default port is `9093`). The `libnanomsg` library is used to support this messaging.
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 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.
There is an automated skew rate compensation in place so that the generator throttling is adjusted to match the actual sample rate of the distant device. This is based on the number of buffer blocks sent back from the distant server using the TCP link.
This plugin will be built only if the libnanomsg and the [CM256cc library](https://github.com/f4exb/cm256cc) are installed in your system. libnanomsg is available as a dev package in most distributions For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
This plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) IS installed in your system. For CM256cc if you install it in a non standard directory you will then have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
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.
@ -358,7 +356,7 @@ Then do `sudo apt-get update` and go to the next step. Alternatively if you have
<h3>With newer versions just do:</h3>
- `sudo apt-get install cmake g++ pkg-config libfftw3-dev libqt5multimedia5-plugins qtmultimedia5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev qtbase5-dev libusb-1.0 librtlsdr-dev libboost-all-dev libasound2-dev pulseaudio libnanomsg-dev libopencv-dev libsqlite3-dev libxml2-dev bison flex ffmpeg libavcodec-dev libavformat-dev`
- `sudo apt-get install cmake g++ pkg-config libfftw3-dev libqt5multimedia5-plugins qtmultimedia5-dev qttools5-dev qttools5-dev-tools libqt5opengl5-dev qtbase5-dev libusb-1.0 librtlsdr-dev libboost-all-dev libasound2-dev pulseaudio libopencv-dev libsqlite3-dev libxml2-dev bison flex ffmpeg libavcodec-dev libavformat-dev`
- `mkdir build && cd build && cmake ../ && make`
`librtlsdr-dev` is in the `universe` repo. (utopic 14.10 amd64.)
@ -390,11 +388,10 @@ This has been tested with the Leap 42.3 distribution:
Then you should be all set to build the software with `cmake` and `make` as discussed earlier.
- Note1: if you are on Leap you will need a more recent g++ compiler so in place of `gcc-c++` use `gcc6-c++` or `gcc7-c++` then add the following in the cmake command: `-DCMAKE_C_COMPILER=/usr/bin/gcc-7 -DCMAKE_CXX_COMPILER=/usr/bin/g++-7` (for gcc 7) and then `-DCMAKE_INSTALL_PREFIX:PATH=...` for the custom install path (not `-DCMAKE_INSTALL_PREFIX=...`)
- Note2: On Leap and aarch64 architectures you will need to build and install `libnanomsg` from [source](https://github.com/nanomsg/nanomsg) then if your installation directory is `/opt/install/nanomsg` you will have to add this to the cmake command line: `-DLIBNANOMSG_INCLUDE_DIR=/opt/install/nanomsg/include -DLIBNANOMSG_LIBRARIES=/opt/install/nanomsg/lib64/libnanomsg.so`
- Note3 for udev rules: installed udev rules for BladeRF and HackRF are targeted at Debian or Ubuntu systems that have a plugdev group for USB hotplug devices. This is not the case in openSUSE. To fix it you can either:
- Note2 for udev rules: installed udev rules for BladeRF and HackRF are targeted at Debian or Ubuntu systems that have a plugdev group for USB hotplug devices. This is not the case in openSUSE. To fix it you can either:
- make the udev rules file compatible just remove the `GROUP` parameter on all lines and change `MODE` parameter to `666`.
- create a `plugdev` group and add it tou your user group list: `sudo groupadd plugdev` then `sudo usermod -G plugdev -a <user>`
- Note4: A package has been created in openSUSE thanks to Martin, see: [sdrangel](https://build.opensuse.org/package/show/hardware:sdr/sdrangel). It is based on the latest release on master branch.
- Note3: A package has been created in openSUSE thanks to Martin, see: [sdrangel](https://build.opensuse.org/package/show/hardware:sdr/sdrangel). It is based on the latest release on master branch.
<h2>Fedora</h2>

View File

@ -16,7 +16,6 @@ SDRangel-3.x:
+ cm256cc
+ dsdcc
+ mbelib
+ nanomsg
+ boost_1_64_0/
### Environment preparation
@ -47,13 +46,6 @@ git clone https://github.com/f4exb/dsdcc.git
```
##### nanomsg:
```
git clone https://github.com/nanomsg/nanomsg.git
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/opt/local ..
cmake --build . && sudo cmake --build . --target install
```
## Build
Release build configuration with QT Creator

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.
The SDRdaemon plug-in is present only in the 64 bit build version since version 1.1.4. The messaging system based on nanomsg works only in the 64 bit environment. However 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 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!
<h3>Build environment</h3>

View File

@ -28,7 +28,6 @@ for f in `find plugins/samplesink/ -name '*.dylib'`; do cp -v $f "${APP_PLUGINS}
for f in `find plugins/samplesource/ -name '*.dylib'`; do cp -v $f "${APP_PLUGINS}/samplesource/"; done
cd $APP_LIB
cp /opt/local/lib/libnanomsg.5.0.0.dylib .
ln -s libdsdcc.dylib libdsdcc.1.dylib
ln -s libdevices.dylib libdevices.1.dylib
ln -s libsdrbase.dylib libsdrbase.1.dylib

View File

@ -1,28 +0,0 @@
if(NOT LIBNANOMSG_FOUND)
pkg_check_modules (LIBNANOMSG_PKG libnanomsg)
find_path(LIBNANOMSG_INCLUDE_DIR NAMES nanomsg/nn.h
PATHS
${LIBNANOMSG_PKG_INCLUDE_DIRS}
/usr/include
/usr/local/include
)
find_library(LIBNANOMSG_LIBRARIES NAMES nanomsg
PATHS
${LIBNANOMSG_PKG_LIBRARY_DIRS}
/usr/lib
/usr/local/lib
)
if(LIBNANOMSG_INCLUDE_DIR AND LIBNANOMSG_LIBRARIES)
set(LIBNANOMSG_FOUND TRUE CACHE INTERNAL "libnanomsg found")
message(STATUS "Found libnanomsg: ${LIBNANOMSG_INCLUDE_DIR}, ${LIBNANOMSG_LIBRARIES}")
else(LIBNANOMSG_INCLUDE_DIR AND LIBNANOMSG_LIBRARIES)
set(LIBNANOMSG_FOUND FALSE CACHE INTERNAL "libnanomsg found")
message(STATUS "libnanomsg not found.")
endif(LIBNANOMSG_INCLUDE_DIR AND LIBNANOMSG_LIBRARIES)
mark_as_advanced(LIBNANOMSG_INCLUDE_DIR LIBNANOMSG_LIBRARIES)
endif(NOT LIBNANOMSG_FOUND)

2
debian/control vendored
View File

@ -10,7 +10,7 @@ Homepage: https://github.com/f4exb/sdrangel
Package: sdrangel
Architecture: any
Depends: libc6, libasound2, libfftw3-single3, libgcc1, libgl1-mesa-glx, libnanomsg0|libnanomsg4, 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}
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.

View File

@ -1,275 +0,0 @@
#--------------------------------------------------------
#
# Pro file for Android and Windows builds with Qt Creator
#
#--------------------------------------------------------
QT += core
TEMPLATE = lib
TARGET = nanomsg
CONFIG(MINGW32):LIBNANOMSGSRC = "C:\softs\nanomsg-0.8-beta"
CONFIG(MINGW64):LIBNANOMSGSRC = "C:\softs\nanomsg-0.8-beta"
CONFIG(MINGW32):DEFINES += NN_HAVE_WINDOWS=1
CONFIG(MINGW32):DEFINES += _CRT_SECURE_NO_WARNINGS=1
CONFIG(MINGW32):DEFINES += NN_HAVE_MINGW=1
CONFIG(MINGW32):DEFINES += NN_HAVE_STDINT=1
CONFIG(MINGW32):DEFINES += _WIN32_WINNT=0x0600
CONFIG(MINGW32):DEFINES += NN_EXPORTS=1
CONFIG(MINGW64):DEFINES += NN_HAVE_WINDOWS=1
CONFIG(MINGW64):DEFINES += _CRT_SECURE_NO_WARNINGS=1
CONFIG(MINGW64):DEFINES += NN_HAVE_MINGW=1
CONFIG(MINGW64):DEFINES += NN_HAVE_STDINT=1
CONFIG(MINGW64):DEFINES += _WIN32_WINNT=0x0600
CONFIG(MINGW64):DEFINES += NN_EXPORTS=1
CONFIG(MINGW64):DEFINES += _POSIX_C_SOURCE=1
INCLUDEPATH += $$LIBNANOMSGSRC/src
SOURCES = $$LIBNANOMSGSRC/src/core/ep.c\
$$LIBNANOMSGSRC/src/core/epbase.c\
$$LIBNANOMSGSRC/src/core/global.c\
$$LIBNANOMSGSRC/src/core/pipe.c\
$$LIBNANOMSGSRC/src/core/poll.c\
$$LIBNANOMSGSRC/src/core/sock.c\
$$LIBNANOMSGSRC/src/core/sockbase.c\
$$LIBNANOMSGSRC/src/core/symbol.c\
$$LIBNANOMSGSRC/src/aio/ctx.c\
$$LIBNANOMSGSRC/src/aio/fsm.c\
$$LIBNANOMSGSRC/src/aio/poller.c\
$$LIBNANOMSGSRC/src/aio/pool.c\
$$LIBNANOMSGSRC/src/aio/timer.c\
$$LIBNANOMSGSRC/src/aio/timerset.c\
$$LIBNANOMSGSRC/src/aio/usock.c\
$$LIBNANOMSGSRC/src/aio/worker.c\
$$LIBNANOMSGSRC/src/utils/alloc.c\
$$LIBNANOMSGSRC/src/utils/atomic.c\
$$LIBNANOMSGSRC/src/utils/chunk.c\
$$LIBNANOMSGSRC/src/utils/chunkref.c\
$$LIBNANOMSGSRC/src/utils/clock.c\
$$LIBNANOMSGSRC/src/utils/closefd.c\
$$LIBNANOMSGSRC/src/utils/efd.c\
$$LIBNANOMSGSRC/src/utils/err.c\
$$LIBNANOMSGSRC/src/utils/glock.c\
$$LIBNANOMSGSRC/src/utils/hash.c\
$$LIBNANOMSGSRC/src/utils/list.c\
$$LIBNANOMSGSRC/src/utils/msg.c\
$$LIBNANOMSGSRC/src/utils/mutex.c\
$$LIBNANOMSGSRC/src/utils/queue.c\
$$LIBNANOMSGSRC/src/utils/random.c\
$$LIBNANOMSGSRC/src/utils/sem.c\
$$LIBNANOMSGSRC/src/utils/sleep.c\
$$LIBNANOMSGSRC/src/utils/thread.c\
$$LIBNANOMSGSRC/src/utils/wire.c\
$$LIBNANOMSGSRC/src/devices/device.c\
$$LIBNANOMSGSRC/src/devices/tcpmuxd.c\
$$LIBNANOMSGSRC/src/protocols/utils/dist.c\
$$LIBNANOMSGSRC/src/protocols/utils/excl.c\
$$LIBNANOMSGSRC/src/protocols/utils/fq.c\
$$LIBNANOMSGSRC/src/protocols/utils/lb.c\
$$LIBNANOMSGSRC/src/protocols/utils/priolist.c\
$$LIBNANOMSGSRC/src/protocols/bus/bus.c\
$$LIBNANOMSGSRC/src/protocols/bus/xbus.c\
$$LIBNANOMSGSRC/src/protocols/pipeline/push.c\
$$LIBNANOMSGSRC/src/protocols/pipeline/pull.c\
$$LIBNANOMSGSRC/src/protocols/pipeline/xpull.c\
$$LIBNANOMSGSRC/src/protocols/pipeline/xpush.c\
$$LIBNANOMSGSRC/src/protocols/pair/pair.c\
$$LIBNANOMSGSRC/src/protocols/pair/xpair.c\
$$LIBNANOMSGSRC/src/protocols/pubsub/pub.c\
$$LIBNANOMSGSRC/src/protocols/pubsub/sub.c\
$$LIBNANOMSGSRC/src/protocols/pubsub/trie.c\
$$LIBNANOMSGSRC/src/protocols/pubsub/xpub.c\
$$LIBNANOMSGSRC/src/protocols/pubsub/xsub.c\
$$LIBNANOMSGSRC/src/protocols/reqrep/req.c\
$$LIBNANOMSGSRC/src/protocols/reqrep/rep.c\
$$LIBNANOMSGSRC/src/protocols/reqrep/task.c\
$$LIBNANOMSGSRC/src/protocols/reqrep/xrep.c\
$$LIBNANOMSGSRC/src/protocols/reqrep/xreq.c\
$$LIBNANOMSGSRC/src/protocols/survey/respondent.c\
$$LIBNANOMSGSRC/src/protocols/survey/surveyor.c\
$$LIBNANOMSGSRC/src/protocols/survey/xrespondent.c\
$$LIBNANOMSGSRC/src/protocols/survey/xsurveyor.c\
$$LIBNANOMSGSRC/src/transports/utils/backoff.c\
$$LIBNANOMSGSRC/src/transports/utils/dns.c\
$$LIBNANOMSGSRC/src/transports/utils/iface.c\
$$LIBNANOMSGSRC/src/transports/utils/literal.c\
$$LIBNANOMSGSRC/src/transports/utils/port.c\
$$LIBNANOMSGSRC/src/transports/utils/streamhdr.c\
$$LIBNANOMSGSRC/src/transports/utils/base64.c\
$$LIBNANOMSGSRC/src/transports/inproc/binproc.c\
$$LIBNANOMSGSRC/src/transports/inproc/cinproc.c\
$$LIBNANOMSGSRC/src/transports/inproc/inproc.c\
$$LIBNANOMSGSRC/src/transports/inproc/ins.c\
$$LIBNANOMSGSRC/src/transports/inproc/msgqueue.c\
$$LIBNANOMSGSRC/src/transports/inproc/sinproc.c\
$$LIBNANOMSGSRC/src/transports/ipc/aipc.c\
$$LIBNANOMSGSRC/src/transports/ipc/bipc.c\
$$LIBNANOMSGSRC/src/transports/ipc/cipc.c\
$$LIBNANOMSGSRC/src/transports/ipc/ipc.c\
$$LIBNANOMSGSRC/src/transports/ipc/sipc.c\
$$LIBNANOMSGSRC/src/transports/tcp/atcp.c\
$$LIBNANOMSGSRC/src/transports/tcp/btcp.c\
$$LIBNANOMSGSRC/src/transports/tcp/ctcp.c\
$$LIBNANOMSGSRC/src/transports/tcp/stcp.c\
$$LIBNANOMSGSRC/src/transports/tcp/tcp.c\
$$LIBNANOMSGSRC/src/transports/tcpmux/atcpmux.c\
$$LIBNANOMSGSRC/src/transports/tcpmux/btcpmux.c\
$$LIBNANOMSGSRC/src/transports/tcpmux/ctcpmux.c\
$$LIBNANOMSGSRC/src/transports/tcpmux/stcpmux.c\
$$LIBNANOMSGSRC/src/transports/tcpmux/tcpmux.c\
$$LIBNANOMSGSRC/src/transports/ws/aws.c\
$$LIBNANOMSGSRC/src/transports/ws/bws.c\
$$LIBNANOMSGSRC/src/transports/ws/cws.c\
$$LIBNANOMSGSRC/src/transports/ws/sws.c\
$$LIBNANOMSGSRC/src/transports/ws/ws.c\
$$LIBNANOMSGSRC/src/transports/ws/ws_handshake.c\
$$LIBNANOMSGSRC/src/transports/ws/sha1.c
HEADERS = $$LIBNANOMSGSRC/src/nn.h\
$$LIBNANOMSGSRC/src/inproc.h\
$$LIBNANOMSGSRC/src/ipc.h\
$$LIBNANOMSGSRC/src/tcp.h\
$$LIBNANOMSGSRC/src/ws.h\
$$LIBNANOMSGSRC/src/pair.h\
$$LIBNANOMSGSRC/src/pubsub.h\
$$LIBNANOMSGSRC/src/reqrep.h\
$$LIBNANOMSGSRC/src/pipeline.h\
$$LIBNANOMSGSRC/src/survey.h\
$$LIBNANOMSGSRC/src/bus.h\
$$LIBNANOMSGSRC/src/core/ep.h\
$$LIBNANOMSGSRC/src/core/global.h\
$$LIBNANOMSGSRC/src/core/sock.h\
$$LIBNANOMSGSRC/src/aio/ctx.h\
$$LIBNANOMSGSRC/src/aio/fsm.h\
$$LIBNANOMSGSRC/src/aio/poller.h\
$$LIBNANOMSGSRC/src/aio/poller_epoll.h\
$$LIBNANOMSGSRC/src/aio/poller_kqueue.h\
$$LIBNANOMSGSRC/src/aio/poller_poll.h\
$$LIBNANOMSGSRC/src/aio/pool.h\
$$LIBNANOMSGSRC/src/aio/timer.h\
$$LIBNANOMSGSRC/src/aio/timerset.h\
$$LIBNANOMSGSRC/src/aio/usock.h\
$$LIBNANOMSGSRC/src/aio/usock_posix.h\
$$LIBNANOMSGSRC/src/aio/usock_win.h\
$$LIBNANOMSGSRC/src/aio/worker.h\
$$LIBNANOMSGSRC/src/aio/worker_posix.h\
$$LIBNANOMSGSRC/src/aio/worker_win.h\
$$LIBNANOMSGSRC/src/utils/alloc.h\
$$LIBNANOMSGSRC/src/utils/atomic.h\
$$LIBNANOMSGSRC/src/utils/attr.h\
$$LIBNANOMSGSRC/src/utils/chunk.h\
$$LIBNANOMSGSRC/src/utils/chunkref.h\
$$LIBNANOMSGSRC/src/utils/clock.h\
$$LIBNANOMSGSRC/src/utils/closefd.h\
$$LIBNANOMSGSRC/src/utils/cont.h\
$$LIBNANOMSGSRC/src/utils/efd.h\
$$LIBNANOMSGSRC/src/utils/efd_eventfd.h\
$$LIBNANOMSGSRC/src/utils/efd_pipe.h\
$$LIBNANOMSGSRC/src/utils/efd_socketpair.h\
$$LIBNANOMSGSRC/src/utils/efd_win.h\
$$LIBNANOMSGSRC/src/utils/err.h\
$$LIBNANOMSGSRC/src/utils/fast.h\
$$LIBNANOMSGSRC/src/utils/fd.h\
$$LIBNANOMSGSRC/src/utils/glock.h\
$$LIBNANOMSGSRC/src/utils/hash.h\
$$LIBNANOMSGSRC/src/utils/int.h\
$$LIBNANOMSGSRC/src/utils/list.h\
$$LIBNANOMSGSRC/src/utils/msg.h\
$$LIBNANOMSGSRC/src/utils/mutex.h\
$$LIBNANOMSGSRC/src/utils/queue.h\
$$LIBNANOMSGSRC/src/utils/random.h\
$$LIBNANOMSGSRC/src/utils/sem.h\
$$LIBNANOMSGSRC/src/utils/sleep.h\
$$LIBNANOMSGSRC/src/utils/thread.h\
$$LIBNANOMSGSRC/src/utils/thread_posix.h\
$$LIBNANOMSGSRC/src/utils/thread_win.h\
$$LIBNANOMSGSRC/src/utils/wire.h\
$$LIBNANOMSGSRC/src/devices/device.h\
$$LIBNANOMSGSRC/src/protocols/utils/dist.h\
$$LIBNANOMSGSRC/src/protocols/utils/excl.h\
$$LIBNANOMSGSRC/src/protocols/utils/fq.h\
$$LIBNANOMSGSRC/src/protocols/utils/lb.h\
$$LIBNANOMSGSRC/src/protocols/utils/priolist.h\
$$LIBNANOMSGSRC/src/protocols/bus/bus.h\
$$LIBNANOMSGSRC/src/protocols/bus/xbus.h\
$$LIBNANOMSGSRC/src/protocols/pipeline/push.h\
$$LIBNANOMSGSRC/src/protocols/pipeline/pull.h\
$$LIBNANOMSGSRC/src/protocols/pipeline/xpull.h\
$$LIBNANOMSGSRC/src/protocols/pipeline/xpush.h\
$$LIBNANOMSGSRC/src/protocols/pair/pair.h\
$$LIBNANOMSGSRC/src/protocols/pair/xpair.h\
$$LIBNANOMSGSRC/src/protocols/pubsub/pub.h\
$$LIBNANOMSGSRC/src/protocols/pubsub/sub.h\
$$LIBNANOMSGSRC/src/protocols/pubsub/trie.h\
$$LIBNANOMSGSRC/src/protocols/pubsub/xpub.h\
$$LIBNANOMSGSRC/src/protocols/pubsub/xsub.h\
$$LIBNANOMSGSRC/src/protocols/reqrep/req.h\
$$LIBNANOMSGSRC/src/protocols/reqrep/rep.h\
$$LIBNANOMSGSRC/src/protocols/reqrep/task.h\
$$LIBNANOMSGSRC/src/protocols/reqrep/xrep.h\
$$LIBNANOMSGSRC/src/protocols/reqrep/xreq.h\
$$LIBNANOMSGSRC/src/protocols/survey/respondent.h\
$$LIBNANOMSGSRC/src/protocols/survey/surveyor.h\
$$LIBNANOMSGSRC/src/protocols/survey/xrespondent.h\
$$LIBNANOMSGSRC/src/protocols/survey/xsurveyor.h\
$$LIBNANOMSGSRC/src/transports/utils/backoff.h\
$$LIBNANOMSGSRC/src/transports/utils/dns.h\
$$LIBNANOMSGSRC/src/transports/utils/dns_getaddrinfo.h\
$$LIBNANOMSGSRC/src/transports/utils/dns_getaddrinfo_a.h\
$$LIBNANOMSGSRC/src/transports/utils/iface.h\
$$LIBNANOMSGSRC/src/transports/utils/literal.h\
$$LIBNANOMSGSRC/src/transports/utils/port.h\
$$LIBNANOMSGSRC/src/transports/utils/streamhdr.h\
$$LIBNANOMSGSRC/src/transports/utils/base64.h\
$$LIBNANOMSGSRC/src/transports/inproc/binproc.h\
$$LIBNANOMSGSRC/src/transports/inproc/cinproc.h\
$$LIBNANOMSGSRC/src/transports/inproc/inproc.h\
$$LIBNANOMSGSRC/src/transports/inproc/ins.h\
$$LIBNANOMSGSRC/src/transports/inproc/msgqueue.h\
$$LIBNANOMSGSRC/src/transports/inproc/sinproc.h\
$$LIBNANOMSGSRC/src/transports/ipc/aipc.h\
$$LIBNANOMSGSRC/src/transports/ipc/bipc.h\
$$LIBNANOMSGSRC/src/transports/ipc/cipc.h\
$$LIBNANOMSGSRC/src/transports/ipc/ipc.h\
$$LIBNANOMSGSRC/src/transports/ipc/sipc.h\
$$LIBNANOMSGSRC/src/transports/tcp/atcp.h\
$$LIBNANOMSGSRC/src/transports/tcp/btcp.h\
$$LIBNANOMSGSRC/src/transports/tcp/ctcp.h\
$$LIBNANOMSGSRC/src/transports/tcp/stcp.h\
$$LIBNANOMSGSRC/src/transports/tcp/tcp.h\
$$LIBNANOMSGSRC/src/transports/tcpmux/atcpmux.h\
$$LIBNANOMSGSRC/src/transports/tcpmux/btcpmux.h\
$$LIBNANOMSGSRC/src/transports/tcpmux/ctcpmux.h\
$$LIBNANOMSGSRC/src/transports/tcpmux/stcpmux.h\
$$LIBNANOMSGSRC/src/transports/tcpmux/tcpmux.h\
$$LIBNANOMSGSRC/src/transports/ws/aws.h\
$$LIBNANOMSGSRC/src/transports/ws/bws.h\
$$LIBNANOMSGSRC/src/transports/ws/cws.h\
$$LIBNANOMSGSRC/src/transports/ws/sws.h\
$$LIBNANOMSGSRC/src/transports/ws/ws.h\
$$LIBNANOMSGSRC/src/transports/ws/ws_handshake.h\
$$LIBNANOMSGSRC/src/transports/ws/sha1.h\
$$LIBNANOMSGSRC/src/utils/win.h\
$$LIBNANOMSGSRC/src/aio/poller_epoll.inc\
$$LIBNANOMSGSRC/src/aio/poller_kqueue.inc\
$$LIBNANOMSGSRC/src/aio/poller_poll.inc\
$$LIBNANOMSGSRC/src/aio/usock_posix.inc\
$$LIBNANOMSGSRC/src/aio/usock_win.inc\
$$LIBNANOMSGSRC/src/aio/worker_posix.inc\
$$LIBNANOMSGSRC/src/aio/worker_win.inc\
$$LIBNANOMSGSRC/src/utils/efd_eventfd.inc\
$$LIBNANOMSGSRC/src/utils/efd_pipe.inc\
$$LIBNANOMSGSRC/src/utils/efd_socketpair.inc\
$$LIBNANOMSGSRC/src/utils/efd_win.inc\
$$LIBNANOMSGSRC/src/utils/thread_posix.inc\
$$LIBNANOMSGSRC/src/utils/thread_win.inc\
$$LIBNANOMSGSRC/src/transports/utils/dns_getaddrinfo.inc\
$$LIBNANOMSGSRC/src/transports/utils/dns_getaddrinfo_a.inc
#CONFIG(MINGW32):LIBS += -lws2_32 -lmswsock -ladvapi32
CONFIG(MINGW32):LIBS += -lws2_32 -lmswsock
CONFIG(MINGW64):LIBS += -lws2_32 -lmswsock

View File

@ -8,7 +8,7 @@ Forward Error Correction with a Cauchy MDS block erasure codec is used to preven
<h2>Build</h2>
The plugin will be built only if `libnanomsg` and the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. `libnanomasg` is present in most distributions and the dev version can be installed using the package manager. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
<h2>Interface</h2>

View File

@ -64,10 +64,9 @@ if(LIBUSB_FOUND AND LIBRTLSDR_FOUND)
endif(LIBUSB_FOUND AND LIBRTLSDR_FOUND)
find_package(CM256cc)
find_package(LibNANOMSG)
if(CM256CC_FOUND AND LIBNANOMSG_FOUND)
if(CM256CC_FOUND)
add_subdirectory(sdrdaemonsource)
endif(CM256CC_FOUND AND LIBNANOMSG_FOUND)
endif(CM256CC_FOUND)
find_package(LibMiriSDR)
if(LIBUSB_FOUND AND LIBMIRISDR_FOUND)
@ -86,9 +85,7 @@ if (BUILD_DEBIAN)
add_subdirectory(perseus)
add_subdirectory(plutosdrinput)
add_subdirectory(rtlsdr)
if (LIBNANOMSG_FOUND)
add_subdirectory(sdrdaemonsource)
endif (LIBNANOMSG_FOUND)
add_subdirectory(sdrdaemonsource)
add_subdirectory(sdrplay)
endif (BUILD_DEBIAN)

View File

@ -53,7 +53,6 @@ target_include_directories(inputsdrdaemonsource PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${LIBCM256CCSRC}
${LIBNANOMSG_INCLUDE_DIR}
)
else (BUILD_DEBIAN)
target_include_directories(inputsdrdaemonsource PUBLIC
@ -61,7 +60,6 @@ target_include_directories(inputsdrdaemonsource PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${CM256CC_INCLUDE_DIR}
${LIBNANOMSG_INCLUDE_DIR}
)
endif (BUILD_DEBIAN)
@ -69,7 +67,6 @@ if (BUILD_DEBIAN)
target_link_libraries(inputsdrdaemonsource
${QT_LIBRARIES}
cm256cc
${LIBNANOMSG_LIBRARIES}
sdrbase
sdrgui
swagger
@ -78,7 +75,6 @@ else (BUILD_DEBIAN)
target_link_libraries(inputsdrdaemonsource
${QT_LIBRARIES}
${CM256CC_LIBRARIES}
${LIBNANOMSG_LIBRARIES}
sdrbase
sdrgui
swagger

View File

@ -10,7 +10,7 @@ Please note that there is no provision for handling out of sync UDP blocks. It i
<h2>Build</h2>
The plugin will be built only if `libnanomsg` and the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. `libnanomasg` is present in most distributions and the dev version can be installed using the package manager. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
The plugin will be built only if the [CM256cc library](https://github.com/f4exb/cm256cc) is installed in your system. For CM256cc library you will have to specify the include and library paths on the cmake command line. Say if you install cm256cc in `/opt/install/cm256cc` you will have to add `-DCM256CC_INCLUDE_DIR=/opt/install/cm256cc/include/cm256cc -DCM256CC_LIBRARIES=/opt/install/cm256cc/lib/libcm256cc.so` to the cmake commands.
<h2>Interface</h2>

View File

@ -11,9 +11,6 @@ QT += core gui widgets multimedia network opengl
TARGET = inputsdrdaemonsource
CONFIG(MINGW32):LIBNANOMSGSRC = "D:\softs\nanomsg-0.8-beta"
CONFIG(MINGW64):LIBNANOMSGSRC = "D:\softs\nanomsg-0.8-beta"
CONFIG(MINGW32):LIBCM256CCSRC = "D:\softs\cm256cc"
CONFIG(MINGW64):LIBCM256CCSRC = "D:\softs\cm256cc"
CONFIG(macx):LIBCM256CCSRC = "../../../../deps/cm256cc"
@ -22,7 +19,6 @@ INCLUDEPATH += $$PWD
INCLUDEPATH += ../../../sdrbase
INCLUDEPATH += ../../../sdrgui
INCLUDEPATH += ../../../swagger/sdrangel/code/qt5/client
!macx:INCLUDEPATH += $$LIBNANOMSGSRC/src
macx:INCLUDEPATH += /opt/local/include
INCLUDEPATH += $$LIBCM256CCSRC
@ -60,8 +56,6 @@ FORMS += sdrdaemonsourcegui.ui
LIBS += -L../../../sdrbase/$${build_subdir} -lsdrbase
LIBS += -L../../../sdrgui/$${build_subdir} -lsdrgui
LIBS += -L../../../swagger/$${build_subdir} -lswagger
!macx:LIBS += -L../../../nanomsg/$${build_subdir} -lnanomsg
macx:LIBS += -L/opt/local/lib -lnanomsg
LIBS += -L../../../cm256cc/$${build_subdir} -lcm256cc
RESOURCES = ../../../sdrgui/resources/res.qrc

View File

@ -19,15 +19,6 @@
#include <sys/time.h>
#include <QDebug>
#ifdef _WIN32
#include <nn.h>
#include <pair.h>
#else
#include <nanomsg/nn.h>
#include <nanomsg/pair.h>
#endif
#include "SWGDeviceSettings.h"
#include "SWGDeviceState.h"
#include "SWGDeviceReport.h"

View File

@ -23,19 +23,16 @@ if(LIBUSB_FOUND AND LIBIIO_FOUND)
endif(LIBUSB_FOUND AND LIBIIO_FOUND)
find_package(CM256cc)
find_package(LibNANOMSG)
if(CM256CC_FOUND AND LIBNANOMSG_FOUND)
if(CM256CC_FOUND)
add_subdirectory(sdrdaemonsink)
endif(CM256CC_FOUND AND LIBNANOMSG_FOUND)
endif(CM256CC_FOUND)
if (BUILD_DEBIAN)
add_subdirectory(bladerfoutput)
add_subdirectory(hackrfoutput)
add_subdirectory(limesdroutput)
add_subdirectory(plutosdroutput)
if (LIBNANOMSG_FOUND)
add_subdirectory(sdrdaemonsink)
endif (LIBNANOMSG_FOUND)
add_subdirectory(sdrdaemonsink)
endif (BUILD_DEBIAN)
add_subdirectory(filesink)

View File

@ -36,7 +36,6 @@ include_directories(
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${LIBCM256CCSRC}
${LIBNANOMSG_INCLUDE_DIR}
)
else (BUILD_DEBIAN)
include_directories(
@ -45,7 +44,6 @@ include_directories(
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${CMAKE_SOURCE_DIR}/devices
${CM256CC_INCLUDE_DIR}
${LIBNANOMSG_INCLUDE_DIR}
)
endif (BUILD_DEBIAN)
@ -64,7 +62,6 @@ target_link_libraries(outputsdrdaemonsinksrv
sdrbase
swagger
cm256cc
${LIBNANOMSG_LIBRARIES}
)
else (BUILD_DEBIAN)
target_link_libraries(outputsdrdaemonsinksrv
@ -72,7 +69,6 @@ target_link_libraries(outputsdrdaemonsinksrv
sdrbase
swagger
${CM256CC_LIBRARIES}
${LIBNANOMSG_LIBRARIES}
)
endif (BUILD_DEBIAN)

View File

@ -64,10 +64,9 @@ if(LIBUSB_FOUND AND LIBRTLSDR_FOUND)
endif(LIBUSB_FOUND AND LIBRTLSDR_FOUND)
find_package(CM256cc)
find_package(LibNANOMSG)
if(CM256CC_FOUND AND LIBNANOMSG_FOUND)
if(CM256CC_FOUND)
add_subdirectory(sdrdaemonsource)
endif(CM256CC_FOUND AND LIBNANOMSG_FOUND)
endif(CM256CC_FOUND)
find_package(LibMiriSDR)
if(LIBUSB_FOUND AND LIBMIRISDR_FOUND)
@ -85,9 +84,7 @@ if (BUILD_DEBIAN)
add_subdirectory(perseus)
add_subdirectory(plutosdrinput)
add_subdirectory(rtlsdr)
if (LIBNANOMSG_FOUND)
add_subdirectory(sdrdaemonsource)
endif (LIBNANOMSG_FOUND)
add_subdirectory(sdrdaemonsource)
add_subdirectory(sdrplay)
endif (BUILD_DEBIAN)

View File

@ -44,7 +44,6 @@ target_include_directories(inputsdrdaemonsourcesrv PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${LIBCM256CCSRC}
${LIBNANOMSG_INCLUDE_DIR}
)
else (BUILD_DEBIAN)
target_include_directories(inputsdrdaemonsourcesrv PUBLIC
@ -52,7 +51,6 @@ target_include_directories(inputsdrdaemonsourcesrv PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_SOURCE_DIR}/swagger/sdrangel/code/qt5/client
${CM256CC_INCLUDE_DIR}
${LIBNANOMSG_INCLUDE_DIR}
)
endif (BUILD_DEBIAN)
@ -60,7 +58,6 @@ if (BUILD_DEBIAN)
target_link_libraries(inputsdrdaemonsourcesrv
${QT_LIBRARIES}
cm256cc
${LIBNANOMSG_LIBRARIES}
sdrbase
swagger
)
@ -68,7 +65,6 @@ else (BUILD_DEBIAN)
target_link_libraries(inputsdrdaemonsourcesrv
${QT_LIBRARIES}
${CM256CC_LIBRARIES}
${LIBNANOMSG_LIBRARIES}
sdrbase
swagger
)

View File

@ -15,7 +15,6 @@ SUBDIRS += qrtplib
SUBDIRS += swagger
SUBDIRS += sdrbase
SUBDIRS += sdrgui
CONFIG(MINGW64)SUBDIRS += nanomsg
SUBDIRS += fcdhid
SUBDIRS += fcdlib
SUBDIRS += libairspy

View File

@ -30,7 +30,6 @@ copy cm256cc\%1\cm256cc.dll %2
copy mbelib\%1\mbelib.dll %2
copy dsdcc\%1\dsdcc.dll %2
copy serialdv\%1\serialdv.dll %2
copy nanomsg\%1\nanomsg.dll %2
copy httpserver\%1\httpserver.dll %2
copy logging\%1\logging.dll %2
copy swagger\%1\swagger.dll %2