pull/47/head
Ryzerth 2020-12-22 18:23:26 +01:00
rodzic c96c69c112
commit 98b6e580b4
18 zmienionych plików z 116 dodań i 683 usunięć

203
readme.md
Wyświetl plik

@ -22,38 +22,113 @@ SDR++ is a cross-platform and open source SDR software with the aim of being blo
* Switchable fft size
* other small customisation options
# Installing
## Windows
Download the latest release from [the Releases page](https://github.com/AlexandreRouma/SDRPlusPlus/releases) and extract to the directory of your choice.
To create a desktop short, rightclick the exe and select `Send to -> Desktop (create shortcut)`, then, rename the shortcut on the desktop to whatever you want.
## Linux
TODO
## MacOS
TODO
## BSD
TODO
# Building on Windows
## Requirements
## Install dependencies
* cmake
* vcpkg (for the packages listed below)
* vcpkg
* PothosSDR (This will install libraires for most SDRs)
After this, install the following depencies using vcpkg:
* fftw3
* portaudio
* glfw
* glew
* PothosSDR (for libvolk and SoapySDR)
## The build
```powershell
## Building
```
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
## Create a new root directory
```
./create_root.bat
```
## install requirements
## Running for development
If you wish to install SDR++, skip to the next step
On Debian/Ubtuntu system:
apt install libglew-dev libglfw3-dev libfftw3-dev libvolk1-dev portaudio19-dev libsoapysdr-dev gcc
You will first need to edit the `root_dev/config` file to point to the modules that were built. Here us a sample if what it would look like:
## The build
Replace `<N>` by the number of threads available for building (eg. 4)
```json
...
"modules": [
"./build/radio/Release/radio.dll",
"./build/recorder/Release/recorder.dll",
"./build/rtl_tcp_source/Release/rtl_tcp_source.dll",
"./build/soapy_source/Release/soapy_source.dll",
"./build/audio_sink/Release/audio_sink.dll"
]
...
```
Remember that these paths will be relative to the run directory.
Off cours, remember to add entries for all modules that were built and that you wish to use.
Next, from the top directory, you can simply run:
```
./build/Release/sdrpp.exe -r root_dev
```
Or, if you wish to run from the build directory:
```
./Release/sdrpp.exe -r ../root_dev
```
## Installing SDR++
If you chose to run SDR++ for development, you do not need this step.
First, copy over the exe and DLLs from `build/Release/` to `root_dev`.
Next you need to copy over all the modules that were compiled. To do so, copy the DLL file of the module (located in its build folder given below) to the `root_dev/modules` directory and other DLLs (that do not have the exact name of the modue) to the `root_dev` directory.
The modules built will be some of the following (Repeat the instructions above for all you wish to use):
* `build/radio/Release/`
* `build/recorder/Release/`
* `build/rtl_tcp_source/Release/`
* `build/spyserver_source/Release/`
* `build/soapy_source/Release/`
* `build/airspyhf_source/Release/`
* `build/plutosdr_source/Release/`
* `build/audio_sink/Release/`
# Building on Linux / BSD
## Install dependencies
* cmake
* vcpkg
* fftw3
* glfw
* glew
* libvolk
Next install dependencies based on the modules you wish to build:
* soapy_source: SoapySDR + drivers for each SDRs (see SoapySDR docs)
* airspyhf_source: libairspyhf
* plutosdr_source: libiio, libad9361
* audio_sink: portaudio
## Building
replace `<N>` with the number of threads you wish to use to build
```sh
mkdir build
cd build
@ -61,91 +136,44 @@ 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.
## Create a new root directory
```sh
sh ./create_root.sh
```
Here is an example of module paths in `root_dev/config.json`
## Running for development
If you wish to install SDR++, skip to the next step
You will first need to edit the `root_dev/config` file to point to the modules that were built. Here us a sample if what it would look like:
```json
...
"modules": [
"./radio/radio.so",
"./recorder/recorder.so",
"./soapy/soapy.so",
"./rtl_tcp_source/rtl_tcp_source.so"
"./build/radio/radio.so",
"./build/recorder/recorder.so",
"./build/rtl_tcp_source/rtl_tcp_source.so",
"./build/soapy_source/soapy_source.so",
"./build/audio_sink/audio_sink.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.
Remember that these paths will be relative to the run directory.
## The build
Off cours, remember to add entries for all modules that were built and that you wish to use.
Next, from the top directory, you can simply run:
```
mkdir build
cd build
cmake ..
cmake --build . --config Release
./build/Release/sdrpp.exe -r root_dev
```
## 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"
]
Or, if you wish to run from the build directory:
```
./Release/sdrpp.exe -r ../root_dev
```
# 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"
}
```
## Installing SDR++
Coming soon!
# Contributing
@ -160,6 +188,7 @@ I will soon publish a contributing.md listing the code style to use.
## Contributors
* [aosync](https://github.com/aosync)
* [Alexsey Shestacov](https://github.com/wingrime)
* [Benjamin Kyd](https://github.com/benkyd)
* [Tobias Mädel](https://github.com/Manawyrm)
* [Raov](https://twitter.com/raov_birbtog)
@ -170,4 +199,4 @@ I will soon publish a contributing.md listing the code style to use.
* [Dear ImGui (ocornut)](https://github.com/ocornut/imgui)
* [spdlog (gabime)](https://github.com/gabime/spdlog)
* [json (nlohmann)](https://github.com/nlohmann/json)
* [portaudio (PortAudio community)](http://www.portaudio.com/)
* [portaudio (PortAudio community)](http://www.portaudio.com/)

Wyświetl plik

@ -1,7 +0,0 @@
{
"broadcast": "#0000FFFF",
"amateur": "#FF0000FF",
"aviation": "#00FF00FF",
"marine": "#00FFFFFF",
"military": "#FFFF00FF"
}

Wyświetl plik

@ -1,267 +0,0 @@
{
"name": "General",
"country_name": "Worldwide",
"country_code": "--",
"author_name": "Ryzerth",
"author_url": "https://github.com/AlexandreRouma",
"bands": [
{
"name": "Long Wave",
"type": "broadcast",
"start": 148500,
"end": 283500
},
{
"name": "Medium Wave",
"type": "broadcast",
"start": 526500,
"end": 1606500
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 2300000,
"end": 2468000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 3200000,
"end": 3400000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 3950000,
"end": 4000000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 4750000,
"end": 4995000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 5005000,
"end": 5060000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 5900000,
"end": 6200000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 7200000,
"end": 7450000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 9400000,
"end": 9900000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 11600000,
"end": 12100000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 13570000,
"end": 13870000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 15100000,
"end": 15800000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 17480000,
"end": 17900000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 18900000,
"end": 19020000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 21450000,
"end": 21850000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 25670000,
"end": 26100000
},
{
"name": "FM Broadcast",
"type": "broadcast",
"start": 87500000,
"end": 108000000
},
{
"name": "Air Band VOR/ILS",
"type": "aviation",
"start": 108000000,
"end": 118000000
},
{
"name": "Air Band Voice",
"type": "aviation",
"start": 118000000,
"end": 137000000
},
{
"name": "160m Ham Band",
"type": "amateur",
"start": 1800000,
"end": 2000000
},
{
"name": "80m Ham Band",
"type": "amateur",
"start": 3500000,
"end": 3950000
},
{
"name": "60m Ham Band",
"type": "amateur",
"start": 5351500,
"end": 5366500
},
{
"name": "40m Ham Band",
"type": "amateur",
"start": 7000000,
"end": 7200000
},
{
"name": "30m Ham Band",
"type": "amateur",
"start": 10100000,
"end": 10150000
},
{
"name": "20m Ham Band",
"type": "amateur",
"start": 14000000,
"end": 14350000
},
{
"name": "17m Ham Band",
"type": "amateur",
"start": 18068000,
"end": 18168000
},
{
"name": "15m Ham Band",
"type": "amateur",
"start": 21000000,
"end": 21450000
},
{
"name": "12m Ham Band",
"type": "amateur",
"start": 24890000,
"end": 24990000
},
{
"name": "CB",
"type": "amateur",
"start": 26960000,
"end": 27410000
},
{
"name": "10m Ham Band",
"type": "amateur",
"start": 28000000,
"end": 29750000
},
{
"name": "6m Ham Band",
"type": "amateur",
"start": 50000000,
"end": 54000000
},
{
"name": "2m Ham Band",
"type": "amateur",
"start": 144000000,
"end": 148000000
},
{
"name": "Marine",
"type": "marine",
"start": 156000000,
"end": 162025000
},
{
"name": "1.25m Ham Band",
"type": "amateur",
"start": 222000000,
"end": 225000000
},
{
"name": "Military Air",
"type": "military",
"start": 225000000,
"end": 380000000
},
{
"name": "Military Sat",
"type": "military",
"start": 240000000,
"end": 270000000
},
{
"name": "70cm Ham Band",
"type": "amateur",
"start": 420000000,
"end": 450000000
},
{
"name": "PMR446",
"type": "amateur",
"start": 446000000,
"end": 446200000
},
{
"name": "33cm Ham Band",
"type": "amateur",
"start": 902000000,
"end": 928000000
},
{
"name": "23cm Ham Band",
"type": "amateur",
"start": 1240000000,
"end": 1300000000
},
{
"name": "13cm Ham Band",
"type": "amateur",
"start": 2300000000,
"end": 2310000000
},
{
"name": "13cm Ham Band",
"type": "amateur",
"start": 2390000000,
"end": 2450000000
}
]
}

Wyświetl plik

@ -1,141 +0,0 @@
{
"name": "Germany",
"country_name": "Germany",
"country_code": "DE",
"author_name": "Tobias Mädel",
"author_url": "https://tbspace.de",
"bands": [
{
"name": "LW",
"type": "amateur",
"start": 135700,
"end": 137800
},
{
"name": "630m",
"type": "amateur",
"start": 472000,
"end": 479000
},
{
"name": "160m",
"type": "amateur",
"start": 1810000,
"end": 2000000
},
{
"name": "80m",
"type": "amateur",
"start": 3500000,
"end": 3800000
},
{
"name": "60m",
"type": "amateur",
"start": 5351500,
"end": 5366500
},
{
"name": "40m",
"type": "amateur",
"start": 7000000,
"end": 7200000
},
{
"name": "30m",
"type": "amateur",
"start": 10100000,
"end": 10150000
},
{
"name": "20m",
"type": "amateur",
"start": 14000000,
"end": 14350000
},
{
"name": "17m",
"type": "amateur",
"start": 18068000,
"end": 18168000
},
{
"name": "15m",
"type": "amateur",
"start": 21000000,
"end": 21450000
},
{
"name": "12m",
"type": "amateur",
"start": 24890000,
"end": 24990000
},
{
"name": "CB",
"type": "other",
"start": 26565000,
"end": 27405000
},
{
"name": "10m",
"type": "amateur",
"start": 28000000,
"end": 29700000
},
{
"name": "6m",
"type": "amateur",
"start": 50030000,
"end": 51000000
},
{
"name": "4m",
"type": "amateur",
"start": 70150000,
"end": 70200000
},
{
"name": "FM",
"type": "broadcast",
"start": 87500000,
"end": 108000000
},
{
"name": "2m",
"type": "amateur",
"start": 144000000,
"end": 146000000
},
{
"name": "Freenet",
"type": "other",
"start": 149025000,
"end": 149115625
},
{
"name": "70cm",
"type": "amateur",
"start": 430000000,
"end": 440000000
},
{
"name": "PMR446",
"type": "other",
"start": 446006250,
"end": 446196875
},
{
"name": "23cm",
"type": "amateur",
"start": 1240000000,
"end": 1300000000
},
{
"name": "13cm",
"type": "amateur",
"start": 2320000000,
"end": 2450000000
}
]
}

Wyświetl plik

@ -1,135 +0,0 @@
{
"name": "Russia",
"country_name": "Russia",
"country_code": "RU",
"author_name": "Raov",
"author_url": "https://twitter.com/raov_birbtog",
"bands": [
{
"name": "160m CW",
"type": "amateur",
"start": 1810000,
"end": 1838000
},
{
"name": "160m NB",
"type": "amateur",
"start": 1838000,
"end": 1840000
},
{
"name": "160m + Digi",
"type": "amateur",
"start": 1840000,
"end": 1843000
},
{
"name": "160m",
"type": "amateur",
"start": 1843000,
"end": 2000000
},
{
"name": "80m CW",
"type": "amateur",
"start": 3500000,
"end": 3510000
},
{
"name": "80m CW Contest",
"type": "amateur",
"start": 3510000,
"end": 3560000
},
{
"name": "80m CW",
"type": "amateur",
"start": 3560000,
"end": 3570000
},
{
"name": "80m NB, Digi 200Hz",
"type": "amateur",
"start": 3570000,
"end": 3580000
},
{
"name": "80m NB, Digi 500Hz",
"type": "amateur",
"start": 3580000,
"end": 3600000
},
{
"name": "80m SSB Contest",
"type": "amateur",
"start": 3600000,
"end": 3650000
},
{
"name": "80m",
"type": "amateur",
"start": 3650000,
"end": 3700000
},
{
"name": "80m SSB Contest",
"type": "amateur",
"start": 3700000,
"end": 3800000
},
{
"name": "60m CW 200Hz",
"type": "amateur",
"start": 5351500,
"end": 5354000
},
{
"name": "60m USB",
"type": "amateur",
"start": 5354000,
"end": 5366000
},
{
"name": "60m CW 20Hz",
"type": "amateur",
"start": 5356000,
"end": 5366500
},
{
"name": "40m CW",
"type": "amateur",
"start": 7000000,
"end": 7040000
},
{
"name": "40m NB, Digi 500Hz",
"type": "amateur",
"start": 7040000,
"end": 7050000
},
{
"name": "40m",
"type": "amateur",
"start": 7050000,
"end": 7060000
},
{
"name": "40m SSB Contest",
"type": "amateur",
"start": 7060000,
"end": 7100000
},
{
"name": "40m",
"type": "amateur",
"start": 7100000,
"end": 7130000
},
{
"name": "40m SSB Contest",
"type": "amateur",
"start": 7130000,
"end": 7200000
}
]
}

Wyświetl plik

@ -1,46 +0,0 @@
{
"bandColors": {
"amateur": "#FF0000FF",
"aviation": "#00FF00FF",
"broadcast": "#0000FFFF",
"marine": "#00FFFFFF",
"military": "#FFFF00FF"
},
"bandPlan": "General",
"bandPlanEnabled": true,
"centerTuning": false,
"fftHeight": 300,
"frequency": 100004000,
"max": 0.0,
"maximized": false,
"menuOrder": [
"Source",
"Radio",
"Recorder",
"Sinks",
"Audio",
"Scripting",
"Band Plan",
"Display"
],
"menuWidth": 300,
"min": -70.0,
"moduleInstances": {
"AirspyHF+ Source": "airspyhf_source",
"Audio Sink": "audio_sink",
"PlutoSDR Source": "plutosdr_source",
"RTL-TCP Source": "rtl_tcp_source",
"Radio": "radio",
"Recorder": "recorder",
"SoapySDR Source": "soapy_source"
},
"modules": [],
"offset": 0.0,
"showWaterfall": true,
"source": "",
"streams": {},
"windowSize": {
"h": 720,
"w": 1280
}
}

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 6.5 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 1.4 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 5.8 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 2.7 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 2.0 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 33 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 21 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 1.3 KiB

Plik binarny nie jest wyświetlany.

Przed

Szerokość:  |  Wysokość:  |  Rozmiar: 5.5 KiB