This commit is contained in:
Cam K 2021-04-26 21:50:48 -04:00
commit 41709ef916
31 changed files with 560 additions and 304 deletions

209
.github/workflows/build_all.yml vendored Normal file
View File

@ -0,0 +1,209 @@
name: Build Binaries
on: [push, pull_request]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Download PothosSDR
run: Invoke-WebRequest -Uri "https://downloads.myriadrf.org/builds/PothosSDR/PothosSDR-2021.02.28-vc16-x64.exe" -OutFile ${{runner.workspace}}/pothos.exe
- name: Install PothosSDR
run: mkdir "C:/Program Files/PothosSDR" ; 7z x ${{runner.workspace}}/pothos.exe -o"C:/Program Files/PothosSDR/"
- name: Download SDRPlay API
run: Invoke-WebRequest -Uri "https://drive.google.com/uc?id=12UHPMwkfa67A11QZDmpCT4iwHnyJHWuu" -OutFile ${{runner.workspace}}/SDRPlay.zip
- name: Install SDRPlay API
run: 7z x ${{runner.workspace}}/SDRPlay.zip -o"C:/Program Files/"
- name: Install vcpkg dependencies
run: vcpkg install fftw3:x64-windows glew:x64-windows glfw3:x64-windows
- name: Install rtaudio
run: git clone https://github.com/thestk/rtaudio ; cd rtaudio ; mkdir build ; cd build ; cmake .. ; cmake --build . --config Release ; cmake --install .
- name: Prepare CMake
working-directory: ${{runner.workspace}}/build
run: cmake "$Env:GITHUB_WORKSPACE" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DOPT_BUILD_SDRPLAY_SOURCE=ON
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config Release
- name: Create Archive
working-directory: ${{runner.workspace}}
run: '&($Env:GITHUB_WORKSPACE + "/make_windows_package.ps1") ./build ($Env:GITHUB_WORKSPACE + "/root")'
- name: Save Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_windows_x64
path: ${{runner.workspace}}/sdrpp_windows_x64.zip
build_debian_buster:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/debian_buster && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
working-directory: ${{runner.workspace}}
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_debian_buster_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
build_debian_bullseye:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/debian_bullseye && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
working-directory: ${{runner.workspace}}
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_debian_bullseye_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
build_debian_sid:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/debian_sid && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
working-directory: ${{runner.workspace}}
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_debian_sid_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
build_ubuntu_focal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/ubuntu_focal && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
working-directory: ${{runner.workspace}}
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_ubuntu_focal_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
build_ubuntu_groovy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/ubuntu_groovy && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
working-directory: ${{runner.workspace}}
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_ubuntu_groovy_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
build_ubuntu_hirsute:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/ubuntu_hirsute && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
working-directory: ${{runner.workspace}}
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_ubuntu_hirsute_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
create_full_archive:
needs: ['build_windows', 'build_debian_buster', 'build_debian_bullseye', 'build_debian_sid', 'build_ubuntu_focal', 'build_ubuntu_groovy', 'build_ubuntu_hirsute']
runs-on: ubuntu-latest
steps:
- name: Download All Builds
uses: actions/download-artifact@v2
- name: Create Archive
run: >
mkdir sdrpp_all &&
mv sdrpp_windows_x64/sdrpp_windows_x64.zip sdrpp_all/ &&
mv sdrpp_debian_buster_amd64/sdrpp_debian_amd64.deb sdrpp_all/sdrpp_debian_buster_amd64.deb &&
mv sdrpp_debian_bullseye_amd64/sdrpp_debian_amd64.deb sdrpp_all/sdrpp_debian_bullseye_amd64.deb &&
mv sdrpp_debian_sid_amd64/sdrpp_debian_amd64.deb sdrpp_all/sdrpp_debian_sid_amd64.deb &&
mv sdrpp_ubuntu_focal_amd64/sdrpp_debian_amd64.deb sdrpp_all/sdrpp_ubuntu_focal_amd64.deb &&
mv sdrpp_ubuntu_groovy_amd64/sdrpp_debian_amd64.deb sdrpp_all/sdrpp_ubuntu_groovy_amd64.deb &&
mv sdrpp_ubuntu_hirsute_amd64/sdrpp_debian_amd64.deb sdrpp_all/sdrpp_ubuntu_hirsute_amd64.deb
- uses: actions/upload-artifact@v2
with:
name: sdrpp_all
path: sdrpp_all/

