mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-07-29 20:22:26 -04:00
Compare commits
No commits in common. "master" and "v7.6.2" have entirely different histories.
210
.appveyor.yml
210
.appveyor.yml
@ -20,121 +20,115 @@ environment:
|
||||
# -DBUILD_SERVER=OFF \
|
||||
# -DCMAKE_PREFIX_PATH=C:\\Qt\\5.15.2\\msvc2019_64;C:\\Libraries\\boost_1_73_0"
|
||||
# CMAKE_GENERATOR: Ninja
|
||||
# - TARGET: ubuntu2204prod
|
||||
# APPVEYOR_BUILD_WORKER_CLOUD: nasrock Docker
|
||||
# APPVEYOR_BUILD_WORKER_IMAGE: Linux
|
||||
# CC: "gcc-11"
|
||||
# CXX: "g++-11"
|
||||
# CMAKE_CUSTOM_OPTIONS: "-DCMAKE_BUILD_TYPE=Release \
|
||||
# -DARCH_OPT=nehalem \
|
||||
# -DDEBUG_OUTPUT=ON \
|
||||
# -DENABLE_EXTERNAL_LIBRARIES=AUTO \
|
||||
# -DBUILD_SERVER=OFF"
|
||||
- TARGET: ubuntu2204docker
|
||||
- TARGET: ubuntu2004prod
|
||||
APPVEYOR_BUILD_WORKER_CLOUD: nasrock Docker
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Linux
|
||||
CC: "gcc-9"
|
||||
CXX: "g++-9"
|
||||
CMAKE_CUSTOM_OPTIONS: "-DCMAKE_BUILD_TYPE=Release \
|
||||
-DARCH_OPT=nehalem \
|
||||
-DDEBUG_OUTPUT=ON \
|
||||
-DENABLE_EXTERNAL_LIBRARIES=ON \
|
||||
-DBUILD_SERVER=OFF"
|
||||
- TARGET: ubuntu2004docker
|
||||
APPVEYOR_BUILD_WORKER_CLOUD: nasrock
|
||||
APPVEYOR_BUILD_WORKER_IMAGE: Linux
|
||||
APPVEYOR_CONSOLE_DISABLE_PTY: true
|
||||
|
||||
for:
|
||||
# # - matrix:
|
||||
# # only:
|
||||
# # - TARGET: 'vs2019gui'
|
||||
# # cache:
|
||||
# # - C:\ProgramData\chocolatey\bin
|
||||
# # - C:\ProgramData\chocolatey\lib
|
||||
# # build_script:
|
||||
# # - call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
# # # Install GNU patch as applying patches with git fails in BladeRF tree
|
||||
# # - choco install patch
|
||||
# # - git submodule update --init --recursive
|
||||
# # - mkdir build && cd build
|
||||
# # - cmake .. -G "%CMAKE_GENERATOR%" %CMAKE_CUSTOM_OPTIONS%
|
||||
# # - cmake --build . --config Release --target package
|
||||
# # artifacts: # push installer executable
|
||||
# # path: build\*.exe
|
||||
# # name: installer
|
||||
# # deploy:
|
||||
# # release: sdrangel-v$(appveyor_build_version)
|
||||
# # description: 'SDRangel Windows'
|
||||
# # provider: GitHub
|
||||
# # auth_token:
|
||||
# # secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
||||
# # artifact: installer, portable
|
||||
# # draft: false
|
||||
# # prerelease: false
|
||||
# # tag: $(APPVEYOR_REPO_TAG_NAME) # will not work until tag is pushed
|
||||
# # on:
|
||||
# # APPVEYOR_REPO_TAG: true # deploy on tag push only
|
||||
# # branch: master # release from master branch only
|
||||
# - matrix:
|
||||
# only:
|
||||
# - TARGET: ubuntu2204prod
|
||||
# clone_folder: /home/appveyor/projects
|
||||
# cache:
|
||||
# - $HOME/external/
|
||||
# install:
|
||||
# - sh: sudo apt-get update
|
||||
# - sh: echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
|
||||
# # not sdrplay with soapysdr; libairspyhf-dev is too old (no lna)
|
||||
# - sh: |
|
||||
# sudo apt-get -y install build-essential cmake git xxd \
|
||||
# devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \
|
||||
# qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \
|
||||
# libqt5quick5 qtwebengine5-dev qtbase5-private-dev \
|
||||
# qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \
|
||||
# qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \
|
||||
# libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \
|
||||
# libqt5charts5-dev libqt5texttospeech5-dev libqt5gamepad5-dev libqt5svg5-dev libfaad-dev libflac-dev zlib1g-dev \
|
||||
# libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
|
||||
# libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \
|
||||
# libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
|
||||
# libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \
|
||||
# python3-mako python3-cheetah python3-numpy \
|
||||
# autoconf automake libtool ninja-build libclang1-11
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_cm256cc.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_mbelib.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_serialdv.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_dsdcc.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_perseus-sdr.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_xtrx-sdr.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_airspyhf.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_rtlsdr.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_limesuite.sh; fi
|
||||
# - sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES" ]]; then bash cmake/ci/build_ggmorse.sh; fi
|
||||
# - sh: bash cmake/ci/build_sdrplay.sh
|
||||
# before_build:
|
||||
# - sh: bash -c export
|
||||
# - sh: bash -c pwd
|
||||
# build_script:
|
||||
# - sh: ./cmake/ci/build_sdrangel.sh
|
||||
# test_script:
|
||||
# # debian build path
|
||||
# - sh: ./obj-x86_64-linux-gnu/sdrangelbench
|
||||
# after_build:
|
||||
# - sh: mkdir sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||
# - sh: cp ../*.deb ../*.build ../*.buildinfo ../*.changes sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||
# - sh: tar -czf sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||
# artifacts:
|
||||
# - path: sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz
|
||||
# name: package2204
|
||||
# # deploy:
|
||||
# # release: sdrangel-v$(appveyor_build_version)
|
||||
# # description: 'SDRangel Ubuntu 22.04'
|
||||
# # provider: GitHub
|
||||
# # auth_token:
|
||||
# # secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
||||
# # artifact: archive
|
||||
# # draft: false
|
||||
# # prerelease: false
|
||||
# # on:
|
||||
# # APPVEYOR_REPO_TAG: true # deploy on tag push only
|
||||
# # branch: master # release from master branch only
|
||||
# deploy:
|
||||
# provider: Environment
|
||||
# name: f4exb
|
||||
# - matrix:
|
||||
# only:
|
||||
# - TARGET: 'vs2019gui'
|
||||
# cache:
|
||||
# - C:\ProgramData\chocolatey\bin
|
||||
# - C:\ProgramData\chocolatey\lib
|
||||
# build_script:
|
||||
# - call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||
# # Install GNU patch as applying patches with git fails in BladeRF tree
|
||||
# - choco install patch
|
||||
# - git submodule update --init --recursive
|
||||
# - mkdir build && cd build
|
||||
# - cmake .. -G "%CMAKE_GENERATOR%" %CMAKE_CUSTOM_OPTIONS%
|
||||
# - cmake --build . --config Release --target package
|
||||
# artifacts: # push installer executable
|
||||
# path: build\*.exe
|
||||
# name: installer
|
||||
# deploy:
|
||||
# release: sdrangel-v$(appveyor_build_version)
|
||||
# description: 'SDRangel Windows'
|
||||
# provider: GitHub
|
||||
# auth_token:
|
||||
# secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
||||
# artifact: installer, portable
|
||||
# draft: false
|
||||
# prerelease: false
|
||||
# tag: $(APPVEYOR_REPO_TAG_NAME) # will not work until tag is pushed
|
||||
# on:
|
||||
# APPVEYOR_REPO_TAG: true # deploy on tag push only
|
||||
# branch: master # release from master branch only
|
||||
- matrix:
|
||||
only:
|
||||
- TARGET: ubuntu2204docker
|
||||
- TARGET: ubuntu2004prod
|
||||
clone_folder: /home/appveyor/projects
|
||||
cache:
|
||||
- $HOME/external/
|
||||
install:
|
||||
- sh: sudo apt-get update
|
||||
- sh: echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections
|
||||
# not sdrplay with soapysdr; libairspyhf-dev is too old (no lna)
|
||||
- sh: |
|
||||
sudo apt-get -y install build-essential cmake git xxd \
|
||||
devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \
|
||||
qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \
|
||||
libqt5quick5 qtwebengine5-dev qtbase5-private-dev \
|
||||
qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \
|
||||
qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \
|
||||
libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \
|
||||
libqt5charts5-dev libqt5texttospeech5-dev libfaad-dev zlib1g-dev \
|
||||
libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
|
||||
libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \
|
||||
libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
|
||||
libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev \
|
||||
python3-mako python3-cheetah python3-numpy \
|
||||
autoconf automake libtool ninja-build libclang1-9
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_cm256cc.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_mbelib.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_serialdv.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_dsdcc.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_perseus-sdr.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_xtrx-sdr.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_airspyhf.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_rtlsdr.sh; fi
|
||||
- sh: if [[ ! "${CMAKE_CUSTOM_OPTIONS}" =~ "ENABLE_EXTERNAL_LIBRARIES=ON" ]]; then bash cmake/ci/build_limesuite.sh; fi
|
||||
- sh: bash cmake/ci/build_sdrplay.sh
|
||||
before_build:
|
||||
- sh: bash -c export
|
||||
- sh: bash -c pwd
|
||||
build_script:
|
||||
- sh: ./cmake/ci/build_sdrangel.sh
|
||||
test_script:
|
||||
# debian build path
|
||||
- sh: ./obj-x86_64-linux-gnu/sdrangelbench
|
||||
after_build:
|
||||
- sh: mkdir sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||
- sh: cp ../*.deb ../*.build ../*.buildinfo ../*.changes sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||
- sh: tar -czf sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz sdrangel-${APPVEYOR_BUILD_VERSION}
|
||||
- sh: appveyor PushArtifact sdrangel-${APPVEYOR_BUILD_VERSION}.tar.gz -DeploymentName archive
|
||||
deploy:
|
||||
release: sdrangel-v$(appveyor_build_version)
|
||||
description: 'SDRangel Ubuntu 20.04'
|
||||
provider: GitHub
|
||||
auth_token:
|
||||
secure: kyU5TaXRoily6q/QLRLqal2xCFGWEdnb8AJIu7FknsUQyj1wjRGmqC2My+Wfszod
|
||||
artifact: archive
|
||||
draft: false
|
||||
prerelease: false
|
||||
on:
|
||||
APPVEYOR_REPO_TAG: true # deploy on tag push only
|
||||
branch: master # release from master branch only
|
||||
- matrix:
|
||||
only:
|
||||
- TARGET: ubuntu2004docker
|
||||
before_build:
|
||||
- git clone https://github.com/f4exb/sdrangel-docker.git
|
||||
- cd sdrangel-docker
|
||||
|
62
.github/workflows/linux.yml
vendored
62
.github/workflows/linux.yml
vendored
@ -1,62 +0,0 @@
|
||||
name: SDRangel Linux release build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- linux_github_release
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build_deb:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [ubuntu-22.04, ubuntu-24.04]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install build-essential cmake git xxd \
|
||||
devscripts fakeroot debhelper libfftw3-dev qtbase5-dev libopengl-dev libqt5opengl5-dev \
|
||||
qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5multimedia5-plugins libqt5websockets5-dev \
|
||||
libqt5quick5 qtwebengine5-dev qtbase5-private-dev \
|
||||
qml-module-qtlocation qml-module-qtpositioning qml-module-qtquick-window2 qml-module-qtquick-dialogs \
|
||||
qml-module-qtquick-controls qml-module-qtquick-controls2 qml-module-qtquick-layouts qml-module-qtgraphicaleffects \
|
||||
libqt5serialport5-dev qtdeclarative5-dev qtpositioning5-dev qtlocation5-dev \
|
||||
libqt5charts5-dev libqt5texttospeech5-dev libqt5gamepad5-dev libqt5svg5-dev libfaad-dev libflac-dev zlib1g-dev \
|
||||
libusb-1.0-0-dev libhidapi-dev libboost-all-dev libasound2-dev libopencv-dev libopencv-imgcodecs-dev \
|
||||
libxml2-dev bison flex ffmpeg libpostproc-dev libavcodec-dev libavformat-dev \
|
||||
libopus-dev libcodec2-dev libairspy-dev libhackrf-dev \
|
||||
libbladerf-dev libsoapysdr-dev libiio-dev libuhd-dev libhamlib-dev \
|
||||
python3-mako python3-cheetah python3-numpy \
|
||||
autoconf automake libtool ninja-build
|
||||
bash cmake/ci/build_sdrplay.sh
|
||||
- name: Build SDRangel
|
||||
run: |
|
||||
debuild -i -us -uc -b
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: |
|
||||
if [[ "${{github.ref_name}}" == "linux_github_release" ]]; then
|
||||
echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: Rename
|
||||
run: mv ../sdrangel_*_amd64.deb sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
||||
path: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
||||
- name: Upload release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: sdrangel_${{ steps.get_version.outputs.version }}_${{ matrix.os }}_amd64.deb
|
161
.github/workflows/mac.yml
vendored
161
.github/workflows/mac.yml
vendored
@ -1,161 +0,0 @@
|
||||
name: SDRangel Mac release build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- mac_ci
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build_mac_x64:
|
||||
runs-on: macos-13
|
||||
env:
|
||||
MACOSX_DEPLOYMENT_TARGET: 12.0
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: Update brew
|
||||
run: brew update
|
||||
- name: Install brew packages
|
||||
run: brew install nasm subversion
|
||||
- name: Install SDRplay API
|
||||
run: |
|
||||
wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg
|
||||
sudo installer -pkg SDRplayAPI-macos-installer-universal-3.15.0.pkg -target /
|
||||
- name: Install python
|
||||
run: |
|
||||
wget https://www.python.org/ftp/python/3.12.7/python-3.12.7-macos11.pkg
|
||||
sudo installer -pkg python-3.12.7-macos11.pkg -target /
|
||||
- name: Install python packages for UHD
|
||||
run: |
|
||||
/usr/local/bin/python3.12 -m pip install numpy mako requests Cheetah3 setuptools
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: '6.9.1'
|
||||
host: 'mac'
|
||||
arch: 'clang_64'
|
||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
||||
- name: Configure SDRangel
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DARCH_OPT=nehalem -DDEBUG_OUTPUT=ON -DENABLE_USRP=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=ON -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DPYTHON_EXECUTABLE=/usr/local/bin/python3.12
|
||||
- name: Build SDRangel on Mac
|
||||
run: |
|
||||
cd build
|
||||
make -j4
|
||||
- name: Create dmg
|
||||
run: |
|
||||
cd build
|
||||
RETRIES=5
|
||||
COUNT=1
|
||||
set +e
|
||||
while [ $COUNT -lt $RETRIES ]; do
|
||||
make package
|
||||
if [ $? -eq 0 ]; then
|
||||
RETRIES=0
|
||||
break
|
||||
fi
|
||||
let COUNT=$COUNT+1
|
||||
done
|
||||
shell: bash
|
||||
continue-on-error: true
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: |
|
||||
if [[ "${{github.ref_name}}" == "mac_ci" ]]; then
|
||||
echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: Get filename
|
||||
id: get_filename
|
||||
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdrangel-${{ steps.get_version.outputs.version }}-macx64.dmg
|
||||
path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
||||
- name: Upload release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
||||
|
||||
build_mac_arm64:
|
||||
runs-on: macos-14
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: Update brew
|
||||
run: brew update
|
||||
- name: Install brew packages
|
||||
run: brew install nasm subversion
|
||||
- name: Install SDRplay API
|
||||
run: |
|
||||
wget https://www.sdrplay.com/software/SDRplayAPI-macos-installer-universal-3.15.0.pkg
|
||||
sudo installer -pkg SDRplayAPI-macos-installer-universal-3.15.0.pkg -target /
|
||||
- name: Install python
|
||||
run: |
|
||||
wget https://www.python.org/ftp/python/3.12.7/python-3.12.7-macos11.pkg
|
||||
sudo installer -pkg python-3.12.7-macos11.pkg -target /
|
||||
- name: Install python packages for UHD
|
||||
run: |
|
||||
/usr/local/bin/python3.12 -m pip install numpy mako requests Cheetah3 setuptools
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: '6.9.1'
|
||||
host: 'mac'
|
||||
arch: 'clang_64'
|
||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
||||
- name: Configure SDRangel
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DDEBUG_OUTPUT=ON -DENABLE_USRP=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=ON -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DPYTHON_EXECUTABLE=/usr/local/bin/python3.12
|
||||
- name: Build SDRangel on Mac
|
||||
run: |
|
||||
cd build
|
||||
make -j3
|
||||
- name: Create dmg
|
||||
run: |
|
||||
cd build
|
||||
RETRIES=5
|
||||
COUNT=1
|
||||
set +e
|
||||
while [ $COUNT -lt $RETRIES ]; do
|
||||
make package
|
||||
if [ $? -eq 0 ]; then
|
||||
RETRIES=0
|
||||
break
|
||||
fi
|
||||
let COUNT=$COUNT+1
|
||||
done
|
||||
shell: bash
|
||||
continue-on-error: true
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: |
|
||||
if [[ "${{github.ref_name}}" == "mac_ci" ]]; then
|
||||
echo "version=$(echo ${{github.sha}} | cut -c1-7)" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
- name: Get filename
|
||||
id: get_filename
|
||||
run: echo "filename=$(grep CPACK_PACKAGE_FILE_NAME build/CMakeCache.txt | cut -d "=" -f2)" >> $GITHUB_OUTPUT
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdrangel-${{ steps.get_version.outputs.version }}-macarm64.dmg
|
||||
path: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
||||
- name: Upload release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: ${{ github.workspace }}/build/${{ steps.get_filename.outputs.filename }}.dmg
|
65
.github/workflows/sdrangel.yml
vendored
65
.github/workflows/sdrangel.yml
vendored
@ -6,7 +6,6 @@ on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
- mac_ci
|
||||
tags:
|
||||
- 'v*'
|
||||
pull_request:
|
||||
@ -24,14 +23,14 @@ jobs:
|
||||
WIN_ARCH: "x64",
|
||||
os: windows-latest,
|
||||
QT_INST_DIR: "C:/",
|
||||
QTDIR: "C:/Qt/6.7.3/msvc2019_64",
|
||||
QTDIR: "C:/Qt/5.15.2/msvc2019_64",
|
||||
QT_ARCH: win64_msvc2019_64,
|
||||
boost_dl: "${{ github.workspace }}\\downloads\\boost",
|
||||
lib_dir: "C:\\Libraries",
|
||||
generators: Ninja
|
||||
}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/checkout@v2
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
@ -41,9 +40,9 @@ jobs:
|
||||
echo github.event_name: ${{ github.event_name }}
|
||||
echo github.ref: ${{ github.ref }}
|
||||
echo github.workspace: ${{ github.workspace }}
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: echo "::set-output name=version::$(git describe --tags | cut -c2-)"
|
||||
- name: Install basic dependencies on Windows
|
||||
if: startsWith(matrix.config.os, 'windows')
|
||||
run: |
|
||||
@ -59,7 +58,7 @@ jobs:
|
||||
env:
|
||||
BOOST_ROOT: ${{ matrix.config.boost_dl }}
|
||||
BOOST_DEST: ${{ matrix.config.lib_dir }}
|
||||
BOOST_URL: https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2
|
||||
BOOST_URL: https://boostorg.jfrog.io/artifactory/main/release/1.73.0/source/boost_1_73_0.tar.bz2
|
||||
run: |
|
||||
mkdir -p $BOOST_ROOT
|
||||
mkdir -p $BOOST_DEST
|
||||
@ -72,60 +71,28 @@ jobs:
|
||||
rm -rf boost_*/* download.tar.bz2 download.tar
|
||||
shell: bash
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
uses: jurplel/install-qt-action@v2.14.0
|
||||
with:
|
||||
version: '6.7.3'
|
||||
dir: ${{matrix.config.QT_INST_DIR}}
|
||||
arch: ${{matrix.config.QT_ARCH}}
|
||||
setup-python: false
|
||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
||||
modules: 'qtcharts qtwebengine'
|
||||
- name: build sdrangel on Windows
|
||||
if: startsWith(matrix.config.os, 'windows')
|
||||
run: |
|
||||
cmd "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
cmd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
choco install patch
|
||||
mkdir build && cd build
|
||||
cmake .. -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE=Release -DENABLE_QT6=ON -DARCH_OPT=SSE4_2 -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DCMAKE_PREFIX_PATH="C:\Qt\6.7.3\msvc2019_64;C:\Libraries\boost_1_73_0"
|
||||
cmake .. -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE=Release -DARCH_OPT=SSE4_2 -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DCMAKE_PREFIX_PATH="C:\Qt\5.15.2\msvc2019_64;C:\Libraries\boost_1_73_0"
|
||||
cmake --build . --config Release --target package
|
||||
- name: Check disk space
|
||||
run: Get-PSDrive
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: echo "version=$(grep sdrangel_VERSION build/CMakeCache.txt | cut -d "=" -f2)" >> $env:GITHUB_OUTPUT
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||
path: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||
|
||||
build_mac:
|
||||
runs-on: macos-14
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Upload release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v1
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: Update brew
|
||||
run: brew update
|
||||
- name: Install brew uhd package
|
||||
run: |
|
||||
rm -f /usr/local/bin/2to3*
|
||||
rm -f /usr/local/bin/idle3*
|
||||
rm -f /usr/local/bin/pydoc3*
|
||||
rm -f /usr/local/bin/python3*
|
||||
rm -f /usr/local/bin/python3-config
|
||||
brew install uhd
|
||||
- name: Install brew opencv package
|
||||
run: |
|
||||
rm -f /usr/local/bin/2to3
|
||||
brew install opencv
|
||||
- name: Install brew packages
|
||||
run: brew install nasm boost hidapi libusb fftw ffmpeg@5 faad2 zlib airspy airspyhf hackrf rtl-sdr libbladerf soapysdr qt subversion
|
||||
- name: Configure SDRangel
|
||||
run: |
|
||||
mkdir build && cd build
|
||||
cmake .. -DCMAKE_VERBOSE_MAKEFILE=ON -DENABLE_QT6=ON -DCMAKE_BUILD_TYPE=Release -DDEBUG_OUTPUT=ON -DENABLE_CHANNELRX_DEMODDATV=OFF -DENABLE_CHANNELTX_MODDATV=OFF -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DENABLE_EXTERNAL_LIBRARIES=AUTO -DBUNDLE=ON -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=TRUE -DCMAKE_PREFIX_PATH="/usr/local/opt/ffmpeg@5/"
|
||||
- name: Build SDRangel on Mac
|
||||
run: |
|
||||
cd build
|
||||
make -j3
|
||||
files: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||
|
||||
|
44
.github/workflows/snap.yml
vendored
44
.github/workflows/snap.yml
vendored
@ -1,44 +0,0 @@
|
||||
# See: https://github.com/snapcore/action-build
|
||||
name: SDRangel snap release build
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- snap
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build_snap:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: |
|
||||
if [[ "${{github.ref_name}}" == "snap" ]]; then
|
||||
echo "version=${{github.sha}}" >> $GITHUB_OUTPUT
|
||||
else
|
||||
echo "version=$(echo ${{github.ref_name}} | cut -c2-)" >> $GITHUB_OUTPUT
|
||||
fi
|
||||
- uses: snapcore/action-build@v1
|
||||
id: build
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdrangel-${{ steps.get_version.outputs.version }}-amd64.snap
|
||||
path: ${{ steps.build.outputs.snap }}
|
||||
- name: Upload release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: ${{ steps.build.outputs.snap }}
|
||||
- uses: snapcore/action-publish@v1
|
||||
env:
|
||||
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAP_STORE_LOGIN }}
|
||||
with:
|
||||
snap: ${{ steps.build.outputs.snap }}
|
||||
release: stable
|
4
.github/workflows/stale.yml
vendored
4
.github/workflows/stale.yml
vendored
@ -18,9 +18,9 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
- uses: actions/stale@v4
|
||||
with:
|
||||
days-before-stale: 40
|
||||
days-before-stale: 60
|
||||
days-before-close: 5
|
||||
stale-issue-message: 'This issue is going to be closed due to inactivity'
|
||||
stale-pr-message: 'This PR is going to be closed due to inactivity'
|
||||
|
119
.github/workflows/windows.yml
vendored
119
.github/workflows/windows.yml
vendored
@ -1,119 +0,0 @@
|
||||
name: SDRangel Windows release build and signing
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
tags:
|
||||
- 'v*'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: ${{ matrix.config.name }}
|
||||
runs-on: ${{ matrix.config.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
config:
|
||||
- {
|
||||
name: "Windows-x64",
|
||||
WIN_ARCH: "x64",
|
||||
os: windows-latest,
|
||||
QT_INST_DIR: "C:/",
|
||||
QTDIR: "C:/Qt/6.7.3/msvc2019_64",
|
||||
QT_ARCH: win64_msvc2019_64,
|
||||
boost_dl: "${{ github.workspace }}\\downloads\\boost",
|
||||
lib_dir: "C:\\Libraries",
|
||||
generators: Ninja
|
||||
}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: true
|
||||
fetch-depth: 0
|
||||
- name: Print env
|
||||
run: |
|
||||
echo github.event.action: ${{ github.event.action }}
|
||||
echo github.event_name: ${{ github.event_name }}
|
||||
echo github.ref: ${{ github.ref }}
|
||||
echo github.workspace: ${{ github.workspace }}
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.12'
|
||||
- name: Install basic dependencies on Windows
|
||||
if: startsWith(matrix.config.os, 'windows')
|
||||
run: |
|
||||
choco install ninja cmake
|
||||
ninja --version
|
||||
cmake --version
|
||||
- name: Install MSVC on Windows
|
||||
if: startsWith(matrix.config.os, 'windows')
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: x64
|
||||
- name: Install Boost
|
||||
env:
|
||||
BOOST_ROOT: ${{ matrix.config.boost_dl }}
|
||||
BOOST_DEST: ${{ matrix.config.lib_dir }}
|
||||
BOOST_URL: https://archives.boost.io/release/1.73.0/source/boost_1_73_0.tar.bz2
|
||||
run: |
|
||||
mkdir -p $BOOST_ROOT
|
||||
mkdir -p $BOOST_DEST
|
||||
curl --progress-bar --location --output $BOOST_ROOT/download.tar.bz2 $BOOST_URL
|
||||
7z -o$BOOST_ROOT x $BOOST_ROOT/download.tar.bz2 -y -bd
|
||||
7z -o$BOOST_ROOT x $BOOST_ROOT/download.tar -y -bd
|
||||
cd $BOOST_ROOT && cp -r boost_* $BOOST_DEST
|
||||
ls -l $BOOST_DEST
|
||||
ls -l "C:\\"
|
||||
rm -rf boost_*/* download.tar.bz2 download.tar
|
||||
shell: bash
|
||||
- name: Install Qt
|
||||
uses: jurplel/install-qt-action@v4
|
||||
with:
|
||||
version: '6.7.3'
|
||||
dir: ${{matrix.config.QT_INST_DIR}}
|
||||
arch: ${{matrix.config.QT_ARCH}}
|
||||
setup-python: 'false'
|
||||
modules: 'qtcharts qtscxml qt5compat qtlocation qtmultimedia qtpositioning qtserialport qtspeech qtwebsockets qtwebengine qtshadertools qtwebchannel'
|
||||
- name: build sdrangel on Windows
|
||||
if: startsWith(matrix.config.os, 'windows')
|
||||
run: |
|
||||
cmd "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
|
||||
choco install patch
|
||||
mkdir build && cd build
|
||||
cmake .. -G "${{ matrix.config.generators }}" -DCMAKE_BUILD_TYPE=Release -DENABLE_QT6=ON -DARCH_OPT=SSE4_2 -DDEBUG_OUTPUT=ON -DENABLE_MIRISDR=OFF -DBUILD_SERVER=OFF -DCMAKE_PREFIX_PATH="C:\Qt\6.7.3\msvc2019_64;C:\Libraries\boost_1_73_0"
|
||||
cmake --build . --config Release --target package
|
||||
- name: Check disk space
|
||||
run: Get-PSDrive
|
||||
- name: Get version
|
||||
id: get_version
|
||||
run: echo "version=$(grep sdrangel_VERSION build/CMakeCache.txt | cut -d "=" -f2)" >> $env:GITHUB_OUTPUT
|
||||
- name: Upload unsigned artifact
|
||||
id: upload-unsigned-artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||
path: ${{ github.workspace }}/build/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||
- name: Sign Code
|
||||
id: sign_code
|
||||
uses: signpath/github-action-submit-signing-request@v1
|
||||
with:
|
||||
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}'
|
||||
organization-id: '553b8f53-adf0-4fe5-be3d-283504a21a51'
|
||||
project-slug: 'sdrangel'
|
||||
signing-policy-slug: 'release-signing'
|
||||
github-artifact-id: '${{ steps.upload-unsigned-artifact.outputs.artifact-id }}'
|
||||
wait-for-completion: true
|
||||
output-artifact-directory: 'build\signed'
|
||||
wait-for-completion-timeout-in-seconds: 3600
|
||||
- name: Upload signed artifact
|
||||
id: upload-signed-artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: sdrangel-${{ steps.get_version.outputs.version }}-win64-signed.exe
|
||||
path: ${{ github.workspace }}/build/signed/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
||||
- name: Upload release
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
files: ${{ github.workspace }}/build/signed/sdrangel-${{ steps.get_version.outputs.version }}-win64.exe
|
10
.gitignore
vendored
10
.gitignore
vendored
@ -14,9 +14,7 @@ LOCAL/*
|
||||
.vscode/
|
||||
.settings/
|
||||
*.cs
|
||||
*.orig
|
||||
*.pro.user
|
||||
*.rej
|
||||
.idea/*
|
||||
rescuesdriq/rescuesdriq
|
||||
debian/sdrangel/*
|
||||
@ -28,7 +26,6 @@ obj-x86_64-linux-gnu/*
|
||||
**/venv*/
|
||||
*.pyc
|
||||
.DS_Store
|
||||
.sonarlint
|
||||
|
||||
### Go ###
|
||||
# Binaries for programs and plugins
|
||||
@ -46,10 +43,3 @@ obj-x86_64-linux-gnu/*
|
||||
|
||||
/rescuesdriq/vendor/
|
||||
/rescuesdriq/Godeps/
|
||||
/.vs
|
||||
|
||||
# WDSP
|
||||
wdsp/*.o
|
||||
wdsp/*.h
|
||||
wdsp/*.c
|
||||
wdsp/Makefile
|
||||
|
861
CHANGELOG
861
CHANGELOG
@ -1,864 +1,3 @@
|
||||
sdrangel (7.22.8-1) unstable; urgency=medium
|
||||
|
||||
* See Github release
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 02 Jul 2025 17:00:39 +0200
|
||||
|
||||
sdrangel (7.22.7-1) unstable; urgency=medium
|
||||
|
||||
* See Github release
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 04 May 2025 17:58:14 +0200
|
||||
|
||||
sdrangel (7.22.6-1) unstable; urgency=medium
|
||||
|
||||
* See Github release
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 02 Feb 2025 18:08:11 +0100
|
||||
|
||||
sdrangel (7.22.5-1) unstable; urgency=medium
|
||||
|
||||
* Windows: upload signed releases rather than unsigned releases to Github releases page. PR #2347
|
||||
* Windows: fixed signed releases. PR #2344
|
||||
* FT8 Demod: limit upper bandwidth to 5.8 kHz. Fixes #2339
|
||||
* Stop device while changing channel set. Fixes #2332. PR #2342
|
||||
* ADSB: Update URL of OpenSkyNetwork Aircraft database. PR #2341
|
||||
* Don't stop source if being deleted. For #2315. PR #2340
|
||||
* Send DSPSignalNotification in audio mods for #2336. PR #2340
|
||||
* Radiosonde: limit precision of floating point numbers sent to SondeHub. PR #2338
|
||||
* Windows signed releases: use relative path. Increase timeout to 30 minutes. PR #2335
|
||||
* ADSB: Include adsbdemodsettings.h PR #2334
|
||||
* Use release signing certificate for Windows installer. PR #2331
|
||||
* Fix memory leak and race condition relating to DSP*Engines. Part of #2159 PR #2330
|
||||
* FreeDV: Fix memory allocation/free issues. Part of #2315. PR #2330
|
||||
* Wav Files: Add support for meta-data. PR #2328
|
||||
* DemodAnalyzer: Ensure sample rate is set in worker. Fixes #2309. PR #2328
|
||||
^ SDRplayv3: Mac: link with libsdrplay_api.so.3 rather than libsdrplay_api.so.3.15. PR #2327
|
||||
* ADS-B: Fix memory use after delete. For #1734 and part of #2315 PR #2326
|
||||
* Fixed Appveyor Docker image build
|
||||
* Fix output-artifact-directory and unzip file. PR #2323
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 05 Dec 2024 01:07:27 +0100
|
||||
|
||||
sdrangel (7.22.4-1) unstable; urgency=medium
|
||||
|
||||
* Use macos-12 for Mac x86 build. PR #2321
|
||||
* Workaround for "hdiutil: create failed - Resource busy"
|
||||
* Pager: Add alpha and numeric columns. Implements #2319. PR #2320
|
||||
* Added qtwebchannel dependecy to fix missing 3d Map and Sky Map from Windows release. PR #2316
|
||||
* Removed .deb package build from Appveyor
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mom, 11 Nov 2024 08:42:03 +0100
|
||||
|
||||
sdrangel (7.22.3-1) unstable; urgency=medium
|
||||
|
||||
* Add deb dependencies for pipewire. PR #2314
|
||||
* Added compilation options for WebAssembly. PR #2313
|
||||
* ADS-B: Use settings keys. PR #2310
|
||||
* AIS Demod: Remove spacing around messages. PR #2310
|
||||
* Freuqency Scanner: Add multiplex mode. PR #2310
|
||||
* Build snap, MAC, Windows and Ubuntu .deb with Github actions. Various PRs
|
||||
* Server: Use Sink/MIMO signals rather than Source. Part of #2294. PR #2304
|
||||
* Updated some Python scripts to Python3. PR #2298
|
||||
* RemoteTCPSink: Does use IQ only setting for RTL0. PR #2301
|
||||
* Server: wait for set sample source/sink/MIMO to complete before loading the device settings. Fixes #2294
|
||||
* Fix spectrum peak measurement for SSB spectra. Fixes #2282. PR #2299
|
||||
* Upgrade C++ standard to c++17
|
||||
* Fixes for Android . PR #2288
|
||||
* Add qtshadertools. PR #2287
|
||||
* Add more Qt modules and set ENABLE_QT6=ON. PR #2287
|
||||
* Update Qt optional packages for 6.8 , PR #2287
|
||||
* Use Qt 6.8 for Windows build. PR #2287
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 09 Nov 2024 17:30:44 +0100
|
||||
|
||||
sdrangel (7.22.2-1) unstable; urgency=medium
|
||||
|
||||
* ChirpChat: increased preamble symbols limit from 20 to 32. Fixes #2284
|
||||
* RTLSDR: Apply driver settings in RTLSDRThread Add sync read for WebAssembly. PR #2281
|
||||
* SSB demod: fixed GUI and returned to previous threading model. Fixes #2273
|
||||
* HeatMap: Catch memory allocation failures... For #2083 PR #2277
|
||||
* Add default-qt6-windows cmake config. PR #2276
|
||||
* Add pager notifications. Add option to ignore duplicates. Support plotting pager messages on the map. PR #2276
|
||||
* Don't load defaults if loading a preset. PR #2274
|
||||
* DeviceGUI::closeEvent - Don't automatically delete the GUI,.. PR #2274
|
||||
* MainWindow: Add FSMs to avoid blocking on the GUI thread... PR #2274
|
||||
* Fix replay buffer when FixReal is qint16. PR #2270
|
||||
* snap: Try to get version number from latest tag. PR #2270
|
||||
* Add libflac to snap. Set ARCH_OPT to nehalem. PR #2270
|
||||
* Fix flac on Mac. PR #2270
|
||||
* RemoteTCP: Update docs. PR #2270
|
||||
* Map: Fix Kiwi list. Add SDRangel wss support. PR #2270
|
||||
* RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. PR #2270
|
||||
* RemoteTCPInput: Add wss protocol support. PR #2270
|
||||
* Fix DeviceAPI::deserialize. Fixes #2266. PR #2267
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 20 Oct 2024 08:26:38 +0200
|
||||
|
||||
sdrangel (7.22.1-1) unstable; urgency=medium
|
||||
|
||||
* wdsprx: Fix path to help file.
|
||||
* Removed SyncMessenger from DSPDeviceSourceEngine. Part of #2159
|
||||
* Fixed threading model for DSPDeviceSourceEngine. Part of #2159
|
||||
* Removed SyncMessenger from DSPDeviceMIMOEngine. Part of #2159
|
||||
* RTLSDR: make sure start and stop are effective once only. PArt of #2159
|
||||
* Fixed threading model for DSPDeviceMIMOEngine plus other fixes. Part of #2159
|
||||
* Removed SyncMessenger from DSPDeviceSinkEngine. Part of #2159
|
||||
* SSBMod, AMMod, NFMMod: revised thread processing
|
||||
* Fixed threading model for DSPDeviceSinkEngine plus other fixes. Part of #2159
|
||||
* DeviceSet and DeviceUISet: use delete channel API instead of destroy method...
|
||||
* BladeRF2Output: removed applySettings from stop method
|
||||
* All device plugins: make sure start and stop are effective once only. PArt of #2159
|
||||
* Removed the destroy method from ChannelGUI interface
|
||||
* DeviceGUI: removed destroy method. Part of #2159
|
||||
* Fix SopaySDR library search when system cmake package present. PR #2245
|
||||
* Append prefix to plugin name when running on Android. PR #2245
|
||||
* Fix compilation with newer ffmpeg libavutil. PR #2245
|
||||
* Fix compilation for Android with Qt6. PR #2245
|
||||
* Bump Cmake minimal version to 3.17
|
||||
* Use new find_package(CUDA Toolkit). PR #2250
|
||||
* Update CMakeLists.txt to allow static libraries to be built, as well as shared... PR #2252
|
||||
* Allow plugins to be compiled as static libs, part 2. PR #2254
|
||||
* Use opencv4 with VS2022. PR #2257
|
||||
* Frequency Scanner: initialize pointer to FrequencyScanner. Fixes #2262
|
||||
* Update channel list upon Morse Decoder and Demod Analyzer GUI creation. Fixes #2263
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 06 Oct 2024 08:39:11 +0200
|
||||
|
||||
sdrangel (7.22.0-1) unstable; urgency=medium
|
||||
|
||||
* New Rx channel based on WDSP. Issue #2156
|
||||
* Added cubehelix based color maps. Issue #2191
|
||||
* Fix API host address in About dialog and debug message. PR #2218
|
||||
* Some cleanup. PR #2212
|
||||
* Added shift to channel marker to take RIT into account. Part of #2156
|
||||
* Added S-meter units to scale engine. Part of #2156
|
||||
* Some typos fixes. PR #2206
|
||||
* Map enhancements and fixes. PR #2187
|
||||
* APT Demod: Check filename suffix is specified. PR #2190
|
||||
* Don't change filenames on Android, PR #2190
|
||||
* Frequency Scanner: Fix rounding error. PR #2186
|
||||
* Update sdrangel-windows-libraries link to include latest VC redistributable. PR #2185
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 13 Aug 2024 17:01:01 +0200
|
||||
|
||||
sdrangel (7.21.4-1) unstable; urgency=medium
|
||||
|
||||
* Code fixes. PR #2184
|
||||
* Do not save the settings twice. PR #2182
|
||||
* FreqScanner: Add HF ATC channels preset. PR #2181
|
||||
* FreqScanner: Add API action to run scan. Add scan results to channel report. PR #2181
|
||||
* FreqScanner: Add scanState to FreqScanner Report. PR #2181
|
||||
* Configurations dialog: Fix slot names. PR #2180
|
||||
* AIS: Validate message length. Fixes #2125. PR #2180
|
||||
* ILS Demod. Save frequency when switching between LOC and G/S. PR #2180
|
||||
* ILS Demod. Set frequency for ident when in G/S mode. Fixes #2177. PR #2180
|
||||
* Heat Map: Handle memory allocation errors. PR #2175
|
||||
* Heat Map: Allow selecting which data to be saved to reduce memory requirements. PR #2175
|
||||
* ILS Demod: Add DDM/SDM/Deviation to channel report. PR #2174
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 25 Jun 2024 20:17:52 +0200
|
||||
|
||||
sdrangel (7.21.3-1) unstable; urgency=medium
|
||||
|
||||
* Update sdrangel-windows-libraries to latest revision. PR #2173 fixes #2155
|
||||
* SDRplayV3Input: Add SDRPLAY_RSPdxR2_ID support. PR #2172 fixes #2155
|
||||
* Fix tooltips. PR #2170
|
||||
* Update external/windows to latest sdrangel-windows-libraries. PR #2169
|
||||
* Update SDRplay API to 3.15 on Mac. PR #2169
|
||||
* Fix typo in ILS freq. PR #2168
|
||||
* Remove use of deprecated QRegExp. PR #2160
|
||||
* Fix memleaks. PR #2157
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 17 Jun 2024 22:30:17 +0200
|
||||
|
||||
sdrangel (7.21.2-1) unstable; urgency=medium
|
||||
|
||||
* Morse Decoder feature: build for Windows. Issue #2152
|
||||
* Satellite Tracker Settings: add missing help description of Replay tab, PR #2151
|
||||
* Satellite Tracker Settings: update help page for new button. PR #2151
|
||||
* Satellite Tracker Settings: add a button to reset the list of TLE. PR #2151
|
||||
* Move defines to the header so they can be reused elsewhere. PR #2151
|
||||
* Factor out the code that updates the widget containing the list of TLEs. PR #2151
|
||||
* Use https for all addresses. PR #2151
|
||||
* Set CMAKE_PREFIX_PATH to include ffmpeg@5. PR #2149
|
||||
* Github mac CI: Try ffmpeg@5. PR #2149
|
||||
* CUDAvkFFTEngine: Add required include.. PR #2149
|
||||
* Fix memleaks. PR #2133
|
||||
* Remove extra margins from some dialog. PR #2148
|
||||
* SDRPlay v1: fix setting of hardware flavour. Fixes #2127
|
||||
* Audio Input: list plugin as a built in device for multiple times instantiation. Fixes #2143
|
||||
* Do not exit after listing available devices. Fixes #2144
|
||||
* Fix and refactor FindSoapySDR.cmake. PR #2146
|
||||
* Morse Decoder: returm to the original GGMorse library
|
||||
* Fix WFM mod: remove feedback sink. PR #2138
|
||||
* Fix ADSB demod: Message length. PR #2138
|
||||
* Fix Sigmf Record: overwriting sigmf-data or sigmf-meta. PR #2136
|
||||
* Highlight the current workspace and device. PR #2126
|
||||
* Web API: Sort some files by name in the resources file. PR #2124
|
||||
* Web API: Add missing files to resources file. PR #2124
|
||||
* Install subversion for Mac build. PR #2123
|
||||
* Fix ggmorse paths on ma. PR #2123
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 06 Jun 2024 20:09:11 +0200
|
||||
|
||||
sdrangel (7.21.1-1) unstable; urgency=medium
|
||||
|
||||
* Morse Decoder feature: Fix for Qt6 and Windows. PR #2122
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 24 May 2024 10:29:04 +0200
|
||||
|
||||
sdrangel (7.21.0-1) unstable; urgency=medium
|
||||
|
||||
* Morse decoder feature. Implements #2112
|
||||
* Fix crash quitting sdrangel when the SID window is open. PR #2121. Fixes #2119
|
||||
* SSB demod: apply clamping also when squelch opens
|
||||
* Remove unneeded calls to disconnect signals. PR #2120
|
||||
* Fix memleaks. PR #2120 PR #2058.
|
||||
* Do not create objects if there is no message queue to send to. PR #2058.
|
||||
* Do not create a Message if there is no worker to send to. PT #2058
|
||||
* Add cmake option to optionally compile with LeakSanitizer. PR #2058
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 23 May 2024 22:18:08 +0200
|
||||
|
||||
sdrangel (7.20.1-1) unstable; urgency=medium
|
||||
|
||||
* Fix Qt6 build. PR #2069
|
||||
* ADS-B: Fix map centering and station icon for Qt6. PR #2072
|
||||
* Fix bug that prevents settings changes updates via reverse API. PR #2066
|
||||
* SIDAddChannelsDialog: Make columns sortable. PR #2067
|
||||
* Fix build failure when Qt Location is not available. PR #2073
|
||||
* Fix "More '%' conversions than data arguments". PR #2075
|
||||
* Remove unused includes and use more direct includes. PR #2076
|
||||
* Make all include directives identical. PR #2076
|
||||
* Fix build of DAB demodulation plugin. PR #2076
|
||||
* Update the IPB beacons table only when the dialog is visible. PR #2068
|
||||
* Raise the Beacon, IBP Beacons an Radio Time dialogs. PR #2068
|
||||
* Close any open dialog when sdrangel quits. PR #2068
|
||||
* vkFFT: Fix building with recent Vulkan SDKs. PR #2087
|
||||
* Sdrplayv3: use SDRPLAY_MAX_DEVICES in enumOriginDevices(). PR #2088
|
||||
* AudioCATSISO: fixed CAT worker handling
|
||||
* AudioCATSISO: fixed transverter processing
|
||||
* AIS: Fix string decoding in safetey messages. Fixes #2094. PR #2096
|
||||
* ValueDial: Fix array being accessed out of range. PR #2096
|
||||
* BFM Demod: Delete baseband on stop(). PR #2104
|
||||
* Bring BFM demod closer to AM demod design. PR #2104
|
||||
* Don't call start() in Demod's constructors. Fixes #2102. PR #2104
|
||||
* SSDDemodGUI: Disable AGC widgets when AGC disable. PR #2104
|
||||
* Fix saving configurations after deleting some entries. PR #2109
|
||||
* Interferometer: added channel B gain control
|
||||
* Interferometer: implement gain and phase in API
|
||||
* LocalSink: update local input device list at construction time
|
||||
* Interferometer: list local input devices and make update settings atomic
|
||||
* Interferometer: added possibility to send correlated IQ to a Local Input device
|
||||
* Interferometer: added localDeviceIndex and play to API
|
||||
* LocalSink: refactored getLocalDevice method
|
||||
* Metis MISO: added lock all Rx frequencies option
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 15 May 2024 10:01:05 +0200
|
||||
|
||||
sdrangel (7.20.0-1) unstable; urgency=medium
|
||||
|
||||
* New Sudden Ionospheric Disturbance feature. PR #2052
|
||||
* Removed unused includes and use more direct includes. PR #2062
|
||||
* Various updates and fixes. Fixing #2061. PR #2063
|
||||
* ChirpChat: added FT mode (FT-chirp)
|
||||
* Support VOR Localizer on Qt6. PR #2057
|
||||
* Fix audio sink/source mapping. PR #2056
|
||||
* Use mouse wheel to zoom in / out of charts. PR #2052
|
||||
* Channel Power: Add absolute frequency setting. PR #2052
|
||||
* RadiosondeDemod: Fix packets read from .csv not being sent to Radiosonde feature.. PR #2052
|
||||
* KiwiSDR: Add position of device to web API report. PR #2052
|
||||
* KiwiSDR: Add position to yaml. PR #2052
|
||||
* SkyMap: Add Moon map. PR #2052
|
||||
* APRS: Check for Cr or LF. For #2028. PR #2052
|
||||
* AX.25 Packet: packetmod supports multi Via; packetdemod fix H bit. PR #2039
|
||||
* Audio optimize & default input/output bugfix. PR #2038
|
||||
* Sat Tracker: Prevent crash if satellite not found. PR #2052
|
||||
* Astronomy: Add sunrise / sunset calculation. PR #2052
|
||||
* APRS: Fix forwarding of binary data to APRS-IS for #2028. PR #2052
|
||||
* APRS: Forward packets to aprsi-is, even if we can't decode them. For #2029. PR #2052
|
||||
* ADSB: Add Airplanes.Live at request of user. PR #2027
|
||||
* Heat Map: Fix overflow in average calculation. PR #2052
|
||||
* AIS Demod: Remove unused filter. PR #2052
|
||||
* SkyMap: Fix erronous entry in source list. PR #2052
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 14 Apr 2024 09:15:24 +0200
|
||||
|
||||
sdrangel (7.19.1-1) unstable; urgency=medium
|
||||
|
||||
* Add channel power channel. PR #2019, #2021
|
||||
* Use mouse keys for CW modulation in SSB modulator. Fixes #1948
|
||||
* ADS-B: Only list available maps. PR #2017
|
||||
* CRightClickEnabler: Prevent duplicate events... PR #2017
|
||||
* Update snap. PR #2016
|
||||
* Scan all plugins for qml (for Mac). PR #2014
|
||||
* fix memset() arguments order in vkfftengine. PR #2013
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 17 Mar 2024 19:17:00 +0100
|
||||
|
||||
sdrangel (7.19.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgraded RTL-SDR library to v2.0.1
|
||||
* Fix not remove source buddy. PR #1998
|
||||
* Fix renumberate deviceset without modifying claimed of SamplingDevice. PR #2001
|
||||
* Merge pull request #2000 from srcejon/freq_scanner
|
||||
* ADS-B: Add QT 6 support for map. PR #2000
|
||||
* Fix URLs on QT 6 map. PR #2000
|
||||
* Fix 32-bit float support for Spy Server. PR #2000
|
||||
* Fix Kiwi location. PR #2000
|
||||
* Update map docs. PR #2000
|
||||
* Fix gcc warnings. PR #2000
|
||||
* Update map QML/HTML. PR #2000
|
||||
* Add libqt5svg5-dev dependency. PR #2000
|
||||
* Add SVG and libacars. PR #2000
|
||||
* HTTPDownloadManager: Support latest updates to Google Drive. PR #2000
|
||||
* Add utils. PR #2000
|
||||
* SkyMap: Fix CORS and enabling caching. PR #2000
|
||||
* Map: Add Spy Server and Kiwi SDR. Add weather and satellite overlays. PR #2000
|
||||
* Fix SDRA protocol and improve spectrum refresh rate. PR #2000
|
||||
* Fix gcc warnings. PR #2000
|
||||
* RemoteTCPInput: Add Spy Server support. PR #2000
|
||||
* SDRplay: Prevent nullpointer dereference for #1825 PR #2000
|
||||
* Add End-of-Train demodulator for #1866. PR #2005
|
||||
* AIS, DSC, End-of-Train, Packet, Radiosonde: date/time from File Input device or system clock. PR #2005
|
||||
* Use log2 approximation to increase performance. Part of #2004. PR #2006
|
||||
* SigMF File Sink: implement 16 and 8 bits sample sizes. Fixes #1921
|
||||
* Use F:n for feature Ids. PR #2007
|
||||
* Update Demod Analzyer to use AvailableChannelsOrFeature. PR #2007
|
||||
* Class to handle amateur radio callsigns and corresponding country data. Part of #2008
|
||||
* FT8 demod: implemented DXCC country decoding. Implements #2008
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 08 Mar 2024 18:12:42 +0100
|
||||
|
||||
sdrangel (7.18.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade to SDRPlay API to 3.14 and support for RSP 1B
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 21 Feb 2024 12:53:33 +0100
|
||||
|
||||
sdrangel (7.18.0-1) unstable; urgency=medium
|
||||
|
||||
* New SkyMap feature PR #1986
|
||||
* Add AvailableChannelOrFeatureHandler. PR #1986
|
||||
* Use MainCore code for managing available channel and feature list. PR #1986
|
||||
* Optimize eumerator of origin device PR #1984
|
||||
* Fix SimpltPTT device id; Add "None" Rx/Tx device option PR #1983
|
||||
* Fix LimeSDR MIMO Tx gain mode. PR #1973
|
||||
* Fix GUI handle Startstop message. PR #1973
|
||||
* Speedup compilation on all platforms using ccache. PR #1967
|
||||
* Demod Analyzer plugin: channel selection via api. PR #1956
|
||||
* Sat Tracker: Update default TLEs to latest URLs. PR #1954
|
||||
* Fix failure due to access by null pointer. PR #1952 Issue #1951
|
||||
* Fix frequency calculation for SSB spectrum. PR #1946
|
||||
* File Input: Fix seeking over .wav header. PR #1946
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 18 Feb 2024 10:46:39 +0100
|
||||
|
||||
sdrangel (7.17.3-1) unstable; urgency=medium
|
||||
|
||||
* Map updates: Allow selection of which device to tune to frequency. PR #1911
|
||||
* Map updates: Support tuning of multiple frequencies per map item. Update maplibre to maplibregl. PR #1911
|
||||
* Use common code for creating and processing device and channel Ids. PR #1911
|
||||
* Prevent crash that can occur if preset type is unknown. PR #1911
|
||||
* Add support for setting center frequency on Tx devices. PR #1911
|
||||
* Allow replay time offset to be set by ctrl+left click in waterfall. PR #1914
|
||||
* Add replay support to Lime Input. PR #1914
|
||||
* Remove space in CSV header. PR #1916
|
||||
* SDRPlayV3 on Mac: Update library path so is works with API 3.12.1. PR #1916
|
||||
* Fixed AudioNetSink stereo handling
|
||||
* SSB demod: added FIR LP filter after AGC to smooth out sharp peaks
|
||||
* Removed useless AGC clamping
|
||||
* Fixed some AGC issues
|
||||
* SSB demod: better algorithm for AGC limitation. Fixes #1918
|
||||
* AM demod: extend squelch limit to -120 dB
|
||||
* Start file browser in directory of last file selected. PR #1926
|
||||
* Fix #1928. Add null-terminator between strings. PR #1929
|
||||
* Frequency Scanner: allow scanning channels of a MIMO device
|
||||
* Frequency scanner: set device frequency for both Rx and MIMO devices
|
||||
* Frequency Scanner: GUI: give more space to channel power display
|
||||
* Frequency Scanner: handle change of I/Q stream in tracked channels (MIMO)
|
||||
* AudioCATSISO: adapt to newer versions of Hamlib. Fixes #1919
|
||||
* Mac O/S: Disable build of LAME frontend. PR #1935
|
||||
* Use separate date/time fields and prefix address with leading 0. Fixes #1936. PR #1937.
|
||||
* Radioastronomy: Handle negative flux values in .srd file. PR #1940.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 31 Dec 2023 17:58:51 +0100
|
||||
|
||||
sdrangel (7.17.2-1) unstable; urgency=medium
|
||||
|
||||
* Freq Scanner: Add per-frequency settings. Fix freq > 2GHz. PR #1905
|
||||
* DSD demod: Upgrade dsdcc to 1.9.5. Fixes #1878
|
||||
* Scope: Added derivative of magnitude squared to the list of projections
|
||||
* SSB demod: mitigate AGC steep transitions causing audio clicks
|
||||
* SSB demod: tie AGC steep transition correction to AGC clamping
|
||||
* Fix AirspyHF instant replay. PR #1905
|
||||
* Fix sdrplay shared library name on Mac arm64, as incorrect in 3.12 API release. PR #1905
|
||||
* SDRPlay V3 API - don't call close unless open was a success, as will crash on Mac. PR #1905
|
||||
* Add dialog positioner for audio select dialog. PR #1905
|
||||
* Display FIFO size on overflow. PR #1905
|
||||
* Freq scanner: Stop scanning when Tune menu selected. PR #1905
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 04 Dec 2023 20:35:40 +0100
|
||||
|
||||
sdrangel (7.17.1-1) unstable; urgency=medium
|
||||
|
||||
* Fixes to Mac build. PR #1869
|
||||
* AM demod: channel/frequency entry modes. PR #1876
|
||||
* SSB demod noise reduction
|
||||
* Radiosonde: Added more columns, PR #1881. Fixes #1880
|
||||
* DSD Demod - Fix loss of constellation. PR #1883. Fixes #1836
|
||||
* Remote TCP - Fix FIFO size adjustment. Fixes SR > 3 MS/s. PR #1886. Fixes #1885.
|
||||
* Indicate audio FIFO underflow/overflow. PR #1887
|
||||
* Fix resize cursor not being cleared when mouse moves over child widgets. PR #1888
|
||||
* Prevent popup menu when scrolling tables. PR #1889
|
||||
* Use custom save/restore geometry for MDI sub=windows. PR #1890. Fixes #1835
|
||||
* Use MDI restore when loading config. PR #1890
|
||||
* M17: Reverse byte ordering of CRC in packet mode. PR #1891. Fixes #1826
|
||||
* M17: Update packet format to comply with current spec. PR #1892. Fixes #1826
|
||||
* More M17 fixes. PR #1894
|
||||
* Frequency scanner: Add FRS-GMRS presets. PR #1897
|
||||
* ADS-B demod: Split widgets in to 2 tabs for small Android screens. PR #1898. Fixes #1896.
|
||||
* Add instant replay for RTL SDR, SDR Play V3, USRP and Airspy HF RXes. PR #1900.
|
||||
* Scope trigger fix. PR #1902. Part of #1901
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 29 Nov 2023 03:00:21 +0100
|
||||
|
||||
sdrangel (7.17.0-1) unstable; urgency=medium
|
||||
|
||||
* Add frequency scanner channel plugin. PR #1852
|
||||
* Implementation of Mac OS CI. PR #1841
|
||||
* Change down and up channelizers filter chain strategy. Fixes #1846
|
||||
* Fix race condition that can result in a crash or hang. PR #1854
|
||||
* DSC Demod: initialise m_scopeSink. PR #1854
|
||||
* Fix FFT Overlap for spectrum view. PR #1856
|
||||
* Various ADS-B enhancements. PR #1861
|
||||
* Use channel sample rate of 48k in RTTY and PSK31 mods. Fixes #1862. PR #1865
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 29 Oct 2023 04:21:18 +0100
|
||||
|
||||
sdrangel (7.16.0-1) unstable; urgency=medium
|
||||
|
||||
* Added RTTY modulator. PR #1800
|
||||
* Added PSK31 modulator. PR #1814
|
||||
* Flush log stream after write, so data is available immediately. PR #1834. Fixes #1833
|
||||
* Remote TCP improvements. PR #1830. Fixes #1827
|
||||
* Fix ffpmeg/opencv dependencies. Enable C lang on Mac, for external project. PR #1828. Fixes #1819
|
||||
* Request authorization for access to camera and microphone on Mac. PR #1824. Fixes #1819
|
||||
* Fixed Swagger files generation and added missing files. Fixes #1821
|
||||
* Add strings describing why Microphone, Camera and Location are required on MacOS. PR #1822. Fixes #1819
|
||||
* Add windows-default preset for building with Visual Studio. PR #1816
|
||||
* Add Android SDR Driver sample source. PR #1815
|
||||
* Distingush between China and Taiwan. PR #1810. Fixes #1805
|
||||
* Add command line options to start Remote TCP Sink on a specified device/ PR #1809.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 21 Sep 2023 22:44:31 +0200
|
||||
|
||||
sdrangel (7.15.4-1) unstable; urgency=medium
|
||||
|
||||
* Fix Mac compilation. PR #1786
|
||||
* Add support for plugin presets. PR #1789
|
||||
* Map feature updates. PR #1778
|
||||
* Fix RTLSDR E4000 gain and bandwidth settings. Add tuner type to GUI. PR #1790
|
||||
* Add support for RTLSDRBlog V4 with HF upsampler. PR #1790
|
||||
* Update RTLSDR driver to include RTLSDRBlog V4 support. PR #1790
|
||||
* Add rotator az/el and offset to table. PR #1791
|
||||
* Optmize redrawing of charts in Star Tracker. PR #1791
|
||||
* Initialise PhaseDiscriminators state, to avoid outputting huge values. Fix #1794. PR #1794
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 02 Sep 2023 19:12:12 +0200
|
||||
|
||||
sdrangel (7.15.3-1) unstable; urgency=medium
|
||||
|
||||
* Rotator Controller: Add additional gamepad calibration and functionality. PR #1761
|
||||
* Use QFileInfo to get file extension. Fixes #1760. PR #1762
|
||||
* Add UI scale factor setting for high DPI screens. PR #1763
|
||||
* Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. PR #1764
|
||||
* Map plugin: Fix beacon frequency. PR #1765
|
||||
* PlutoSDR MIMO: fix variable names. PR #1770
|
||||
* Rotator controller: use precision to determine step size. PR #1775
|
||||
* Add VkFFT support and profiler. Implements #1166. PR #1779.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 20 Aug 2023 21:10:13 +0200
|
||||
|
||||
sdrangel (7.15.2-1) unstable; urgency=medium
|
||||
|
||||
* Fixed some spellings. PR #1742
|
||||
* Rotator Controller: Use floats for az/el offsets. PR #1744. Fixes #1739
|
||||
* Switch to codec2-dev repo to access v1.0.3 tag. PR #1746. Fixes #1741
|
||||
* Move find_package from external/CMakeLists.txt to root CMakeLists.txt. PR #1750
|
||||
* Have some libraries and plugins built in the Ubuntu package. PR #1750. Fixes #1740
|
||||
* Remove external projects from .deb. PR #1754. Fixes #1740
|
||||
* OpenGL code: Clear with alpha=1 to fix #1735. PR #1735
|
||||
* DSD demod UI: Connect slot 1/2 on/off buttons. PR #1758. Fixes #1752
|
||||
* Use texture() instead of texture2d() in v330 shaders, so they work on Mac. PR #1759. Fixes #1757
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 04 Aug 2023 01:17:54 +0200
|
||||
|
||||
sdrangel (7.15.1-1) unstable; urgency=medium
|
||||
|
||||
* Remove comparison of strings and chars. Fix #1713, PR #1718
|
||||
* Run audio out on its own thread. Fixes #1717
|
||||
* PlutoSDR: Add missing settings keys. PR #1727
|
||||
* RTPSink: nullify m_byteBuffer after delete
|
||||
* Audio output: forward actual sample rate to Audio Manager
|
||||
* SSB demod: handle DSPConfigureAudio message correctly
|
||||
* SSB mod/demod: handle DSPConfigureAudio message correctly
|
||||
* Fixed some spelling mistakes. PR #1733
|
||||
* Run audio in on its own thread. For #1731
|
||||
* FCD/AudioInpout: use AudioDeviceManager in place of manupulating AudioInputDevice directly
|
||||
* Audio Input: handle real signals with new main spectrum feature
|
||||
* PlutoSDR input/output: do not apply settings to self when coming from a buddy change. Fixes #1690
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 11 Jul 2023 15:45:58 +0200
|
||||
|
||||
sdrangel (7.15.0-1) unstable; urgency=medium
|
||||
|
||||
* New Audio CAT SISO plugin. Implements #1597
|
||||
* Map: Change Street Map from WikiMedia to OpenStreetMap. PR #1711. Issue #1709
|
||||
* Packet Modulator: fixed segfault in GUI
|
||||
* SigMFFileInput: fixed acceleration. Part of issue #1699
|
||||
* SimplePTT: fixed typo in code. Fixes #1705
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 18 Jun 2023 22:38:55 +0200
|
||||
|
||||
sdrangel (7.14.2-1) unstable; urgency=medium
|
||||
|
||||
* Implement GPIO and script control from Simple PTT feature. Implements #1558
|
||||
* Allow SigMF plugins to work in Windows. PR #1700
|
||||
* Only update widgets from UI thread. Fixes #1692. PR #1692
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 28 May 2023 22:04:01 +0200
|
||||
|
||||
sdrangel (7.14.1-1) unstable; urgency=medium
|
||||
|
||||
* Fix Sat Tracker crash in previous release. Fixes #1682. PR #1696.
|
||||
* Add support for tracking Satellites in the Star Tracker. PR #1696.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 24 May 2023 06:40:43 +0200
|
||||
|
||||
sdrangel (7.14.0-1) unstable; urgency=medium
|
||||
|
||||
* New DSC channel Rx plugin (PR #1693)
|
||||
* New Aaronia output (Tx) plugin
|
||||
* GLSpectrumGUI: apply settings when buddies are set
|
||||
* SpectrumVis: propagate apply settings to GUI message quque if it exists
|
||||
* use MsgConfigureSpectrumVis in place of corresponding GLSpectrum set methods. Fixes #1624
|
||||
* DATV demod: change interpolator and NCO in the same block
|
||||
* DATV demod: leansdr: fix possible segfaults
|
||||
* Fix Qt6 compilation. PR #1654
|
||||
* Sat & Star tracker: Plot target on Az/El chart. Fixes #1641. PR #1641
|
||||
* Use latest libxml2 that has cmake support for use on Mac. For #1657. PR #1663
|
||||
* Set LIBXML2_LIBRARIES for static lib. PR #1663
|
||||
* AIS Demod: Calculate time slot used for messages. PR #1664
|
||||
* Aaroniartsainput: Changes with RTSA suite build 12830. PR #1667
|
||||
* Fixed swagger docker compose run script
|
||||
* GLSpectrum: set default waterfall share to 0.5
|
||||
* Rotator Controller: Add gamepad input controller support. PR #1668
|
||||
* Rx channel demods: prevent possible reading past audio buffer end. Fixes #1661
|
||||
* Upgrade dsdcc to 1.9.4
|
||||
* Scope GUI updates. PR #1671
|
||||
* Add query to TLE download filename, to avoid clashes. Fixes #1647. PR #1673
|
||||
* Add accessibility interface for ValueDial widgets, so they work with screen readers. Fixes #1672. PR #1675
|
||||
* Fix QFileDialog filters to work with non-native dialog. Fixes #1681. PR #1685
|
||||
* Fixed missing initializations of QNetworkManager. Fixes #1689
|
||||
* Fix doppler correction for #1682. Add Az/El offset setting. PR #1694
|
||||
* Update spectrum settings to match what's used in sink. Fix deserialisation of UI related settings. PR #1695
|
||||
* Aaronia RTSA: Fixed API device settings PUT and PATCH
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 23 May 2023 20:09:23 +0200
|
||||
|
||||
sdrangel (7.13.0-1) unstable; urgency=medium
|
||||
|
||||
- New Aaronia input (Rx) plugin
|
||||
- Channel analyzer: engage rational down sampler also when no channel decimation takes place. Fixes #1622
|
||||
- Display rotator on Star Tracker and Satellite Tracker polar charts for #1641. PR #1650
|
||||
- AFC and Demod Analyzer: fixed message queue disconnect. Fixes #1634
|
||||
- Fixed ValueDial value settings when it is equal to previous value
|
||||
- DATV demod: GUI: set RF bandwidth with standard SR
|
||||
- Airspy: corrected transverter frequency and mode setting from GUI
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 06 Apr 2023 20:38:25 +0200
|
||||
|
||||
sdrangel (7.12.0-1) unstable; urgency=medium
|
||||
|
||||
- New ILS demod plugin. PR #1635
|
||||
- Heatmap: added 10 MS/s and fixed bandwidth limit. PR #1638
|
||||
- Correct settings keys for Satellite Tracker settings dialog. Fixes #1642. PR #1643
|
||||
- Add UTC data time in radiometerand more. Fix #1640. PR #1644
|
||||
- DATV demod: processing optimizations
|
||||
- Add missing setting ket in Rotator Controller. Fix #1642. PR #1645
|
||||
- Fix missing GUI connections in Radio Astronomy plugin. Scan for features on startup. PR #1646
|
||||
- Fix settings keys in Star Tracker (Rename to settings to match). PR #1646
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 01 Apr 2023 11:39:53 +0200
|
||||
|
||||
sdrangel (7.11.0-1) unstable; urgency=medium
|
||||
|
||||
- New RTTY and Navtex demods. PR #1610
|
||||
- Noise figure: Fix saving of power on command. PR #1604
|
||||
- Disable MSAA for 2D maps by default. PR #1604
|
||||
- Fix Heat Map Display Chart Seg Fault. Fixes #1606. PR #1607
|
||||
- Prevent MDI scrolling when trying to zoom in on spectrum PR #1611
|
||||
- VOR Demod: Improve filtering for voice over ident. Issue #1590. PR #1615
|
||||
- Fix DSD Demod crash on exit Fixes #1617. PR #1618
|
||||
- Fix updateVORs so it doesn't delete selected VORs. Issue #1590. PR #1619
|
||||
- Set timer to be precise before calling start, otherwise it is ignored on Windows. PR #1626
|
||||
- Audio inout: added DC block and IQ imbalance
|
||||
- Audio input: Added Fc control
|
||||
- MainWindow: disconnect prior to connect in device re-numeration. Fixes #1620
|
||||
- Fixing errors when compiling using qt6. Fixes #1625. PR #1629
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 18 Mar 2023 12:41:20 +0100
|
||||
|
||||
sdrangel (7.10.0-1) unstable; urgency=medium
|
||||
|
||||
- Copy fftw3f and libusb dlls to bin directory. PR #1503
|
||||
- Removed unncecessary call to updateChannels in VORLocalizer and DemodAnalyzer. Fixes #1572
|
||||
- TestSource: use queued connection for connecting worker's deleteLater. Fixes possible crash on exit
|
||||
- FT8 support: corrected possible code glitch
|
||||
- DSD demod: disable audio for YSF wide mode if AMBE feature is active. Fixes #1587
|
||||
- Fix SDRplay RSPdx LNA table, to have correct number of entries, for #1532. PR #1591
|
||||
- Heat Map Rx channel plugin. Changes to Map. PR #1600
|
||||
- Autostack: Fix channel windows being made to wide when SDRangel starts. PR #1601
|
||||
- Android: Prevent app from being put to sleep when running. Add menu to keep screen on. PR #1602
|
||||
- SSB demod GUI: display channel marker in correct stream if connected to a MIMO device
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 23 Feb 2023 23:59:54 +0100
|
||||
|
||||
sdrangel (7.9.0-1) unstable; urgency=medium
|
||||
|
||||
- FT8 demodulator. Implements #1561
|
||||
- SDRPlay: increase LO ppm range. Fixes #1576
|
||||
- Initialize m_running to fix crash #1574. PR #1575
|
||||
- Map feature: added MIMO devices when scanning for channels
|
||||
- Spectrum: Keep frequency displayed while channel is being dragged. PR #1570
|
||||
- LimeRFE: save Rx/Tx mode in m_rfeBoardState. Fixes #1557
|
||||
- Audio Input: Make sure audio device name corresponds to GUI setting. PR #1565
|
||||
- Audio Input: Set start/stop button background colour according to device status. PR #1565
|
||||
- Add reset measurements button to Spectrum GUI, PR #1565
|
||||
- Speed up enumeration / opening USRP B210 by using hardcoded values. PR #1566
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 01 Feb 2023 08:14:50 +0100
|
||||
|
||||
sdrangel (7.8.6-1) unstable; urgency=medium
|
||||
|
||||
- SSB demod: corrected DSB filter
|
||||
- Fixed CI/CD issues and warnings (1)
|
||||
- Add icons for arranging windows PR #1539
|
||||
- Allow Android virtual keyboard to change sign in ValueDialZ widget PR #1539
|
||||
- Scale splash screen to size of screen PR #1539
|
||||
- Support touchscreen tap and hold to be used instead of right mouse PR #1539
|
||||
- Add DialogPositioner to ensure dialogs are fully on screen and remain on PR #1539
|
||||
- Add welcome dialog for Android PR #1539
|
||||
- Add new sdrgui files to CMakeLists.txt PR #1539
|
||||
- Add RSP and Android remote TCP protocol commands PR #1539
|
||||
- Add gesture support to maps PR #1539
|
||||
- Set plugins path for Android PR #1539
|
||||
- Add popups for dials PR #1539
|
||||
- Add pinch gesture to GraphicsViewZoom PR #1539
|
||||
- GLSpectrum touchscreen updates PR #1540
|
||||
- Add buttons to stack MDI windows vertically and put in tabs. PR #1541
|
||||
- Allow maximize button to make window full screen, if already maximized. PR #1541
|
||||
- Allow sampling devices to be refreshed while SDRangel is running. PR #1542
|
||||
- Add Android support and settings resources PR #1542
|
||||
- Change map provider from osm to mapboxgl on Linux, to avoid crash PR #1542
|
||||
- Call processEvents to try to avoid not responding warning on Linux PR #1542
|
||||
- Avoid divide by zero when no fixed windows PR #1542
|
||||
- Scan for serial AMBE devices on Windows PR #1543
|
||||
- On Android, list USB devices by VID/PID and open using file descriptor.PR #1544
|
||||
- Fixed possible sample device pointer not set yet when DSPMIMOSignalNo...Fixes #1529
|
||||
- Fixed passing QPoint reference from right click enabler to connected... Fixes #1549
|
||||
- Support relative satellite image URLs PR #1550
|
||||
- Ignore SSL certifcate errors on Android PR #1554
|
||||
- Check for errors when writing to log PR #1554
|
||||
- Reduce UI minimum size for small Android screens PR #1554
|
||||
- Add Android support. Convert line endings PR #1554
|
||||
- Add support for multiple ABIs on Android PR #1554
|
||||
- Fix crash when no logger implemented. Add additional error reporting... PR #1554
|
||||
- Update aligned_malloc implementation on Android, so it works with API... PR #1554
|
||||
- Add flag to skip FFMPEG version check on Android PR #1554
|
||||
- Support FileInput plugin on Android, by using QFile rather istream PR #1554
|
||||
- Make WebEngine support in Map optional for Android PR #1554
|
||||
- Make WebEngine support in Map optional for Android PR #1554
|
||||
- Add libusb for Android PR #1554
|
||||
- Add progress dialog for device enumeration, as some drivers are slow PR #1555
|
||||
- Reenable 3D Map PR #1555
|
||||
- Fix #1559. Update protocol before calling setAzimuthElevation PR #1560
|
||||
- BladeRF v1: fixed VGA controls in GUI. Fixes #1535
|
||||
- Re-enable LimeSuite in Windows with latest commit
|
||||
- FT8 demod library support
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 13 Jan 2023 22:17:50 +0100
|
||||
|
||||
sdrangel (7.8.5-1) unstable; urgency=medium
|
||||
|
||||
* Local Sink: enhanced functionnality. Implements #871
|
||||
* BladeRF v1: fixed XB-200 support in GUI. Fixes #1535
|
||||
* RadioSonde: Fix plotting of heading. Fixes #1527. PR #1528
|
||||
* Metis MISO GUI: fixed frequency limits
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 17 Dec 2022 09:27:34 +0100
|
||||
|
||||
sdrangel (7.8.4-1) unstable; urgency=medium
|
||||
|
||||
* Adapt code to Qt6. PR #1518
|
||||
* Rotator controller: Fix initialisation of serial port. PR #1520
|
||||
* qo100_datv.py: device dependent log2 decimation
|
||||
* Feature plugins: Make settings assignments atomic. Part of #1329
|
||||
* KiwiSDR: implement variable sample rate. Fixes #1523
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 01 Dec 2022 20:50:29 +0100
|
||||
|
||||
sdrangel (7.8.3-1) unstable; urgency=medium
|
||||
|
||||
* DemodAnalyzer: record audio. Part of #1330
|
||||
* APT decoder: use latest libsgp4. PR #1512
|
||||
* Audio output device recording. part of #1330
|
||||
* Add maximize button to MainSpectrum and expandible Channels and Features. PR #1510
|
||||
* Device GUIs: Constain window size via minimumSize/maximumSize. PR #1508
|
||||
* Set window width to account for miniumum width required for visible rollups. PR #1507
|
||||
* 3D spectrum: Allow = to be used for +. Fix array delete. PR #1499
|
||||
* RTL-SDR: set max frequency limit to 2.4 GHz. Fixes #1497
|
||||
* Perseus: set frequency dial to 5 digits when not in transverter mode
|
||||
* GLSpectrum: separate waterfall and histogram resizing conditions. Fixes #1496
|
||||
* HackRF input: fixed sample rate setting from GUI. Following #1329
|
||||
* Arrange rollups after restore geometry to mitigate issue #1474
|
||||
* Remote TCP: 8-bit IQ data is unsigned. Fixes implementing #1467. PR #1495
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 15 Nov 2022 20:45:41 +0100
|
||||
|
||||
sdrangel (7.8.2-1) unstable; urgency=medium
|
||||
|
||||
* Make settings assigments atomic for most device plugins. Part of #1329
|
||||
* Update zlib to latest version. PR #1487
|
||||
* Fixed format time to next event. PR #1488. Fix #1483
|
||||
* Check for existing pipes after GUI is created. PR #1489. Attempt to fix #1484
|
||||
* Fix support for using Serial or TCP for either protocol. PR #1491
|
||||
* Save column sort as a setting. Fix deserialize of target satellite. PR #1492. Attempt to fix #1474
|
||||
* Fix sorting of next column. PR #1493
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 01 Nov 2022 22:20:21 +0100
|
||||
|
||||
sdrangel (7.8.1-1) unstable; urgency=medium
|
||||
|
||||
* Update to latest airspy drivers to fix #1372. PR #1468
|
||||
* Update of threading model on some Rx channels. Part of #1346
|
||||
* Radioastronomy Sat tracker: disable table sorting when adding a new row. Fixes #1472. PR #1473
|
||||
* Center frequency dials up to 9 digits and transverter delta frequency dial up to 12 digits. Fixes #1476
|
||||
* Have full frequency dials digit range only if transverter is engaged. PR #1479, 1481
|
||||
* DATV plugin: added dial to flip through DATV standard symbol rates
|
||||
* Spectrum frequency ticks MSB truncation. Fixes #1477
|
||||
* Have M17 and FreeDV plugins built in the Ubuntu package. Fixes #1480
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 19 Oct 2022 15:25:08 +0200
|
||||
|
||||
sdrangel (7.8.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade to latest libhackrf and use new Github URL. Fixes #1456
|
||||
* HackRF: use software LO ppm correction since hardware correction does not work. Fixes #1443
|
||||
* Device GUIs: Stop timers in destructors. Possible fix of #1372. PR #1466
|
||||
* Add occupied bandwidth and 3dB bandwidth measurements. PR #1465
|
||||
* Align spectrum with frequency scale. PR #1464
|
||||
* Rollupwidgets: Handle child layout requests. PR #1462
|
||||
* Size spectrum measurements table. PR #1462
|
||||
* Updated calibration button icon and documentation. Following PR #1454
|
||||
* Move GLSpectrum to GLSpectrumView and create new GLSpectrum with SpectrumMeasurements. PR #1454
|
||||
* Use dialog for spectrum measurement settings. PR #1454
|
||||
* Use splitter instead of dock. PR #1454
|
||||
* Update peak table when number of peaks changes. PR #1454
|
||||
* Spectrum: Use widget for measurements. PR #1454
|
||||
* Spectrum: Add Channel Power and SNR measurements. PR #1446
|
||||
* Spectrum: Add peak power and frequency in info bar. PR #1437
|
||||
* Spectrum markers peaks option
|
||||
* communicate from spectrum GUI to markers dialog and fixed some warning issues
|
||||
* Open spectrum markers dialog at current mouse position
|
||||
* Make markers dialog non modal
|
||||
* Save spectrum as CSV file with frequency and header. PR #1451
|
||||
* Spectrum GUI: Add button to save spectrum data to text file. PR #1451
|
||||
* Airspy: Update threading model. Part of #1346
|
||||
* Update threading model in Simple PTT feature. Part of #1346
|
||||
* Update threading model in Demod Analyzer feature. Part of #1346
|
||||
* AirspyHF: Update threading model. PR #1436
|
||||
* Update threading model in AFC feature. Part of #1346
|
||||
* AFC feature corrections
|
||||
* Frequency tracker: fixed GUI callbacks
|
||||
* Update threading model in Simple VOR localizer feature. Part of #1346
|
||||
* Part of #1346 Update threading model in Star Tracker, PER Tester and APRS features. PR #1428
|
||||
* Update threading in Rotator Controller. Part of #1346. PR #1419
|
||||
* Sat tracker: Use new threading model. Part of #1346. Fix memory corruption bug. PR #1419
|
||||
* More descriptive error for broken/unsupported WAV files. PR #1453
|
||||
* Replace depreceted QWidget.setMargin with setContentsMargins. PR #1447
|
||||
* Replace deprecated FontMetrics.width() with horizontalAdvance. PR #1447
|
||||
* Replace deprecated QWheelEvent.pos by position. PR #1444
|
||||
* Replace deprecated QWheelEvent.delta by angleDelta. PR #1444
|
||||
* Replace deprecated QTextStream number conversion functions. PR #1442
|
||||
* Fix name of widget, it must be unique. PR #1439
|
||||
* Replace deprecated setStandardButtons. PR #1438
|
||||
* Replace deprecated QSsl TLS ciphersuite selection. PR #1438
|
||||
* Replace deprecated QDateTime toTime_t by toSecsSinceEpoch. PR #1434
|
||||
* APT Demod: Update to latest aptdec. Remove reference to obsolete zenith variable. PR #1459
|
||||
* APT Demod: Add support for visible calibration. Fix #1422 PR #1459
|
||||
* Maps: Use mapboxgl as default map on Linux, as osm hangs in many cases. PR #1458
|
||||
* ADSB: Handle double quoted arguments in commands. PR #1455
|
||||
* Fix #1287 Fix ADS-B crash when My Position changed. PR #1429
|
||||
* Satellite Tracker: Implement variable substitution for commands and add additional variables. PR #1455
|
||||
* Sat Tracker: Fix restoring LOS speech Fixes #1421. PR #1419
|
||||
* Satellite Tracker: Signal AOS/LOS when non real time. Fix custom time. Fixes #1445. PR #1449
|
||||
* Fix crash when sat specific AOS command specified. Fixes #1425. PR #1426
|
||||
* Fixed GUI vs core plugin load order when loading a preset. Fixes #1427
|
||||
* Radio Astronomy: Add filtered power series. PR #1450
|
||||
* SoapySDR: make sure device open is successful before starting. Fixes #1441
|
||||
* Duplicate MDI restore geometry in an attempt to fix #1432
|
||||
* Duplicate QWidget::restoreGeometry in some places in an attempt to fix #1432
|
||||
* Fix #1452 Workaround Linux bug in color picker in map settings. PR #1433
|
||||
* Call stopWork from destructor. PR #1431
|
||||
* Remote Control: Fix Mac build. PR #1420
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 06 Oct 2022 22:08:43 +0200
|
||||
|
||||
sdrangel (7.7.0-1) unstable; urgency=medium
|
||||
|
||||
* Remote control feature plugin. PR #1414
|
||||
* Stop status timer, so updateTimer isn't called on deleted objects. PR #1408
|
||||
* APRS feature: Detect Packet Demods in MIMO device sets. Fixes #1409. PR #1410
|
||||
* Fixed some cmake warnings. PR #1411 #1412
|
||||
* Replace deprecated QMutex(Recursive) in Qt 5.14 with QRecursiveMutex. PR #1413
|
||||
* Upgrade Ubuntu package to 22.04 and therefore Qt 5.15. Issue #1416
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 18 Sep 2022 08:48:24 +0200
|
||||
|
||||
sdrangel (7.6.4-1) unstable; urgency=medium
|
||||
|
||||
* M17: fixed build for Windows so now available in Windows. PR #1404
|
||||
* Use grey text for disabled widgets. PR #1402
|
||||
* Stack workspace: Use full width for spectrum when no channels. PR #1403
|
||||
* Fix c++17 compilation with MSVC. PR #1405
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 10 Sep 2022 19:12:31 +0200
|
||||
|
||||
sdrangel (7.6.3-1) unstable; urgency=medium
|
||||
|
||||
* NFM modulator: try to improve audio input
|
||||
* Simple PTT: fixed status indicator
|
||||
* LimeRFE feature: fixed settings API
|
||||
* ScriptsAPI: fixed dump.py and config.py to match v7 requirements
|
||||
* ScriptsAPI: removed obsolete config.py -I option
|
||||
* ScriptsAPI: new ptt_feature.py based on PTT amd LimeRFE features
|
||||
* LimeSDR: reduced LimeSDR stream FIFO size to 256k to improve latency
|
||||
* LimeSDR: better handle calibration errors. Fix #1389. PR #1391
|
||||
* LimeSDR: Set Lime minimum frequency in GUI to 30MHz+NCO freq. Fix #1389. PR #1391
|
||||
* LimeSDR: Set minimum calibration bandwidth to 2.5MHz. Fix #1389. PR #1391
|
||||
* LimeSDR: Report calibration errors in GUI. Fix #1389. PR #1395
|
||||
* LimeSDR: Check LPF is reasonable for up/downconversion. Fix #1389. PR #1395
|
||||
* ADS-B: Add support for decoding Comm-B replies in Mode-S frames. PR #1393
|
||||
* ADS-B: Check ICAO in sink worker, so CRC can be checked. Fix warnings. PR #1393
|
||||
* Add start/stop all devices of workspace button in workspace toolbar. PR #1394
|
||||
* Add device stateChanged signal. Use in RTL SDR GUI. PR #1394
|
||||
* Remove ? in Window's title bar. Fixes #1312. PR #1399
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 01 Sep 2022 19:46:21 +0200
|
||||
|
||||
sdrangel (7.6.2-1) unstable; urgency=medium
|
||||
|
||||
* MacOS build fixes. PR #1374
|
||||
|
617
CMakeLists.txt
617
CMakeLists.txt
@ -1,17 +1,13 @@
|
||||
cmake_minimum_required(VERSION 3.17.0)
|
||||
cmake_minimum_required(VERSION 3.13.0)
|
||||
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL")
|
||||
|
||||
if(APPLE)
|
||||
project(sdrangel LANGUAGES C CXX OBJCXX)
|
||||
else()
|
||||
project(sdrangel)
|
||||
endif()
|
||||
project(sdrangel)
|
||||
|
||||
list(APPEND CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/Modules)
|
||||
|
||||
# disable only when needed
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
@ -19,29 +15,22 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||
|
||||
# configure version
|
||||
set(sdrangel_VERSION_MAJOR "7")
|
||||
set(sdrangel_VERSION_MINOR "22")
|
||||
set(sdrangel_VERSION_PATCH "8")
|
||||
set(sdrangel_VERSION_MINOR "6")
|
||||
set(sdrangel_VERSION_PATCH "2")
|
||||
set(sdrangel_VERSION_SUFFIX "")
|
||||
|
||||
# SDRAngel cmake options
|
||||
option(DEBUG_OUTPUT "Print debug messages" OFF)
|
||||
option(SANITIZE_ADDRESS "Activate detection of uninitialized memory (AddressSanitizer)" OFF)
|
||||
option(SANITIZE_MEMORY "Activate detection of leaked memory (LeakSanitizer)" OFF)
|
||||
option(SANITIZE_ADDRESS "Activate memory address sanitization" OFF)
|
||||
option(RX_SAMPLE_24BIT "Internal 24 bit Rx DSP" ON)
|
||||
option(BUILD_SERVER "Build Server" ON)
|
||||
option(BUILD_GUI "Build GUI" ON)
|
||||
option(BUILD_BENCH "Build benchmark" ON)
|
||||
option(HIDE_CONSOLE "Hide console when running GUI on Windows" ON)
|
||||
option(BUNDLE "Enable distribution bundle" OFF)
|
||||
set(ARCH_OPT "native" CACHE STRING "Specify instruction set to use. Will be passed directly as `-march` or `/arch:` argument on supported compilers. \
|
||||
'native' option will figure out host machine compatibilities and set flags accordingly (even with MSVC).")
|
||||
option(ENABLE_QT6 "Build with Qt6 rather than Qt5" OFF)
|
||||
option(ENABLE_PROFILER "Enable runtime profiler" OFF)
|
||||
set(VKFFT_BACKEND 1 CACHE STRING "vkFFT Backend: 0 - Vulkan, 1 - CUDA")
|
||||
option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
|
||||
|
||||
# Sampling devices enablers
|
||||
option(ENABLE_AARONIARTSA "Enable AaroniaRTSA support" ON)
|
||||
option(ENABLE_AIRSPY "Enable AirSpy support" ON)
|
||||
option(ENABLE_AIRSPYHF "Enable AirSpyHF support" ON)
|
||||
option(ENABLE_BLADERF "Enable bladeRF support" ON)
|
||||
@ -49,7 +38,6 @@ option(ENABLE_FUNCUBE "Enable FUNcube support" ON)
|
||||
option(ENABLE_HACKRF "Enable HackRF support" ON)
|
||||
option(ENABLE_IIO "Enable liniio support like PlutoSDR" ON)
|
||||
option(ENABLE_LIMESUITE "Enable limesuite support" ON)
|
||||
option(ENABLE_METIS "Enable Metis support" ON)
|
||||
option(ENABLE_MIRISDR "Enable LibMiri for old SDRPlay" ON)
|
||||
option(ENABLE_PERSEUS "Enable perseus support" ON)
|
||||
option(ENABLE_RTLSDR "Enable rtl-sdr support" ON)
|
||||
@ -91,16 +79,6 @@ option(ENABLE_CHANNELRX_LOCALSINK "Enable channelrx localsink plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODPACKET "Enable channelrx demodpacket plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODAPT "Enable channelrx demodapt plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODDSD "Enable channelrx demoddsd plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODFT8 "Enable channelrx demodft8 plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODNAVTEX "Enable channelrx demodnavtex plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODRTTY "Enable channelrx demodrtty plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODILS "Enable channelrx demodils plugin" ON)
|
||||
option(ENABLE_CHANNELRX_DEMODDSC "Enable channelrx demoddsc plugin" ON)
|
||||
option(ENABLE_CHANNELRX_HEATMAP "Enable channelrx heatmap plugin" ON)
|
||||
option(ENABLE_CHANNELRX_FREQSCANNER "Enable channelrx freqscanner plugin" ON)
|
||||
option(ENABLE_CHANNELRX_ENDOFTRAIN "Enable channelrx end-of-train plugin" ON)
|
||||
option(ENABLE_CHANNELRX_CHANNELPOWER "Enable channelrx channel power plugin" ON)
|
||||
option(ENABLE_CHANNELRX_WDSPRX "Enable channelrx WDSP receiver plugin" ON)
|
||||
|
||||
# Channel Tx enablers
|
||||
option(ENABLE_CHANNELTX "Enable channeltx plugins" ON)
|
||||
@ -120,8 +98,6 @@ option(ENABLE_CHANNELTX_MODATV "Enable channeltx modatv plugin" ON)
|
||||
option(ENABLE_CHANNELTX_MOD802.15.4 "Enable channeltx mod802.15.4 plugin" ON)
|
||||
option(ENABLE_CHANNELTX_REMOTESOURCE "Enable channeltx remotesource plugin" ON)
|
||||
option(ENABLE_CHANNELTX_FILESOURCE "Enable channeltx filesource plugin" ON)
|
||||
option(ENABLE_CHANNELTX_MODRTTY "Enable channeltx modrtty plugin" ON)
|
||||
option(ENABLE_CHANNELTX_MODPSK31 "Enable channeltx modpsk31 plugin" ON)
|
||||
|
||||
# Channel MIMO enablers
|
||||
option(ENABLE_CHANNELMIMO "Enable channelmimo plugins" ON)
|
||||
@ -148,10 +124,6 @@ option(ENABLE_FEATURE_STARTRACKER "Enable feature startracker plugin" ON)
|
||||
option(ENABLE_FEATURE_RIGCTLSERVER "Enable feature rigctlserver plugin" ON)
|
||||
option(ENABLE_FEATURE_PERTESTER "Enable feature pertester plugin" ON)
|
||||
option(ENABLE_FEATURE_GS232CONTROLLER "Enable feature gs232controller plugin" ON)
|
||||
option(ENABLE_FEATURE_REMOTECONTROL "Enable feature remote control plugin" ON)
|
||||
option(ENABLE_FEATURE_SKYMAP "Enable feature sky map plugin" ON)
|
||||
option(ENABLE_FEATURE_SID "Enable feature sid plugin" ON)
|
||||
option(ENABLE_FEATURE_MORSEDECODER "Enable feature morsedecoder plugin" ON)
|
||||
|
||||
# on windows always build external libraries
|
||||
if(WIN32)
|
||||
@ -185,18 +157,7 @@ if(GIT_FOUND AND EXISTS "${CMAKE_SOURCE_DIR}/.git/")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
find_program(CCACHE "ccache")
|
||||
if(CCACHE AND NOT EMSCRIPTEN)
|
||||
message(STATUS "Using ccache ${CCACHE}")
|
||||
set(CMAKE_C_COMPILER_LAUNCHER ${CCACHE})
|
||||
set(CMAKE_CXX_COMPILER_LAUNCHER ${CCACHE})
|
||||
if(APPLE)
|
||||
set(CMAKE_OBJCXX_COMPILER_LAUNCHER ${CCACHE})
|
||||
endif()
|
||||
set(ENV{CCACHE_SLOPPINESS} pch_defines,time_macros)
|
||||
endif()
|
||||
|
||||
set(sdrangel_VERSION "${sdrangel_VERSION_MAJOR}.${sdrangel_VERSION_MINOR}.${sdrangel_VERSION_PATCH}${sdrangel_VERSION_SUFFIX}" CACHE INTERNAL "")
|
||||
set(sdrangel_VERSION "${sdrangel_VERSION_MAJOR}.${sdrangel_VERSION_MINOR}.${sdrangel_VERSION_PATCH}${sdrangel_VERSION_SUFFIX}")
|
||||
message(STATUS "${APPLICATION_NAME} Version: ${sdrangel_VERSION}")
|
||||
add_definitions("-DSDRANGEL_LIB_VERSION=\"${sdrangel_VERSION_MAJOR}.${sdrangel_VERSION_MINOR}.${sdrangel_VERSION_PATCH}\"")
|
||||
add_definitions("-DSDRANGEL_VERSION=\"${sdrangel_VERSION}\"")
|
||||
@ -229,6 +190,10 @@ if(NOT DEBUG_OUTPUT)
|
||||
add_definitions("-DQT_NO_DEBUG_OUTPUT")
|
||||
endif()
|
||||
|
||||
if(ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO")
|
||||
set(AUTO_EXTERNAL_LIBRARIES ON CACHE INTERNAL "")
|
||||
endif()
|
||||
|
||||
# declare build structures
|
||||
# !! change sdrbase/plugins/pluginmanager.cpp too !!
|
||||
add_definitions("-DLIB=\"lib${LIB_SUFFIX}\"")
|
||||
@ -273,15 +238,6 @@ else()
|
||||
endif()
|
||||
set(INSTALL_PLUGINS_DIR "${INSTALL_LIB_DIR}/plugins")
|
||||
set(INSTALL_PLUGINSSRV_DIR "${INSTALL_LIB_DIR}/pluginssrv")
|
||||
|
||||
if(ANDROID)
|
||||
set(PLUGINS_PREFIX "sdrangel_plugins_")
|
||||
set(PLUGINSSRV_PREFIX "sdrangel_pluginssrv_")
|
||||
set(ANDROID_PACKAGE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/android/qt6 CACHE INTERNAL "")
|
||||
else()
|
||||
set(PLUGINS_PREFIX "")
|
||||
set(PLUGINSSRV_PREFIX "")
|
||||
endif()
|
||||
set(EXTERNAL_BUILD_LIBRARIES "${CMAKE_BINARY_DIR}/external")
|
||||
|
||||
# custom libraries
|
||||
@ -302,7 +258,6 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
endif()
|
||||
configure_file("${CMAKE_SOURCE_DIR}/cmake/cpack/${CMAKE_PROJECT_NAME}.desktop.in"
|
||||
"${CMAKE_BINARY_DIR}/${CMAKE_PROJECT_NAME}.desktop" @ONLY)
|
||||
set(FFTW3F_FOUND ON CACHE INTERNAL "")
|
||||
elseif(APPLE)
|
||||
if("${CMAKE_OSX_DEPLOYMENT_TARGET}" STREQUAL "")
|
||||
message(STATUS "Build for macOS target: local version")
|
||||
@ -321,7 +276,7 @@ elseif(APPLE)
|
||||
elseif (WIN32)
|
||||
# check compiler version
|
||||
message(STATUS "MSVC_VERSION is ${MSVC_VERSION}")
|
||||
if(MSVC_VERSION GREATER_EQUAL 1930)
|
||||
if(MSVC_VERSION GREATER_EQUAL 1930 AND MSVC_VERSION LESS 1940)
|
||||
set(VS2022 ON)
|
||||
elseif(MSVC_VERSION GREATER_EQUAL 1920 AND MSVC_VERSION LESS 1930)
|
||||
set(VS2019 ON)
|
||||
@ -341,14 +296,10 @@ elseif (WIN32)
|
||||
set(FFTW3F_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/fftw-3/include" CACHE INTERNAL "")
|
||||
set(FFTW3F_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/fftw-3/libfftw3f-3.lib" CACHE INTERNAL "")
|
||||
set(FFTW3F_WISDOM "${EXTERNAL_LIBRARY_FOLDER}/fftw-3/fftwf-wisdom.exe" CACHE INTERNAL "")
|
||||
set(FFTW3F_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/fftw-3" CACHE INTERNAL "")
|
||||
|
||||
set(LIBUSB_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBUSB_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/libusb/include" CACHE INTERNAL "")
|
||||
set(LIBUSB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll/libusb-1.0.lib" CACHE INTERNAL "")
|
||||
set(LIBUSB_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll" CACHE INTERNAL "")
|
||||
|
||||
if(VS2022 OR VS2019)
|
||||
if(VS2019)
|
||||
set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv4" CACHE INTERNAL "")
|
||||
else()
|
||||
set(OpenCV_DIR "${EXTERNAL_LIBRARY_FOLDER}/opencv" CACHE INTERNAL "")
|
||||
@ -409,196 +360,12 @@ elseif (WIN32)
|
||||
set(HIDAPI_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/hidapi/x64/hidapi.lib" CACHE INTERNAL "")
|
||||
set(HIDAPI_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/hidapi/x64" CACHE INTERNAL "")
|
||||
|
||||
set(LIBSIGMF_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBSIGMF_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/libsigmf/include" CACHE INTERNAL "")
|
||||
set(LIBSIGMF_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/libsigmf/lib/libsigmf.lib" DbgHelp CACHE INTERNAL "")
|
||||
set(LIBSIGMF_LIBRARIES_DEBUG "${EXTERNAL_LIBRARY_FOLDER}/libsigmf/lib/libsigmfd.lib" DbgHelp CACHE INTERNAL "")
|
||||
set(LIBSIGMF_DLL_DIR "${EXTERNAL_LIBRARY_FOLDER}/libsigmf/lib/" CACHE INTERNAL "")
|
||||
|
||||
set(LIBACARS_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBACARS_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/libacars/include/libacars-2" CACHE INTERNAL "")
|
||||
set(LIBACARS_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/libacars/lib/acars-2.lib" CACHE INTERNAL "")
|
||||
|
||||
# used on fixup_bundle phase
|
||||
set(WINDOWS_FIXUP_BUNDLE_LIB_DIRS
|
||||
"${EXTERNAL_LIBRARY_FOLDER}/fftw-3"
|
||||
"${EXTERNAL_LIBRARY_FOLDER}/libusb/MS64/dll"
|
||||
"${EXTERNAL_LIBRARY_FOLDER}/ffmpeg/bin"
|
||||
"${EXTERNAL_LIBRARY_FOLDER}/libsigmf/lib"
|
||||
)
|
||||
elseif(ANDROID)
|
||||
set(EXTERNAL_LIBRARY_FOLDER "${CMAKE_SOURCE_DIR}/external/android")
|
||||
|
||||
set(Boost_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/ndk_26b_boost_1.83.0/include" CACHE INTERNAL "")
|
||||
|
||||
set(FFTW3F_FOUND ON CACHE INTERNAL "")
|
||||
set(FFTW3F_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/fftw-3/include" CACHE INTERNAL "")
|
||||
set(FFTW3F_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/fftw-3/lib/libfftw3f.a" CACHE INTERNAL "")
|
||||
|
||||
set(OPUS_FOUND ON CACHE INTERNAL "")
|
||||
set(OPUS_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libopus/include" CACHE INTERNAL "")
|
||||
set(OPUS_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libopus/lib/libopus.a" CACHE INTERNAL "")
|
||||
|
||||
set(CODEC2_FOUND ON CACHE INTERNAL "")
|
||||
set(CODEC2_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/codec2/include" CACHE INTERNAL "")
|
||||
set(CODEC2_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/codec2/lib/libcodec2.a" CACHE INTERNAL "")
|
||||
|
||||
set(APT_FOUND ON CACHE INTERNAL "")
|
||||
set(APT_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/aptdec/include/apt" CACHE INTERNAL "")
|
||||
set(APT_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/aptdec/lib/libaptstatic.a" CACHE INTERNAL "")
|
||||
|
||||
set(SGP4_FOUND ON CACHE INTERNAL "")
|
||||
set(SGP4_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/sgp4/include/libsgp4" CACHE INTERNAL "")
|
||||
set(SGP4_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/sgp4/lib/libsgp4.a" CACHE INTERNAL "")
|
||||
|
||||
set(ZLIB_FOUND ON CACHE INTERNAL "")
|
||||
set(ZLIB_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/zlib/include" CACHE INTERNAL "")
|
||||
set(ZLIB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/zlib/lib/libz.a" CACHE INTERNAL "")
|
||||
|
||||
set(FAAD_FOUND ON CACHE INTERNAL "")
|
||||
set(FAAD_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/faad2/include" CACHE INTERNAL "")
|
||||
set(FAAD_LIBRARY "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/faad2/lib/liblibfaadstatic.a" CACHE INTERNAL "")
|
||||
|
||||
set(DAB_FOUND ON CACHE INTERNAL "")
|
||||
set(DAB_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libdab/include/dab_lib" CACHE INTERNAL "")
|
||||
set(DAB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libdab/lib/libdab_lib.so" CACHE INTERNAL "")
|
||||
|
||||
set(LIBMBE_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBMBE_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/mbelib/include/" CACHE INTERNAL "")
|
||||
set(LIBMBE_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/mbelib/lib/libmbe.a" CACHE INTERNAL "")
|
||||
|
||||
set(LIBDSDCC_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBDSDCC_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/dsdcc/include/" CACHE INTERNAL "")
|
||||
set(LIBDSDCC_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/dsdcc/lib/libdsdcc.so" CACHE INTERNAL "")
|
||||
|
||||
set(FFMPEG_FOUND ON CACHE INTERNAL "")
|
||||
set(FFMPEG_SKIP_CHECK ON CACHE INTERNAL "")
|
||||
set(FFMPEG_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
||||
set(FFMPEG_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/bin" CACHE INTERNAL "")
|
||||
set(AVCODEC_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
||||
set(AVCODEC_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavcodec.so" CACHE INTERNAL "")
|
||||
set(AVFORMAT_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
||||
set(AVFORMAT_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavformat.so" CACHE INTERNAL "")
|
||||
set(AVUTIL_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
||||
set(AVUTIL_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavutil.so" CACHE INTERNAL "")
|
||||
set(SWRESAMPLE_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
||||
set(SWRESAMPLE_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libswresample.so" CACHE INTERNAL "")
|
||||
set(SWSCALE_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/include" CACHE INTERNAL "")
|
||||
set(SWSCALE_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libswscale.so" CACHE INTERNAL "")
|
||||
|
||||
set(GGMORSE_FOUND ON CACHE INTERNAL "")
|
||||
set(GGMORSE_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ggmorse/include/" CACHE INTERNAL "")
|
||||
set(GGMORSE_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ggmorse/lib/static/libggmorse.a" CACHE INTERNAL "")
|
||||
|
||||
set(FLAC_FOUND ON CACHE INTERNAL "")
|
||||
set(FLAC_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/flac/include/" CACHE INTERNAL "")
|
||||
set(FLAC_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/flac/lib/libFLAC.so" CACHE INTERNAL "")
|
||||
|
||||
set(LIBUSB_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBUSB_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/include/" CACHE INTERNAL "")
|
||||
set(LIBUSB_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libusb1.0.so" CACHE INTERNAL "")
|
||||
|
||||
set(LIBAIRSPYHF_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBAIRSPYHF_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/airspyhf/include/" CACHE INTERNAL "")
|
||||
set(LIBAIRSPYHF_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/airspyhf/lib/libairspyhf.a" CACHE INTERNAL "")
|
||||
|
||||
set(LIBAIRSPY_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBAIRSPY_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/airspy/include/" CACHE INTERNAL "")
|
||||
set(LIBAIRSPY_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/airspy/lib/libairspy.a" CACHE INTERNAL "")
|
||||
|
||||
set(LIBRTLSDR_FOUND ON CACHE INTERNAL "")
|
||||
set(LIBRTLSDR_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/librtlsdr/include/" CACHE INTERNAL "")
|
||||
set(LIBRTLSDR_LIBRARIES "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/librtlsdr/lib/librtlsdr.a" CACHE INTERNAL "")
|
||||
|
||||
set(LIMESUITE_FOUND ON CACHE INTERNAL "")
|
||||
set(LIMESUITE_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/limesuite/include/" CACHE INTERNAL "")
|
||||
set(LIMESUITE_LIBRARY "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/limesuite/lib/libLimeSuite.a" CACHE INTERNAL "")
|
||||
|
||||
if (ENABLE_QT6)
|
||||
set(ANDROID_EXTRA_LIBS
|
||||
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libssl_1_1.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libcrypto_1_1.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavcodec.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavdevice.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavfilter.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavformat.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libavutil.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libswresample.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libswscale.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/ffmpeg/lib/libc++_shared.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libdab/lib/libdab_lib.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/dsdcc/lib/libdsdcc.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libunrooted_android.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/libusb/lib/libusb1.0.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/flac/lib/libFLAC.so
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
else()
|
||||
set(ANDROID_EXTRA_LIBS
|
||||
${Qt5_DIR}/plugins/sqldrivers/libplugins_sqldrivers_qsqlite_arm64-v8a.so
|
||||
${Qt5_DIR}/plugins/geoservices/libplugins_geoservices_qtgeoservices_mapboxgl_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5Sql_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5SerialPort_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5Charts_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5Positioning_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5PositioningQuick_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5Location_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5Concurrent_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5MultimediaWidgets_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5SerialPort_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5TextToSpeech_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickControls2_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickWidgets_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickTemplates2_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickShapes_arm64-v8a.so
|
||||
${Qt5_DIR}/lib/libQt5Sql_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5SerialPort_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5Charts_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5Positioning_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5PositioningQuick_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5Location_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5Concurrent_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5MultimediaWidgets_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5SerialPort_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5TextToSpeech_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickControls2_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickWidgets_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickTemplates2_armeabi-v7a.so
|
||||
${Qt5_DIR}/lib/libQt5QuickShapes_armeabi-v7a.so
|
||||
${Qt5_DIR}/plugins/sqldrivers/libplugins_sqldrivers_qsqlite_armeabi-v7a.so
|
||||
${Qt5_DIR}/plugins/geoservices/libplugins_geoservices_qtgeoservices_mapboxgl_armeabi-v7a.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libssl_1_1.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/android_openssl/latest/arm64/libcrypto_1_1.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libavcodec.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libavdevice.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libavfilter.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libavformat.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libavutil.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libswresample.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libswscale.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/ffmpeg/lib/libc++_shared.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/libdab/lib/libdab_lib.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/dsdcc/lib/libdsdcc.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/libusb/lib/libunrooted_android.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/libusb/lib/libusb1.0.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/arm64-v8a/flac/lib/libFLAC.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavcodec.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavdevice.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavfilter.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavformat.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libavutil.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libswresample.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libswscale.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/ffmpeg/lib/libc++_shared.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/libdab/lib/libdab_lib.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/dsdcc/lib/libdsdcc.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/libusb/lib/libunrooted_android.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/libusb/lib/libusb1.0.so
|
||||
${EXTERNAL_LIBRARY_FOLDER}/armeabi-v7a/flac/lib/libFLAC.so
|
||||
CACHE INTERNAL ""
|
||||
)
|
||||
endif()
|
||||
add_compile_definitions(ANDROID)
|
||||
endif()
|
||||
|
||||
# When building a bundle on MacOS, we want to keep build paths in the library
|
||||
@ -625,10 +392,6 @@ else()
|
||||
message(STATUS "Compiling for 16 bit Rx DSP chain")
|
||||
endif()
|
||||
|
||||
if (ENABLE_PROFILER)
|
||||
add_compile_definitions(ENABLE_PROFILER)
|
||||
endif()
|
||||
|
||||
# Set compiler options based on target architecture and selected extensions
|
||||
include(CompilerOptions)
|
||||
|
||||
@ -646,119 +409,34 @@ set(CMAKE_AUTORCC TRUE)
|
||||
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
|
||||
# Qt requirements
|
||||
# See: https://doc-snapshots.qt.io/qt6-dev/cmake-qt5-and-qt6-compatibility.html
|
||||
if(ENABLE_QT6)
|
||||
find_package(Qt6
|
||||
COMPONENTS
|
||||
Core
|
||||
Widgets
|
||||
WebSockets
|
||||
Multimedia
|
||||
MultimediaWidgets
|
||||
Positioning
|
||||
Charts
|
||||
SerialPort)
|
||||
else()
|
||||
find_package(Qt5 5.15
|
||||
REQUIRED COMPONENTS
|
||||
Core
|
||||
Widgets
|
||||
WebSockets
|
||||
Multimedia
|
||||
MultimediaWidgets
|
||||
Positioning
|
||||
Charts
|
||||
SerialPort)
|
||||
endif()
|
||||
find_package(Qt5
|
||||
REQUIRED COMPONENTS
|
||||
Core
|
||||
Widgets
|
||||
WebSockets
|
||||
Multimedia
|
||||
MultimediaWidgets
|
||||
Positioning
|
||||
Charts
|
||||
SerialPort)
|
||||
|
||||
# for the server we don't need OpenGL/Qt Quick components
|
||||
if (BUILD_GUI)
|
||||
if(ANDROID)
|
||||
# WebEngine not supported on Android
|
||||
if (ENABLE_QT6)
|
||||
find_package(Qt6
|
||||
REQUIRED COMPONENTS
|
||||
Location
|
||||
OpenGL
|
||||
OpenGLWidgets
|
||||
Quick
|
||||
QuickWidgets
|
||||
TextToSpeech
|
||||
Svg
|
||||
SvgWidgets
|
||||
StateMachine)
|
||||
else()
|
||||
find_package(Qt5
|
||||
REQUIRED COMPONENTS
|
||||
OpenGL
|
||||
Quick
|
||||
QuickWidgets
|
||||
Location
|
||||
TextToSpeech
|
||||
Svg
|
||||
AndroidExtras
|
||||
OPTIONAL_COMPONENTS
|
||||
Gamepad)
|
||||
endif()
|
||||
else()
|
||||
find_package(OpenGL REQUIRED)
|
||||
if (ENABLE_QT6)
|
||||
find_package(Qt6
|
||||
REQUIRED COMPONENTS
|
||||
OpenGL
|
||||
OpenGLWidgets
|
||||
Quick
|
||||
QuickWidgets
|
||||
Svg
|
||||
SvgWidgets
|
||||
StateMachine
|
||||
OPTIONAL_COMPONENTS
|
||||
WebEngineQuick
|
||||
WebEngineCore
|
||||
WebEngineWidgets
|
||||
TextToSpeech
|
||||
Location)
|
||||
else()
|
||||
find_package(Qt5
|
||||
REQUIRED COMPONENTS
|
||||
OpenGL
|
||||
Quick
|
||||
QuickWidgets
|
||||
Location
|
||||
TextToSpeech
|
||||
Svg
|
||||
OPTIONAL_COMPONENTS
|
||||
WebEngine
|
||||
WebEngineCore
|
||||
WebEngineWidgets
|
||||
Gamepad)
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# List of static plugins to link with - This is appended to by each pluging CMakeLists.txt
|
||||
set_property(GLOBAL PROPERTY STATIC_PLUGINS_PROPERTY "")
|
||||
|
||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}Positioning_FOUND)
|
||||
add_compile_definitions(QT_POSITIONING_FOUND)
|
||||
endif()
|
||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}Location_FOUND)
|
||||
add_compile_definitions(QT_LOCATION_FOUND)
|
||||
endif()
|
||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}Charts_FOUND)
|
||||
add_compile_definitions(QT_CHARTS_FOUND)
|
||||
endif()
|
||||
if(Qt${QT_DEFAULT_MAJOR_VERSION}TextToSpeech_FOUND)
|
||||
add_compile_definitions(QT_TEXTTOSPEECH_FOUND)
|
||||
endif()
|
||||
if(BUILD_SHARED_LIBS)
|
||||
add_compile_definitions(BUILD_SHARED_LIBS)
|
||||
find_package(OpenGL REQUIRED)
|
||||
find_package(Qt5
|
||||
REQUIRED COMPONENTS
|
||||
OpenGL
|
||||
Quick
|
||||
QuickWidgets
|
||||
Location
|
||||
TextToSpeech
|
||||
WebEngine
|
||||
WebEngineCore
|
||||
WebEngineWidgets)
|
||||
endif()
|
||||
|
||||
# other requirements
|
||||
if(NOT ANDROID AND NOT EMSCRIPTEN)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
endif()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
|
||||
if(APPLE)
|
||||
find_package(ICONV)
|
||||
@ -789,25 +467,14 @@ if(WIN32)
|
||||
)
|
||||
endif()
|
||||
|
||||
# When ENABLE_EXTERNAL_LIBRARIES is ON, we build most of the required 3rd party libraries from source
|
||||
# When ENABLE_EXTERNAL_LIBRARIES is AUTO, we only build 3rd party libraries that aren't already available
|
||||
# When ENABLE_EXTERNAL_LIBRARIES is OFF, we only use prebuilt libraries
|
||||
|
||||
if (NOT ENABLE_EXTERNAL_LIBRARIES)
|
||||
# When ENABLE_EXTERNAL_LIBRARIES is ON, we can build most of the required 3rd party libraries from source
|
||||
if(ENABLE_EXTERNAL_LIBRARIES)
|
||||
add_subdirectory(external)
|
||||
find_package(Boost REQUIRED)
|
||||
else()
|
||||
find_package(Boost REQUIRED)
|
||||
find_package(FFTW3F REQUIRED)
|
||||
if(NOT ANDROID)
|
||||
find_package(LibUSB REQUIRED)
|
||||
endif()
|
||||
elseif(ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO")
|
||||
find_package(Boost)
|
||||
find_package(FFTW3F)
|
||||
if(NOT ANDROID)
|
||||
find_package(LibUSB)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (NOT ENABLE_EXTERNAL_LIBRARIES OR (ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO"))
|
||||
find_package(LibUSB REQUIRED) # used by so many packages
|
||||
find_package(OpenCV OPTIONAL_COMPONENTS core highgui imgproc imgcodecs videoio) # channeltx/modatv
|
||||
find_package(LibSigMF) # SigMF recording files support
|
||||
find_package(ZLIB) # For DAB
|
||||
@ -815,71 +482,62 @@ if (NOT ENABLE_EXTERNAL_LIBRARIES OR (ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO")
|
||||
find_package(Codec2)
|
||||
find_package(CM256cc)
|
||||
find_package(LibMbe)
|
||||
find_package(SerialDV)
|
||||
find_package(SerialDV REQUIRED)
|
||||
find_package(LibDSDcc)
|
||||
find_package(Sgp4)
|
||||
find_package(AptDec)
|
||||
find_package(LibDAB)
|
||||
find_package(HIDAPI)
|
||||
find_package(FFmpeg COMPONENTS AVCODEC AVFORMAT AVUTIL SWSCALE)
|
||||
find_package(GGMorse)
|
||||
|
||||
# Devices
|
||||
if(ENABLE_AIRSPY)
|
||||
find_package(LibAIRSPY)
|
||||
endif()
|
||||
if(ENABLE_AIRSPYHF)
|
||||
find_package(LibAIRSPYHF)
|
||||
endif()
|
||||
if(ENABLE_BLADERF)
|
||||
find_package(LibBLADERF 2.0)
|
||||
endif()
|
||||
if(ENABLE_HACKRF)
|
||||
find_package(LibHACKRF)
|
||||
endif()
|
||||
if(ENABLE_LIMESUITE)
|
||||
find_package(LimeSuite)
|
||||
if (LIMESUITE_FOUND)
|
||||
add_definitions(-DHAS_LIMERFEUSB)
|
||||
endif()
|
||||
endif()
|
||||
if(ENABLE_IIO) # PlutoSDR
|
||||
find_package(LibIIO)
|
||||
endif()
|
||||
if(ENABLE_MIRISDR)
|
||||
find_package(LibMiriSDR)
|
||||
endif()
|
||||
if(ENABLE_PERSEUS)
|
||||
find_package(LibPerseus)
|
||||
endif()
|
||||
if(ENABLE_RTLSDR)
|
||||
find_package(LibRTLSDR)
|
||||
endif()
|
||||
if(ENABLE_SOAPYSDR)
|
||||
find_package(SoapySDR)
|
||||
endif()
|
||||
if(ENABLE_USRP)
|
||||
find_package(UHD)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# The following devices can't yet be built by external/CMakeLists.txt, so always call find_package
|
||||
if(ENABLE_SDRPLAY)
|
||||
find_package(SDRplay)
|
||||
endif()
|
||||
if(ENABLE_XTRX)
|
||||
find_package(LibXTRX)
|
||||
endif()
|
||||
|
||||
if(ENABLE_EXTERNAL_LIBRARIES)
|
||||
add_subdirectory(external)
|
||||
find_package(Boost REQUIRED)
|
||||
endif()
|
||||
|
||||
if (LIBSIGMF_FOUND AND CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
add_definitions(-DHAS_LIBSIGMF)
|
||||
endif()
|
||||
|
||||
# Devices
|
||||
if(ENABLE_AIRSPY)
|
||||
find_package(LibAIRSPY)
|
||||
endif()
|
||||
if(ENABLE_AIRSPYHF)
|
||||
find_package(LibAIRSPYHF)
|
||||
endif()
|
||||
if(ENABLE_BLADERF)
|
||||
find_package(LibBLADERF 2.0)
|
||||
endif()
|
||||
if(ENABLE_HACKRF)
|
||||
find_package(LibHACKRF)
|
||||
endif()
|
||||
if(ENABLE_LIMESUITE)
|
||||
find_package(LimeSuite)
|
||||
if (LIMESUITE_FOUND)
|
||||
add_definitions(-DHAS_LIMERFEUSB)
|
||||
endif()
|
||||
endif()
|
||||
if(ENABLE_IIO) # PlutoSDR
|
||||
find_package(LibIIO)
|
||||
endif()
|
||||
if(ENABLE_MIRISDR)
|
||||
find_package(LibMiriSDR)
|
||||
endif()
|
||||
if(ENABLE_PERSEUS)
|
||||
find_package(LibPerseus)
|
||||
endif()
|
||||
if(ENABLE_RTLSDR)
|
||||
find_package(LibRTLSDR)
|
||||
endif()
|
||||
if(ENABLE_SDRPLAY)
|
||||
find_package(SDRplay)
|
||||
endif()
|
||||
if(ENABLE_SOAPYSDR)
|
||||
find_package(SoapySDR)
|
||||
endif()
|
||||
if(ENABLE_XTRX)
|
||||
find_package(LibXTRX)
|
||||
endif()
|
||||
if(ENABLE_USRP)
|
||||
find_package(UHD)
|
||||
endif()
|
||||
|
||||
if(ENABLE_FUNCUBE AND LIBUSB_FOUND AND HIDAPI_FOUND)
|
||||
add_subdirectory(fcdlib)
|
||||
add_subdirectory(fcdhid)
|
||||
@ -892,25 +550,10 @@ add_subdirectory(logging)
|
||||
add_subdirectory(qrtplib)
|
||||
add_subdirectory(swagger)
|
||||
add_subdirectory(devices)
|
||||
add_subdirectory(sdrbench)
|
||||
|
||||
add_subdirectory(modemm17)
|
||||
|
||||
if (FFTW3F_FOUND)
|
||||
add_subdirectory(ft8)
|
||||
add_definitions(-DHAS_FT8)
|
||||
set(FT8_SUPPORT ON CACHE INTERNAL "")
|
||||
endif()
|
||||
|
||||
if (FFTW3F_FOUND)
|
||||
add_subdirectory(wdsp)
|
||||
add_definitions(-DHAS_WDSP)
|
||||
set(WDSP_SUPPORT ON CACHE INTERNAL "")
|
||||
endif()
|
||||
|
||||
if (BUILD_BENCH)
|
||||
add_subdirectory(sdrbench)
|
||||
endif()
|
||||
|
||||
if (BUILD_GUI)
|
||||
add_subdirectory(sdrgui)
|
||||
add_subdirectory(plugins plugins)
|
||||
@ -933,12 +576,8 @@ include_directories(
|
||||
${CMAKE_SOURCE_DIR}/sdrsrv
|
||||
${CMAKE_SOURCE_DIR}/sdrbench
|
||||
${CMAKE_SOURCE_DIR}/logging
|
||||
${OPENGL_INCLUDE_DIR}
|
||||
)
|
||||
if(NOT ANDROID)
|
||||
include_directories(
|
||||
${OPENGL_INCLUDE_DIR}
|
||||
)
|
||||
endif()
|
||||
|
||||
# Set up optional make target for developer doc
|
||||
find_package(Doxygen)
|
||||
@ -980,7 +619,6 @@ else()
|
||||
endif()
|
||||
|
||||
############ build sdrangel benchmark ################
|
||||
if (BUILD_BENCH)
|
||||
set(sdrangelbench_SOURCES
|
||||
appbench/main.cpp
|
||||
)
|
||||
@ -990,78 +628,29 @@ add_executable(sdrangelbench
|
||||
)
|
||||
|
||||
target_link_libraries(sdrangelbench
|
||||
Qt::Multimedia
|
||||
Qt5::Multimedia
|
||||
sdrbench
|
||||
logging
|
||||
)
|
||||
endif()
|
||||
|
||||
############ build sdrangel gui ################
|
||||
if (BUILD_GUI)
|
||||
set(sdrangel_SOURCES
|
||||
app/main.cpp
|
||||
sdrgui/resources/sdrangel.rc
|
||||
settings/settings.qrc
|
||||
)
|
||||
if(APPLE)
|
||||
set(sdrangel_SOURCES ${sdrangel_SOURCES} mac/auth.mm)
|
||||
endif()
|
||||
if(ANDROID AND NOT ENABLE_QT6)
|
||||
add_library(${CMAKE_PROJECT_NAME} SHARED ${sdrangel_SOURCES})
|
||||
elseif(ANDROID)
|
||||
qt_add_executable(${CMAKE_PROJECT_NAME} ${sdrangel_SOURCES})
|
||||
set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR ${CMAKE_SOURCE_DIR}/android/qt6)
|
||||
set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY QT_ANDROID_EXTRA_PLUGINS ${CMAKE_BINARY_DIR}/lib/plugins)
|
||||
set_property(TARGET ${CMAKE_PROJECT_NAME} PROPERTY QT_ANDROID_EXTRA_LIBS ${ANDROID_EXTRA_LIBS})
|
||||
else()
|
||||
add_executable(${CMAKE_PROJECT_NAME} ${sdrangel_SOURCES})
|
||||
endif()
|
||||
|
||||
if(ANDROID)
|
||||
if(ENABLE_QT6)
|
||||
target_link_libraries(${CMAKE_PROJECT_NAME} PUBLIC
|
||||
${OPENGL_LIBRARIES}
|
||||
Qt::Widgets
|
||||
Qt::Multimedia
|
||||
Qt::Svg
|
||||
Qt::QmlModels
|
||||
Qt::Quick
|
||||
sdrbase
|
||||
sdrgui
|
||||
logging
|
||||
android
|
||||
log
|
||||
)
|
||||
else()
|
||||
target_link_libraries(${CMAKE_PROJECT_NAME}
|
||||
${OPENGL_LIBRARIES}
|
||||
Qt::Widgets
|
||||
Qt::Multimedia
|
||||
Qt::Svg
|
||||
Qt::QmlModels
|
||||
Qt::Quick
|
||||
Qt::AndroidExtras
|
||||
sdrbase
|
||||
sdrgui
|
||||
logging
|
||||
android
|
||||
log
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
target_link_libraries(${CMAKE_PROJECT_NAME}
|
||||
${OPENGL_LIBRARIES}
|
||||
Qt::Widgets
|
||||
Qt::Multimedia
|
||||
Qt::Quick
|
||||
sdrbase
|
||||
sdrgui
|
||||
logging
|
||||
)
|
||||
endif()
|
||||
if(APPLE)
|
||||
target_link_libraries(${CMAKE_PROJECT_NAME} "-framework AVFoundation" objc)
|
||||
endif()
|
||||
add_executable(${CMAKE_PROJECT_NAME}
|
||||
${sdrangel_SOURCES}
|
||||
)
|
||||
|
||||
target_link_libraries(${CMAKE_PROJECT_NAME}
|
||||
${OPENGL_LIBRARIES}
|
||||
Qt5::Widgets
|
||||
Qt5::Multimedia
|
||||
sdrbase
|
||||
sdrgui
|
||||
logging
|
||||
)
|
||||
|
||||
if(WIN32)
|
||||
set_target_properties(${CMAKE_PROJECT_NAME} PROPERTIES
|
||||
@ -1080,7 +669,7 @@ if (BUILD_SERVER)
|
||||
)
|
||||
|
||||
target_link_libraries(sdrangelsrv
|
||||
Qt::Multimedia
|
||||
Qt5::Multimedia
|
||||
sdrbase
|
||||
sdrsrv
|
||||
logging
|
||||
@ -1088,9 +677,7 @@ if (BUILD_SERVER)
|
||||
endif()
|
||||
|
||||
############ install ##################
|
||||
if (BUILD_BENCH)
|
||||
install(TARGETS sdrangelbench DESTINATION ${INSTALL_BIN_DIR})
|
||||
endif()
|
||||
if (BUILD_GUI)
|
||||
install(TARGETS ${CMAKE_PROJECT_NAME} DESTINATION ${INSTALL_BIN_DIR})
|
||||
endif()
|
||||
|
@ -1,112 +1,39 @@
|
||||
{
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"binaryDir": "build-default",
|
||||
"cacheVariables": {
|
||||
"DEBUG_OUTPUT": "ON",
|
||||
"AIRSPYHF_DIR": "/opt/install/libairspyhf",
|
||||
"AIRSPY_DIR": "/opt/install/libairspy",
|
||||
"APT_DIR": "/opt/install/aptdec",
|
||||
"BLADERF_DIR": "/opt/install/libbladeRF",
|
||||
"CM256CC_DIR": "/opt/install/cm256cc",
|
||||
"CODEC2_DIR": "/opt/install/codec2",
|
||||
"DAB_DIR": "/opt/install/libdab",
|
||||
"DSDCC_DIR": "/opt/install/dsdcc",
|
||||
"HACKRF_DIR": "/opt/install/libhackrf",
|
||||
"HAMLIB_DIR": "/opt/build/hamlib-prefix",
|
||||
"IIO_DIR": "/opt/install/libiio",
|
||||
"LIBSIGMF_DIR": "/opt/install/libsigmf",
|
||||
"LIMESUITE_DIR": "/opt/install/LimeSuite",
|
||||
"MBE_DIR": "/opt/install/mbelib",
|
||||
"MIRISDR_DIR": "/opt/install/libmirisdr",
|
||||
"PERSEUS_DIR": "/opt/install/libperseus",
|
||||
"RTLSDR_DIR": "/opt/install/librtlsdr",
|
||||
"SERIALDV_DIR": "/opt/install/serialdv",
|
||||
"SGP4_DIR": "/opt/install/sgp4",
|
||||
"SOAPYSDR_DIR": "/opt/install/SoapySDR",
|
||||
"UHD_DIR": "/opt/install/uhd",
|
||||
"XTRX_DIR": "/opt/install/xtrx-images",
|
||||
"GGMORSE_DIR": "/opt/install/ggmorse",
|
||||
"CMAKE_INSTALL_PREFIX": "/opt/install/sdrangel"
|
||||
},
|
||||
"warnings": {
|
||||
"dev": false
|
||||
},
|
||||
"vendor": {
|
||||
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
||||
"hostOS": [ "Linux" ]
|
||||
"version": 3,
|
||||
"configurePresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"binaryDir": "build-default",
|
||||
"cacheVariables": {
|
||||
"AIRSPYHF_DIR": "/opt/install/libairspyhf",
|
||||
"AIRSPY_DIR": "/opt/install/libairspy",
|
||||
"APT_DIR": "/opt/install/aptdec",
|
||||
"BLADERF_DIR": "/opt/install/libbladeRF",
|
||||
"CM256CC_DIR": "/opt/install/cm256cc",
|
||||
"CODEC2_DIR": "/opt/install/codec2",
|
||||
"DAB_DIR": "/opt/install/libdab",
|
||||
"DSDCC_DIR": "/opt/install/dsdcc",
|
||||
"HACKRF_DIR": "/opt/install/libhackrf",
|
||||
"IIO_DIR": "/opt/install/libiio",
|
||||
"LIBSIGMF_DIR": "/opt/install/libsigmf",
|
||||
"LIMESUITE_DIR": "/opt/install/LimeSuite",
|
||||
"MBE_DIR": "/opt/install/mbelib",
|
||||
"MIRISDR_DIR": "/opt/install/libmirisdr",
|
||||
"PERSEUS_DIR": "/opt/install/libperseus",
|
||||
"RTLSDR_DIR": "/opt/install/librtlsdr",
|
||||
"SERIALDV_DIR": "/opt/install/serialdv",
|
||||
"SGP4_DIR": "/opt/install/sgp4",
|
||||
"SOAPYSDR_DIR": "/opt/install/SoapySDR",
|
||||
"UHD_DIR": "/opt/install/uhd",
|
||||
"XTRX_DIR": "/opt/install/xtrx-images",
|
||||
"CMAKE_INSTALL_PREFIX": "/opt/install/sdrangel"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "default-windows",
|
||||
"binaryDir": "${sourceDir}/build",
|
||||
"cacheVariables": {
|
||||
"CMAKE_BUILD_TYPE": "RelWithDebInfo",
|
||||
"DEBUG_OUTPUT": "ON",
|
||||
"RX_SAMPLE_24BIT": "ON",
|
||||
"ARCH_OPT": "SSE4_2",
|
||||
"HIDE_CONSOLE": "OFF",
|
||||
"ENABLE_AIRSPY": "ON",
|
||||
"ENABLE_AIRSPYHF": "ON",
|
||||
"ENABLE_BLADERF": "ON",
|
||||
"ENABLE_HACKRF": "ON",
|
||||
"ENABLE_IIO": "ON",
|
||||
"ENABLE_MIRISDR": "OFF",
|
||||
"ENABLE_PERSEUS": "ON",
|
||||
"ENABLE_RTLSDR": "ON",
|
||||
"ENABLE_SDRPLAY": "ON",
|
||||
"ENABLE_SOAPYSDR": "ON",
|
||||
"ENABLE_XTRX": "ON",
|
||||
"ENABLE_USRP": "ON",
|
||||
"BUILD_SERVER": "OFF",
|
||||
"CMAKE_PREFIX_PATH": "C:/Qt/5.15.2/msvc2019_64;C:/Applications/boost_1_81_0"
|
||||
},
|
||||
"warnings": {
|
||||
"dev": false
|
||||
},
|
||||
"vendor": {
|
||||
"microsoft.com/VisualStudioSettings/CMake/1.0": {
|
||||
"hostOS": [ "Windows" ]
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"configurePreset": "default"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "default-qt6",
|
||||
"inherits": "default",
|
||||
"binaryDir": "build-qt6",
|
||||
"cacheVariables": {
|
||||
"ENABLE_QT6": "ON"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "default-qt6-windows",
|
||||
"inherits": "default-windows",
|
||||
"binaryDir": "${sourceDir}/build-qt6",
|
||||
"cacheVariables": {
|
||||
"ENABLE_QT6": "ON",
|
||||
"CMAKE_PREFIX_PATH": "C:/Qt/6.7.3/msvc2022_64;C:/Applications/boost_1_81_0"
|
||||
}
|
||||
}
|
||||
],
|
||||
"buildPresets": [
|
||||
{
|
||||
"name": "default",
|
||||
"configurePreset": "default"
|
||||
},
|
||||
{
|
||||
"name": "default-windows",
|
||||
"configurePreset": "default-windows"
|
||||
},
|
||||
{
|
||||
"name": "default-qt6",
|
||||
"configurePreset": "default-qt6"
|
||||
},
|
||||
{
|
||||
"name": "default-qt6-windows",
|
||||
"configurePreset": "default-qt6-windows"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
|
@ -41,5 +41,5 @@ We are interested to find out how other people make use of this software.
|
||||
* Please list Center Frequency, bandwidth and any other applicable RF settings that are pertinent to the issue.
|
||||
|
||||
### Log Files
|
||||
* Please read any pertinent log files!
|
||||
* Please read any pertinant log files!
|
||||
* Attach any relevant information you find here.
|
||||
|
11
Readme.md
11
Readme.md
@ -1,12 +1,11 @@
|
||||

|
||||
|
||||
**SDRangel** is an open-source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
|
||||
**SDRangel** is an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
|
||||
|
||||
**Wiki**: Most of the information and documentation related to SDRangel can be found in the [Wiki](https://github.com/f4exb/sdrangel/wiki). Please make sure to check it in case of questions or trouble and before you post issues on GitHub. You may also seek help from other users using the discussion group below. Before running the program, make sure you read at least the [Home](https://github.com/f4exb/sdrangel/wiki) and [Quick Start](https://github.com/f4exb/sdrangel/wiki/Quick-start) pages.
|
||||
**Wiki** most of the information and documentation related to SDRangel can be found in the [Wiki](https://github.com/f4exb/sdrangel/wiki). Please make sure to check it in case of questions or trouble and before you post issues in Github. You may also seek help from other users using the discussion group below. Before running the program make sure you read at least the [Home](https://github.com/f4exb/sdrangel/wiki) and [Quick Start](https://github.com/f4exb/sdrangel/wiki/Quick-start) pages.
|
||||
|
||||
**Discussion group**: You can ask other users for help or discuss subjects related to SDRangel and its ancillary projects [here](https://groups.io/g/sdrangel).
|
||||
**Discussion group** You may seek help of other users or discuss subjects related to SDRangel and its ancillary projects [here](https://groups.io/g/sdrangel)
|
||||
|
||||
**Ancillary projects**
|
||||
|
||||
* [SDRangelcli](https://github.com/f4exb/sdrangelcli) is a web application that can be used to control a headless (server flavor) instance of SDRangel. It can also be used as a remote control for the GUI flavor.
|
||||
* [SDRangel-Docker](https://github.com/f4exb/sdrangel-docker) is a collection of Docker files and scripts to facilitate building and running SDRangel in a Docker container. Works for either the GUI (only on a Linux host) or the server.
|
||||
- [SDRangelcli](https://github.com/f4exb/sdrangelcli) is a web application that can be used to control a headless (server flavor) instance of SDRangel. It can also be used as a remote control for the GUI flavor.
|
||||
- [SDRangel-Docker](https://github.com/f4exb/sdrangel-docker) is a collection of Docker files and scripts to facilitate the build and run of SDRangel in a Docker container. Works for either the GUI (only on a Linux host) or the server.
|
||||
|
109
app/main.cpp
109
app/main.cpp
@ -1,11 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020, 2022 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Jason Gerecke <killertofu@gmail.com> //
|
||||
// Copyright (C) 2019 Davide Gerhard <rainbow@irh.it> //
|
||||
// Copyright (C) 2021-2023 Jon Beniston, M7RCE <jon@beniston.com> //
|
||||
// Copyright (C) 2023 Daniele Forsi <iu5hkx@gmail.com> //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -22,31 +17,24 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include <QApplication>
|
||||
#include <QTextCodec>
|
||||
#include <QProxyStyle>
|
||||
#include <QStyleFactory>
|
||||
#include <QFontDatabase>
|
||||
#include <QSysInfo>
|
||||
#include <QSettings>
|
||||
#ifdef __APPLE__
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||
#include <QGLFormat>
|
||||
#endif
|
||||
#include <QSurfaceFormat>
|
||||
#endif
|
||||
#ifdef ANDROID
|
||||
#include "util/android.h"
|
||||
#endif
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0))
|
||||
#include <QQuickWindow>
|
||||
#endif
|
||||
|
||||
#include "loggerwithfile.h"
|
||||
#include "mainwindow.h"
|
||||
#include "remotetcpsinkstarter.h"
|
||||
#include "dsp/dsptypes.h"
|
||||
|
||||
static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *logger)
|
||||
{
|
||||
/*
|
||||
QTextCodec::setCodecForTr(QTextCodec::codecForName("UTF-8"));
|
||||
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
|
||||
*/
|
||||
QCoreApplication::setOrganizationName(COMPANY);
|
||||
QCoreApplication::setApplicationName(APPLICATION_NAME);
|
||||
QCoreApplication::setApplicationVersion(SDRANGEL_VERSION);
|
||||
@ -56,29 +44,6 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); //HiDPI pixmaps
|
||||
QCoreApplication::setAttribute(Qt::AA_ShareOpenGLContexts); // Needed for WebGL in QWebEngineView and MainWindow::openGLVersion
|
||||
#endif
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(5, 10, 0)) && (QT_VERSION <= QT_VERSION_CHECK(6, 0, 0))
|
||||
QApplication::setAttribute(Qt::AA_DisableWindowContextHelpButton);
|
||||
#endif
|
||||
#if (QT_VERSION >= QT_VERSION_CHECK(6, 4, 0))
|
||||
// Only use OpenGL, to easily combine QOpenGLWidget, QQuickWidget and QWebEngine
|
||||
// in a single window
|
||||
// See https://www.qt.io/blog/qt-quick-and-widgets-qt-6.4-edition
|
||||
// This prevents Direct3D/Vulcan being used on Windows/Mac though for QQuickWidget
|
||||
// and QWebEngine, so possibly should be reviewed in the future
|
||||
QQuickWindow::setGraphicsApi(QSGRendererInterface::OpenGL);
|
||||
#endif
|
||||
#ifndef ANDROID
|
||||
QApplication::setAttribute(Qt::AA_DontUseNativeDialogs); // Don't use on Android, otherwise we can't access files on internal storage
|
||||
#endif
|
||||
|
||||
// Set UI scale factor for High DPI displays
|
||||
QSettings settings;
|
||||
QString uiScaleFactor = "graphics.ui_scale_factor";
|
||||
if (settings.contains(uiScaleFactor))
|
||||
{
|
||||
QString scaleFactor = settings.value(uiScaleFactor).toString();
|
||||
qputenv("QT_SCALE_FACTOR", scaleFactor.toLatin1());
|
||||
}
|
||||
|
||||
QApplication a(argc, argv);
|
||||
|
||||
@ -105,10 +70,6 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
palette.setColor(QPalette::LinkVisited, QColor(0,0xa0,0xa0).lighter());
|
||||
palette.setColor(QPalette::Highlight, QColor(0xff, 0x8c, 0x00));
|
||||
palette.setColor(QPalette::HighlightedText, Qt::black);
|
||||
|
||||
palette.setColor(QPalette::Disabled, QPalette::WindowText, Qt::gray);
|
||||
palette.setColor(QPalette::Disabled, QPalette::Text, Qt::gray);
|
||||
palette.setColor(QPalette::Disabled, QPalette::ButtonText, Qt::gray);
|
||||
qApp->setPalette(palette);
|
||||
|
||||
#if 0
|
||||
@ -141,20 +102,6 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef ANDROID
|
||||
// Default sized sliders can be hard to move using touch GUIs, so increase size
|
||||
// FIXME: How can we do a double border around the handle, as Fusion style seems to use?
|
||||
// Dialog borders are hard to see as is (perhaps as Android doesn't have a title bar), so use same color as for MDI
|
||||
qApp->setStyleSheet("QSlider {min-height: 20px; } "
|
||||
"QSlider::groove:horizontal { border: 1px solid #2e2e2e; height: 1px; background: #444444; margin: 1px 0;}"
|
||||
"QSlider::handle:horizontal { background: #585858; border: 1px double #676767; width: 16px; margin: -8px 0px; border-radius: 3px;}"
|
||||
"QSlider::sub-page {background: #ff8c00; border: 1px solid #2e2e2e;border-top-right-radius: 0px;border-bottom-right-radius: 0px;border-top-left-radius: 5px;border-bottom-left-radius: 5px;}"
|
||||
"QSlider::add-page {background: #444444; border: 1px solid #2e2e2e;border-top-right-radius: 5px;border-bottom-right-radius: 5px;border-top-left-radius: 0px;border-bottom-left-radius: 0px;}"
|
||||
"QDialog { border: 1px solid #ff8c00;}"
|
||||
);
|
||||
#endif
|
||||
|
||||
MainParser parser;
|
||||
parser.parse(*qApp);
|
||||
|
||||
@ -172,7 +119,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
#else
|
||||
qInfo("%s %s Qt %s %db DSP Rx:%db Tx:%db PID: %lld",
|
||||
qPrintable(qApp->applicationName()),
|
||||
qPrintable(qApp->applicationVersion()),
|
||||
qPrintable((qApp->applicationVersion()),
|
||||
qPrintable(QString(QT_VERSION_STR)),
|
||||
QT_POINTER_SIZE*8,
|
||||
SDR_RX_SAMP_SZ,
|
||||
@ -180,24 +127,8 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
applicationPid);
|
||||
#endif
|
||||
|
||||
if (parser.getListDevices())
|
||||
{
|
||||
// Disable log on console, so we can more easily see device list
|
||||
logger->setConsoleMinMessageLevel(QtFatalMsg);
|
||||
// Don't pass logger to MainWindow, otherwise it can re-enable log output
|
||||
logger = nullptr;
|
||||
}
|
||||
|
||||
MainWindow w(logger, parser);
|
||||
|
||||
w.show();
|
||||
|
||||
if (parser.getListDevices())
|
||||
{
|
||||
// List available physical devices and exit
|
||||
RemoteTCPSinkStarter::listAvailableDevices();
|
||||
return EXIT_SUCCESS;
|
||||
}
|
||||
MainWindow w(logger, parser);
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
||||
@ -208,40 +139,22 @@ int main(int argc, char* argv[])
|
||||
// Request OpenGL 3.3 context, needed for glspectrum and 3D Map feature
|
||||
// Note that Mac only supports CoreProfile, so any deprecated OpenGL 2 features
|
||||
// will not work. Because of this, we have two versions of the shaders:
|
||||
// OpenGL 2 versions for compatibility with older drivers and OpenGL 3.3
|
||||
// OpenGL 2 versions for compatiblity with older drivers and OpenGL 3.3
|
||||
// versions for newer drivers
|
||||
#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
|
||||
QGLFormat fmt;
|
||||
fmt.setVersion(3, 3);
|
||||
fmt.setProfile(QGLFormat::CoreProfile);
|
||||
QGLFormat::setDefaultFormat(fmt);
|
||||
#endif
|
||||
QSurfaceFormat sfc;
|
||||
sfc.setVersion(3, 3);
|
||||
sfc.setProfile(QSurfaceFormat::CoreProfile);
|
||||
QSurfaceFormat::setDefaultFormat(sfc);
|
||||
|
||||
// Request authorization for access to camera and microphone (mac/auth.mm)
|
||||
extern int authCameraAndMic();
|
||||
if (authCameraAndMic() < 0) {
|
||||
qWarning("Failed to authorize access to camera and microphone. Enable access in System Settings > Privacy & Security");
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef ANDROID
|
||||
qtwebapp::LoggerWithFile *logger = nullptr;
|
||||
qInstallMessageHandler(Android::messageHandler);
|
||||
#else
|
||||
qtwebapp::LoggerWithFile *logger = new qtwebapp::LoggerWithFile(qApp);
|
||||
qtwebapp::LoggerWithFile *logger = new qtwebapp::LoggerWithFile(qApp);
|
||||
logger->installMsgHandler();
|
||||
#endif
|
||||
|
||||
int res = runQtApplication(argc, argv, logger);
|
||||
|
||||
if (logger) {
|
||||
delete logger;
|
||||
}
|
||||
|
||||
delete logger;
|
||||
qWarning("SDRangel quit.");
|
||||
return res;
|
||||
}
|
||||
|
@ -1,10 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2019 Davide Gerhard <rainbow@irh.it> //
|
||||
// Copyright (C) 2020 Kacper Michajłow <kasper93@gmail.com> //
|
||||
// Copyright (C) 2023 Daniele Forsi <iu5hkx@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB. //
|
||||
// //
|
||||
// Swagger server adapter interface //
|
||||
// //
|
||||
@ -92,7 +87,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
#else
|
||||
qInfo("%s %s Qt %s %db DSP Rx:%db Tx:%db PID %lld",
|
||||
qPrintable(QCoreApplication::applicationName()),
|
||||
qPrintable(QCoreApplication::>applicationVersion()),
|
||||
qPrintable((QCoreApplication::>applicationVersion()),
|
||||
qPrintable(QString(QT_VERSION_STR)),
|
||||
QT_POINTER_SIZE*8,
|
||||
SDR_RX_SAMP_SZ,
|
||||
|
@ -1,10 +1,7 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2019 Davide Gerhard <rainbow@irh.it> //
|
||||
// Copyright (C) 2023 Jon Beniston, M7RCE <jon@beniston.com> //
|
||||
// Copyright (C) 2023 Daniele Forsi <iu5hkx@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB. //
|
||||
// //
|
||||
// Swagger server adapter interface //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -29,7 +26,6 @@
|
||||
#include "loggerwithfile.h"
|
||||
#include "mainparser.h"
|
||||
#include "mainserver.h"
|
||||
#include "remotetcpsinkstarter.h"
|
||||
#include "dsp/dsptypes.h"
|
||||
|
||||
void handler(int sig) {
|
||||
@ -88,7 +84,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
#else
|
||||
qInfo("%s %s Qt %s %db DSP Rx:%db Tx:%db PID %lld",
|
||||
qPrintable(QCoreApplication::applicationName()),
|
||||
qPrintable(QCoreApplication::>applicationVersion()),
|
||||
qPrintable((QCoreApplication::>applicationVersion()),
|
||||
qPrintable(QString(QT_VERSION_STR)),
|
||||
QT_POINTER_SIZE*8,
|
||||
SDR_RX_SAMP_SZ,
|
||||
@ -96,39 +92,20 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
QCoreApplication::applicationPid());
|
||||
#endif
|
||||
|
||||
if (parser.getListDevices())
|
||||
{
|
||||
// Disable log on console, so we can more easily see device list
|
||||
logger->setConsoleMinMessageLevel(QtFatalMsg);
|
||||
// Don't pass logger to MainServer, otherwise it can re-enable log output
|
||||
logger = nullptr;
|
||||
}
|
||||
MainServer m(logger, parser, &a);
|
||||
|
||||
MainServer m(logger, parser, &a);
|
||||
// This will cause the application to exit when the main core is finished
|
||||
QObject::connect(&m, SIGNAL(finished()), &a, SLOT(quit()));
|
||||
|
||||
// This will cause the application to exit when the main core is finished
|
||||
QObject::connect(&m, SIGNAL(finished()), &a, SLOT(quit()));
|
||||
return a.exec();
|
||||
}
|
||||
|
||||
if (parser.getListDevices())
|
||||
{
|
||||
// List available physical devices and exit
|
||||
RemoteTCPSinkStarter::listAvailableDevices();
|
||||
exit (EXIT_SUCCESS);
|
||||
}
|
||||
|
||||
if (parser.getRemoteTCPSink()) {
|
||||
RemoteTCPSinkStarter::start(parser);
|
||||
}
|
||||
|
||||
return a.exec();
|
||||
}
|
||||
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
qtwebapp::LoggerWithFile *logger = new qtwebapp::LoggerWithFile(qApp);
|
||||
logger->installMsgHandler();
|
||||
int res = runQtApplication(argc, argv, logger);
|
||||
delete logger;
|
||||
qWarning("SDRangel quit.");
|
||||
return res;
|
||||
}
|
||||
int main(int argc, char* argv[])
|
||||
{
|
||||
qtwebapp::LoggerWithFile *logger = new qtwebapp::LoggerWithFile(qApp);
|
||||
logger->installMsgHandler();
|
||||
int res = runQtApplication(argc, argv, logger);
|
||||
delete logger;
|
||||
qWarning("SDRangel quit.");
|
||||
return res;
|
||||
}
|
||||
|
@ -19,17 +19,7 @@ if(WIN32)
|
||||
endif()
|
||||
|
||||
if(NOT MSVC)
|
||||
add_compile_options(-Wall -Wextra -Wvla -ffast-math -fno-finite-math-only -ftree-vectorize)
|
||||
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Woverloaded-virtual>)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
add_compile_options(-Wno-inconsistent-missing-override)
|
||||
endif()
|
||||
else()
|
||||
# Disable some warnings, so more useful warnings aren't hidden in the noise
|
||||
# 4996 'fopen': This function or variable may be unsafe. Consider using fopen_s instead.
|
||||
# C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
|
||||
# C4305: 'initializing': truncation from 'double' to 'Real'
|
||||
add_compile_options(/wd4996 /wd4267 /wd4305)
|
||||
add_compile_options(-Wall -Wextra -Wvla -Woverloaded-virtual -Wno-inconsistent-missing-override -ffast-math -fno-finite-math-only -ftree-vectorize)
|
||||
endif()
|
||||
|
||||
if (SANITIZE_ADDRESS)
|
||||
|
@ -1,10 +1,6 @@
|
||||
if (Qt6_FOUND)
|
||||
find_package(Qt6Core REQUIRED)
|
||||
else()
|
||||
find_package(Qt5Core REQUIRED)
|
||||
endif()
|
||||
find_package(Qt5Core REQUIRED)
|
||||
|
||||
get_target_property(_qmake_executable Qt::qmake IMPORTED_LOCATION)
|
||||
get_target_property(_qmake_executable Qt5::qmake IMPORTED_LOCATION)
|
||||
get_filename_component(_qt_bin_dir "${_qmake_executable}" DIRECTORY)
|
||||
|
||||
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${_qt_bin_dir}")
|
||||
@ -24,7 +20,7 @@ function(windeployqt target bindir qmldir)
|
||||
add_custom_command(TARGET ${target} POST_BUILD
|
||||
COMMAND "${CMAKE_COMMAND}" -E
|
||||
env PATH="${_qt_bin_dir}" "${WINDEPLOYQT_EXECUTABLE}"
|
||||
--verbose 2
|
||||
--verbose 1
|
||||
--no-compiler-runtime
|
||||
--dir "${bindir}"
|
||||
--qmldir "${qmldir}"
|
||||
|
@ -1,221 +1,220 @@
|
||||
include_guard(GLOBAL)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
include(CheckSymbolExists)
|
||||
include(CMakePushCheckState)
|
||||
|
||||
# Detect current compilation architecture and create standard definitions
|
||||
macro(detect_architecture symbol arch)
|
||||
if (NOT DEFINED ARCHITECTURE)
|
||||
check_symbol_exists("${symbol}" "" ARCHITECTURE_${arch})
|
||||
|
||||
if (ARCHITECTURE_${arch})
|
||||
set(ARCHITECTURE ${arch})
|
||||
set(ARCHITECTURE_${arch} TRUE)
|
||||
add_compile_definitions(ARCHITECTURE_${arch})
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(force_ext_available extension)
|
||||
message(STATUS "Looking for __${extension}__ - forced found")
|
||||
set(HAS_${extension} 1 CACHE INTERNAL "")
|
||||
endmacro()
|
||||
|
||||
function(detect_extensions extension)
|
||||
unset(HAS_${extension})
|
||||
if (ARGC EQUAL 2 AND (${ARGV1})) # force available
|
||||
force_ext_available(${extension})
|
||||
endif()
|
||||
check_symbol_exists("__${extension}__" "" HAS_${extension})
|
||||
if (HAS_${extension})
|
||||
add_compile_definitions(USE_${extension})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(detect_msvc_native_opt)
|
||||
set(TEST_DIR ${PROJECT_SOURCE_DIR}/cmake/test)
|
||||
|
||||
try_run(RUN_AVX512 COMPILE_AVX512 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_avx512.cxx" COMPILE_DEFINITIONS /arch:AVX512)
|
||||
if (COMPILE_AVX512 AND RUN_AVX512 EQUAL 0)
|
||||
set(ARCH_OPT "AVX512" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_AVX2 COMPILE_AVX2 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_avx2.cxx" COMPILE_DEFINITIONS /arch:AVX2)
|
||||
if (COMPILE_AVX2 AND RUN_AVX2 EQUAL 0)
|
||||
set(ARCH_OPT "AVX2" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_AVX COMPILE_AVX "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_avx.cxx" COMPILE_DEFINITIONS /arch:AVX)
|
||||
if (COMPILE_AVX AND RUN_AVX EQUAL 0)
|
||||
set(ARCH_OPT "AVX" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Supporting 32-bit x86, what year is it?
|
||||
set(COMPILE_DEF "")
|
||||
set(ARCH_OPT "" PARENT_SCOPE)
|
||||
if (ARCHITECTURE_x86)
|
||||
set(COMPILE_DEF "/arch:SSE2")
|
||||
set(ARCH_OPT "SSE2" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
try_run(RUN_SSE42 COMPILE_SSE42 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse42.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE42 AND RUN_SSE42 EQUAL 0)
|
||||
force_ext_available(SSE4_2)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSE41 COMPILE_SSE41 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse41.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE41 AND RUN_SSE41 EQUAL 0)
|
||||
force_ext_available(SSE4_1)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSSE3 COMPILE_SSSE3 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_ssse3.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSSE3 AND RUN_SSSE3 EQUAL 0)
|
||||
force_ext_available(SSSE3)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSE3 COMPILE_SSE3 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse3.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE3 AND RUN_SSE3 EQUAL 0)
|
||||
force_ext_available(SSE3)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSE2 COMPILE_SSE2 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse2.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE2 AND RUN_SSE2 EQUAL 0)
|
||||
force_ext_available(SSE2)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (ARCHITECTURE_x86)
|
||||
# At this point we might as well...
|
||||
set(ARCH_OPT "IA32" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
if (MSVC)
|
||||
detect_architecture("_M_AMD64" x86_64)
|
||||
detect_architecture("_M_IX86" x86)
|
||||
detect_architecture("_M_ARM" ARM)
|
||||
detect_architecture("_M_ARM64" ARM64)
|
||||
else()
|
||||
detect_architecture("__x86_64__" x86_64)
|
||||
detect_architecture("__i386__" x86)
|
||||
detect_architecture("__arm__" ARM)
|
||||
detect_architecture("__aarch64__" ARM64)
|
||||
detect_architecture("__PPC64__" PPC64)
|
||||
endif()
|
||||
if (NOT DEFINED ARCHITECTURE)
|
||||
message(FATAL_ERROR "Not supported. Please add needed architecture detection.")
|
||||
endif()
|
||||
|
||||
# Note: On x86 MSVC's /arch:SSE2 enables all SSE intrinsics support and is default option.
|
||||
# On x86_64 MSVC's SSE is supported and enabled, so only AVX selection is needed.
|
||||
|
||||
if (FORCE_SSSE3)
|
||||
message(WARNING "FORCE_SSSE3 flag is deprecated, please use ARCH_OPT option.")
|
||||
set(ARCH_OPT "")
|
||||
if (MSVC)
|
||||
if (ARCHITECTURE_x86)
|
||||
set(ARCH_OPT "SSE2")
|
||||
endif()
|
||||
force_ext_available(SSSE3)
|
||||
else()
|
||||
set(FORCE_OPT "-mssse3")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (FORCE_SSE41)
|
||||
message(WARNING "FORCE_SSE41 flag is deprecated, please use ARCH_OPT option.")
|
||||
set(ARCH_OPT "")
|
||||
if (MSVC)
|
||||
if (ARCHITECTURE_x86)
|
||||
set(ARCH_OPT "SSE2")
|
||||
else()
|
||||
force_ext_available(SSE4_1)
|
||||
endif()
|
||||
else()
|
||||
set(FORCE_OPT "-msse4.1")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
# Glue to make ARCH_OPT more flexible for MSVC
|
||||
if (ARCH_OPT STREQUAL "native")
|
||||
# Some compilers simulating MSVC supports the march flag, so use it if we can
|
||||
check_cxx_compiler_flag("-march=native" MARCH_NATIVE_SUPPORTED)
|
||||
if (NOT MARCH_NATIVE_SUPPORTED)
|
||||
detect_msvc_native_opt()
|
||||
FILE(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/tmp)
|
||||
endif()
|
||||
elseif(ARCH_OPT STREQUAL "SSE4_2")
|
||||
force_ext_available(SSE4_2)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSE4_1")
|
||||
force_ext_available(SSE4_1)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSSE3")
|
||||
force_ext_available(SSSE3)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSE3")
|
||||
force_ext_available(SSE3)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSE2")
|
||||
force_ext_available(SSE2)
|
||||
set(ARCH_OPT "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message(STATUS "Target architecture: ${ARCHITECTURE}-${ARCH_OPT}")
|
||||
|
||||
cmake_push_check_state(RESET)
|
||||
if (ARCH_OPT)
|
||||
if(MSVC AND NOT MARCH_NATIVE_SUPPORTED)
|
||||
set(CMAKE_REQUIRED_FLAGS "/arch:${ARCH_OPT}")
|
||||
add_compile_options(${CMAKE_REQUIRED_FLAGS})
|
||||
elseif (ARCHITECTURE_PPC64)
|
||||
set(CMAKE_REQUIRED_FLAGS "-mcpu=${ARCH_OPT}")
|
||||
add_compile_options(-mcpu=${ARCH_OPT})
|
||||
elseif(ANDROID)
|
||||
else()
|
||||
set(CMAKE_REQUIRED_FLAGS "-march=${ARCH_OPT}")
|
||||
add_compile_options(-march=${ARCH_OPT})
|
||||
endif()
|
||||
elseif(FORCE_SSSE3 OR FORCE_SSE41)
|
||||
if (NOT MSVC)
|
||||
set(CMAKE_REQUIRED_FLAGS ${FORCE_OPT})
|
||||
add_compile_options(${FORCE_OPT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
check_cxx_compiler_flag("${CMAKE_REQUIRED_FLAGS}" FLAG_SUPPORTED)
|
||||
if (NOT FLAG_SUPPORTED)
|
||||
message(FATAL_ERROR "Flag '${CMAKE_REQUIRED_FLAGS}' rejected by compiler. Please adjust ARCH_OPT option.")
|
||||
endif()
|
||||
|
||||
if (ARCHITECTURE_ARM)
|
||||
if (MSVC)
|
||||
force_ext_available(ARM_NEON)
|
||||
else()
|
||||
list(APPEND CMAKE_REQUIRED_FLAGS -mfpu=neon)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Extensions detection for ARM
|
||||
check_symbol_exists("__ARM_NEON" "" HAS_NEON)
|
||||
if (HAS_NEON)
|
||||
message(STATUS "ARM Neon extensions enabled")
|
||||
add_compile_definitions(USE_NEON)
|
||||
endif()
|
||||
|
||||
# This is quite basic detection, can be extended if needed
|
||||
detect_extensions(AVX512F)
|
||||
detect_extensions(AVX2 HAS_AVX512F)
|
||||
detect_extensions(AVX HAS_AVX2)
|
||||
detect_extensions(SSE4_2 HAS_AVX)
|
||||
detect_extensions(SSE4_1 HAS_SSE4_2)
|
||||
detect_extensions(SSSE3 HAS_SSE4_1)
|
||||
detect_extensions(SSE3 HAS_SSSE3)
|
||||
detect_extensions(SSE2 HAS_SSE3)
|
||||
|
||||
cmake_pop_check_state()
|
||||
include_guard(GLOBAL)
|
||||
|
||||
include(CheckCXXCompilerFlag)
|
||||
include(CheckSymbolExists)
|
||||
include(CMakePushCheckState)
|
||||
|
||||
# Detect current compilation architecture and create standard definitions
|
||||
macro(detect_architecture symbol arch)
|
||||
if (NOT DEFINED ARCHITECTURE)
|
||||
check_symbol_exists("${symbol}" "" ARCHITECTURE_${arch})
|
||||
|
||||
if (ARCHITECTURE_${arch})
|
||||
set(ARCHITECTURE ${arch})
|
||||
set(ARCHITECTURE_${arch} TRUE)
|
||||
add_compile_definitions(ARCHITECTURE_${arch})
|
||||
endif()
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
macro(force_ext_available extension)
|
||||
message(STATUS "Looking for __${extension}__ - forced found")
|
||||
set(HAS_${extension} 1 CACHE INTERNAL "")
|
||||
endmacro()
|
||||
|
||||
function(detect_extensions extension)
|
||||
unset(HAS_${extension})
|
||||
if (ARGC EQUAL 2 AND (${ARGV1})) # force available
|
||||
force_ext_available(${extension})
|
||||
endif()
|
||||
check_symbol_exists("__${extension}__" "" HAS_${extension})
|
||||
if (HAS_${extension})
|
||||
add_compile_definitions(USE_${extension})
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(detect_msvc_native_opt)
|
||||
set(TEST_DIR ${PROJECT_SOURCE_DIR}/cmake/test)
|
||||
|
||||
try_run(RUN_AVX512 COMPILE_AVX512 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_avx512.cxx" COMPILE_DEFINITIONS /arch:AVX512)
|
||||
if (COMPILE_AVX512 AND RUN_AVX512 EQUAL 0)
|
||||
set(ARCH_OPT "AVX512" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_AVX2 COMPILE_AVX2 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_avx2.cxx" COMPILE_DEFINITIONS /arch:AVX2)
|
||||
if (COMPILE_AVX2 AND RUN_AVX2 EQUAL 0)
|
||||
set(ARCH_OPT "AVX2" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_AVX COMPILE_AVX "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_avx.cxx" COMPILE_DEFINITIONS /arch:AVX)
|
||||
if (COMPILE_AVX AND RUN_AVX EQUAL 0)
|
||||
set(ARCH_OPT "AVX" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
|
||||
# Supporting 32-bit x86, what year is it?
|
||||
set(COMPILE_DEF "")
|
||||
set(ARCH_OPT "" PARENT_SCOPE)
|
||||
if (ARCHITECTURE_x86)
|
||||
set(COMPILE_DEF "/arch:SSE2")
|
||||
set(ARCH_OPT "SSE2" PARENT_SCOPE)
|
||||
endif()
|
||||
|
||||
try_run(RUN_SSE42 COMPILE_SSE42 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse42.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE42 AND RUN_SSE42 EQUAL 0)
|
||||
force_ext_available(SSE4_2)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSE41 COMPILE_SSE41 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse41.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE41 AND RUN_SSE41 EQUAL 0)
|
||||
force_ext_available(SSE4_1)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSSE3 COMPILE_SSSE3 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_ssse3.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSSE3 AND RUN_SSSE3 EQUAL 0)
|
||||
force_ext_available(SSSE3)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSE3 COMPILE_SSE3 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse3.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE3 AND RUN_SSE3 EQUAL 0)
|
||||
force_ext_available(SSE3)
|
||||
return()
|
||||
endif()
|
||||
try_run(RUN_SSE2 COMPILE_SSE2 "${CMAKE_BINARY_DIR}/tmp" "${TEST_DIR}/test_x86_sse2.cxx" COMPILE_DEFINITIONS ${COMPILE_DEF})
|
||||
if (COMPILE_SSE2 AND RUN_SSE2 EQUAL 0)
|
||||
force_ext_available(SSE2)
|
||||
return()
|
||||
endif()
|
||||
|
||||
if (ARCHITECTURE_x86)
|
||||
# At this point we might as well...
|
||||
set(ARCH_OPT "IA32" PARENT_SCOPE)
|
||||
return()
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
if (MSVC)
|
||||
detect_architecture("_M_AMD64" x86_64)
|
||||
detect_architecture("_M_IX86" x86)
|
||||
detect_architecture("_M_ARM" ARM)
|
||||
detect_architecture("_M_ARM64" ARM64)
|
||||
else()
|
||||
detect_architecture("__x86_64__" x86_64)
|
||||
detect_architecture("__i386__" x86)
|
||||
detect_architecture("__arm__" ARM)
|
||||
detect_architecture("__aarch64__" ARM64)
|
||||
detect_architecture("__PPC64__" PPC64)
|
||||
endif()
|
||||
if (NOT DEFINED ARCHITECTURE)
|
||||
message(FATAL_ERROR "Not supported. Please add needed architecture detection.")
|
||||
endif()
|
||||
|
||||
# Note: On x86 MSVC's /arch:SSE2 enables all SSE intrinsics support and is default option.
|
||||
# On x86_64 MSVC's SSE is supported and enabled, so only AVX selection is needed.
|
||||
|
||||
if (FORCE_SSSE3)
|
||||
message(WARNING "FORCE_SSSE3 flag is deprecated, please use ARCH_OPT option.")
|
||||
set(ARCH_OPT "")
|
||||
if (MSVC)
|
||||
if (ARCHITECTURE_x86)
|
||||
set(ARCH_OPT "SSE2")
|
||||
endif()
|
||||
force_ext_available(SSSE3)
|
||||
else()
|
||||
set(FORCE_OPT "-mssse3")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (FORCE_SSE41)
|
||||
message(WARNING "FORCE_SSE41 flag is deprecated, please use ARCH_OPT option.")
|
||||
set(ARCH_OPT "")
|
||||
if (MSVC)
|
||||
if (ARCHITECTURE_x86)
|
||||
set(ARCH_OPT "SSE2")
|
||||
else()
|
||||
force_ext_available(SSE4_1)
|
||||
endif()
|
||||
else()
|
||||
set(FORCE_OPT "-msse4.1")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
# Glue to make ARCH_OPT more flexible for MSVC
|
||||
if (ARCH_OPT STREQUAL "native")
|
||||
# Some compilers simulating MSVC supports the march flag, so use it if we can
|
||||
check_cxx_compiler_flag("-march=native" MARCH_NATIVE_SUPPORTED)
|
||||
if (NOT MARCH_NATIVE_SUPPORTED)
|
||||
detect_msvc_native_opt()
|
||||
FILE(REMOVE_RECURSE ${CMAKE_BINARY_DIR}/tmp)
|
||||
endif()
|
||||
elseif(ARCH_OPT STREQUAL "SSE4_2")
|
||||
force_ext_available(SSE4_2)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSE4_1")
|
||||
force_ext_available(SSE4_1)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSSE3")
|
||||
force_ext_available(SSSE3)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSE3")
|
||||
force_ext_available(SSE3)
|
||||
set(ARCH_OPT "")
|
||||
elseif(ARCH_OPT STREQUAL "SSE2")
|
||||
force_ext_available(SSE2)
|
||||
set(ARCH_OPT "")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
message(STATUS "Target architecture: ${ARCHITECTURE}-${ARCH_OPT}")
|
||||
|
||||
cmake_push_check_state(RESET)
|
||||
if (ARCH_OPT)
|
||||
if(MSVC AND NOT MARCH_NATIVE_SUPPORTED)
|
||||
set(CMAKE_REQUIRED_FLAGS "/arch:${ARCH_OPT}")
|
||||
add_compile_options(${CMAKE_REQUIRED_FLAGS})
|
||||
elseif (ARCHITECTURE_PPC64)
|
||||
set(CMAKE_REQUIRED_FLAGS "-mcpu=${ARCH_OPT}")
|
||||
add_compile_options(-mcpu=${ARCH_OPT})
|
||||
else()
|
||||
set(CMAKE_REQUIRED_FLAGS "-march=${ARCH_OPT}")
|
||||
add_compile_options(-march=${ARCH_OPT})
|
||||
endif()
|
||||
elseif(FORCE_SSSE3 OR FORCE_SSE41)
|
||||
if (NOT MSVC)
|
||||
set(CMAKE_REQUIRED_FLAGS ${FORCE_OPT})
|
||||
add_compile_options(${FORCE_OPT})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
check_cxx_compiler_flag("${CMAKE_REQUIRED_FLAGS}" FLAG_SUPPORTED)
|
||||
if (NOT FLAG_SUPPORTED)
|
||||
message(FATAL_ERROR "Flag '${CMAKE_REQUIRED_FLAGS}' rejected by compiler. Please adjust ARCH_OPT option.")
|
||||
endif()
|
||||
|
||||
if (ARCHITECTURE_ARM)
|
||||
if (MSVC)
|
||||
force_ext_available(ARM_NEON)
|
||||
else()
|
||||
list(APPEND CMAKE_REQUIRED_FLAGS -mfpu=neon)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# Extensions detection for ARM
|
||||
check_symbol_exists("__ARM_NEON" "" HAS_NEON)
|
||||
if (HAS_NEON)
|
||||
message(STATUS "ARM Neon extensions enabled")
|
||||
add_compile_definitions(USE_NEON)
|
||||
endif()
|
||||
|
||||
# This is quite basic detection, can be extended if needed
|
||||
detect_extensions(AVX512F)
|
||||
detect_extensions(AVX2 HAS_AVX512F)
|
||||
detect_extensions(AVX HAS_AVX2)
|
||||
detect_extensions(SSE4_2 HAS_AVX)
|
||||
detect_extensions(SSE4_1 HAS_SSE4_2)
|
||||
detect_extensions(SSSE3 HAS_SSE4_1)
|
||||
detect_extensions(SSE3 HAS_SSSE3)
|
||||
detect_extensions(SSE2 HAS_SSE3)
|
||||
|
||||
cmake_pop_check_state()
|
||||
|
@ -1,31 +0,0 @@
|
||||
IF(NOT FLAC_FOUND)
|
||||
INCLUDE(FindPkgConfig)
|
||||
PKG_CHECK_MODULES(PC_FLAC flac)
|
||||
|
||||
FIND_PATH(
|
||||
FLAC_INCLUDE_DIR
|
||||
NAMES FLAC/stream_encoder.h
|
||||
HINTS ${PC_FLAC_INCLUDE_DIRS}
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
FLAC_LIBRARY
|
||||
NAMES FLAC
|
||||
libFLAC
|
||||
HINTS ${FLAC_DIR}/lib
|
||||
${PC_FLAC_LIBRARY_DIRS}
|
||||
PATHS /usr/local/lib
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
)
|
||||
|
||||
message(STATUS "FLAC LIBRARY " ${FLAC_LIBRARY})
|
||||
message(STATUS "FLAC INCLUDE DIR " ${FLAC_INCLUDE_DIR})
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(FLAC DEFAULT_MSG FLAC_LIBRARY FLAC_INCLUDE_DIR)
|
||||
MARK_AS_ADVANCED(FLAC_LIBRARY FLAC_INCLUDE_DIR)
|
||||
|
||||
ENDIF(NOT FLAC_FOUND)
|
@ -1,38 +0,0 @@
|
||||
if (NOT GGMORSE_FOUND)
|
||||
INCLUDE(FindPkgConfig)
|
||||
PKG_CHECK_MODULES(PC_GGMorse "libggmorse")
|
||||
|
||||
FIND_PATH(GGMORSE_INCLUDE_DIR
|
||||
NAMES ggmorse/ggmorse.h
|
||||
HINTS ${GGMORSE_DIR}/include
|
||||
${PC_GGMORSE_INCLUDE_DIR}
|
||||
${CMAKE_INSTALL_PREFIX}/include
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(GGMORSE_LIBRARIES
|
||||
NAMES ggmorse libggmorse
|
||||
HINTS ${GGMORSE_DIR}/lib
|
||||
${GGMORSE_DIR}/lib64
|
||||
${PC_GGMORSE_LIBDIR}
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
PATHS /usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
)
|
||||
|
||||
if (GGMORSE_INCLUDE_DIR AND GGMORSE_LIBRARIES)
|
||||
set(GGMORSE_FOUND TRUE CACHE INTERNAL "GGMorse found")
|
||||
message(STATUS "Found GGMorse: ${GGMORSE_INCLUDE_DIR}, ${GGMORSE_LIBRARIES}")
|
||||
else (GGMORSE_INCLUDE_DIR AND GGMORSE_LIBRARIES)
|
||||
set(GGMORSE_FOUND FALSE CACHE INTERNAL "GGMorse found")
|
||||
message(STATUS "GGMorse not found")
|
||||
endif (GGMORSE_INCLUDE_DIR AND GGMORSE_LIBRARIES)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(GGMORSE DEFAULT_MSG GGMORSE_LIBRARIES GGMORSE_INCLUDE_DIR)
|
||||
MARK_AS_ADVANCED(GGMORSE_LIBRARIES GGMORSE_INCLUDE_DIR)
|
||||
endif (NOT GGMORSE_FOUND)
|
@ -1,49 +0,0 @@
|
||||
# - Try to find hamlib
|
||||
# Once done, this will define:
|
||||
#
|
||||
# hamlib_FOUND - system has Hamlib-2
|
||||
# hamlib_INCLUDE_DIRS - the Hamlib-2 include directories
|
||||
# hamlib_LIBRARIES - link these to use Hamlib-2
|
||||
|
||||
if (NOT hamlib_FOUND)
|
||||
|
||||
include (LibFindMacros)
|
||||
|
||||
# Use pkg-config to get hints about paths
|
||||
libfind_pkg_check_modules (hamlib_PKGCONF hamlib)
|
||||
|
||||
FIND_PATH(hamlib_INCLUDE_DIRS
|
||||
NAMES hamlib/rig.h
|
||||
HINTS ${HAMLIB_DIR}/include
|
||||
${hamlib_PKGCONF_INCLUDE_DIRS}
|
||||
${CMAKE_INSTALL_PREFIX}/include
|
||||
PATHS /usr/local/include
|
||||
/usr/include
|
||||
)
|
||||
|
||||
FIND_LIBRARY(hamlib_LIBRARIES
|
||||
NAMES hamlib
|
||||
HINTS ${HAMLIB_DIR}/lib
|
||||
${HAMLIB_DIR}/lib64
|
||||
${hamlib_PKGCONF_LIBRARY_DIRS}
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
PATHS /usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
)
|
||||
|
||||
if(hamlib_INCLUDE_DIRS AND hamlib_LIBRARIES)
|
||||
set(hamlib_FOUND TRUE CACHE INTERNAL "Hamlib found")
|
||||
message(STATUS "Found Hamlib: ${hamlib_INCLUDE_DIRS}, ${hamlib_LIBRARIES}")
|
||||
else()
|
||||
set(hamlib_FOUND FALSE CACHE INTERNAL "Hamlib found")
|
||||
message(STATUS "Hamlib not found")
|
||||
endif()
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(HAMLIB DEFAULT_MSG hamlib_LIBRARIES hamlib_INCLUDE_DIRS)
|
||||
MARK_AS_ADVANCED(hamlib_LIBRARIES hamlib_INCLUDE_DIRS)
|
||||
|
||||
endif (NOT hamlib_FOUND)
|
@ -5,9 +5,9 @@ IF(NOT SGP4_FOUND)
|
||||
FIND_PATH(
|
||||
SGP4_INCLUDE_DIR
|
||||
NAMES SGP4.h
|
||||
HINTS ${SGP4_DIR}/include/libsgp4
|
||||
PATHS /usr/local/include/libsgp4
|
||||
/usr/include/libsgp4
|
||||
HINTS ${SGP4_DIR}/include/SGP4
|
||||
PATHS /usr/local/include/SGP4
|
||||
/usr/include/SGP4
|
||||
)
|
||||
|
||||
FIND_LIBRARY(
|
||||
|
@ -9,45 +9,44 @@ if(NOT SOAPYSDR_FOUND)
|
||||
set(${VERSION} "${CMAKE_MATCH_1}" PARENT_SCOPE)
|
||||
endfunction(_SOAPY_SDR_GET_ABI_VERSION)
|
||||
|
||||
pkg_search_module (SOAPYSDR SoapySDR>=0.4.0)
|
||||
pkg_search_module (LIBSOAPYSDR_PKG soapysdr>=0.4.0 SoapySDR>=0.4.0)
|
||||
|
||||
if(NOT SOAPYSDR_FOUND OR (DEFINED SOAPYSDR_DIR))
|
||||
if(NOT LIBSOAPYSDR_PKG_FOUND OR (DEFINED SOAPYSDR_DIR))
|
||||
|
||||
find_path (SOAPYSDR_INCLUDE_DIRS
|
||||
find_path (SOAPYSDR_INCLUDE_DIR
|
||||
NAMES SoapySDR/Version.h
|
||||
HINTS ${SOAPYSDR_DIR}/include
|
||||
${LIBSOAPYSDR_PKG_INCLUDE_DIRS}
|
||||
PATHS /usr/include
|
||||
/usr/local/include
|
||||
)
|
||||
)
|
||||
|
||||
find_library (SOAPYSDR_LINK_LIBRARIES
|
||||
find_library (SOAPYSDR_LIBRARY
|
||||
NAMES SoapySDR
|
||||
HINTS ${SOAPYSDR_DIR}/lib
|
||||
${SOAPYSDR_DIR}/lib64
|
||||
${CMAKE_INSTALL_PREFIX}/lib
|
||||
${CMAKE_INSTALL_PREFIX}/lib64
|
||||
${LIBSOAPYSDR_PKG_LIBRARY_DIRS}
|
||||
PATHS /usr/local/lib
|
||||
/usr/local/lib64
|
||||
/usr/lib
|
||||
/usr/lib64
|
||||
)
|
||||
)
|
||||
|
||||
if (SOAPYSDR_INCLUDE_DIRS AND SOAPYSDR_LINK_LIBRARIES)
|
||||
if (SOAPYSDR_INCLUDE_DIR AND SOAPYSDR_LIBRARY)
|
||||
set(SOAPYSDR_FOUND TRUE)
|
||||
# get the root of SoapySDR; used on cpack
|
||||
string(REGEX REPLACE "/lib/.*${CMAKE_SHARED_LIBRARY_SUFFIX}" "" SOAPYSDR_LIBDIR ${SOAPYSDR_LINK_LIBRARIES})
|
||||
# get the soapy version
|
||||
_SOAPY_SDR_GET_ABI_VERSION(SOAPYSDR_VERSION ${SOAPYSDR_INCLUDE_DIRS})
|
||||
string(REGEX REPLACE "/lib/.*${CMAKE_SHARED_LIBRARY_SUFFIX}" "" SOAPYSDR_ROOT ${SOAPYSDR_LIBRARY})
|
||||
# get the soapy version; to using FindPkgConfig because we can use SOAPYSDR_DIR
|
||||
_SOAPY_SDR_GET_ABI_VERSION(SOAPYSDR_ABI_VERSION ${SOAPYSDR_INCLUDE_DIR})
|
||||
message (STATUS "Found SoapySDR: ${SOAPYSDR_INCLUDE_DIR}, ${SOAPYSDR_LIBRARY}")
|
||||
else()
|
||||
message (STATUS "SoapySDR not found")
|
||||
endif()
|
||||
|
||||
endif(NOT SOAPYSDR_FOUND OR (DEFINED SOAPYSDR_DIR))
|
||||
mark_as_advanced(SOAPYSDR_INCLUDE_DIR SOAPYSDR_LIBRARY SOAPYSDR_ROOT SOAPYSDR_ABI_VERSION)
|
||||
|
||||
if (SOAPYSDR_FOUND)
|
||||
message (STATUS "Found SoapySDR: version ${SOAPYSDR_VERSION}, ${SOAPYSDR_LIBDIR}, ${SOAPYSDR_INCLUDE_DIRS}, ${SOAPYSDR_LINK_LIBRARIES}")
|
||||
else()
|
||||
message (STATUS "SoapySDR not found")
|
||||
endif()
|
||||
|
||||
mark_as_advanced(SOAPYSDR_INCLUDE_DIRS SOAPYSDR_LINK_LIBRARIES SOAPYSDR_LIBDIR SOAPYSDR_VERSION)
|
||||
endif(NOT LIBSOAPYSDR_PKG_FOUND OR (DEFINED SOAPYSDR_DIR))
|
||||
|
||||
endif(NOT SOAPYSDR_FOUND)
|
||||
|
@ -1,98 +0,0 @@
|
||||
# Works the same as find_package, but forwards the "REQUIRED" and "QUIET" arguments
|
||||
# used for the current package. For this to work, the first parameter must be the
|
||||
# prefix of the current package, then the prefix of the new package etc, which are
|
||||
# passed to find_package.
|
||||
macro (libfind_package PREFIX)
|
||||
set (LIBFIND_PACKAGE_ARGS ${ARGN})
|
||||
if (${PREFIX}_FIND_QUIETLY)
|
||||
set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} QUIET)
|
||||
endif (${PREFIX}_FIND_QUIETLY)
|
||||
if (${PREFIX}_FIND_REQUIRED)
|
||||
set (LIBFIND_PACKAGE_ARGS ${LIBFIND_PACKAGE_ARGS} REQUIRED)
|
||||
endif (${PREFIX}_FIND_REQUIRED)
|
||||
find_package(${LIBFIND_PACKAGE_ARGS})
|
||||
endmacro (libfind_package)
|
||||
|
||||
# CMake developers made the UsePkgConfig system deprecated in the same release (2.6)
|
||||
# where they added pkg_check_modules. Consequently I need to support both in my scripts
|
||||
# to avoid those deprecated warnings. Here's a helper that does just that.
|
||||
# Works identically to pkg_check_modules, except that no checks are needed prior to use.
|
||||
macro (libfind_pkg_check_modules PREFIX PKGNAME)
|
||||
if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||
include(UsePkgConfig)
|
||||
pkgconfig(${PKGNAME} ${PREFIX}_INCLUDE_DIRS ${PREFIX}_LIBRARY_DIRS ${PREFIX}_LDFLAGS ${PREFIX}_CFLAGS)
|
||||
else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||
find_package(PkgConfig)
|
||||
if (PKG_CONFIG_FOUND)
|
||||
pkg_check_modules(${PREFIX} ${PKGNAME})
|
||||
endif (PKG_CONFIG_FOUND)
|
||||
endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
|
||||
endmacro (libfind_pkg_check_modules)
|
||||
|
||||
# Do the final processing once the paths have been detected.
|
||||
# If include dirs are needed, ${PREFIX}_PROCESS_INCLUDES should be set to contain
|
||||
# all the variables, each of which contain one include directory.
|
||||
# Ditto for ${PREFIX}_PROCESS_LIBS and library files.
|
||||
# Will set ${PREFIX}_FOUND, ${PREFIX}_INCLUDE_DIRS and ${PREFIX}_LIBRARIES.
|
||||
# Also handles errors in case library detection was required, etc.
|
||||
macro (libfind_process PREFIX)
|
||||
# Skip processing if already processed during this run
|
||||
if (NOT ${PREFIX}_FOUND)
|
||||
# Start with the assumption that the library was found
|
||||
set (${PREFIX}_FOUND TRUE)
|
||||
|
||||
# Process all includes and set _FOUND to false if any are missing
|
||||
foreach (i ${${PREFIX}_PROCESS_INCLUDES})
|
||||
if (${i})
|
||||
set (${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIRS} ${${i}})
|
||||
mark_as_advanced(${i})
|
||||
else (${i})
|
||||
set (${PREFIX}_FOUND FALSE)
|
||||
endif (${i})
|
||||
endforeach (i)
|
||||
|
||||
# Process all libraries and set _FOUND to false if any are missing
|
||||
foreach (i ${${PREFIX}_PROCESS_LIBS})
|
||||
if (${i})
|
||||
set (${PREFIX}_LIBRARIES ${${PREFIX}_LIBRARIES} ${${i}})
|
||||
mark_as_advanced(${i})
|
||||
else (${i})
|
||||
set (${PREFIX}_FOUND FALSE)
|
||||
endif (${i})
|
||||
endforeach (i)
|
||||
|
||||
# Print message and/or exit on fatal error
|
||||
if (${PREFIX}_FOUND)
|
||||
if (NOT ${PREFIX}_FIND_QUIETLY)
|
||||
message (STATUS "Found ${PREFIX} ${${PREFIX}_VERSION}")
|
||||
endif (NOT ${PREFIX}_FIND_QUIETLY)
|
||||
else (${PREFIX}_FOUND)
|
||||
if (${PREFIX}_FIND_REQUIRED)
|
||||
foreach (i ${${PREFIX}_PROCESS_INCLUDES} ${${PREFIX}_PROCESS_LIBS})
|
||||
message("${i}=${${i}}")
|
||||
endforeach (i)
|
||||
message (FATAL_ERROR "Required library ${PREFIX} NOT FOUND.\nInstall the library (dev version) and try again. If the library is already installed, use ccmake to set the missing variables manually.")
|
||||
endif (${PREFIX}_FIND_REQUIRED)
|
||||
endif (${PREFIX}_FOUND)
|
||||
endif (NOT ${PREFIX}_FOUND)
|
||||
endmacro (libfind_process)
|
||||
|
||||
macro(libfind_library PREFIX basename)
|
||||
set(TMP "")
|
||||
if(MSVC80)
|
||||
set(TMP -vc80)
|
||||
endif(MSVC80)
|
||||
if(MSVC90)
|
||||
set(TMP -vc90)
|
||||
endif(MSVC90)
|
||||
set(${PREFIX}_LIBNAMES ${basename}${TMP})
|
||||
if(${ARGC} GREATER 2)
|
||||
set(${PREFIX}_LIBNAMES ${basename}${TMP}-${ARGV2})
|
||||
string(REGEX REPLACE "\\." "_" TMP ${${PREFIX}_LIBNAMES})
|
||||
set(${PREFIX}_LIBNAMES ${${PREFIX}_LIBNAMES} ${TMP})
|
||||
endif(${ARGC} GREATER 2)
|
||||
find_library(${PREFIX}_LIBRARY
|
||||
NAMES ${${PREFIX}_LIBNAMES}
|
||||
PATHS ${${PREFIX}_PKGCONF_LIBRARY_DIRS}
|
||||
)
|
||||
endmacro(libfind_library)
|
@ -7,7 +7,7 @@ mkdir -p airspyhf && cd airspyhf
|
||||
git clone https://github.com/airspy/airspyhf.git
|
||||
|
||||
cd airspyhf
|
||||
git reset --hard 1af81c0ca18944b8c9897c3c98dc0a991815b686
|
||||
git reset --hard "1.1.5"
|
||||
mkdir -p build && cd build
|
||||
cmake .. -DINSTALL_UDEV_RULES=ON
|
||||
sudo make install
|
||||
|
@ -6,7 +6,7 @@ cd $HOME
|
||||
mkdir -p external && cd external
|
||||
mkdir -p drowe67 && cd drowe67
|
||||
|
||||
git clone https://github.com/drowe67/codec2-dev.git codec2
|
||||
git clone https://github.com/drowe67/codec2.git
|
||||
|
||||
cd codec2
|
||||
git reset --hard "v1.0.3"
|
||||
|
@ -7,7 +7,7 @@ mkdir -p f4exb && cd f4exb
|
||||
git clone https://github.com/f4exb/dsdcc.git
|
||||
|
||||
cd dsdcc
|
||||
git reset --hard "v1.9.3"
|
||||
git reset --hard "v1.8.7"
|
||||
mkdir -p build && cd build
|
||||
cmake ..
|
||||
sudo make install
|
||||
|
@ -1,13 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd $HOME
|
||||
mkdir -p external && cd external
|
||||
mkdir -p f4exb && cd f4exb
|
||||
|
||||
git clone https://github.com/ggerganov/ggmorse.git
|
||||
|
||||
cd ggmorse
|
||||
mkdir -p build && cd build
|
||||
cmake -DGGMORSE_BUILD_TESTS=OFF -DGGMORSE_BUILD_EXAMPLES=OFF ..
|
||||
sudo make install
|
||||
sudo ldconfig
|
@ -7,7 +7,7 @@ mkdir -p szechyjs && cd szechyjs
|
||||
git clone https://github.com/szechyjs/mbelib.git
|
||||
|
||||
cd mbelib
|
||||
git reset --hard fe83b32c6a60cdd7bce8cecf3c7a0b9ec87a7667
|
||||
git reset --hard 9a04ed5c78176a9965f3d43f7aa1b1f5330e771f
|
||||
mkdir -p build && cd build
|
||||
cmake ..
|
||||
sudo make install
|
||||
|
@ -7,7 +7,7 @@ mkdir -p rtlsdr && cd rtlsdr
|
||||
git clone https://github.com/osmocom/rtl-sdr.git
|
||||
|
||||
cd rtl-sdr
|
||||
git reset --hard 5e73f90f1d85d8db2e583f3dbf1cff052d71d59b
|
||||
git reset --hard be1d1206bfb6e6c41f7d91b20b77e20f929fa6a7
|
||||
mkdir -p build && cd build
|
||||
cmake .. -DDETACH_KERNEL_DRIVER=ON -DINSTALL_UDEV_RULES=ON
|
||||
sudo make install
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/bin/bash -e
|
||||
#!/bin/sh -e
|
||||
|
||||
if [ "${TRAVIS_OS_NAME}" == "linux" ] || [ "${CI_LINUX}" == true ]; then
|
||||
if [ "${TRAVIS_OS_NAME}" == "linux" ] || [ ${CI_LINUX} = true ]; then
|
||||
debuild -i -us -uc -b
|
||||
else
|
||||
mkdir -p build; cd build
|
||||
|
@ -4,5 +4,4 @@ mkdir -p sdrplayapi && cd sdrplayapi
|
||||
|
||||
git clone https://github.com/srcejon/sdrplayapi.git
|
||||
cd sdrplayapi
|
||||
sed -i s/more\ -d/cat/ install_lib.sh
|
||||
sudo yes | bash install_lib.sh
|
||||
sudo yes | sh install_lib.sh
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Stuff qmake can tell us
|
||||
get_target_property (QMAKE_EXECUTABLE Qt::qmake LOCATION)
|
||||
get_target_property (QMAKE_EXECUTABLE Qt5::qmake LOCATION)
|
||||
function (QUERY_QMAKE VAR RESULT)
|
||||
exec_program (${QMAKE_EXECUTABLE} ARGS "-query ${VAR}" RETURN_VALUE return_code OUTPUT_VARIABLE output)
|
||||
if (NOT return_code)
|
||||
@ -36,18 +36,18 @@ if(APPLE AND BUNDLE AND BUILD_GUI)
|
||||
set(CPACK_BUNDLE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns")
|
||||
set(CPACK_BUNDLE_PLIST "${CMAKE_BINARY_DIR}/Info.plist")
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_SOURCE_DIR}/cmake/cpack/sdrangel_icon.icns")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_mac-${CPACK_MACOS_PACKAGE_ARCHITECTURE}_${CMAKE_SYSTEM_PROCESSOR}" CACHE INTERNAL "")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${CMAKE_PROJECT_NAME}-${CPACK_PACKAGE_VERSION}_${CPACK_MACOS_PACKAGE_ARCHITECTURE}_${CMAKE_SYSTEM_PROCESSOR}")
|
||||
set(CPACK_PRE_BUILD_SCRIPTS "${PROJECT_BINARY_DIR}/deploy_mac.cmake")
|
||||
|
||||
# copy SoapySDR Modules
|
||||
# probably libmirsdrapi-rsp.dylib can't be re-distribuited
|
||||
# we remove the file at the end of fixup_bundle
|
||||
if(ENABLE_SOAPYSDR AND SOAPYSDR_FOUND)
|
||||
set(SOAPY_SDR_MOD_PATH "${SOAPYSDR_LIBDIR}/lib/SoapySDR/modules${SOAPYSDR_VERSION}")
|
||||
set(SOAPY_SDR_MOD_PATH "${SOAPYSDR_ROOT}/lib/SoapySDR/modules${SOAPYSDR_ABI_VERSION}")
|
||||
file(GLOB SOAPY_MODS ${SOAPY_SDR_MOD_PATH}/*.so)
|
||||
foreach(SOAPY_MOD_FILE ${SOAPY_MODS})
|
||||
install( FILES "${SOAPY_MOD_FILE}"
|
||||
DESTINATION "../Frameworks/SoapySDR/modules${SOAPYSDR_VERSION}"
|
||||
DESTINATION "../Frameworks/SoapySDR/modules${SOAPYSDR_ABI_VERSION}"
|
||||
COMPONENT Runtime
|
||||
)
|
||||
endforeach()
|
||||
@ -168,22 +168,6 @@ elseif(WIN32 OR MINGW)
|
||||
endforeach(soapysupport_dll)
|
||||
endif()
|
||||
|
||||
file(GLOB FFTW3F_DLLS "${FFTW3F_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
foreach(fftw3f_dll ${FFTW3F_DLLS})
|
||||
get_filename_component(fftw3f_dll_name "${fftw3f_dll}" NAME)
|
||||
add_custom_target(copy_fftw3f_${fftw3f_dll_name} ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${fftw3f_dll}" "${SDRANGEL_BINARY_BIN_DIR}/"
|
||||
)
|
||||
endforeach(fftw3f_dll)
|
||||
|
||||
file(GLOB LIBUSB_DLLS "${LIBUSB_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
foreach(libusb_dll ${LIBUSB_DLLS})
|
||||
get_filename_component(libusb_dll_name "${libusb_dll}" NAME)
|
||||
add_custom_target(copy_libusb_${libusb_dll_name} ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${libusb_dll}" "${SDRANGEL_BINARY_BIN_DIR}/"
|
||||
)
|
||||
endforeach(libusb_dll)
|
||||
|
||||
file(GLOB CODEC2_DLLS "${CODEC2_DLL_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
foreach(codec2_dll ${CODEC2_DLLS})
|
||||
get_filename_component(codec2_dll_name "${codec2_dll}" NAME)
|
||||
@ -228,32 +212,11 @@ elseif(WIN32 OR MINGW)
|
||||
)
|
||||
endforeach(openssl_dll)
|
||||
|
||||
file(GLOB LIBSIGMF_DLLS "${LIBSIGMF_DLL_DIR}/libsigmf*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
foreach(libsigmf_dll ${LIBSIGMF_DLLS})
|
||||
get_filename_component(libsigmf_dll_name "${libsigmf_dll}" NAME)
|
||||
add_custom_target(copy_libsigmf_${libsigmf_dll_name} ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${libsigmf_dll}" "${SDRANGEL_BINARY_BIN_DIR}/"
|
||||
)
|
||||
endforeach(libsigmf_dll)
|
||||
|
||||
if(${VKFFT_BACKEND} EQUAL 1)
|
||||
find_package(CUDA)
|
||||
if(CUDA_FOUND)
|
||||
file(GLOB CUDA_DLLS "${CUDA_TOOLKIT_ROOT_DIR}/bin/nvrtc*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
foreach(cuda_dll ${CUDA_DLLS})
|
||||
get_filename_component(cuda_dll_name "${cuda_dll}" NAME)
|
||||
add_custom_target(copy_cuda_${cuda_dll_name} ALL
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different "${cuda_dll}" "${SDRANGEL_BINARY_BIN_DIR}/"
|
||||
)
|
||||
endforeach(cuda_dll)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
# TODO we need a way to fixup_bundle() on the build bin/ directory without call install
|
||||
if(BUILD_GUI)
|
||||
install(CODE "
|
||||
include(BundleUtilities)
|
||||
# BundleUtilities.cmake verify_app fails unless we ignore QtWebEngineProcess.exe, as it fails if there are any " external " prerequisites
|
||||
# BundleUtilities.cmake verify_app fails unless we ignore QtWebEngineProcess.exe, as it fails if there are any "external" prerequisites
|
||||
# Should we ignore it? It appears to work OK if we do. Is there a better way?
|
||||
fixup_bundle(\"${SDRANGEL_BINARY_BIN_DIR}/sdrangel${CMAKE_EXECUTABLE_SUFFIX}\" \"\" \"${WINDOWS_FIXUP_BUNDLE_LIB_DIRS}\" IGNORE_ITEM \"QtWebEngineProcess.exe\")
|
||||
" COMPONENT Runtime)
|
||||
@ -305,14 +268,7 @@ elseif(WIN32 OR MINGW)
|
||||
# OpenSSL
|
||||
install(DIRECTORY "${OPENSSL_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}"
|
||||
FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
# libsigmf
|
||||
install(DIRECTORY "${LIBSIGMF_DLL_DIR}/" DESTINATION "${INSTALL_LIB_DIR}"
|
||||
FILES_MATCHING PATTERN "*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
# CUDA runtime
|
||||
if((${VKFFT_BACKEND} EQUAL 1) AND CUDA_FOUND)
|
||||
install(DIRECTORY "${CUDA_TOOLKIT_ROOT_DIR}/bin/" DESTINATION "${INSTALL_LIB_DIR}"
|
||||
FILES_MATCHING PATTERN "nvrtc*${CMAKE_SHARED_LIBRARY_SUFFIX}")
|
||||
endif()
|
||||
|
||||
|
||||
install(CODE "
|
||||
# remove *.lib files
|
||||
@ -331,7 +287,7 @@ elseif(WIN32 OR MINGW)
|
||||
endforeach()
|
||||
" COMPONENT Runtime)
|
||||
|
||||
list(APPEND CPACK_GENERATOR "NSIS")
|
||||
list(APPEND CPACK_GENERATOR "ZIP;NSIS")
|
||||
set(CPACK_MONOLITHIC_INSTALL ON)
|
||||
set(CPACK_NSIS_HELP_LINK ${CPACK_PACKAGE_CONTACT})
|
||||
set(CPACK_NSIS_URL_INFO_ABOUT ${CPACK_PACKAGE_CONTACT})
|
||||
|
@ -38,11 +38,5 @@
|
||||
<string>True</string>
|
||||
<key>NSSupportsAutomaticGraphicsSwitching</key>
|
||||
<true/>
|
||||
<key>NSLocationUsageDescription</key>
|
||||
<string>Uses location to show position on maps</string>
|
||||
<key>NSMicrophoneUsageDescription</key>
|
||||
<string>Uses microphone to transmit voice</string>
|
||||
<key>NSCameraUsageDescription</key>
|
||||
<string>Uses camera to transmit video</string>
|
||||
</dict>
|
||||
</plist>
|
||||
|
@ -1,15 +1,14 @@
|
||||
# This CPACK_PRE_BUILD_SCRIPTS script is used to copy all required Qt and other 3rd party libraries (SDR drivers and codecs) in to the .app bundle
|
||||
# It is run in a staging area (${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app) after all targets have been installed (E.g. sdrangel exe and plugins)
|
||||
# The copying of frameworks and libraries is mostly done by 'macdeployqt', however, in order for 'macdeployqt' to copy libraries built by external/CMakeLists.txt,
|
||||
# we first need to add RPATHs into the libraries giving the locations of any libraries they might depend on.
|
||||
# we first need to add RPATHs into the libraries giving the locations of any libraries they might depend on.
|
||||
# These paths are in the variable MACOS_EXTERNAL_LIBS_FIXUP set in externals/CMakeLists.txt
|
||||
# Is there an easier way to this?
|
||||
|
||||
# Copy executable that will be run when icon in /Applications is clicked
|
||||
message ("Copying default executable to SDRangel.app/Contents/MacOS/SDRangel")
|
||||
execute_process (COMMAND mkdir ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/)
|
||||
execute_process (COMMAND pwd)
|
||||
execute_process (COMMAND cp sdrangel ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/SDRangel)
|
||||
execute_process (COMMAND cp /opt/build/sdrangel/build/sdrangel ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app/Contents/MacOS/SDRangel)
|
||||
|
||||
|
||||
# Add RPATHS to libraries so macdeployqt can find out and copy all dependencies
|
||||
@ -39,5 +38,5 @@ endforeach()
|
||||
|
||||
# Run macdeployqt which should copy all libraries and frameworks and Qt plugins and qml
|
||||
message ("Running macdeployqt in ${CPACK_TEMPORARY_INSTALL_DIRECTORY}")
|
||||
execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/ )
|
||||
execute_process ( COMMAND macdeployqt ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/SDRangel.app -always-overwrite -verbose=1 -qmldir=@CMAKE_CURRENT_SOURCE_DIR@/../../plugins/feature/map )
|
||||
|
||||
|
861
debian/changelog
vendored
861
debian/changelog
vendored
@ -1,864 +1,3 @@
|
||||
sdrangel (7.22.8-1) unstable; urgency=medium
|
||||
|
||||
* See Github release
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 02 Jul 2025 17:00:39 +0200
|
||||
|
||||
sdrangel (7.22.7-1) unstable; urgency=medium
|
||||
|
||||
* See Github release
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 04 May 2025 17:58:14 +0200
|
||||
|
||||
sdrangel (7.22.6-1) unstable; urgency=medium
|
||||
|
||||
* See Github release
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 02 Feb 2025 18:08:11 +0100
|
||||
|
||||
sdrangel (7.22.5-1) unstable; urgency=medium
|
||||
|
||||
* Windows: upload signed releases rather than unsigned releases to Github releases page. PR #2347
|
||||
* Windows: fixed signed releases. PR #2344
|
||||
* FT8 Demod: limit upper bandwidth to 5.8 kHz. Fixes #2339
|
||||
* Stop device while changing channel set. Fixes #2332. PR #2342
|
||||
* ADSB: Update URL of OpenSkyNetwork Aircraft database. PR #2341
|
||||
* Don't stop source if being deleted. For #2315. PR #2340
|
||||
* Send DSPSignalNotification in audio mods for #2336. PR #2340
|
||||
* Radiosonde: limit precision of floating point numbers sent to SondeHub. PR #2338
|
||||
* Windows signed releases: use relative path. Increase timeout to 30 minutes. PR #2335
|
||||
* ADSB: Include adsbdemodsettings.h PR #2334
|
||||
* Use release signing certificate for Windows installer. PR #2331
|
||||
* Fix memory leak and race condition relating to DSP*Engines. Part of #2159 PR #2330
|
||||
* FreeDV: Fix memory allocation/free issues. Part of #2315. PR #2330
|
||||
* Wav Files: Add support for meta-data. PR #2328
|
||||
* DemodAnalyzer: Ensure sample rate is set in worker. Fixes #2309. PR #2328
|
||||
^ SDRplayv3: Mac: link with libsdrplay_api.so.3 rather than libsdrplay_api.so.3.15. PR #2327
|
||||
* ADS-B: Fix memory use after delete. For #1734 and part of #2315 PR #2326
|
||||
* Fixed Appveyor Docker image build
|
||||
* Fix output-artifact-directory and unzip file. PR #2323
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 05 Dec 2024 01:07:27 +0100
|
||||
|
||||
sdrangel (7.22.4-1) unstable; urgency=medium
|
||||
|
||||
* Use macos-12 for Mac x86 build. PR #2321
|
||||
* Workaround for "hdiutil: create failed - Resource busy"
|
||||
* Pager: Add alpha and numeric columns. Implements #2319. PR #2320
|
||||
* Added qtwebchannel dependecy to fix missing 3d Map and Sky Map from Windows release. PR #2316
|
||||
* Removed .deb package build from Appveyor
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mom, 11 Nov 2024 08:42:03 +0100
|
||||
|
||||
sdrangel (7.22.3-1) unstable; urgency=medium
|
||||
|
||||
* Add deb dependencies for pipewire. PR #2314
|
||||
* Added compilation options for WebAssembly. PR #2313
|
||||
* ADS-B: Use settings keys. PR #2310
|
||||
* AIS Demod: Remove spacing around messages. PR #2310
|
||||
* Freuqency Scanner: Add multiplex mode. PR #2310
|
||||
* Build snap, MAC, Windows and Ubuntu .deb with Github actions. Various PRs
|
||||
* Server: Use Sink/MIMO signals rather than Source. Part of #2294. PR #2304
|
||||
* Updated some Python scripts to Python3. PR #2298
|
||||
* RemoteTCPSink: Does use IQ only setting for RTL0. PR #2301
|
||||
* Server: wait for set sample source/sink/MIMO to complete before loading the device settings. Fixes #2294
|
||||
* Fix spectrum peak measurement for SSB spectra. Fixes #2282. PR #2299
|
||||
* Upgrade C++ standard to c++17
|
||||
* Fixes for Android . PR #2288
|
||||
* Add qtshadertools. PR #2287
|
||||
* Add more Qt modules and set ENABLE_QT6=ON. PR #2287
|
||||
* Update Qt optional packages for 6.8 , PR #2287
|
||||
* Use Qt 6.8 for Windows build. PR #2287
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 09 Nov 2024 17:30:44 +0100
|
||||
|
||||
sdrangel (7.22.2-1) unstable; urgency=medium
|
||||
|
||||
* ChirpChat: increased preamble symbols limit from 20 to 32. Fixes #2284
|
||||
* RTLSDR: Apply driver settings in RTLSDRThread Add sync read for WebAssembly. PR #2281
|
||||
* SSB demod: fixed GUI and returned to previous threading model. Fixes #2273
|
||||
* HeatMap: Catch memory allocation failures... For #2083 PR #2277
|
||||
* Add default-qt6-windows cmake config. PR #2276
|
||||
* Add pager notifications. Add option to ignore duplicates. Support plotting pager messages on the map. PR #2276
|
||||
* Don't load defaults if loading a preset. PR #2274
|
||||
* DeviceGUI::closeEvent - Don't automatically delete the GUI,.. PR #2274
|
||||
* MainWindow: Add FSMs to avoid blocking on the GUI thread... PR #2274
|
||||
* Fix replay buffer when FixReal is qint16. PR #2270
|
||||
* snap: Try to get version number from latest tag. PR #2270
|
||||
* Add libflac to snap. Set ARCH_OPT to nehalem. PR #2270
|
||||
* Fix flac on Mac. PR #2270
|
||||
* RemoteTCP: Update docs. PR #2270
|
||||
* Map: Fix Kiwi list. Add SDRangel wss support. PR #2270
|
||||
* RemoteTCPSink: Report server init errors via GUI. Send protocol to public list. PR #2270
|
||||
* RemoteTCPInput: Add wss protocol support. PR #2270
|
||||
* Fix DeviceAPI::deserialize. Fixes #2266. PR #2267
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 20 Oct 2024 08:26:38 +0200
|
||||
|
||||
sdrangel (7.22.1-1) unstable; urgency=medium
|
||||
|
||||
* wdsprx: Fix path to help file.
|
||||
* Removed SyncMessenger from DSPDeviceSourceEngine. Part of #2159
|
||||
* Fixed threading model for DSPDeviceSourceEngine. Part of #2159
|
||||
* Removed SyncMessenger from DSPDeviceMIMOEngine. Part of #2159
|
||||
* RTLSDR: make sure start and stop are effective once only. PArt of #2159
|
||||
* Fixed threading model for DSPDeviceMIMOEngine plus other fixes. Part of #2159
|
||||
* Removed SyncMessenger from DSPDeviceSinkEngine. Part of #2159
|
||||
* SSBMod, AMMod, NFMMod: revised thread processing
|
||||
* Fixed threading model for DSPDeviceSinkEngine plus other fixes. Part of #2159
|
||||
* DeviceSet and DeviceUISet: use delete channel API instead of destroy method...
|
||||
* BladeRF2Output: removed applySettings from stop method
|
||||
* All device plugins: make sure start and stop are effective once only. PArt of #2159
|
||||
* Removed the destroy method from ChannelGUI interface
|
||||
* DeviceGUI: removed destroy method. Part of #2159
|
||||
* Fix SopaySDR library search when system cmake package present. PR #2245
|
||||
* Append prefix to plugin name when running on Android. PR #2245
|
||||
* Fix compilation with newer ffmpeg libavutil. PR #2245
|
||||
* Fix compilation for Android with Qt6. PR #2245
|
||||
* Bump Cmake minimal version to 3.17
|
||||
* Use new find_package(CUDA Toolkit). PR #2250
|
||||
* Update CMakeLists.txt to allow static libraries to be built, as well as shared... PR #2252
|
||||
* Allow plugins to be compiled as static libs, part 2. PR #2254
|
||||
* Use opencv4 with VS2022. PR #2257
|
||||
* Frequency Scanner: initialize pointer to FrequencyScanner. Fixes #2262
|
||||
* Update channel list upon Morse Decoder and Demod Analyzer GUI creation. Fixes #2263
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 06 Oct 2024 08:39:11 +0200
|
||||
|
||||
sdrangel (7.22.0-1) unstable; urgency=medium
|
||||
|
||||
* New Rx channel based on WDSP. Issue #2156
|
||||
* Added cubehelix based color maps. Issue #2191
|
||||
* Fix API host address in About dialog and debug message. PR #2218
|
||||
* Some cleanup. PR #2212
|
||||
* Added shift to channel marker to take RIT into account. Part of #2156
|
||||
* Added S-meter units to scale engine. Part of #2156
|
||||
* Some typos fixes. PR #2206
|
||||
* Map enhancements and fixes. PR #2187
|
||||
* APT Demod: Check filename suffix is specified. PR #2190
|
||||
* Don't change filenames on Android, PR #2190
|
||||
* Frequency Scanner: Fix rounding error. PR #2186
|
||||
* Update sdrangel-windows-libraries link to include latest VC redistributable. PR #2185
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 13 Aug 2024 17:01:01 +0200
|
||||
|
||||
sdrangel (7.21.4-1) unstable; urgency=medium
|
||||
|
||||
* Code fixes. PR #2184
|
||||
* Do not save the settings twice. PR #2182
|
||||
* FreqScanner: Add HF ATC channels preset. PR #2181
|
||||
* FreqScanner: Add API action to run scan. Add scan results to channel report. PR #2181
|
||||
* FreqScanner: Add scanState to FreqScanner Report. PR #2181
|
||||
* Configurations dialog: Fix slot names. PR #2180
|
||||
* AIS: Validate message length. Fixes #2125. PR #2180
|
||||
* ILS Demod. Save frequency when switching between LOC and G/S. PR #2180
|
||||
* ILS Demod. Set frequency for ident when in G/S mode. Fixes #2177. PR #2180
|
||||
* Heat Map: Handle memory allocation errors. PR #2175
|
||||
* Heat Map: Allow selecting which data to be saved to reduce memory requirements. PR #2175
|
||||
* ILS Demod: Add DDM/SDM/Deviation to channel report. PR #2174
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 25 Jun 2024 20:17:52 +0200
|
||||
|
||||
sdrangel (7.21.3-1) unstable; urgency=medium
|
||||
|
||||
* Update sdrangel-windows-libraries to latest revision. PR #2173 fixes #2155
|
||||
* SDRplayV3Input: Add SDRPLAY_RSPdxR2_ID support. PR #2172 fixes #2155
|
||||
* Fix tooltips. PR #2170
|
||||
* Update external/windows to latest sdrangel-windows-libraries. PR #2169
|
||||
* Update SDRplay API to 3.15 on Mac. PR #2169
|
||||
* Fix typo in ILS freq. PR #2168
|
||||
* Remove use of deprecated QRegExp. PR #2160
|
||||
* Fix memleaks. PR #2157
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 17 Jun 2024 22:30:17 +0200
|
||||
|
||||
sdrangel (7.21.2-1) unstable; urgency=medium
|
||||
|
||||
* Morse Decoder feature: build for Windows. Issue #2152
|
||||
* Satellite Tracker Settings: add missing help description of Replay tab, PR #2151
|
||||
* Satellite Tracker Settings: update help page for new button. PR #2151
|
||||
* Satellite Tracker Settings: add a button to reset the list of TLE. PR #2151
|
||||
* Move defines to the header so they can be reused elsewhere. PR #2151
|
||||
* Factor out the code that updates the widget containing the list of TLEs. PR #2151
|
||||
* Use https for all addresses. PR #2151
|
||||
* Set CMAKE_PREFIX_PATH to include ffmpeg@5. PR #2149
|
||||
* Github mac CI: Try ffmpeg@5. PR #2149
|
||||
* CUDAvkFFTEngine: Add required include.. PR #2149
|
||||
* Fix memleaks. PR #2133
|
||||
* Remove extra margins from some dialog. PR #2148
|
||||
* SDRPlay v1: fix setting of hardware flavour. Fixes #2127
|
||||
* Audio Input: list plugin as a built in device for multiple times instantiation. Fixes #2143
|
||||
* Do not exit after listing available devices. Fixes #2144
|
||||
* Fix and refactor FindSoapySDR.cmake. PR #2146
|
||||
* Morse Decoder: returm to the original GGMorse library
|
||||
* Fix WFM mod: remove feedback sink. PR #2138
|
||||
* Fix ADSB demod: Message length. PR #2138
|
||||
* Fix Sigmf Record: overwriting sigmf-data or sigmf-meta. PR #2136
|
||||
* Highlight the current workspace and device. PR #2126
|
||||
* Web API: Sort some files by name in the resources file. PR #2124
|
||||
* Web API: Add missing files to resources file. PR #2124
|
||||
* Install subversion for Mac build. PR #2123
|
||||
* Fix ggmorse paths on ma. PR #2123
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 06 Jun 2024 20:09:11 +0200
|
||||
|
||||
sdrangel (7.21.1-1) unstable; urgency=medium
|
||||
|
||||
* Morse Decoder feature: Fix for Qt6 and Windows. PR #2122
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 24 May 2024 10:29:04 +0200
|
||||
|
||||
sdrangel (7.21.0-1) unstable; urgency=medium
|
||||
|
||||
* Morse decoder feature. Implements #2112
|
||||
* Fix crash quitting sdrangel when the SID window is open. PR #2121. Fixes #2119
|
||||
* SSB demod: apply clamping also when squelch opens
|
||||
* Remove unneeded calls to disconnect signals. PR #2120
|
||||
* Fix memleaks. PR #2120 PR #2058.
|
||||
* Do not create objects if there is no message queue to send to. PR #2058.
|
||||
* Do not create a Message if there is no worker to send to. PT #2058
|
||||
* Add cmake option to optionally compile with LeakSanitizer. PR #2058
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 23 May 2024 22:18:08 +0200
|
||||
|
||||
sdrangel (7.20.1-1) unstable; urgency=medium
|
||||
|
||||
* Fix Qt6 build. PR #2069
|
||||
* ADS-B: Fix map centering and station icon for Qt6. PR #2072
|
||||
* Fix bug that prevents settings changes updates via reverse API. PR #2066
|
||||
* SIDAddChannelsDialog: Make columns sortable. PR #2067
|
||||
* Fix build failure when Qt Location is not available. PR #2073
|
||||
* Fix "More '%' conversions than data arguments". PR #2075
|
||||
* Remove unused includes and use more direct includes. PR #2076
|
||||
* Make all include directives identical. PR #2076
|
||||
* Fix build of DAB demodulation plugin. PR #2076
|
||||
* Update the IPB beacons table only when the dialog is visible. PR #2068
|
||||
* Raise the Beacon, IBP Beacons an Radio Time dialogs. PR #2068
|
||||
* Close any open dialog when sdrangel quits. PR #2068
|
||||
* vkFFT: Fix building with recent Vulkan SDKs. PR #2087
|
||||
* Sdrplayv3: use SDRPLAY_MAX_DEVICES in enumOriginDevices(). PR #2088
|
||||
* AudioCATSISO: fixed CAT worker handling
|
||||
* AudioCATSISO: fixed transverter processing
|
||||
* AIS: Fix string decoding in safetey messages. Fixes #2094. PR #2096
|
||||
* ValueDial: Fix array being accessed out of range. PR #2096
|
||||
* BFM Demod: Delete baseband on stop(). PR #2104
|
||||
* Bring BFM demod closer to AM demod design. PR #2104
|
||||
* Don't call start() in Demod's constructors. Fixes #2102. PR #2104
|
||||
* SSDDemodGUI: Disable AGC widgets when AGC disable. PR #2104
|
||||
* Fix saving configurations after deleting some entries. PR #2109
|
||||
* Interferometer: added channel B gain control
|
||||
* Interferometer: implement gain and phase in API
|
||||
* LocalSink: update local input device list at construction time
|
||||
* Interferometer: list local input devices and make update settings atomic
|
||||
* Interferometer: added possibility to send correlated IQ to a Local Input device
|
||||
* Interferometer: added localDeviceIndex and play to API
|
||||
* LocalSink: refactored getLocalDevice method
|
||||
* Metis MISO: added lock all Rx frequencies option
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 15 May 2024 10:01:05 +0200
|
||||
|
||||
sdrangel (7.20.0-1) unstable; urgency=medium
|
||||
|
||||
* New Sudden Ionospheric Disturbance feature. PR #2052
|
||||
* Removed unused includes and use more direct includes. PR #2062
|
||||
* Various updates and fixes. Fixing #2061. PR #2063
|
||||
* ChirpChat: added FT mode (FT-chirp)
|
||||
* Support VOR Localizer on Qt6. PR #2057
|
||||
* Fix audio sink/source mapping. PR #2056
|
||||
* Use mouse wheel to zoom in / out of charts. PR #2052
|
||||
* Channel Power: Add absolute frequency setting. PR #2052
|
||||
* RadiosondeDemod: Fix packets read from .csv not being sent to Radiosonde feature.. PR #2052
|
||||
* KiwiSDR: Add position of device to web API report. PR #2052
|
||||
* KiwiSDR: Add position to yaml. PR #2052
|
||||
* SkyMap: Add Moon map. PR #2052
|
||||
* APRS: Check for Cr or LF. For #2028. PR #2052
|
||||
* AX.25 Packet: packetmod supports multi Via; packetdemod fix H bit. PR #2039
|
||||
* Audio optimize & default input/output bugfix. PR #2038
|
||||
* Sat Tracker: Prevent crash if satellite not found. PR #2052
|
||||
* Astronomy: Add sunrise / sunset calculation. PR #2052
|
||||
* APRS: Fix forwarding of binary data to APRS-IS for #2028. PR #2052
|
||||
* APRS: Forward packets to aprsi-is, even if we can't decode them. For #2029. PR #2052
|
||||
* ADSB: Add Airplanes.Live at request of user. PR #2027
|
||||
* Heat Map: Fix overflow in average calculation. PR #2052
|
||||
* AIS Demod: Remove unused filter. PR #2052
|
||||
* SkyMap: Fix erronous entry in source list. PR #2052
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 14 Aprr 2024 09:15:24 +0200
|
||||
|
||||
sdrangel (7.19.1-1) unstable; urgency=medium
|
||||
|
||||
* Add channel power channel. PR #2019, #2021
|
||||
* Use mouse keys for CW modulation in SSB modulator. Fixes #1948
|
||||
* ADS-B: Only list available maps. PR #2017
|
||||
* CRightClickEnabler: Prevent duplicate events... PR #2017
|
||||
* Update snap. PR #2016
|
||||
* Scan all plugins for qml (for Mac). PR #2014
|
||||
* fix memset() arguments order in vkfftengine. PR #2013
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 17 Mar 2024 19:17:00 +0100
|
||||
|
||||
sdrangel (7.19.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgraded RTL-SDR library to v2.0.1
|
||||
* Fix not remove source buddy. PR #1998
|
||||
* Fix renumberate deviceset without modifying claimed of SamplingDevice. PR #2001
|
||||
* Merge pull request #2000 from srcejon/freq_scanner
|
||||
* ADS-B: Add QT 6 support for map. PR #2000
|
||||
* Fix URLs on QT 6 map. PR #2000
|
||||
* Fix 32-bit float support for Spy Server. PR #2000
|
||||
* Fix Kiwi location. PR #2000
|
||||
* Update map docs. PR #2000
|
||||
* Fix gcc warnings. PR #2000
|
||||
* Update map QML/HTML. PR #2000
|
||||
* Add libqt5svg5-dev dependency. PR #2000
|
||||
* Add SVG and libacars. PR #2000
|
||||
* HTTPDownloadManager: Support latest updates to Google Drive. PR #2000
|
||||
* Add utils. PR #2000
|
||||
* SkyMap: Fix CORS and enabling caching. PR #2000
|
||||
* Map: Add Spy Server and Kiwi SDR. Add weather and satellite overlays. PR #2000
|
||||
* Fix SDRA protocol and improve spectrum refresh rate. PR #2000
|
||||
* Fix gcc warnings. PR #2000
|
||||
* RemoteTCPInput: Add Spy Server support. PR #2000
|
||||
* SDRplay: Prevent nullpointer dereference for #1825 PR #2000
|
||||
* Add End-of-Train demodulator for #1866. PR #2005
|
||||
* AIS, DSC, End-of-Train, Packet, Radiosonde: date/time from File Input device or system clock. PR #2005
|
||||
* Use log2 approximation to increase performance. Part of #2004. PR #2006
|
||||
* SigMF File Sink: implement 16 and 8 bits sample sizes. Fixes #1921
|
||||
* Use F:n for feature Ids. PR #2007
|
||||
* Update Demod Analzyer to use AvailableChannelsOrFeature. PR #2007
|
||||
* Class to handle amateur radio callsigns and corresponding country data. Part of #2008
|
||||
* FT8 demod: implemented DXCC country decoding. Implements #2008
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 08 Mar 2024 18:12:42 +0100
|
||||
|
||||
sdrangel (7.18.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade to SDRPlay API to 3.14 and support for RSP 1B
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 21 Feb 2024 12:53:33 +0100
|
||||
|
||||
sdrangel (7.18.0-1) unstable; urgency=medium
|
||||
|
||||
* New SkyMap feature PR #1986
|
||||
* Add AvailableChannelOrFeatureHandler. PR #1986
|
||||
* Use MainCore code for managing available channel and feature list. PR #1986
|
||||
* Optimize eumerator of origin device PR #1984
|
||||
* Fix SimpltPTT device id; Add "None" Rx/Tx device option PR #1983
|
||||
* Fix LimeSDR MIMO Tx gain mode. PR #1973
|
||||
* Fix GUI handle Startstop message. PR #1973
|
||||
* Speedup compilation on all platforms using ccache. PR #1967
|
||||
* Demod Analyzer plugin: channel selection via api. PR #1956
|
||||
* Sat Tracker: Update default TLEs to latest URLs. PR #1954
|
||||
* Fix failure due to access by null pointer. PR #1952 Issue #1951
|
||||
* Fix frequency calculation for SSB spectrum. PR #1946
|
||||
* File Input: Fix seeking over .wav header. PR #1946
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 18 Feb 2024 10:46:39 +0100
|
||||
|
||||
sdrangel (7.17.3-1) unstable; urgency=medium
|
||||
|
||||
* Map updates: Allow selection of which device to tune to frequency. PR #1911
|
||||
* Map updates: Support tuning of multiple frequencies per map item. Update maplibre to maplibregl. PR #1911
|
||||
* Use common code for creating and processing device and channel Ids. PR #1911
|
||||
* Prevent crash that can occur if preset type is unknown. PR #1911
|
||||
* Add support for setting center frequency on Tx devices. PR #1911
|
||||
* Allow replay time offset to be set by ctrl+left click in waterfall. PR #1914
|
||||
* Add replay support to Lime Input. PR #1914
|
||||
* Remove space in CSV header. PR #1916
|
||||
* SDRPlayV3 on Mac: Update library path so is works with API 3.12.1. PR #1916
|
||||
* Fixed AudioNetSink stereo handling
|
||||
* SSB demod: added FIR LP filter after AGC to smooth out sharp peaks
|
||||
* Removed useless AGC clamping
|
||||
* Fixed some AGC issues
|
||||
* SSB demod: better algorithm for AGC limitation. Fixes #1918
|
||||
* AM demod: extend squelch limit to -120 dB
|
||||
* Start file browser in directory of last file selected. PR #1926
|
||||
* Fix #1928. Add null-terminator between strings. PR #1929
|
||||
* Frequency Scanner: allow scanning channels of a MIMO device
|
||||
* Frequency scanner: set device frequency for both Rx and MIMO devices
|
||||
* Frequency Scanner: GUI: give more space to channel power display
|
||||
* Frequency Scanner: handle change of I/Q stream in tracked channels (MIMO)
|
||||
* AudioCATSISO: adapt to newer versions of Hamlib. Fixes #1919
|
||||
* Mac O/S: Disable build of LAME frontend. PR #1935
|
||||
* Use separate date/time fields and prefix address with leading 0. Fixes #1936. PR #1937.
|
||||
* Star Tracker: Handle negative flux values in .srd file. PR #1940.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 31 Dec 2023 17:58:51 +0100
|
||||
|
||||
sdrangel (7.17.2-1) unstable; urgency=medium
|
||||
|
||||
* Freq Scanner: Add per-frequency settings. Fix freq > 2GHz. PR #1905
|
||||
* DSD demod: Upgrade dsdcc to 1.9.5. Fixes #1878
|
||||
* Scope: Added derivative of magnitude squared to the list of projections
|
||||
* SSB demod: mitigate AGC steep transitions causing audio clicks
|
||||
* SSB demod: tie AGC steep transition correction to AGC clamping
|
||||
* Fix AirspyHF instant replay. PR #1905
|
||||
* Fix sdrplay shared library name on Mac arm64, as incorrect in 3.12 API release. PR #1905
|
||||
* SDRPlay V3 API - don't call close unless open was a success, as will crash on Mac. PR #1905
|
||||
* Add dialog positioner for audio select dialog. PR #1905
|
||||
* Display FIFO size on overflow. PR #1905
|
||||
* Freq scanner: Stop scanning when Tune menu selected. PR #1905
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 04 Dec 2023 20:35:40 +0100
|
||||
|
||||
sdrangel (7.17.1-1) unstable; urgency=medium
|
||||
|
||||
* Fixes to Mac build. PR #1869
|
||||
* AM demod: channel/frequency entry modes. PR #1876
|
||||
* SSB demod noise reduction
|
||||
* Radiosonde: Added more columns, PR #1881. Fixes #1880
|
||||
* DSD Demod - Fix loss of constellation. PR #1883. Fixes #1836
|
||||
* Remote TCP - Fix FIFO size adjustment. Fixes SR > 3 MS/s. PR #1886. Fixes #1885.
|
||||
* Indicate audio FIFO underflow/overflow. PR #1887
|
||||
* Fix resize cursor not being cleared when mouse moves over child widgets. PR #1888
|
||||
* Prevent popup menu when scrolling tables. PR #1889
|
||||
* Use custom save/restore geometry for MDI sub=windows. PR #1890. Fixes #1835
|
||||
* Use MDI restore when loading config. PR #1890
|
||||
* M17: Reverse byte ordering of CRC in packet mode. PR #1891. Fixes #1826
|
||||
* M17: Update packet format to comply with current spec. PR #1892. Fixes #1826
|
||||
* More M17 fixes. PR #1894
|
||||
* Frequency scanner: Add FRS-GMRS presets. PR #1897
|
||||
* ADS-B demod: Split widgets in to 2 tabs for small Android screens. PR #1898. Fixes #1896.
|
||||
* Add instant replay for RTL SDR, SDR Play V3, USRP and Airspy HF RXes. PR #1900.
|
||||
* Scope trigger fix. PR #1902. Part of #1901
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 29 Nov 2023 03:00:21 +0100
|
||||
|
||||
sdrangel (7.17.0-1) unstable; urgency=medium
|
||||
|
||||
* Add frequency scanner channel plugin. PR #1852
|
||||
* Implementation of Mac OS CI. PR #1841
|
||||
* Change down and up channelizers filter chain strategy. Fixes #1846
|
||||
* Fix race condition that can result in a crash or hang. PR #1854
|
||||
* DSC Demod: initialise m_scopeSink. PR #1854
|
||||
* Fix FFT Overlap for spectrum view. PR #1856
|
||||
* Various ADS-B enhancements. PR #1861
|
||||
* Use channel sample rate of 48k in RTTY and PSK31 mods. Fixes #1862. PR #1865
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 29 Oct 2023 04:21:18 +0100
|
||||
|
||||
sdrangel (7.16.0-1) unstable; urgency=medium
|
||||
|
||||
* Added RTTY modulator. PR #1800
|
||||
* Added PSK31 modulator. PR #1814
|
||||
* Flush log stream after write, so data is available immediately. PR #1834. Fixes #1833
|
||||
* Remote TCP improvements. PR #1830. Fixes #1827
|
||||
* Fix ffpmeg/opencv dependencies. Enable C lang on Mac, for external project. PR #1828. Fixes #1819
|
||||
* Request authorization for access to camera and microphone on Mac. PR #1824. Fixes #1819
|
||||
* Fixed Swagger files generation and added missing files. Fixes #1821
|
||||
* Add strings describing why Microphone, Camera and Location are required on MacOS. PR #1822. Fixes #1819
|
||||
* Add windows-default preset for building with Visual Studio. PR #1816
|
||||
* Add Android SDR Driver sample source. PR #1815
|
||||
* Distingush between China and Taiwan. PR #1810. Fixes #1805
|
||||
* Add command line options to start Remote TCP Sink on a specified device/ PR #1809.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 21 Sep 2023 22:44:31 +0200
|
||||
|
||||
sdrangel (7.15.4-1) unstable; urgency=medium
|
||||
|
||||
* Fix Mac compilation. PR #1786
|
||||
* Add support for plugin presets. PR #1789
|
||||
* Map feature updates. PR #1778
|
||||
* Fix RTLSDR E4000 gain and bandwidth settings. Add tuner type to GUI. PR #1790
|
||||
* Add support for RTLSDRBlog V4 with HF upsampler. PR #1790
|
||||
* Update RTLSDR driver to include RTLSDRBlog V4 support. PR #1790
|
||||
* Add rotator az/el and offset to table. PR #1791
|
||||
* Optmize redrawing of charts in Star Tracker. PR #1791
|
||||
* Initialise PhaseDiscriminators state, to avoid outputting huge values. Fix #1794. PR #1794
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 02 Sep 2023 19:12:12 +0200
|
||||
|
||||
sdrangel (7.15.3-1) unstable; urgency=medium
|
||||
|
||||
* Rotator Controller: Add additional gamepad calibration and functionality. PR #1761
|
||||
* Use QFileInfo to get file extension. Fixes #1760. PR #1762
|
||||
* Add UI scale factor setting for high DPI screens. PR #1763
|
||||
* Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. PR #1764
|
||||
* Map plugin: Fix beacon frequency. PR #1765
|
||||
* PlutoSDR MIMO: fix variable names. PR #1770
|
||||
* Rotator controller: use precision to determine step size. PR #1775
|
||||
* Add VkFFT support and profiler. Implements #1166. PR #1779.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 20 Aug 2023 21:10:13 +0200
|
||||
|
||||
sdrangel (7.15.2-1) unstable; urgency=medium
|
||||
|
||||
* Fixed some spellings. PR #1742
|
||||
* Rotator Controller: Use floats for az/el offsets. PR #1744. Fixes #1739
|
||||
* Switch to codec2-dev repo to access v1.0.3 tag. PR #1746. Fixes #1741
|
||||
* Move find_package from external/CMakeLists.txt to root CMakeLists.txt. PR #1750
|
||||
* Have some libraries and plugins built in the Ubuntu package. PR #1750. Fixes #1740
|
||||
* Remove external projects from .deb. PR #1754. Fixes #1740
|
||||
* OpenGL code: Clear with alpha=1 to fix #1735. PR #1735
|
||||
* DSD demod UI: Connect slot 1/2 on/off buttons. PR #1758. Fixes #1752
|
||||
* Use texture() instead of texture2d() in v330 shaders, so they work on Mac. PR #1759. Fixes #1757
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 04 Aug 2023 01:17:54 +0200
|
||||
|
||||
sdrangel (7.15.1-1) unstable; urgency=medium
|
||||
|
||||
* Remove comparison of strings and chars. Fix #1713, PR #1718
|
||||
* Run audio out on its own thread. Fixes #1717
|
||||
* PlutoSDR: Add missing settings keys. PR #1727
|
||||
* RTPSink: nullify m_byteBuffer after delete
|
||||
* Audio output: forward actual sample rate to Audio Manager
|
||||
* SSB demod: handle DSPConfigureAudio message correctly
|
||||
* SSB mod/demod: handle DSPConfigureAudio message correctly
|
||||
* Fixed some spelling mistakes. PR #1733
|
||||
* Run audio in on its own thread. For #1731
|
||||
* FCD/AudioInpout: use AudioDeviceManager in place of manupulating AudioInputDevice directly
|
||||
* Audio Input: handle real signals with new main spectrum feature
|
||||
* PlutoSDR input/output: do not apply settings to self when coming from a buddy change. Fixes #1690
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 11 Jul 2023 15:45:58 +0200
|
||||
|
||||
sdrangel (7.15.0-1) unstable; urgency=medium
|
||||
|
||||
* New Audio CAT SISO plugin. Implements #1597
|
||||
* Map: Change Street Map from WikiMedia to OpenStreetMap. PR #1711. Issue #1709
|
||||
* Packet Modulator: fixed segfault in GUI
|
||||
* SigMFFileInput: fixed acceleration. Part of issue #1699
|
||||
* SimplePTT: fixed typo in code. Fixes #1705
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 18 Jun 2023 22:38:65 +0200
|
||||
|
||||
sdrangel (7.14.2-1) unstable; urgency=medium
|
||||
|
||||
* Implement GPIO and script control from Simple PTT feature. Implements #1558
|
||||
* Allow SigMF plugins to work in Windows. PR #1700
|
||||
* Only update widgets from UI thread. Fixes #1692. PR #1692
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Mon, 28 May 2023 22:04:01 +0200
|
||||
|
||||
sdrangel (7.14.1-1) unstable; urgency=medium
|
||||
|
||||
* Fix Sat Tracker crash in previous release. Fixes #1682. PR #1696.
|
||||
* Add support for tracking Satellites in the Star Tracker. PR #1696.
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 24 May 2023 06:40:43 +0200
|
||||
|
||||
sdrangel (7.14.0-1) unstable; urgency=medium
|
||||
|
||||
* New DSC channel Rx plugin (PR #1693)
|
||||
* New Aaronia output (Tx) plugin
|
||||
* GLSpectrumGUI: apply settings when buddies are set
|
||||
* SpectrumVis: propagate apply settings to GUI message quque if it exists
|
||||
* use MsgConfigureSpectrumVis in place of corresponding GLSpectrum set methods. Fixes #1624
|
||||
* DATV demod: change interpolator and NCO in the same block
|
||||
* DATV demod: leansdr: fix possible segfaults
|
||||
* Fix Qt6 compilation. PR #1654
|
||||
* Sat & Star tracker: Plot target on Az/El chart. Fixes #1641. PR #1641
|
||||
* Use latest libxml2 that has cmake support for use on Mac. For #1657. PR #1663
|
||||
* Set LIBXML2_LIBRARIES for static lib. PR #1663
|
||||
* AIS Demod: Calculate time slot used for messages. PR #1664
|
||||
* Aaroniartsainput: Changes with RTSA suite build 12830. PR #1667
|
||||
* Fixed swagger docker compose run script
|
||||
* GLSpectrum: set default waterfall share to 0.5
|
||||
* Rotator Controller: Add gamepad input controller support. PR #1668
|
||||
* Rx channel demods: prevent possible reading past audio buffer end. Fixes #1661
|
||||
* Upgrade dsdcc to 1.9.4
|
||||
* Scope GUI updates. PR #1671
|
||||
* Add query to TLE download filename, to avoid clashes. Fixes #1647. PR #1673
|
||||
* Add accessibility interface for ValueDial widgets, so they work with screen readers. Fixes #1672. PR #1675
|
||||
* Fix QFileDialog filters to work with non-native dialog. Fixes #1681. PR #1685
|
||||
* Fixed missing initializations of QNetworkManager. Fixes #1689
|
||||
* Fix doppler correction for #1682. Add Az/El offset setting. PR #1694
|
||||
* Update spectrum settings to match what's used in sink. Fix deserialisation of UI related settings. PR #1695
|
||||
* Aaronia RTSA: Fixed API device settings PUT and PATCH
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 23 May 2023 20:09:23 +0200
|
||||
|
||||
sdrangel (7.13.0-1) unstable; urgency=medium
|
||||
|
||||
- New Aaronia input (Rx) plugin
|
||||
- Channel analyzer: engage rational down sampler also when no channel decimation takes place. Fixes #1622
|
||||
- Display rotator on Star Tracker and Satellite Tracker polar charts for #1641. PR #1650
|
||||
- AFC and Demod Analyzer: fixed message queue disconnect. Fixes #1634
|
||||
- Fixed ValueDial value settings when it is equal to previous value
|
||||
- DATV demod: GUI: set RF bandwidth with standard SR
|
||||
- Airspy: corrected transverter frequency and mode setting from GUI
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 06 Apr 2023 20:38:25 +0200
|
||||
|
||||
sdrangel (7.12.0-1) unstable; urgency=medium
|
||||
|
||||
- New ILS demod plugin. PR #1635
|
||||
- Heatmap: added 10 MS/s and fixed bandwidth limit. PR #1638
|
||||
- Correct settings keys for Satellite Tracker settings dialog. Fixes #1642. PR #1643
|
||||
- Add UTC data time in radiometerand more. Fix #1640. PR #1644
|
||||
- DATV demod: processing optimizations
|
||||
- Add missing setting ket in Rotator Controller. Fix #1642. PR #1645
|
||||
- Fix missing GUI connections in Radio Astronomy plugin. Scan for features on startup. PR #1646
|
||||
- Fix settings keys in Star Tracker (Rename to settings to match). PR #1646
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 01 Apr 2023 11:39:53 +0200
|
||||
|
||||
sdrangel (7.11.0-1) unstable; urgency=medium
|
||||
|
||||
- New RTTY and Navtex demods. PR #1610
|
||||
- Noise figure: Fix saving of power on command. PR #1604
|
||||
- Disable MSAA for 2D maps by default. PR #1604
|
||||
- Fix Heat Map Display Chart Seg Fault. Fixes #1606. PR #1607
|
||||
- Prevent MDI scrolling when trying to zoom in on spectrum PR #1611
|
||||
- VOR Demod: Improve filtering for voice over ident. Issue #1590. PR #1615
|
||||
- Fix DSD Demod crash on exit Fixes #1617. PR #1618
|
||||
- Fix updateVORs so it doesn't delete selected VORs. Issue #1590. PR #1619
|
||||
- Set timer to be precise before calling start, otherwise it is ignored on Windows. PR #1626
|
||||
- Audio inout: added DC block and IQ imbalance
|
||||
- Audio input: Added Fc control
|
||||
- MainWindow: disconnect prior to connect in device re-numeration. Fixes #1620
|
||||
- Fixing errors when compiling using qt6. Fixes #1625. PR #1629
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 18 Mar 2023 12:41:20 +0100
|
||||
|
||||
sdrangel (7.10.0-1) unstable; urgency=medium
|
||||
|
||||
- Copy fftw3f and libusb dlls to bin directory. PR #1503
|
||||
- Removed unncecessary call to updateChannels in VORLocalizer and DemodAnalyzer. Fixes #1572
|
||||
- TestSource: use queued connection for connecting worker's deleteLater. Fixes possible crash on exit
|
||||
- FT8 support: corrected possible code glitch
|
||||
- DSD demod: disable audio for YSF wide mode if AMBE feature is active. Fixes #1587
|
||||
- Fix SDRplay RSPdx LNA table, to have correct number of entries, for #1532. PR #1591
|
||||
- Heat Map Rx channel plugin. Changes to Map. PR #1600
|
||||
- Autostack: Fix channel windows being made to wide when SDRangel starts. PR #1601
|
||||
- Android: Prevent app from being put to sleep when running. Add menu to keep screen on. PR #1602
|
||||
- SSB demod GUI: display channel marker in correct stream if connected to a MIMO device
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 23 Feb 2023 23:59:54 +0100
|
||||
|
||||
sdrangel (7.9.0-1) unstable; urgency=medium
|
||||
|
||||
- FT8 demodulator. Implements #1561
|
||||
- SDRPlay: increase LO ppm range. Fixes #1576
|
||||
- Initialize m_running to fix crash #1574. PR #1575
|
||||
- Map feature: added MIMO devices when scanning for channels
|
||||
- Spectrum: Keep frequency displayed while channel is being dragged. PR #1570
|
||||
- LimeRFE: save Rx/Tx mode in m_rfeBoardState. Fixes #1557
|
||||
- Audio Input: Make sure audio device name corresponds to GUI setting. PR #1565
|
||||
- Audio Input: Set start/stop button background colour according to device status. PR #1565
|
||||
- Add reset measurements button to Spectrum GUI, PR #1565
|
||||
- Speed up enumeration / opening USRP B210 by using hardcoded values. PR #1566
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 01 Feb 2023 08:14:50 +0100
|
||||
|
||||
sdrangel (7.8.6-1) unstable; urgency=medium
|
||||
|
||||
- SSB demod: corrected DSB filter
|
||||
- Fixed CI/CD issues and warnings (1)
|
||||
- Add icons for arranging windows PR #1539
|
||||
- Allow Android virtual keyboard to change sign in ValueDialZ widget PR #1539
|
||||
- Scale splash screen to size of screen PR #1539
|
||||
- Support touchscreen tap and hold to be used instead of right mouse PR #1539
|
||||
- Add DialogPositioner to ensure dialogs are fully on screen and remain on PR #1539
|
||||
- Add welcome dialog for Android PR #1539
|
||||
- Add new sdrgui files to CMakeLists.txt PR #1539
|
||||
- Add RSP and Android remote TCP protocol commands PR #1539
|
||||
- Add gesture support to maps PR #1539
|
||||
- Set plugins path for Android PR #1539
|
||||
- Add popups for dials PR #1539
|
||||
- Add pinch gesture to GraphicsViewZoom PR #1539
|
||||
- GLSpectrum touchscreen updates PR #1540
|
||||
- Add buttons to stack MDI windows vertically and put in tabs. PR #1541
|
||||
- Allow maximize button to make window full screen, if already maximized. PR #1541
|
||||
- Allow sampling devices to be refreshed while SDRangel is running. PR #1542
|
||||
- Add Android support and settings resources PR #1542
|
||||
- Change map provider from osm to mapboxgl on Linux, to avoid crash PR #1542
|
||||
- Call processEvents to try to avoid not responding warning on Linux PR #1542
|
||||
- Avoid divide by zero when no fixed windows PR #1542
|
||||
- Scan for serial AMBE devices on Windows PR #1543
|
||||
- On Android, list USB devices by VID/PID and open using file descriptor.PR #1544
|
||||
- Fixed possible sample device pointer not set yet when DSPMIMOSignalNo...Fixes #1529
|
||||
- Fixed passing QPoint reference from right click enabler to connected... Fixes #1549
|
||||
- Support relative satellite image URLs PR #1550
|
||||
- Ignore SSL certifcate errors on Android PR #1554
|
||||
- Check for errors when writing to log PR #1554
|
||||
- Reduce UI minimum size for small Android screens PR #1554
|
||||
- Add Android support. Convert line endings PR #1554
|
||||
- Add support for multiple ABIs on Android PR #1554
|
||||
- Fix crash when no logger implemented. Add additional error reporting... PR #1554
|
||||
- Update aligned_malloc implementation on Android, so it works with API... PR #1554
|
||||
- Add flag to skip FFMPEG version check on Android PR #1554
|
||||
- Support FileInput plugin on Android, by using QFile rather istream PR #1554
|
||||
- Make WebEngine support in Map optional for Android PR #1554
|
||||
- Make WebEngine support in Map optional for Android PR #1554
|
||||
- Add libusb for Android PR #1554
|
||||
- Add progress dialog for device enumeration, as some drivers are slow PR #1555
|
||||
- Reenable 3D Map PR #1555
|
||||
- Fix #1559. Update protocol before calling setAzimuthElevation PR #1560
|
||||
- BladeRF v1: fixed VGA controls in GUI. Fixes #1535
|
||||
- Re-enable LimeSuite in Windows with latest commit
|
||||
- FT8 demod library support
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Fri, 13 Jan 2023 22:17:50 +0100
|
||||
|
||||
sdrangel (7.8.5-1) unstable; urgency=medium
|
||||
|
||||
* Local Sink: enhanced functionnality. Implements #871
|
||||
* BladeRF v1: fixed XB-200 support in GUI. Fixes #1535
|
||||
* RadioSonde: Fix plotting of heading. Fixes #1527. PR #1528
|
||||
* Metis MISO GUI: fixed frequency limits
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 17 Dec 2022 09:27:34 +0100
|
||||
|
||||
sdrangel (7.8.4-1) unstable; urgency=medium
|
||||
|
||||
* Adapt code to Qt6. PR #1518
|
||||
* Rotator controller: Fix initialisation of serial port. PR #1520
|
||||
* qo100_datv.py: device dependent log2 decimation
|
||||
* Feature plugins: Make settings assignments atomic. Part of #1329
|
||||
* KiwiSDR: implement variable sample rate. Fixes #1523
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 01 Dec 2022 20:50:29 +0100
|
||||
|
||||
sdrangel (7.8.3-1) unstable; urgency=medium
|
||||
|
||||
* DemodAnalyzer: record audio. Part of #1330
|
||||
* APT decoder: use latest libsgp4. PR #1512
|
||||
* Audio output device recording. part of #1330
|
||||
* Add maximize button to MainSpectrum and expandible Channels and Features. PR #1510
|
||||
* Device GUIs: Constain window size via minimumSize/maximumSize. PR #1508
|
||||
* Set window width to account for miniumum width required for visible rollups. PR #1507
|
||||
* 3D spectrum: Allow = to be used for +. Fix array delete. PR #1499
|
||||
* RTL-SDR: set max frequency limit to 2.4 GHz. Fixes #1497
|
||||
* Perseus: set frequency dial to 5 digits when not in transverter mode
|
||||
* GLSpectrum: separate waterfall and histogram resizing conditions. Fixes #1496
|
||||
* HackRF input: fixed sample rate setting from GUI. Following #1329
|
||||
* Arrange rollups after restore geometry to mitigate issue #1474
|
||||
* Remote TCP: 8-bit IQ data is unsigned. Fixes implementing #1467. PR #1495
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 15 Nov 2022 20:45:41 +0100
|
||||
|
||||
sdrangel (7.8.2-1) unstable; urgency=medium
|
||||
|
||||
* Make settings assigments atomic for most device plugins. Part of #1329
|
||||
* Update zlib to latest version. PR #1487
|
||||
* Fixed format time to next event. PR #1488. Fix #1483
|
||||
* Check for existing pipes after GUI is created. PR #1489. Attempt to fix #1484
|
||||
* Fix support for using Serial or TCP for either protocol. PR #1491
|
||||
* Save column sort as a setting. Fix deserialize of target satellite. PR #1492. Attempt to fix #1474
|
||||
* Fix sorting of next column. PR #1493
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Tue, 01 Nov 2022 22:20:21 +0100
|
||||
|
||||
sdrangel (7.8.1-1) unstable; urgency=medium
|
||||
|
||||
* Update to latest airspy drivers to fix #1372. PR #1468
|
||||
* Update of threading model on some Rx channels. Part of #1346
|
||||
* Radioastronomy Sat tracker: disable table sorting when adding a new row. Fixes #1472. PR #1473
|
||||
* Center frequency dials up to 9 digits and transverter delta frequency dial up to 12 digits. Fixes #1476
|
||||
* Have full frequency dials digit range only if transverter is engaged. PR #1479, 1481
|
||||
* DATV plugin: added dial to flip through DATV standard symbol rates
|
||||
* Spectrum frequency ticks MSB truncation. Fixes #1477
|
||||
* Have M17 and FreeDV plugins built in the Ubuntu package. Fixes #1480
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Wed, 19 Oct 2022 15:25:08 +0200
|
||||
|
||||
sdrangel (7.8.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade to latest libhackrf and use new Github URL. Fixes #1456
|
||||
* HackRF: use software LO ppm correction since hardware correction does not work. Fixes #1443
|
||||
* Device GUIs: Stop timers in destructors. Possible fix of #1372. PR #1466
|
||||
* Add occupied bandwidth and 3dB bandwidth measurements. PR #1465
|
||||
* Align spectrum with frequency scale. PR #1464
|
||||
* Rollupwidgets: Handle child layout requests. PR #1462
|
||||
* Size spectrum measurements table. PR #1462
|
||||
* Updated calibration button icon and documentation. Following PR #1454
|
||||
* Move GLSpectrum to GLSpectrumView and create new GLSpectrum with SpectrumMeasurements. PR #1454
|
||||
* Use dialog for spectrum measurement settings. PR #1454
|
||||
* Use splitter instead of dock. PR #1454
|
||||
* Update peak table when number of peaks changes. PR #1454
|
||||
* Spectrum: Use widget for measurements. PR #1454
|
||||
* Spectrum: Add Channel Power and SNR measurements. PR #1446
|
||||
* Spectrum: Add peak power and frequency in info bar. PR #1437
|
||||
* Spectrum markers peaks option
|
||||
* communicate from spectrum GUI to markers dialog and fixed some warning issues
|
||||
* Open spectrum markers dialog at current mouse position
|
||||
* Make markers dialog non modal
|
||||
* Save spectrum as CSV file with frequency and header. PR #1451
|
||||
* Spectrum GUI: Add button to save spectrum data to text file. PR #1451
|
||||
* Airspy: Update threading model. Part of #1346
|
||||
* Update threading model in Simple PTT feature. Part of #1346
|
||||
* Update threading model in Demod Analyzer feature. Part of #1346
|
||||
* AirspyHF: Update threading model. PR #1436
|
||||
* Update threading model in AFC feature. Part of #1346
|
||||
* AFC feature corrections
|
||||
* Frequency tracker: fixed GUI callbacks
|
||||
* Update threading model in Simple VOR localizer feature. Part of #1346
|
||||
* Part of #1346 Update threading model in Star Tracker, PER Tester and APRS features. PR #1428
|
||||
* Update threading in Rotator Controller. Part of #1346. PR #1419
|
||||
* Sat tracker: Use new threading model. Part of #1346. Fix memory corruption bug. PR #1419
|
||||
* More descriptive error for broken/unsupported WAV files. PR #1453
|
||||
* Replace depreceted QWidget.setMargin with setContentsMargins. PR #1447
|
||||
* Replace deprecated FontMetrics.width() with horizontalAdvance. PR #1447
|
||||
* Replace deprecated QWheelEvent.pos by position. PR #1444
|
||||
* Replace deprecated QWheelEvent.delta by angleDelta. PR #1444
|
||||
* Replace deprecated QTextStream number conversion functions. PR #1442
|
||||
* Fix name of widget, it must be unique. PR #1439
|
||||
* Replace deprecated setStandardButtons. PR #1438
|
||||
* Replace deprecated QSsl TLS ciphersuite selection. PR #1438
|
||||
* Replace deprecated QDateTime toTime_t by toSecsSinceEpoch. PR #1434
|
||||
* APT Demod: Update to latest aptdec. Remove reference to obsolete zenith variable. PR #1459
|
||||
* APT Demod: Add support for visible calibration. Fix #1422 PR #1459
|
||||
* Maps: Use mapboxgl as default map on Linux, as osm hangs in many cases. PR #1458
|
||||
* ADSB: Handle double quoted arguments in commands. PR #1455
|
||||
* Fix #1287 Fix ADS-B crash when My Position changed. PR #1429
|
||||
* Satellite Tracker: Implement variable substitution for commands and add additional variables. PR #1455
|
||||
* Sat Tracker: Fix restoring LOS speech Fixes #1421. PR #1419
|
||||
* Satellite Tracker: Signal AOS/LOS when non real time. Fix custom time. Fixes #1445. PR #1449
|
||||
* Fix crash when sat specific AOS command specified. Fixes #1425. PR #1426
|
||||
* Fixed GUI vs core plugin load order when loading a preset. Fixes #1427
|
||||
* Radio Astronomy: Add filtered power series. PR #1450
|
||||
* SoapySDR: make sure device open is successful before starting. Fixes #1441
|
||||
* Duplicate MDI restore geometry in an attempt to fix #1432
|
||||
* Duplicate QWidget::restoreGeometry in some places in an attempt to fix #1432
|
||||
* Fix #1452 Workaround Linux bug in color picker in map settings. PR #1433
|
||||
* Call stopWork from destructor. PR #1431
|
||||
* Remote Control: Fix Mac build. PR #1420
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 06 Oct 2022 22:08:43 +0200
|
||||
|
||||
sdrangel (7.7.0-1) unstable; urgency=medium
|
||||
|
||||
* Remote control feature plugin. PR #1414
|
||||
* Stop status timer, so updateTimer isn't called on deleted objects. PR #1408
|
||||
* APRS feature: Detect Packet Demods in MIMO device sets. Fixes #1409. PR #1410
|
||||
* Fixed some cmake warnings. PR #1411 #1412
|
||||
* Replace deprecated QMutex(Recursive) in Qt 5.14 with QRecursiveMutex. PR #1413
|
||||
* Upgrade Ubuntu package to 22.04 and therefore Qt 5.15. Issue #1416
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 18 Sep 2022 08:48:24 +0200
|
||||
|
||||
sdrangel (7.6.4-1) unstable; urgency=medium
|
||||
|
||||
* M17: fixed build for Windows so now available in Windows. PR #1404
|
||||
* Use grey text for disabled widgets. PR #1402
|
||||
* Stack workspace: Use full width for spectrum when no channels. PR #1403
|
||||
* Fix c++17 compilation with MSVC. PR #1405
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sat, 10 Sep 2022 19:12:31 +0200
|
||||
|
||||
sdrangel (7.6.3-1) unstable; urgency=medium
|
||||
|
||||
* NFM modulator: try to improve audio input
|
||||
* Simple PTT: fixed status indicator
|
||||
* LimeRFE feature: fixed settings API
|
||||
* ScriptsAPI: fixed dump.py and config.py to match v7 requirements
|
||||
* ScriptsAPI: removed obsolete config.py -I option
|
||||
* ScriptsAPI: new ptt_feature.py based on PTT amd LimeRFE features
|
||||
* LimeSDR: reduced LimeSDR stream FIFO size to 256k to improve latency
|
||||
* LimeSDR: better handle calibration errors. Fix #1389. PR #1391
|
||||
* LimeSDR: Set Lime minimum frequency in GUI to 30MHz+NCO freq. Fix #1389. PR #1391
|
||||
* LimeSDR: Set minimum calibration bandwidth to 2.5MHz. Fix #1389. PR #1391
|
||||
* LimeSDR: Report calibration errors in GUI. Fix #1389. PR #1395
|
||||
* LimeSDR: Check LPF is reasonable for up/downconversion. Fix #1389. PR #1395
|
||||
* ADS-B: Add support for decoding Comm-B replies in Mode-S frames. PR #1393
|
||||
* ADS-B: Check ICAO in sink worker, so CRC can be checked. Fix warnings. PR #1393
|
||||
* Add start/stop all devices of workspace button in workspace toolbar. PR #1394
|
||||
* Add device stateChanged signal. Use in RTL SDR GUI. PR #1394
|
||||
* Remove ? in Window's title bar. Fixes #1312. PR #1399
|
||||
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Thu, 01 Sep 2022 19:46:21 +0200
|
||||
|
||||
sdrangel (7.6.2-1) unstable; urgency=medium
|
||||
|
||||
* MacOS build fixes. PR #1374
|
||||
|
18
debian/control
vendored
18
debian/control
vendored
@ -16,8 +16,6 @@ Build-Depends: debhelper (>= 9),
|
||||
libqt5websockets5-dev,
|
||||
libqt5quick5,
|
||||
libqt5texttospeech5-dev,
|
||||
libqt5gamepad5-dev,
|
||||
libqt5svg5-dev,
|
||||
qml-module-qtlocation,
|
||||
qml-module-qtpositioning,
|
||||
qml-module-qtquick-window2,
|
||||
@ -42,19 +40,15 @@ Build-Depends: debhelper (>= 9),
|
||||
libopencv-imgcodecs-dev,
|
||||
libxml2-dev,
|
||||
bison,
|
||||
cmake,
|
||||
flex,
|
||||
ffmpeg,
|
||||
ninja-build,
|
||||
libfaad-dev,
|
||||
libflac-dev,
|
||||
libavcodec-dev,
|
||||
libavformat-dev,
|
||||
libopus-dev,
|
||||
libairspy-dev,
|
||||
libhackrf-dev,
|
||||
libuhd-dev,
|
||||
libhamlib-dev,
|
||||
zlib1g-dev
|
||||
# TODO:
|
||||
# - more dependencies based on version; newer has more devices
|
||||
@ -65,15 +59,11 @@ Architecture: any
|
||||
Depends: ${shlibs:Depends},
|
||||
${misc:Depends},
|
||||
libasound2,
|
||||
libgl1,
|
||||
libglx-mesa0,
|
||||
libgl1-mesa-glx,
|
||||
libqt5multimedia5-plugins,
|
||||
libqt5gamepad5,
|
||||
libqt5svg5,
|
||||
qtspeech5-speechd-plugin,
|
||||
pulseaudio | pipewire-pulse,
|
||||
pulseaudio,
|
||||
ffmpeg,
|
||||
gstreamer1.0-libav,
|
||||
qml-module-qtlocation,
|
||||
qml-module-qtpositioning,
|
||||
qml-module-qtquick-window2,
|
||||
@ -90,8 +80,8 @@ Description: SDR/Analyzer/Generator front-end for various hardware
|
||||
Based on Qt5 framework and OpenGL for the spectrum and scope rendering.
|
||||
Builds on Linux, Windows and Mac O/S
|
||||
Reception modes supported:
|
||||
Analog: AM, ATV, NFM, WFM, SSB, broadcast FM, APT, ILS, VOR
|
||||
Digital: D-Star, Yaesu SF, DMR, dPMR, FreeDV, M17, DAB, DVB-S, LoRa, ADS-B, Packet (AX.25/APRS), AIS, FT8, Navtex, Radiosonde, RTTY, Pager
|
||||
Analog: AM, ATV, NFM, WFM, SSB, broadcast FM, APT
|
||||
Digital: D-Star, Yaesu SF, DMR, dPMR, FreeDV, DAB, DVB-S, LoRa, ADS-B, Packet (AX.25/APRS), AIS
|
||||
Analyzer: Generic channel
|
||||
Transmission modes supported:
|
||||
Analog: AM, ATV, NFM, SSB, WFM
|
||||
|
2
debian/copyright
vendored
2
debian/copyright
vendored
@ -7,5 +7,5 @@ License: GPL-3.0
|
||||
Copyright: 2013 Dimitri Stolnikov
|
||||
License: GPL-3.0
|
||||
|
||||
Copyright: 2015-2022 Edouard Griffiths F4EXB
|
||||
Copyright: 2015-2019 Edouard Griffiths F4EXB
|
||||
License: GPL-3.0
|
||||
|
8
debian/rules
vendored
8
debian/rules
vendored
@ -3,13 +3,7 @@
|
||||
dh $@ --parallel --buildsystem=cmake+ninja
|
||||
|
||||
override_dh_auto_configure:
|
||||
dh_auto_configure -- -DARCH_OPT=nehalem -DENABLE_EXTERNAL_LIBRARIES=AUTO -DDEBUG_OUTPUT=ON -DBUILD_SERVER=OFF
|
||||
|
||||
# delete any external projects (such as libsigmf) that are installed
|
||||
# would be better if we could prevent them from being installed in CMakeLists.txt
|
||||
override_dh_install:
|
||||
-find debian/sdrangel -type d -name external -exec rm -r {} \; -exec mkdir {} \; -exec rmdir -p {} \;
|
||||
dh_install
|
||||
dh_auto_configure -- -DARCH_OPT=nehalem -DENABLE_EXTERNAL_LIBRARIES=ON -DDEBUG_OUTPUT=ON -DBUILD_SERVER=OFF
|
||||
|
||||
override_dh_auto_test:
|
||||
echo "Skipping test step"
|
||||
|
@ -40,6 +40,4 @@ if(ENABLE_USRP AND UHD_FOUND)
|
||||
add_subdirectory(usrp)
|
||||
endif()
|
||||
|
||||
if(ENABLE_METIS)
|
||||
add_subdirectory(metis)
|
||||
endif()
|
||||
add_subdirectory(metis)
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2016-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2016-2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2016-2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2016, 2018-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2016-2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -20,6 +18,7 @@
|
||||
#ifndef DEVICES_BLADERF_DEVICEHACKRFSHARED_H_
|
||||
#define DEVICES_BLADERF_DEVICEHACKRFSHARED_H_
|
||||
|
||||
#include "util/message.h"
|
||||
#include "export.h"
|
||||
|
||||
class DEVICES_API DeviceBladeRF1Shared
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2016-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2016-2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,8 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2014 John Greb <hexameron@spam.no> //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2016-2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2016-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2016-2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019, 2021 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019, 2021 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2017, 2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2017, 2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2017, 2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,8 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2014 John Greb <hexameron@spam.no> //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2017-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -51,7 +51,7 @@ void DeviceLimeSDR::enumOriginDevices(const QString& hardwareId, PluginInterface
|
||||
findSerial((const char *) deviceList[i], serial);
|
||||
|
||||
DeviceLimeSDRParams limeSDRParams;
|
||||
limeSDRParams.open(deviceList[i], false);
|
||||
limeSDRParams.open(deviceList[i]);
|
||||
limeSDRParams.close();
|
||||
|
||||
QString displayedName(QString("LimeSDR[%1:$1] %2").arg(i).arg(serial.c_str()));
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2017-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -18,7 +18,7 @@
|
||||
#include <QDebug>
|
||||
#include "devicelimesdrparam.h"
|
||||
|
||||
bool DeviceLimeSDRParams::open(lms_info_str_t deviceStr, bool init)
|
||||
bool DeviceLimeSDRParams::open(lms_info_str_t deviceStr)
|
||||
{
|
||||
getHardwareType((const char *) deviceStr);
|
||||
|
||||
@ -30,13 +30,10 @@ bool DeviceLimeSDRParams::open(lms_info_str_t deviceStr, bool init)
|
||||
return false;
|
||||
}
|
||||
|
||||
if (init)
|
||||
if (LMS_Init(m_dev) < 0)
|
||||
{
|
||||
if (LMS_Init(m_dev) < 0)
|
||||
{
|
||||
qCritical() << "DeviceLimeSDRParams::open: cannot init device " << deviceStr;
|
||||
return false;
|
||||
}
|
||||
qCritical() << "DeviceLimeSDRParams::open: cannot init device " << deviceStr;
|
||||
return false;
|
||||
}
|
||||
|
||||
int n;
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -96,7 +94,7 @@ struct DEVICES_API DeviceLimeSDRParams
|
||||
/**
|
||||
* Opens and initialize the device and obtain information (# channels, ranges, ...)
|
||||
*/
|
||||
bool open(lms_info_str_t deviceStr, bool init = true);
|
||||
bool open(lms_info_str_t deviceStr);
|
||||
void close();
|
||||
lms_device_t *getDevice() { return m_dev; }
|
||||
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2020 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -31,4 +29,4 @@ DeviceMetis& DeviceMetis::instance()
|
||||
{
|
||||
static DeviceMetis inst;
|
||||
return inst;
|
||||
}
|
||||
}
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2020 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -38,7 +36,7 @@ protected:
|
||||
~DeviceMetis();
|
||||
|
||||
private:
|
||||
DeviceMetisScan m_scan;
|
||||
DeviceMetisScan m_scan;
|
||||
};
|
||||
|
||||
#endif // DEVICES_METIS_DEVICEMETIS_H_
|
||||
#endif // DEVICES_METIS_DEVICEMETIS_H_
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2020-2021 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2020 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2020 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,6 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2019 Davide Gerhard <rainbow@irh.it> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2017, 2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,9 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2017-2021 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2019 Davide Gerhard <rainbow@irh.it> //
|
||||
// Copyright (C) 2019 Robin Getz <robin.getz@analog.com> //
|
||||
// Copyright (C) 2020 Felix Schneider <felix@fx-schneider.de> //
|
||||
// Copyright (C) 2021 Christoph Berg <myon@debian.org> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -27,6 +23,7 @@
|
||||
#include <boost/lexical_cast.hpp>
|
||||
#include <QtGlobal>
|
||||
|
||||
#include "dsp/dsptypes.h"
|
||||
#include "dsp/wfir.h"
|
||||
#include "deviceplutosdr.h"
|
||||
#include "deviceplutosdrbox.h"
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2017-2019, 2021 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2019 Robin Getz <robin.getz@analog.com> //
|
||||
// Copyright (C) 2020 Felix Schneider <felix@fx-schneider.de> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2017, 2019-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2017, 2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2019 Sebastian Weiss <dl3yc@darc.de> //
|
||||
// Copyright (C) 2021 Andreas Baulig <free.geronimo@hotmail.de> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -160,4 +158,4 @@ void DevicePlutoSDRScan::enumOriginDevices(const QString& hardwareId, PluginInte
|
||||
qDebug("DevicePlutoSDRScan::enumOriginDevices: enumerated PlutoSDR device #%d", i);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,8 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2021 Andreas Baulig <free.geronimo@hotmail.de> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2017, 2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -15,7 +15,7 @@ set(soapysdrdevice_HEADERS
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${SOAPYSDR_INCLUDE_DIRS}
|
||||
${SOAPYSDR_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
add_library(soapysdrdevice SHARED
|
||||
@ -26,15 +26,10 @@ set_target_properties(soapysdrdevice
|
||||
PROPERTIES DEFINE_SYMBOL "devices_EXPORTS")
|
||||
|
||||
target_link_libraries(soapysdrdevice
|
||||
${SOAPYSDR_LINK_LIBRARIES}
|
||||
${SOAPYSDR_LIBRARIES}
|
||||
${SOAPYSDR_LIBRARY}
|
||||
sdrbase
|
||||
)
|
||||
|
||||
target_link_directories(soapysdrdevice PRIVATE
|
||||
${SOAPYSDR_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
if(SOAPYSDR_EXTERNAL AND NOT LINUX)
|
||||
add_dependencies(soapysdrdevice soapysdr)
|
||||
endif()
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -114,4 +114,4 @@ void DeviceSoapySDR::enumOriginDevices(const QString& hardwareId, PluginInterfac
|
||||
it->m_nbTx // nb Tx
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
@ -1,8 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2015 John Greb <hexameron@spam.no> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,5 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2018-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2019 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,6 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2020, 2022-2023 Jon Beniston, M7RCE <jon@beniston.com> //
|
||||
// Copyright (C) 2020, 2022 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -47,40 +47,22 @@ void DeviceUSRP::enumOriginDevices(const QString& hardwareId, PluginInterface::O
|
||||
QString id = QString::fromStdString(dev_addrs[i].to_string());
|
||||
QString name = QString::fromStdString(dev_addrs[i].get("name", "N/A"));
|
||||
QString serial = QString::fromStdString(dev_addrs[i].get("serial", "N/A"));
|
||||
QString product = QString::fromStdString(dev_addrs[i].get("product", "N/A"));
|
||||
QString displayedName(QString("%1[%2:$1] %3").arg(name).arg(i).arg(serial));
|
||||
|
||||
qDebug() << "DeviceUSRP::enumOriginDevices: found USRP device " << displayedName;
|
||||
|
||||
// Opening some devices can be a little slow, so use hardcoded number of channels,
|
||||
// for known devices
|
||||
static const QMap<QString, int> channelMap{{"B200", 1}, {"B205", 1}, {"B210", 2}};
|
||||
if (channelMap.contains(product))
|
||||
{
|
||||
originDevices.append(PluginInterface::OriginDevice(
|
||||
displayedName,
|
||||
hardwareId,
|
||||
id,
|
||||
(int)i,
|
||||
channelMap[product],
|
||||
channelMap[product]
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
DeviceUSRPParams usrpParams;
|
||||
usrpParams.open(id, true);
|
||||
usrpParams.close();
|
||||
DeviceUSRPParams usrpParams;
|
||||
usrpParams.open(id, true);
|
||||
usrpParams.close();
|
||||
|
||||
originDevices.append(PluginInterface::OriginDevice(
|
||||
displayedName,
|
||||
hardwareId,
|
||||
id,
|
||||
(int)i,
|
||||
usrpParams.m_nbRxChannels,
|
||||
usrpParams.m_nbTxChannels
|
||||
));
|
||||
}
|
||||
originDevices.append(PluginInterface::OriginDevice(
|
||||
displayedName,
|
||||
hardwareId,
|
||||
id,
|
||||
(int)i,
|
||||
usrpParams.m_nbRxChannels,
|
||||
usrpParams.m_nbTxChannels
|
||||
));
|
||||
}
|
||||
}
|
||||
catch (const std::exception& e)
|
||||
|
@ -1,8 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE <jon@beniston.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,6 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2020, 2022-2023 Jon Beniston, M7RCE <jon@beniston.com> //
|
||||
// Copyright (C) 2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
@ -40,7 +40,7 @@ bool DeviceUSRPParams::open(const QString &deviceStr, bool channelNumOnly)
|
||||
qDebug() << "DeviceUSRPParams::open: m_nbRxChannels: " << m_nbRxChannels << " m_nbTxChannels: " << m_nbTxChannels;
|
||||
|
||||
// Speed up program initialisation, by not getting all properties
|
||||
// If we could find out number of channels without ::make ing the device
|
||||
// If we could find out number of channles without ::make ing the device
|
||||
// that would be even better
|
||||
if (!channelNumOnly)
|
||||
{
|
||||
@ -71,12 +71,6 @@ bool DeviceUSRPParams::open(const QString &deviceStr, bool channelNumOnly)
|
||||
m_srRangeTx = m_dev->get_tx_rates();
|
||||
}
|
||||
}
|
||||
else if (deviceStr.contains("product=B210"))
|
||||
{
|
||||
// Auto-calculation below can be slow, so use hardcoded values for B210
|
||||
m_srRangeRx = uhd::meta_range_t(1e5, 61.444e6);
|
||||
m_srRangeTx = uhd::meta_range_t(1e5, 61.444e6);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Find max and min sample rate, for max and min master clock rates
|
||||
|
@ -1,6 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2020, 2022 Jon Beniston, M7RCE <jon@beniston.com> //
|
||||
// Copyright (C) 2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,8 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE <jon@beniston.com> //
|
||||
// Copyright (C) 2017 Edouard Griffiths, F4EXB //
|
||||
// Copyright (C) 2020 Jon Beniston, M7RCE //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,8 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2015 John Greb <hexameron@spam.no> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
@ -1,7 +1,5 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2012 maintech GmbH, Otto-Hahn-Str. 15, 97204 Hoechberg, Germany //
|
||||
// written by Christian Daniel //
|
||||
// Copyright (C) 2015-2020 Edouard Griffiths, F4EXB <f4exb06@gmail.com> //
|
||||
// Copyright (C) 2018 Edouard Griffiths, F4EXB //
|
||||
// //
|
||||
// This program is free software; you can redistribute it and/or modify //
|
||||
// it under the terms of the GNU General Public License as published by //
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user