SDRPlusPlus/readme.md

174 wiersze
4.0 KiB
Markdown
Czysty Zwykły widok Historia

2020-12-13 23:47:11 +00:00
# SDR++, The bloat-free SDR software
![Screenshot](https://i.imgur.com/WejsiFN.png)
2020-07-19 16:09:59 +00:00
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.
2020-12-14 00:07:30 +00:00
* [Patreon](https://patreon.com/ryzerth)
* [Discord Server](https://discord.gg/aFgWjyD)
## Features
2020-11-26 18:25:58 +00:00
2020-12-13 23:47:11 +00:00
* Wide hardware support (both through SoapySDR and dedicated modules)
* SIMD accelerated DSP
2020-12-14 00:07:30 +00:00
* Cross-platform (Windows, Linux, OSX and BSD)
2020-07-19 16:09:59 +00:00
* Full waterfall update when possible. Makes browsing signals easier and more pleasant
2020-07-19 16:12:03 +00:00
## Comming soon
2020-11-26 18:25:58 +00:00
2020-07-19 16:09:59 +00:00
* Digital demodulators and decoders
2020-07-19 16:23:00 +00:00
* Light theme (I know you weirdos exist lol)
* Waterfall color scheme editor
2020-07-19 19:26:37 +00:00
* Switchable fft size
* other small customisation options
2020-07-19 16:09:59 +00:00
2020-12-14 00:07:30 +00:00
2020-07-19 16:12:03 +00:00
# Building on Windows
2020-12-14 00:07:30 +00:00
2020-07-19 16:12:03 +00:00
## Requirements
2020-11-26 18:25:58 +00:00
2020-07-19 16:09:59 +00:00
* cmake
* vcpkg (for the packages listed below)
* fftw3
* portaudio
* glfw
* glew
* PothosSDR (for libvolk and SoapySDR)
2020-08-05 10:50:34 +00:00
## The build
2020-12-14 00:07:30 +00:00
```powershell
2020-07-19 16:09:59 +00: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-07-19 16:12:03 +00:00
# Building on Linux
2020-12-14 00:07:30 +00:00
2020-10-24 15:41:22 +00:00
## install requirements
2020-12-14 00:07:30 +00:00
2020-10-24 15:41:22 +00:00
On Debian/Ubtuntu system:
apt install libglew-dev libglfw3-dev libfftw3-dev libvolk1-dev portaudio19-dev libsoapysdr-dev gcc
## The build
2020-12-14 00:07:30 +00:00
Replace `<N>` by the number of threads available for building (eg. 4)
```sh
2020-10-24 15:41:22 +00:00
mkdir build
cd build
cmake ..
2020-12-14 00:07:30 +00:00
make -j<N>
2020-10-24 15:41:22 +00:00
```
2020-12-14 00:07:30 +00:00
## 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`
```json
"modules": [
"./radio/radio.so",
"./recorder/recorder.so",
"./soapy/soapy.so",
"./rtl_tcp_source/rtl_tcp_source.so"
]
2020-10-24 15:41:22 +00:00
```
2020-07-19 16:09:59 +00:00
2020-07-19 16:12:03 +00:00
# Building on OSX
2020-10-22 00:28:43 +00: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 15:18:54 +00:00
2020-10-24 15:34:18 +00:00
## The build
2020-10-22 00:28:43 +00:00
```
mkdir build
cd build
cmake ..
cmake --build . --config Release
```
2020-07-19 16:09:59 +00:00
2020-12-14 00:07:30 +00:00
## 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`
```json
"modules": [
"./radio/radio.so",
"./recorder/recorder.so",
"./soapy/soapy.so",
"./rtl_tcp_source/rtl_tcp_source.so"
]
```
2020-10-24 15:18:54 +00:00
# Building on OpenBSD
## Install requirements
2020-12-14 00:07:30 +00:00
NOTE: These instructions are outdated
2020-10-24 15:18:54 +00:00
```
pkg_add fftw3-float glew glfw portaudio-svn
# install volk and SoapySDR manually
```
2020-10-24 15:34:18 +00:00
2020-10-24 15:18:54 +00:00
## The build
```
mkdir build
cd build
cmake --clang ..
2020-10-24 15:34:18 +00:00
make
cd ..
./prepare_root.sh
cp -Rf root root_dev # if are in dev
mv root/modules ./
2020-10-24 15:18:54 +00:00
```
2020-10-24 16:56:32 +00:00
## Run SDRPP with `build/sdrpp`.
Modify root_dev/modules_list.json
2020-10-24 15:41:22 +00: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 15:34:18 +00:00
2020-07-19 16:12:03 +00:00
# Contributing
2020-09-06 14:31:50 +00:00
2020-07-19 16:09:59 +00:00
Feel free to issue pull request and report bugs via the github issues.
2020-08-05 11:00:32 +00:00
I will soon publish a contributing.md listing the code style to use.
# Credits
2020-09-06 14:31:50 +00:00
## Patrons
* [SignalsEverywhere](https://signalseverywhere.com/)
2020-10-04 13:23:40 +00:00
* [Lee Donaghy](https://github.com/github)
2020-08-05 11:07:12 +00:00
## Contributors
* [aosync](https://github.com/aosync)
2020-08-05 11:11:42 +00:00
* [Benjamin Kyd](https://github.com/benkyd)
* [Tobias Mädel](https://github.com/Manawyrm)
2020-08-12 14:43:44 +00:00
* [Raov](https://twitter.com/raov_birbtog)
2020-09-06 14:31:50 +00: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 15:18:54 +00:00
* [portaudio (PortAudio community)](http://www.portaudio.com/)