View File

@ -1,142 +0,0 @@
name: Build Binaries
on: [push, pull_request]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Release
jobs:
build_linux:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Update repositories
run: sudo apt update
- name: Install dependencies
run: sudo apt install libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev
- name: Create Build Environment
# Some projects don't allow in-source building, so create a separate build directory
# We'll use this as our working directory for all subsequent commands
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure CMake
# Use a bash shell so we can use the same syntax for environment variable
# access regardless of the host operating system
shell: bash
working-directory: ${{runner.workspace}}/build
# Note the current convention is to use the -S and -B options here to specify source
# and build directories, but this is only available with CMake 3.13 and higher.
# The CMake binaries on the Github Actions machines are (as of this writing) 3.12
run: cmake $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=$BUILD_TYPE -DOPT_BUILD_SDRPLAY_SOURCE=OFF
- name: Build
working-directory: ${{runner.workspace}}/build
shell: bash
# Execute the build. You can specify a specific target with "--target <NAME>"
run: cmake --build . --config $BUILD_TYPE -j2
- name: Create Deb Archive
working-directory: ${{runner.workspace}}
run: sh $GITHUB_WORKSPACE/make_debian_package.sh ${{runner.workspace}}/build
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_ubuntu20.04_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
build_windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: Create Build Environment
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Download PothosSDR
run: Invoke-WebRequest -Uri "https://downloads.myriadrf.org/builds/PothosSDR/PothosSDR-2021.02.28-vc16-x64.exe" -OutFile ${{runner.workspace}}/pothos.exe
- name: Install PothosSDR
run: mkdir "C:/Program Files/PothosSDR" ; 7z x ${{runner.workspace}}/pothos.exe -o"C:/Program Files/PothosSDR/"
- name: Download SDRPlay API
run: Invoke-WebRequest -Uri "https://drive.google.com/uc?id=12UHPMwkfa67A11QZDmpCT4iwHnyJHWuu" -OutFile ${{runner.workspace}}/SDRPlay.zip
- name: Install SDRPlay API
run: 7z x ${{runner.workspace}}/SDRPlay.zip -o"C:/Program Files/"
- name: Install vcpkg dependencies
run: vcpkg install fftw3:x64-windows glew:x64-windows glfw3:x64-windows
- name: Install rtaudio
run: git clone https://github.com/thestk/rtaudio ; cd rtaudio ; mkdir build ; cd build ; cmake .. ; cmake --build . --config Release ; cmake --install .
- name: Prepare CMake
working-directory: ${{runner.workspace}}/build
run: cmake "$Env:GITHUB_WORKSPACE" "-DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake" -DOPT_BUILD_SDRPLAY_SOURCE=ON
- name: Build
working-directory: ${{runner.workspace}}/build
run: cmake --build . --config Release
- name: Create Archive
working-directory: ${{runner.workspace}}
run: '&($Env:GITHUB_WORKSPACE + "/make_windows_package.ps1") ./build ($Env:GITHUB_WORKSPACE + "/root")'
- name: Save Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_windows_x64
path: ${{runner.workspace}}/sdrpp_windows_x64.zip
build_debian_buster:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/debian_buster && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_debian_buster_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb
build_debian_bullseye:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Create Docker Image
run: cd $GITHUB_WORKSPACE/docker_builds/debian_bullseye && docker build . --tag sdrpp_build
- name: Run Container
run: docker run --name build sdrpp_build /root/do_build.sh
- name: Recover Deb Archive
run: docker cp build:/root/SDRPlusPlus/sdrpp_debian_amd64.deb ./
- name: Save Deb Archive
uses: actions/upload-artifact@v2
with:
name: sdrpp_debian_bullseye_amd64
path: ${{runner.workspace}}/sdrpp_debian_amd64.deb

