2020-07-19 18:12:03 +02:00
|
|
|
# SDR++, The bloat-free SDR software.
|
2020-08-05 23:27:39 +02:00
|
|
|
![Screenshot](https://i.imgur.com/Kv7GW3l.png)
|
2020-07-19 18:09:59 +02:00
|
|
|
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.
|
|
|
|
|
2020-07-19 18:12:03 +02:00
|
|
|
## Current Features
|
2020-07-19 18:09:59 +02:00
|
|
|
* Uses SoapySDR for wide hardware support
|
|
|
|
* Hardware accelerated graphics (OpenGL + ImGui)
|
|
|
|
* SIMD accelerated DSP (parts of the DSP are still missing)
|
|
|
|
* Cross-platform
|
|
|
|
* Full waterfall update when possible. Makes browsing signals easier and more pleasant
|
|
|
|
|
2020-07-19 18:12:03 +02:00
|
|
|
## Comming soon
|
2020-07-19 18:09:59 +02:00
|
|
|
* Multi-VFO
|
|
|
|
* Plugins
|
|
|
|
* Digital demodulators and decoders
|
2020-07-19 18:23:00 +02:00
|
|
|
* Quick replay (replay last n seconds, cool if you missed a short signal)
|
|
|
|
|
|
|
|
## Small things to add
|
|
|
|
* Switchable bandwidth for demodulators
|
|
|
|
* Switchable audio output device and sample rate
|
|
|
|
* Recording
|
|
|
|
* Light theme (I know you weirdos exist lol)
|
|
|
|
* Waterfall color scheme editor
|
2020-07-19 21:26:37 +02:00
|
|
|
* Switchable fft size
|
|
|
|
* Bias-T enable/disable
|
|
|
|
* other small customisation options
|
|
|
|
* Save waterfall and demod settings between sessions
|
|
|
|
* "Hide sidebar" option
|
2020-07-19 22:00:01 +02:00
|
|
|
* Input filter bandwidth option
|
2020-07-19 21:26:37 +02:00
|
|
|
|
|
|
|
## Known issues (please check before reporting)
|
|
|
|
* Random crashes (yikes)
|
|
|
|
* Gains aren't stepped
|
|
|
|
* The default gains might contain a bogus value before being adjusted
|
|
|
|
* Clicks in the audio
|
|
|
|
* In some cases, it takes a long time to select a device (RTL-SDR in perticular)
|
|
|
|
* Min and Max buttons can get unachievable values (eg. min > max or min = max);
|
2020-07-19 18:09:59 +02:00
|
|
|
|
2020-07-19 18:12:03 +02:00
|
|
|
# Building on Windows
|
|
|
|
## Requirements
|
2020-07-19 18:09:59 +02:00
|
|
|
* cmake
|
|
|
|
* vcpkg (for the packages listed below)
|
|
|
|
* fftw3
|
|
|
|
* portaudio
|
|
|
|
* glfw
|
|
|
|
* glew
|
|
|
|
* PothosSDR (for libvolk and SoapySDR)
|
|
|
|
|
2020-08-05 12:50:34 +02:00
|
|
|
## The build
|
2020-07-19 18:09:59 +02:00
|
|
|
```
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake .. "-DCMAKE_TOOLCHAIN_FILE=C:/Users/Alex/vcpkg/scripts/buildsystems/vcpkg.cmake" -G "Visual Studio 15 2017 Win64"
|
|
|
|
cmake --build . --config Release
|
|
|
|
```
|
|
|
|
|
2020-08-05 12:50:34 +02:00
|
|
|
## Copying over needed directories
|
|
|
|
The last step of the build process is copying the `bandplans` and `res` directories to the output directory.
|
|
|
|
If you followed the steps above, it should be `build/Release`.
|
|
|
|
|
2020-07-19 18:12:03 +02:00
|
|
|
# Building on Linux
|
2020-10-24 17:41:22 +02:00
|
|
|
## install requirements
|
|
|
|
On Debian/Ubtuntu system:
|
|
|
|
apt install libglew-dev libglfw3-dev libfftw3-dev libvolk1-dev portaudio19-dev libsoapysdr-dev gcc
|
|
|
|
|
|
|
|
## The build
|
|
|
|
```
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
make
|
|
|
|
```
|
|
|
|
|
|
|
|
## Modify root_dev/modules_list.json
|
|
|
|
If the content is different than the following, change it.
|
|
|
|
```
|
|
|
|
{
|
|
|
|
"Radio": "./radio/radio.so",
|
|
|
|
"Recorder": "./recorder/recorder.so",
|
|
|
|
"Soapy": "./soapy/soapy.so",
|
|
|
|
"RTLTCPSource": "./rtl_tcp_source/rtl_tcp_source.so"
|
|
|
|
}
|
|
|
|
```
|
2020-07-19 18:09:59 +02:00
|
|
|
|
2020-07-19 18:12:03 +02:00
|
|
|
# Building on OSX
|
2020-10-22 02:28:43 +02:00
|
|
|
## Install requirements
|
|
|
|
```
|
|
|
|
brew tap pothosware/homebrew-pothos
|
|
|
|
brew install volk glew glfw fftw portaudio
|
|
|
|
brew install soapysdr
|
|
|
|
```
|
|
|
|
You can install additional soapy device support based on your hardware.
|
2020-10-24 17:18:54 +02:00
|
|
|
|
2020-10-24 17:34:18 +02:00
|
|
|
## The build
|
2020-10-22 02:28:43 +02:00
|
|
|
```
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake ..
|
|
|
|
cmake --build . --config Release
|
|
|
|
```
|
2020-07-19 18:09:59 +02:00
|
|
|
|
2020-10-24 17:18:54 +02:00
|
|
|
# Building on OpenBSD
|
|
|
|
## Install requirements
|
|
|
|
```
|
|
|
|
pkg_add fftw3-float glew glfw portaudio-svn
|
|
|
|
|
|
|
|
# install volk and SoapySDR manually
|
|
|
|
```
|
2020-10-24 17:34:18 +02:00
|
|
|
|
2020-10-24 17:18:54 +02:00
|
|
|
## The build
|
|
|
|
```
|
|
|
|
mkdir build
|
|
|
|
cd build
|
|
|
|
cmake --clang ..
|
2020-10-24 17:34:18 +02:00
|
|
|
make
|
|
|
|
cd ..
|
|
|
|
./prepare_root.sh
|
|
|
|
cp -Rf root root_dev # if are in dev
|
|
|
|
mv root/modules ./
|
2020-10-24 17:18:54 +02:00
|
|
|
```
|
|
|
|
|
2020-10-24 18:56:32 +02:00
|
|
|
## Run SDRPP with `build/sdrpp`.
|
|
|
|
Modify root_dev/modules_list.json
|
2020-10-24 17:41:22 +02:00
|
|
|
If the content is different than the following, change it.
|
|
|
|
```
|
|
|
|
{
|
|
|
|
"Radio": "./radio/radio.dylib",
|
|
|
|
"Recorder": "./recorder/recorder.dylib",
|
|
|
|
"Soapy": "./soapy/soapy.dylib",
|
|
|
|
"RTLTCPSource": "./rtl_tcp_source/rtl_tcp_source.dylib"
|
|
|
|
}
|
|
|
|
```
|
2020-10-24 17:34:18 +02:00
|
|
|
|
2020-07-19 18:12:03 +02:00
|
|
|
# Contributing
|
2020-09-06 16:31:50 +02:00
|
|
|
|
2020-07-19 18:09:59 +02:00
|
|
|
Feel free to issue pull request and report bugs via the github issues.
|
2020-08-05 13:00:32 +02:00
|
|
|
I will soon publish a contributing.md listing the code style to use.
|
|
|
|
|
|
|
|
# Credits
|
2020-09-06 16:31:50 +02:00
|
|
|
|
|
|
|
## Patrons
|
|
|
|
* [SignalsEverywhere](https://signalseverywhere.com/)
|
2020-10-04 15:23:40 +02:00
|
|
|
* [Lee Donaghy](https://github.com/github)
|
2020-08-05 13:07:12 +02:00
|
|
|
|
|
|
|
## Contributors
|
|
|
|
* [aosync](https://github.com/aosync)
|
2020-08-05 13:11:42 +02:00
|
|
|
* [Benjamin Kyd](https://github.com/benkyd)
|
|
|
|
* [Tobias Mädel](https://github.com/Manawyrm)
|
2020-08-12 16:43:44 +02:00
|
|
|
* [Raov](https://twitter.com/raov_birbtog)
|
2020-09-06 16:31:50 +02:00
|
|
|
* [Howard0su](https://github.com/howard0su)
|
|
|
|
|
|
|
|
## Libaries used
|
|
|
|
* [SoapySDR (PothosWare)](https://github.com/pothosware/SoapySDR)
|
|
|
|
* [Dear ImGui (ocornut)](https://github.com/ocornut/imgui)
|
|
|
|
* [spdlog (gabime)](https://github.com/gabime/spdlog)
|
|
|
|
* [json (nlohmann)](https://github.com/nlohmann/json)
|
2020-10-24 17:18:54 +02:00
|
|
|
* [portaudio (PortAudio community)](http://www.portaudio.com/)
|