Cross-Platform SDR Software
Go to file
2020-12-14 19:34:44 +05:00
airspy_hf_source fixed soapy bug 2020-12-13 14:52:54 +01:00
audio_sink Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
core fixed soapy bug 2020-12-13 14:52:54 +01:00
demo Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
file_source Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
plutosdr_source Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
radio Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
recorder Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
root new fixes 2020-10-20 00:32:17 +02:00
root_dev Removed second radio from the default config 2020-12-14 01:15:52 +01:00
rtl_tcp_source Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
rx888_source Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
soapy_source Soapysdr: Improve sample rate information 2020-12-14 19:34:44 +05:00
source_demo Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
src new modole system 2020-09-19 12:48:34 +02:00
win32 Push before merge 2020-09-06 15:39:09 +02:00
.gitignore Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
CMakeLists.txt Bugfixed + performance improvements to the waterfall 2020-12-12 05:34:58 +01:00
license added license 2020-07-20 00:43:36 +02:00
prepare_root.bat new fixes 2020-10-20 00:32:17 +02:00
prepare_root.sh fixed OpenBSD build 4 2020-10-24 17:34:18 +02:00
readme.md added more info to the readme 2020-12-14 01:07:30 +01:00

SDR++, The bloat-free SDR software

Screenshot SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

Features

  • Wide hardware support (both through SoapySDR and dedicated modules)
  • SIMD accelerated DSP
  • Cross-platform (Windows, Linux, OSX and BSD)
  • Full waterfall update when possible. Makes browsing signals easier and more pleasant

Comming soon

  • Digital demodulators and decoders
  • Light theme (I know you weirdos exist lol)
  • Waterfall color scheme editor
  • Switchable fft size
  • other small customisation options

Building on Windows

Requirements

  • cmake
  • vcpkg (for the packages listed below)
  • fftw3
  • portaudio
  • glfw
  • glew
  • PothosSDR (for libvolk and SoapySDR)

The build

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

Building on Linux

install requirements

On Debian/Ubtuntu system: apt install libglew-dev libglfw3-dev libfftw3-dev libvolk1-dev portaudio19-dev libsoapysdr-dev gcc

The build

Replace <N> by the number of threads available for building (eg. 4)

mkdir build
cd build
cmake ..
make -j<N>

Modify root_dev/config.json

You'll then need to set the right paths for the modules. This is optional. If you don't plan on modifying the modules, you can simply copy over their binaries (from build/<module name>/<module name>.so) to the root_dev/modules/ directory.

Here is an example of module paths in root_dev/config.json

"modules": [
    "./radio/radio.so",
    "./recorder/recorder.so",
    "./soapy/soapy.so",
    "./rtl_tcp_source/rtl_tcp_source.so"
]

Building on OSX

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.

The build

mkdir build
cd build
cmake ..
cmake --build . --config Release

Configuring

You'll then need to set the right paths for the modules. This is optional. If you don't plan on modifying the modules, you can simply copy over their binaries (from build/<module name>/<module name>.so) to the root_dev/modules/ directory.

Here is an example of module paths in root_dev/config.json

"modules": [
    "./radio/radio.so",
    "./recorder/recorder.so",
    "./soapy/soapy.so",
    "./rtl_tcp_source/rtl_tcp_source.so"
]

Building on OpenBSD

Install requirements

NOTE: These instructions are outdated

pkg_add fftw3-float glew glfw portaudio-svn

# install volk and SoapySDR manually

The build

mkdir build
cd build
cmake --clang ..
make
cd ..
./prepare_root.sh
cp -Rf root root_dev # if are in dev
mv root/modules ./

Run SDRPP with build/sdrpp.

Modify root_dev/modules_list.json 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"
}

Contributing

Feel free to issue pull request and report bugs via the github issues. I will soon publish a contributing.md listing the code style to use.

Credits

Patrons

Contributors

Libaries used