View File

@ -19,7 +19,7 @@ set_target_properties(airspy_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_directories(airspy_source PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_libraries(airspy_source PUBLIC airspy)
else (MSVC)
@ -28,7 +28,6 @@ else (MSVC)
pkg_check_modules(LIBAIRSPY REQUIRED libairspy)
target_include_directories(airspy_source PUBLIC ${LIBAIRSPY_INCLUDE_DIRS})
target_link_directories(airspy_source PUBLIC ${LIBAIRSPY_LIBRARY_DIRS})
target_link_libraries(airspy_source PUBLIC ${LIBAIRSPY_LIBRARIES})
endif ()

View File

@ -19,7 +19,7 @@ set_target_properties(airspyhf_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_directories(airspyhf_source PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_libraries(airspyhf_source PUBLIC airspyhf)
else (MSVC)
@ -28,7 +28,6 @@ else (MSVC)
pkg_check_modules(LIBAIRSPYHF REQUIRED libairspyhf)
target_include_directories(airspyhf_source PUBLIC ${LIBAIRSPYHF_INCLUDE_DIRS})
target_link_directories(airspyhf_source PUBLIC ${LIBAIRSPYHF_LIBRARY_DIRS})
target_link_libraries(airspyhf_source PUBLIC ${LIBAIRSPYHF_LIBRARIES})
endif ()

View File

@ -19,22 +19,20 @@ set_target_properties(audio_sink PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files (x86)/RtAudio/lib")
target_link_directories(audio_sink PUBLIC "C:/Program Files (x86)/RtAudio/lib")
# Misc headers
target_include_directories(sdrpp_core PUBLIC "C:/Program Files (x86)/RtAudio/include/rtaudio")
target_include_directories(audio_sink PUBLIC "C:/Program Files (x86)/RtAudio/include/rtaudio")
target_link_libraries(sdrpp_core PUBLIC rtaudio)
target_link_libraries(audio_sink PUBLIC rtaudio)
else (MSVC)
find_package(PkgConfig)
pkg_check_modules(RTAUDIO REQUIRED rtaudio)
target_include_directories(sdrpp_core PUBLIC ${RTAUDIO_INCLUDE_DIRS})
target_include_directories(audio_sink PUBLIC ${RTAUDIO_INCLUDE_DIRS})
target_link_directories(sdrpp_core PUBLIC ${RTAUDIO_LIBRARY_DIRS})
target_link_libraries(sdrpp_core PUBLIC ${RTAUDIO_LIBRARIES})
target_link_libraries(audio_sink PUBLIC ${RTAUDIO_LIBRARIES})
endif ()

View File

@ -19,7 +19,7 @@ set_target_properties(bladerf_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_directories(bladerf_source PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_libraries(bladerf_source PUBLIC bladeRF)
else (MSVC)

View File

@ -49,6 +49,70 @@ For example, lets take the module named `cool_source`:
If the module meets the code quality requirements, it may be added to the official repository. A module that doesn't require any external dependencies that the core doesn't already use may be enabled for build by default. Otherwise, they must be disabled for build by default with a `OPT_BUILD_MODULE_NAME` variable set to `OFF`.
# JSON Formatting
The ability to add new radio band allocation identifiers and color maps relies on JSON files. Proper formatting of these JSOn files is important for reference and readability. The folowing guides will show you how to properly format the JSON files for their respective uses.
**IMPORTANT: JSON File cannot contain comments, there are only in this example for clarity**
## Band Frequency Allocation
Please follow this guide to properly format the JSON files for custom radio band allocation identifiers.
```json
{
"name": "Short name (has to fit in the menu)",
"country_name": "Name of country or area, if applicable (Use '--' otherwise)",
"country_code": "Two letter country code, if applicable (Use '--' otherwise)",
"author_name": "Name of the original/main creator of the JSON file",
"author_url": "URL the author wishes to be associated with the file (personal website, GitHub, Twitter, etc)",
"bands": [
// Bands in this array must be sorted by their starting frequency
{
"name": "Name of the band",
"type": "Type name ('amateur', 'broadcast', 'marine', 'military', or any type decalre in config.json)",
"start": 148500, //In Hz, must be an integer
"end": 283500 //In Hz, must be an integer
},
{
"name": "Name of the band",
"type": "Type name ('amateur', 'broadcast', 'marine', 'military', or any type decalre in config.json)",
"start": 526500, //In Hz, must be an integer
"end": 1606500 //In Hz, must be an integer
}
]
}
```
## Color Maps
Please follow this guide to properly format the JSON files for custom color maps.
```json
{
"name": "Short name (has to fit in the menu)",
"author": "Name of the original/main creator of the color map",
"map": [
// These are the color codes, in hexidecimal (#RRGGBB) format, for the custom color scales for the waterfall. They must be entered as strings, not integers, with the hastag/pound-symbol proceeding the 6 digit number.
"#000020",
"#000030",
"#000050",
"#000091",
"#1E90FF",
"#FFFFFF",
"#FFFF00",
"#FE6D16",
"#FE6D16",
"#FF0000",
"#FF0000",
"#C60000",
"#9F0000",
"#750000",
"#4A0000"
]
}
```
# Best Practices
* All additions and/or bug fixes to the core must not add additional dependencies.

View File

@ -12,15 +12,15 @@ else ()
endif ()
add_definitions(-DSDRPP_IS_CORE)
# Set the install prefix
add_compile_definitions(INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
# Main code
file(GLOB_RECURSE SRC "src/*.cpp" "src/*.c")
# Add code to dyn lib
add_library(sdrpp_core SHARED ${SRC})
# Set the install prefix
target_compile_definitions(sdrpp_core PUBLIC INSTALL_PREFIX="${CMAKE_INSTALL_PREFIX}")
# Include core headers
target_include_directories(sdrpp_core PUBLIC "src/")
target_include_directories(sdrpp_core PUBLIC "src/imgui")
@ -64,13 +64,6 @@ else()
${VOLK_INCLUDE_DIRS}
)
target_link_directories(sdrpp_core PUBLIC
${GLEW_LIBRARY_DIRS}
${FFTW3_LIBRARY_DIRS}
${GLFW3_LIBRARY_DIRS}
${VOLK_LIBRARY_DIRS}
)
target_link_libraries(sdrpp_core PUBLIC
${OPENGL_LIBRARIES}
${GLEW_LIBRARIES}

View File

@ -1,6 +1,7 @@
#include <config.h>
#include <spdlog/spdlog.h>
#include <fstream>
#include <filesystem>
ConfigManager::ConfigManager() {

View File

@ -1,3 +1,4 @@
FROM debian:buster
FROM debian:bullseye
ENV DEBIAN_FRONTEND=noninteractive
COPY do_build.sh /root
RUN chmod +x /root/do_build.sh

View File

@ -2,15 +2,23 @@
set -e
cd /root
# Install dependencies and tools
apt update
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev p7zip-full wget
# Install SDRPlay libraries
wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1
cp x86_64/libsdrplay_api.so.3.07 /usr/lib/libsdrplay_api.so
cp inc/* /usr/include/
git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
mkdir build
cd build
cmake ..
cmake .. -DOPT_BUILD_SDRPLAY_SOURCE=ON
make -j2
cd ..

View File

@ -1,3 +1,4 @@
FROM debian:bullseye
FROM debian:buster
ENV DEBIAN_FRONTEND=noninteractive
COPY do_build.sh /root
RUN chmod +x /root/do_build.sh

View File

@ -2,15 +2,23 @@
set -e
cd /root
# Install dependencies and tools
apt update
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk1-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk1-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev p7zip-full wget
# Install SDRPlay libraries
wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1
cp x86_64/libsdrplay_api.so.3.07 /usr/lib/libsdrplay_api.so
cp inc/* /usr/include/
git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
mkdir build
cd build
cmake ..
cmake .. -DOPT_BUILD_SDRPLAY_SOURCE=ON
make -j2
cd ..

View File

@ -0,0 +1,4 @@
FROM debian:sid
ENV DEBIAN_FRONTEND=noninteractive
COPY do_build.sh /root
RUN chmod +x /root/do_build.sh

View File

@ -0,0 +1,25 @@
#!/bin/bash
set -e
cd /root
# Install dependencies and tools
apt update
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev p7zip-full wget
# Install SDRPlay libraries
wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1
cp x86_64/libsdrplay_api.so.3.07 /usr/lib/libsdrplay_api.so
cp inc/* /usr/include/
git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
mkdir build
cd build
cmake .. -DOPT_BUILD_SDRPLAY_SOURCE=ON
make -j2
cd ..
sh make_debian_package.sh ./build

View File

@ -0,0 +1,4 @@
FROM ubuntu:focal
ENV DEBIAN_FRONTEND=noninteractive
COPY do_build.sh /root
RUN chmod +x /root/do_build.sh

View File

@ -0,0 +1,25 @@
#!/bin/bash
set -e
cd /root
# Install dependencies and tools
apt update
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev p7zip-full wget
# Install SDRPlay libraries
wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1
cp x86_64/libsdrplay_api.so.3.07 /usr/lib/libsdrplay_api.so
cp inc/* /usr/include/
git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
mkdir build
cd build
cmake .. -DOPT_BUILD_SDRPLAY_SOURCE=ON
make -j2
cd ..
sh make_debian_package.sh ./build

View File

@ -0,0 +1,4 @@
FROM ubuntu:groovy
ENV DEBIAN_FRONTEND=noninteractive
COPY do_build.sh /root
RUN chmod +x /root/do_build.sh

View File

@ -0,0 +1,25 @@
#!/bin/bash
set -e
cd /root
# Install dependencies and tools
apt update
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev p7zip-full wget
# Install SDRPlay libraries
wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1
cp x86_64/libsdrplay_api.so.3.07 /usr/lib/libsdrplay_api.so
cp inc/* /usr/include/
git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
mkdir build
cd build
cmake .. -DOPT_BUILD_SDRPLAY_SOURCE=ON
make -j2
cd ..
sh make_debian_package.sh ./build

View File

@ -0,0 +1,4 @@
FROM ubuntu:hirsute
ENV DEBIAN_FRONTEND=noninteractive
COPY do_build.sh /root
RUN chmod +x /root/do_build.sh

View File

@ -0,0 +1,25 @@
#!/bin/bash
set -e
cd /root
# Install dependencies and tools
apt update
apt install -y build-essential cmake git libfftw3-dev libglfw3-dev libglew-dev libvolk2-dev libsoapysdr-dev libairspyhf-dev libairspy-dev libiio-dev libad9361-dev librtaudio-dev libhackrf-dev librtlsdr-dev p7zip-full wget
# Install SDRPlay libraries
wget https://www.sdrplay.com/software/SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1.run
7z x ./SDRplay_RSP_API-Linux-3.07.1
cp x86_64/libsdrplay_api.so.3.07 /usr/lib/libsdrplay_api.so
cp inc/* /usr/include/
git clone https://github.com/AlexandreRouma/SDRPlusPlus
cd SDRPlusPlus
mkdir build
cd build
cmake .. -DOPT_BUILD_SDRPLAY_SOURCE=ON
make -j2
cd ..
sh make_debian_package.sh ./build

View File

@ -19,7 +19,7 @@ set_target_properties(hackrf_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_directories(hackrf_source PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_libraries(hackrf_source PUBLIC hackrf)
else (MSVC)
@ -28,7 +28,6 @@ else (MSVC)
pkg_check_modules(LIBHACKRF REQUIRED libhackrf)
target_include_directories(hackrf_source PUBLIC ${LIBHACKRF_INCLUDE_DIRS})
target_link_directories(hackrf_source PUBLIC ${LIBHACKRF_LIBRARY_DIRS})
target_link_libraries(hackrf_source PUBLIC ${LIBHACKRF_LIBRARIES})
endif ()

View File

@ -19,8 +19,8 @@ set_target_properties(plutosdr_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/lib/")
target_include_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/include/")
target_link_directories(plutosdr_source PUBLIC "C:/Program Files/PothosSDR/lib/")
target_include_directories(plutosdr_source PUBLIC "C:/Program Files/PothosSDR/include/")
target_link_libraries(plutosdr_source PUBLIC libiio)
target_link_libraries(plutosdr_source PUBLIC libad9361)
@ -31,11 +31,9 @@ else (MSVC)
pkg_check_modules(LIBAD9361 REQUIRED libad9361)
target_include_directories(plutosdr_source PUBLIC ${LIBIIO_INCLUDE_DIRS})
target_link_directories(plutosdr_source PUBLIC ${LIBIIO_LIBRARY_DIRS})
target_link_libraries(plutosdr_source PUBLIC ${LIBIIO_LIBRARIES})
target_include_directories(plutosdr_source PUBLIC ${LIBAD9361_INCLUDE_DIRS})
target_link_directories(plutosdr_source PUBLIC ${LIBAD9361_LIBRARY_DIRS})
target_link_libraries(plutosdr_source PUBLIC ${LIBAD9361_LIBRARIES})
endif ()

View File

@ -3,7 +3,7 @@
![Screenshot](https://i.imgur.com/EFOqwQQ.png)
SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.
![Linux Build](https://github.com/AlexandreRouma/SDRPlusPlus/workflows/Linux%20Build/badge.svg)
![Build](https://github.com/AlexandreRouma/SDRPlusPlus/workflows/Build%20Binaries/badge.svg)
* [Patreon](https://patreon.com/ryzerth)
* [Discord Server](https://discord.gg/aFgWjyD)

View File

@ -17,6 +17,12 @@
"start": 526500,
"end": 1606500
},
{
"name": "160m Ham Band",
"type": "amateur",
"start": 1800000,
"end": 2000000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
@ -29,6 +35,12 @@
"start": 3200000,
"end": 3400000
},
{
"name": "80m Ham Band",
"type": "amateur",
"start": 3500000,
"end": 3950000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
@ -47,12 +59,24 @@
"start": 5005000,
"end": 5060000
},
{
"name": "60m Ham Band",
"type": "amateur",
"start": 5351500,
"end": 5366500
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 5900000,
"end": 6200000
},
{
"name": "40m Ham Band",
"type": "amateur",
"start": 7000000,
"end": 7200000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
@ -65,6 +89,12 @@
"start": 9400000,
"end": 9900000
},
{
"name": "30m Ham Band",
"type": "amateur",
"start": 10100000,
"end": 10150000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
@ -77,6 +107,12 @@
"start": 13570000,
"end": 13870000
},
{
"name": "20m Ham Band",
"type": "amateur",
"start": 14000000,
"end": 14350000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
@ -89,24 +125,60 @@
"start": 17480000,
"end": 17900000
},
{
"name": "17m Ham Band",
"type": "amateur",
"start": 18068000,
"end": 18168000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 18900000,
"end": 19020000
},
{
"name": "15m Ham Band",
"type": "amateur",
"start": 21000000,
"end": 21450000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 21450000,
"end": 21850000
},
{
"name": "12m Ham Band",
"type": "amateur",
"start": 24890000,
"end": 24990000
},
{
"name": "Shortwave Broadcast",
"type": "broadcast",
"start": 25670000,
"end": 26100000
},
{
"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": "FM Broadcast",
"type": "broadcast",
@ -126,76 +198,10 @@
"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": "Polar Orbiting Satellites",
"type": "satellite",
"start": 137000000,
"end": 138000000
},
{
"name": "2m Ham Band",

View File

@ -6,16 +6,22 @@
"author_url": "none",
"bands": [
{
"name": "LTE band 1 (IMT) FDD uplink",
"name": "LTE band 28 (APT) FDD uplink",
"type": "LTE.FDD.uplink",
"start": 1920000000,
"end": 1980000000
"start": 703000000,
"end": 748000000
},
{
"name": "LTE band 1 (IMT) FDD downlink",
"type": "LTE.FDD.downlink",
"start": 2110000000,
"end": 2170000000
"name": "LTE band 20 (Digital Dividend) FDD uplink",
"type": "LTE.FDD.uplink",
"start": 832000000,
"end": 862000000
},
{
"name": "LTE band 8 (Extended GSM) FDD uplink",
"type": "LTE.FDD.uplink",
"start": 880000000,
"end": 915000000
},
{
"name": "LTE band 3 (DCS) FDD uplink",
@ -29,6 +35,18 @@
"start": 1805000000,
"end": 1880000000
},
{
"name": "LTE band 1 (IMT) FDD uplink",
"type": "LTE.FDD.uplink",
"start": 1920000000,
"end": 1980000000
},
{
"name": "LTE band 1 (IMT) FDD downlink",
"type": "LTE.FDD.downlink",
"start": 2110000000,
"end": 2170000000
},
{
"name": "LTE band 7 (IMT-E) FDD uplink",
"type": "LTE.FDD.uplink",
@ -42,22 +60,10 @@
"end": 2690000000
},
{
"name": "LTE band 8 (Extended GSM) FDD uplink",
"type": "LTE.FDD.uplink",
"start": 880000000,
"end": 915000000
},
{
"name": "LTE band 8 (Extended GSM) FDD downlink",
"name": "LTE band 28 (APT) FDD downlink",
"type": "LTE.FDD.downlink",
"start": 9250000000,
"end": 9600000000
},
{
"name": "LTE band 20 (Digital Dividend) FDD uplink",
"type": "LTE.FDD.uplink",
"start": 832000000,
"end": 862000000
"start": 7580000000,
"end": 8030000000
},
{
"name": "LTE band 20 (Digital Dividend) FDD downlink",
@ -66,16 +72,10 @@
"end": 8210000000
},
{
"name": "LTE band 28 (APT) FDD uplink",
"type": "LTE.FDD.uplink",
"start": 703000000,
"end": 748000000
},
{
"name": "LTE band 28 (APT) FDD downlink",
"name": "LTE band 8 (Extended GSM) FDD downlink",
"type": "LTE.FDD.downlink",
"start": 7580000000,
"end": 8030000000
"start": 9250000000,
"end": 9600000000
},
{
"name": "LTE band 32 (L-Band (EU)) SDL downlink",
@ -84,4 +84,4 @@
"end": 14960000000
}
]
}
}

View File

@ -137,7 +137,7 @@
"start": 1452000000,
"end": 1472000000
},
{
{
"name": "1472 Vodafone SDL downlink",
"type": "mobile.mno.vodafone",
"start": 1472000000,
@ -149,7 +149,7 @@
"start": 1710000000,
"end": 1740000000
},
{
{
"name": "1740 Telefonica FDD uplink",
"type": "mobile.mno.telefonica",
"start": 1740000000,
@ -167,7 +167,7 @@
"start": 1805000000,
"end": 1835000000
},
{
{
"name": "1835 Telefonica FDD downlink",
"type": "mobile.mno.telefonica",
"start": 1835000000,
@ -185,7 +185,7 @@
"start": 1880000000,
"end": 1900000000
},
{
{
"name": "1900.1 Telefonica",
"type": "mobile.mno.telefonica",
"start": 1900100000,
@ -197,7 +197,7 @@
"start": 1920000000,
"end": 1940000000
},
{
{
"name": "1940 Telefonica FDD uplink",
"type": "mobile.mno.telefonica",
"start": 1940000000,
@ -209,7 +209,7 @@
"start": 1960000000,
"end": 1980000000
},
{
{
"name": "2010.5 Telefonica",
"type": "mobile.mno.telefonica",
"start": 2010500000,
@ -221,7 +221,7 @@
"start": 2110000000,
"end": 2130000000
},
{
{
"name": "2130 Telefonica FDD downlink",
"type": "mobile.mno.telefonica",
"start": 2130000000,
@ -245,13 +245,13 @@
"start": 2520000000,
"end": 2540000000
},
{
{
"name": "2540 Telefonica FDD uplink",
"type": "mobile.mno.telefonica",
"start": 2540000000,
"end": 2570000000
},
{
{
"name": "2570 Telefonica TDD",
"type": "mobile.mno.telefonica",
"start": 2570000000,
@ -269,7 +269,7 @@
"start": 2605000000,
"end": 2610000000
},
{
{
"name": "2610 Telefonica TDD",
"type": "mobile.mno.telefonica",
"start": 2610000000,
@ -287,7 +287,7 @@
"start": 2640000000,
"end": 2660000000
},
{
{
"name": "2660 Telefonica FDD downlink",
"type": "mobile.mno.telefonica",
"start": 2660000000,
@ -318,4 +318,4 @@
"end": 3700000000
}
]
}
}

View File

@ -347,18 +347,18 @@
"start": 24940000,
"end": 24990000
},
{
"name": "SW 11m",
"type": "broadcast",
"start": 25650000,
"end": 26100000
},
{
"name": "CB",
"type": "amateur",
"start": 25165000,
"end": 30105000
},
{
"name": "SW 11m",
"type": "broadcast",
"start": 25650000,
"end": 26100000
},
{
"name": "10m CW",
"type": "amateur",

View File

@ -19,7 +19,7 @@ set_target_properties(rtl_sdr_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_directories(rtl_sdr_source PUBLIC "C:/Program Files/PothosSDR/bin/")
target_link_libraries(rtl_sdr_source PUBLIC rtlsdr)
else (MSVC)
@ -28,7 +28,6 @@ else (MSVC)
pkg_check_modules(LIBRTLSDR REQUIRED librtlsdr)
target_include_directories(rtl_sdr_source PUBLIC ${LIBRTLSDR_INCLUDE_DIRS})
target_link_directories(rtl_sdr_source PUBLIC ${LIBRTLSDR_LIBRARY_DIRS})
target_link_libraries(rtl_sdr_source PUBLIC ${LIBRTLSDR_LIBRARIES})
endif ()

View File

@ -19,7 +19,7 @@ set_target_properties(sdrplay_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/SDRplay/API/x64")
target_link_directories(sdrplay_source PUBLIC "C:/Program Files/SDRplay/API/x64")
target_include_directories(sdrplay_source PUBLIC "C:/Program Files/SDRplay/API/inc")
target_link_libraries(sdrplay_source PUBLIC sdrplay_api)

View File

@ -17,19 +17,18 @@ set_target_properties(soapy_source PROPERTIES PREFIX "")
if (MSVC)
# Lib path
target_link_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/lib/")
target_link_directories(soapy_source PUBLIC "C:/Program Files/PothosSDR/lib/")
# Misc headers
target_include_directories(sdrpp_core PUBLIC "C:/Program Files/PothosSDR/include/")
target_include_directories(soapy_source PUBLIC "C:/Program Files/PothosSDR/include/")
target_link_libraries(sdrpp_core PUBLIC SoapySDR)
target_link_libraries(soapy_source PUBLIC SoapySDR)
else (MSVC)
find_package(PkgConfig)
pkg_check_modules(SOAPY REQUIRED SoapySDR)
target_include_directories(soapy_source PUBLIC ${SOAPY_INCLUDE_DIRS})
target_link_directories(soapy_source PUBLIC ${SOAPY_LIBRARY_DIRS})
target_link_libraries(soapy_source PUBLIC ${SOAPY_LIBRARIES})
endif ()