Compare commits
No commits in common. "master" and "v7.15.0" have entirely different histories.
211
.appveyor.yml
@ -20,118 +20,117 @@ 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: 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
|
||||
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: 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 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 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: 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: ubuntu2204docker
|
||||
|
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
@ -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
|
64
.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@v3
|
||||
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 "version=$(git describe --tags | cut -c2-)" >> $env:GITHUB_OUTPUT
|
||||
- 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,27 @@ 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@v3
|
||||
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@v3
|
||||
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@v0.1.13
|
||||
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
@ -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
|
2
.github/workflows/stale.yml
vendored
@ -18,7 +18,7 @@ jobs:
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v5
|
||||
- uses: actions/stale@v4
|
||||
with:
|
||||
days-before-stale: 40
|
||||
days-before-close: 5
|
||||
|
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
@ -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
|
||||
|
516
CHANGELOG
@ -1,517 +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
|
||||
@ -520,7 +6,7 @@ sdrangel (7.15.0-1) unstable; urgency=medium
|
||||
* 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
|
||||
-- Edouard Griffiths, F4EXB <f4exb06@gmail.com> Sun, 18 Jun 2023 22:38:65 +0200
|
||||
|
||||
sdrangel (7.14.2-1) unstable; urgency=medium
|
||||
|
||||
|
274
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,23 @@ 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 "15")
|
||||
set(sdrangel_VERSION_PATCH "0")
|
||||
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 +39,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)
|
||||
@ -96,11 +85,6 @@ 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 +104,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)
|
||||
@ -149,9 +131,6 @@ 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 +164,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 +197,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 +245,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
|
||||
@ -321,7 +284,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)
|
||||
@ -348,7 +311,7 @@ elseif (WIN32)
|
||||
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 "")
|
||||
@ -415,10 +378,6 @@ elseif (WIN32)
|
||||
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"
|
||||
@ -429,7 +388,7 @@ elseif (WIN32)
|
||||
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(Boost_INCLUDE_DIR "${EXTERNAL_LIBRARY_FOLDER}/ndk_21_boost_1.72.0/include" CACHE INTERNAL "")
|
||||
|
||||
set(FFTW3F_FOUND ON CACHE INTERNAL "")
|
||||
set(FFTW3F_INCLUDE_DIRS "${EXTERNAL_LIBRARY_FOLDER}/${ANDROID_ABI}/fftw-3/include" CACHE INTERNAL "")
|
||||
@ -472,7 +431,7 @@ elseif(ANDROID)
|
||||
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(FFMEG_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 "")
|
||||
@ -486,14 +445,6 @@ elseif(ANDROID)
|
||||
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 "")
|
||||
@ -516,6 +467,11 @@ elseif(ANDROID)
|
||||
|
||||
if (ENABLE_QT6)
|
||||
set(ANDROID_EXTRA_LIBS
|
||||
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6Charts_arm64-v8a.so
|
||||
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6Concurrent_arm64-v8a.so
|
||||
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6MultimediaWidgets_arm64-v8a.so
|
||||
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6SerialPort_arm64-v8a.so
|
||||
${Qt6_DIR}/../../../android_arm64_v8a/lib/libQt6TextToSpeech_arm64-v8a.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}/${ANDROID_ABI}/ffmpeg/lib/libavcodec.so
|
||||
@ -530,7 +486,6 @@ elseif(ANDROID)
|
||||
${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()
|
||||
@ -581,7 +536,6 @@ elseif(ANDROID)
|
||||
${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
|
||||
@ -594,11 +548,9 @@ elseif(ANDROID)
|
||||
${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 +577,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)
|
||||
|
||||
@ -648,6 +596,7 @@ 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)
|
||||
# Qt6 doesn't currently support Location
|
||||
find_package(Qt6
|
||||
COMPONENTS
|
||||
Core
|
||||
@ -657,7 +606,8 @@ if(ENABLE_QT6)
|
||||
MultimediaWidgets
|
||||
Positioning
|
||||
Charts
|
||||
SerialPort)
|
||||
SerialPort
|
||||
Core5Compat)
|
||||
else()
|
||||
find_package(Qt5 5.15
|
||||
REQUIRED COMPONENTS
|
||||
@ -678,15 +628,12 @@ if (BUILD_GUI)
|
||||
if (ENABLE_QT6)
|
||||
find_package(Qt6
|
||||
REQUIRED COMPONENTS
|
||||
Location
|
||||
OpenGL
|
||||
OpenGLWidgets
|
||||
Quick
|
||||
QuickWidgets
|
||||
TextToSpeech
|
||||
Svg
|
||||
SvgWidgets
|
||||
StateMachine)
|
||||
Svg)
|
||||
else()
|
||||
find_package(Qt5
|
||||
REQUIRED COMPONENTS
|
||||
@ -709,15 +656,11 @@ if (BUILD_GUI)
|
||||
OpenGLWidgets
|
||||
Quick
|
||||
QuickWidgets
|
||||
Svg
|
||||
SvgWidgets
|
||||
StateMachine
|
||||
OPTIONAL_COMPONENTS
|
||||
WebEngineQuick
|
||||
WebEngineCore
|
||||
WebEngineWidgets
|
||||
TextToSpeech
|
||||
Location)
|
||||
TextToSpeech)
|
||||
else()
|
||||
find_package(Qt5
|
||||
REQUIRED COMPONENTS
|
||||
@ -726,7 +669,6 @@ if (BUILD_GUI)
|
||||
QuickWidgets
|
||||
Location
|
||||
TextToSpeech
|
||||
Svg
|
||||
OPTIONAL_COMPONENTS
|
||||
WebEngine
|
||||
WebEngineCore
|
||||
@ -736,27 +678,8 @@ if (BUILD_GUI)
|
||||
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)
|
||||
endif()
|
||||
|
||||
# other requirements
|
||||
if(NOT ANDROID AND NOT EMSCRIPTEN)
|
||||
if(NOT ANDROID)
|
||||
find_package(PkgConfig REQUIRED)
|
||||
endif()
|
||||
|
||||
@ -789,25 +712,16 @@ 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)
|
||||
find_package(LibUSB REQUIRED) # used by so many packages
|
||||
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(OpenCV OPTIONAL_COMPONENTS core highgui imgproc imgcodecs videoio) # channeltx/modatv
|
||||
find_package(LibSigMF) # SigMF recording files support
|
||||
find_package(ZLIB) # For DAB
|
||||
@ -821,65 +735,56 @@ if (NOT ENABLE_EXTERNAL_LIBRARIES OR (ENABLE_EXTERNAL_LIBRARIES STREQUAL "AUTO")
|
||||
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)
|
||||
@ -901,15 +806,7 @@ if (FFTW3F_FOUND)
|
||||
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)
|
||||
@ -980,7 +877,6 @@ else()
|
||||
endif()
|
||||
|
||||
############ build sdrangel benchmark ################
|
||||
if (BUILD_BENCH)
|
||||
set(sdrangelbench_SOURCES
|
||||
appbench/main.cpp
|
||||
)
|
||||
@ -994,8 +890,6 @@ target_link_libraries(sdrangelbench
|
||||
sdrbench
|
||||
logging
|
||||
)
|
||||
endif()
|
||||
|
||||
############ build sdrangel gui ################
|
||||
if (BUILD_GUI)
|
||||
set(sdrangel_SOURCES
|
||||
@ -1003,12 +897,7 @@ if (BUILD_GUI)
|
||||
sdrgui/resources/sdrangel.rc
|
||||
settings/settings.qrc
|
||||
)
|
||||
if (WIN32)
|
||||
set(sdrangel_SOURCES ${sdrangel_SOURCES} app/crashhandlerwin.cpp)
|
||||
endif()
|
||||
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)
|
||||
@ -1056,14 +945,10 @@ if (BUILD_GUI)
|
||||
${OPENGL_LIBRARIES}
|
||||
Qt::Widgets
|
||||
Qt::Multimedia
|
||||
Qt::Quick
|
||||
sdrbase
|
||||
sdrgui
|
||||
logging
|
||||
)
|
||||
endif()
|
||||
if(APPLE)
|
||||
target_link_libraries(${CMAKE_PROJECT_NAME} "-framework AVFoundation" objc)
|
||||
)
|
||||
endif()
|
||||
|
||||
if(WIN32)
|
||||
@ -1091,9 +976,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()
|
||||
@ -1112,7 +995,6 @@ endif()
|
||||
|
||||
# Install debug symbols
|
||||
if (WIN32)
|
||||
install(FILES $<TARGET_PROPERTY:${CMAKE_PROJECT_NAME},RUNTIME_OUTPUT_DIRECTORY>/${CMAKE_PROJECT_NAME}stripped.pdb CONFIGURATIONS Release DESTINATION ${INSTALL_LIB_DIR} RENAME ${CMAKE_PROJECT_NAME}.pdb)
|
||||
install(FILES $<TARGET_PDB_FILE:${CMAKE_PROJECT_NAME}> CONFIGURATIONS Debug RelWithDebInfo DESTINATION ${INSTALL_BIN_DIR} )
|
||||
endif()
|
||||
|
||||
|
@ -1,112 +1,56 @@
|
||||
{
|
||||
"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": {
|
||||
"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",
|
||||
"CMAKE_INSTALL_PREFIX": "/opt/install/sdrangel"
|
||||
},
|
||||
"warnings": {
|
||||
"dev": false
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "default-qt6",
|
||||
"inherits": "default",
|
||||
"binaryDir": "build-qt6",
|
||||
"cacheVariables": {
|
||||
"ENABLE_QT6": "ON"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"configurePreset": "default-qt6"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"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"
|
||||
}
|
||||
]
|
||||
]
|
||||
}
|
||||
|
@ -1,22 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2025 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 //
|
||||
// the Free Software Foundation as version 3 of the License, or //
|
||||
// (at your option) any later version. //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License V3 for more details. //
|
||||
// //
|
||||
// You should have received a copy of the GNU General Public License //
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "loggerwithfile.h"
|
||||
|
||||
void installCrashHandler(qtwebapp::LoggerWithFile *logger);
|
@ -1,421 +0,0 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// Copyright (C) 2025 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 //
|
||||
// the Free Software Foundation as version 3 of the License, or //
|
||||
// (at your option) any later version. //
|
||||
// //
|
||||
// This program is distributed in the hope that it will be useful, //
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
|
||||
// GNU General Public License V3 for more details. //
|
||||
// //
|
||||
// You should have received a copy of the GNU General Public License //
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>. //
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#include "crashhandler.h"
|
||||
|
||||
#include <windows.h>
|
||||
#include <dbghelp.h>
|
||||
|
||||
// Use common controls v6, rather than v5
|
||||
#pragma comment(linker,"\"/manifestdependency:type='win32' \
|
||||
name='Microsoft.Windows.Common-Controls' version='6.0.0.0' \
|
||||
processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
|
||||
|
||||
#define IDC_EXIT_BUTTON 1500
|
||||
#define IDC_COPY_BUTTON 1501
|
||||
#define IDC_GITHUB_BUTTON 1502
|
||||
|
||||
static HWND hWindow;
|
||||
static HWND hLabel;
|
||||
static HWND hEdit;
|
||||
static HWND hGithubButton;
|
||||
static HWND hCopyButton;
|
||||
static HWND hExitButton;
|
||||
|
||||
static qtwebapp::LoggerWithFile *crashLogger;
|
||||
|
||||
static void ScaleWindow(HWND wnd, int x, int y, int w, int h)
|
||||
{
|
||||
int dpi = GetDpiForWindow(wnd);
|
||||
|
||||
int scaledX = MulDiv(x, dpi, USER_DEFAULT_SCREEN_DPI);
|
||||
int scaledY = MulDiv(y, dpi, USER_DEFAULT_SCREEN_DPI);
|
||||
int scaledW = MulDiv(w, dpi, USER_DEFAULT_SCREEN_DPI);
|
||||
int scaledH = MulDiv(h, dpi, USER_DEFAULT_SCREEN_DPI);
|
||||
|
||||
SetWindowPos(wnd, wnd, scaledX, scaledY, scaledW, scaledH, SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
}
|
||||
|
||||
static void Scale(HWND wnd, int& w, int &h)
|
||||
{
|
||||
int dpi = GetDpiForWindow(wnd);
|
||||
|
||||
w = MulDiv(w, dpi, USER_DEFAULT_SCREEN_DPI);
|
||||
h = MulDiv(h, dpi, USER_DEFAULT_SCREEN_DPI);
|
||||
}
|
||||
|
||||
static void Unscale(HWND wnd, int& w, int &h)
|
||||
{
|
||||
int dpi = GetDpiForWindow(wnd);
|
||||
|
||||
w = MulDiv(w, USER_DEFAULT_SCREEN_DPI, dpi);
|
||||
h = MulDiv(h, USER_DEFAULT_SCREEN_DPI, dpi);
|
||||
}
|
||||
|
||||
static void ScaleControls()
|
||||
{
|
||||
RECT rect;
|
||||
int w;
|
||||
int h;
|
||||
|
||||
GetWindowRect(hWindow, &rect);
|
||||
w = rect.right - rect.left;
|
||||
h = rect.bottom - rect.top;
|
||||
Unscale(hWindow, w, h);
|
||||
|
||||
int buttonY = h - 100;
|
||||
int editW = w - 40;
|
||||
int editH = h - 200;
|
||||
|
||||
if (hLabel) {
|
||||
ScaleWindow(hLabel, 10, 10, editW, 70);
|
||||
}
|
||||
if (hEdit) {
|
||||
ScaleWindow(hEdit, 10, 80, editW, editH);
|
||||
}
|
||||
if (hGithubButton) {
|
||||
ScaleWindow(hGithubButton, 10, buttonY, 150, 30);
|
||||
}
|
||||
if (hCopyButton) {
|
||||
ScaleWindow(hCopyButton, 170, buttonY, 150, 30);
|
||||
}
|
||||
if (hExitButton) {
|
||||
ScaleWindow(hExitButton, w - 180, buttonY, 150, 30);
|
||||
}
|
||||
}
|
||||
|
||||
static void ScaleWindow()
|
||||
{
|
||||
if (hWindow)
|
||||
{
|
||||
RECT rect;
|
||||
|
||||
GetWindowRect(hWindow, &rect);
|
||||
ScaleWindow(hWindow, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top);
|
||||
}
|
||||
}
|
||||
|
||||
static LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
switch (message)
|
||||
{
|
||||
|
||||
case WM_COMMAND:
|
||||
{
|
||||
int wmId = LOWORD(wParam);
|
||||
|
||||
switch (wmId)
|
||||
{
|
||||
|
||||
case IDC_EXIT_BUTTON:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
|
||||
case IDC_GITHUB_BUTTON:
|
||||
// Open SDRangel GitHub issues page in web browser
|
||||
ShellExecute(NULL, L"open", L"https://github.com/f4exb/sdrangel/issues", NULL, NULL, SW_SHOWNORMAL);
|
||||
break;
|
||||
|
||||
case IDC_COPY_BUTTON:
|
||||
{
|
||||
// Copy contents of edit control to clipboard
|
||||
int len = GetWindowTextLength(hEdit);
|
||||
HGLOBAL hMem = GlobalAlloc(GMEM_MOVEABLE, (len + 1) * sizeof(wchar_t));
|
||||
|
||||
if (hMem)
|
||||
{
|
||||
void *text = GlobalLock(hMem);
|
||||
if (text)
|
||||
{
|
||||
GetWindowText(hEdit, (LPWSTR) text, len);
|
||||
GlobalUnlock(hMem);
|
||||
OpenClipboard(0);
|
||||
EmptyClipboard();
|
||||
SetClipboardData(CF_UNICODETEXT, hMem);
|
||||
CloseClipboard();
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_CREATE:
|
||||
{
|
||||
HINSTANCE hInst = (HINSTANCE) GetWindowLongPtr(hWnd, GWLP_HINSTANCE);
|
||||
LPCREATESTRUCT cs = (LPCREATESTRUCT) lParam;
|
||||
|
||||
hLabel = CreateWindow(L"Static",
|
||||
L"SDRangel has crashed.\r\n\r\nPlease consider opening a bug report on GitHub, copying the text below and a screenshot.",
|
||||
WS_CHILD | WS_VISIBLE,
|
||||
0, 0, 0, 0,
|
||||
hWnd,
|
||||
NULL,
|
||||
hInst,
|
||||
NULL);
|
||||
|
||||
hEdit = CreateWindowA("EDIT",
|
||||
(LPCSTR) cs->lpCreateParams,
|
||||
WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL,
|
||||
0, 0, 0, 0,
|
||||
hWnd,
|
||||
NULL,
|
||||
hInst,
|
||||
NULL);
|
||||
|
||||
hGithubButton = CreateWindow(
|
||||
L"BUTTON",
|
||||
L"Open Github...",
|
||||
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
|
||||
0, 0, 0, 0,
|
||||
hWnd,
|
||||
(HMENU) IDC_GITHUB_BUTTON,
|
||||
hInst,
|
||||
NULL);
|
||||
|
||||
hCopyButton = CreateWindow(
|
||||
L"BUTTON",
|
||||
L"Copy text",
|
||||
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
|
||||
0, 0, 0, 0,
|
||||
hWnd,
|
||||
(HMENU) IDC_COPY_BUTTON,
|
||||
hInst,
|
||||
NULL);
|
||||
|
||||
hExitButton = CreateWindow(
|
||||
L"BUTTON",
|
||||
L"Exit SDRangel",
|
||||
WS_TABSTOP | WS_VISIBLE | WS_CHILD | BS_DEFPUSHBUTTON,
|
||||
0, 0, 0, 0,
|
||||
hWnd,
|
||||
(HMENU) IDC_EXIT_BUTTON,
|
||||
hInst,
|
||||
NULL);
|
||||
|
||||
ScaleControls();
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_GETMINMAXINFO:
|
||||
{
|
||||
LPMINMAXINFO lpMMI = (LPMINMAXINFO) lParam;
|
||||
int w = 500;
|
||||
int h = 220;
|
||||
Scale(hWindow, w, h);
|
||||
|
||||
lpMMI->ptMinTrackSize.x = w;
|
||||
lpMMI->ptMinTrackSize.y = h;
|
||||
break;
|
||||
}
|
||||
|
||||
case WM_SIZE:
|
||||
ScaleControls();
|
||||
RedrawWindow(hWindow, NULL, NULL, RDW_ERASE | RDW_INVALIDATE | RDW_UPDATENOW | RDW_ALLCHILDREN);
|
||||
break;
|
||||
|
||||
case WM_DPICHANGED:
|
||||
ScaleControls();
|
||||
ScaleWindow();
|
||||
break;
|
||||
|
||||
case WM_CTLCOLORSTATIC:
|
||||
SetBkMode((HDC) wParam, TRANSPARENT);
|
||||
return (LRESULT) GetStockObject(NULL_BRUSH);
|
||||
|
||||
case WM_DESTROY:
|
||||
PostQuitMessage(0);
|
||||
break;
|
||||
|
||||
default:
|
||||
return DefWindowProc(hWnd, message, wParam, lParam);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Create and display crash log when an unhandled exception occurs
|
||||
static LONG crashHandler(struct _EXCEPTION_POINTERS *ExceptionInfo)
|
||||
{
|
||||
const int reportBufferSize = 1024*1024;
|
||||
char *reportBuffer = new char[reportBufferSize];
|
||||
char *reportBufferPtr = reportBuffer;
|
||||
int reportBufferRemaining = reportBufferSize;
|
||||
|
||||
int written = snprintf(reportBufferPtr, reportBufferRemaining,
|
||||
"SDRangel crash data\r\n%s %s\r\nQt %s\r\n%s %s\r\nStack trace:\r\n",
|
||||
APPLICATION_NAME,
|
||||
SDRANGEL_VERSION,
|
||||
QT_VERSION_STR,
|
||||
qPrintable(QSysInfo::prettyProductName()),
|
||||
qPrintable(QSysInfo::currentCpuArchitecture())
|
||||
);
|
||||
reportBufferPtr += written;
|
||||
reportBufferRemaining -= written;
|
||||
|
||||
// Create stack trace
|
||||
|
||||
STACKFRAME64 stack;
|
||||
CONTEXT context;
|
||||
HANDLE process;
|
||||
DWORD64 displacement;
|
||||
ULONG frame;
|
||||
BOOL symInit;
|
||||
char symName[(MAX_PATH * sizeof(TCHAR))];
|
||||
char storage[sizeof(IMAGEHLP_SYMBOL64) + (sizeof(symName))];
|
||||
IMAGEHLP_SYMBOL64* symbol;
|
||||
|
||||
RtlCaptureContext(&context);
|
||||
memset(&stack, 0, sizeof(STACKFRAME64));
|
||||
#if defined(_AMD64_)
|
||||
stack.AddrPC.Offset = context.Rip;
|
||||
stack.AddrPC.Mode = AddrModeFlat;
|
||||
stack.AddrStack.Offset = context.Rsp;
|
||||
stack.AddrStack.Mode = AddrModeFlat;
|
||||
stack.AddrFrame.Offset = context.Rbp;
|
||||
stack.AddrFrame.Mode = AddrModeFlat;
|
||||
#else
|
||||
stack.AddrPC.Offset = context.Eip;
|
||||
stack.AddrPC.Mode = AddrModeFlat;
|
||||
stack.AddrStack.Offset = context.Esp;
|
||||
stack.AddrStack.Mode = AddrModeFlat;
|
||||
stack.AddrFrame.Offset = context.Ebp;
|
||||
stack.AddrFrame.Mode = AddrModeFlat;
|
||||
#endif
|
||||
displacement = 0;
|
||||
process = GetCurrentProcess();
|
||||
symInit = SymInitialize(process, "plugins", TRUE);
|
||||
symbol = (IMAGEHLP_SYMBOL64*) storage;
|
||||
|
||||
for (frame = 0; reportBufferRemaining > 0; frame++)
|
||||
{
|
||||
BOOL result = StackWalk(IMAGE_FILE_MACHINE_AMD64,
|
||||
process,
|
||||
GetCurrentThread(),
|
||||
&stack,
|
||||
&context,
|
||||
NULL,
|
||||
SymFunctionTableAccess64,
|
||||
SymGetModuleBase64,
|
||||
NULL);
|
||||
|
||||
if (result)
|
||||
{
|
||||
symbol->SizeOfStruct = sizeof(storage);
|
||||
symbol->MaxNameLength = sizeof(symName);
|
||||
|
||||
BOOL symResult = SymGetSymFromAddr64(process, (ULONG64)stack.AddrPC.Offset, &displacement, symbol);
|
||||
if (symResult) {
|
||||
UnDecorateSymbolName(symbol->Name, (PSTR)symName, sizeof(symName), UNDNAME_COMPLETE);
|
||||
}
|
||||
|
||||
written = snprintf(
|
||||
reportBufferPtr,
|
||||
reportBufferRemaining,
|
||||
"%02u 0x%p %s\r\n",
|
||||
frame,
|
||||
stack.AddrPC.Offset,
|
||||
symResult ? symbol->Name : "Unknown"
|
||||
);
|
||||
if (written > 0)
|
||||
{
|
||||
if (written <= reportBufferRemaining)
|
||||
{
|
||||
reportBufferPtr += written;
|
||||
reportBufferRemaining -= written;
|
||||
}
|
||||
else
|
||||
{
|
||||
reportBufferPtr += reportBufferRemaining;
|
||||
reportBufferRemaining = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// Append log file
|
||||
if (crashLogger)
|
||||
{
|
||||
QString log = crashLogger->getBufferLog();
|
||||
log = log.replace('\n', "\r\n");
|
||||
written = snprintf(reportBufferPtr, reportBufferRemaining, "Log:\r\n%s\r\n", qPrintable(log));
|
||||
if (written > 0)
|
||||
{
|
||||
reportBufferPtr += written;
|
||||
reportBufferRemaining -= written;
|
||||
}
|
||||
}
|
||||
|
||||
// Create a window to display the crash report
|
||||
// Can't use QMessageBox here, as may not work depending where the crash was, so need to use Win32 API
|
||||
|
||||
SetThreadDpiAwarenessContext(DPI_AWARENESS_CONTEXT_SYSTEM_AWARE); // Needed, otherwise GetDpiForWindow always returns 96, rather than the actual value
|
||||
|
||||
wchar_t windowClass[] = L"SDRangel Crash Window Class";
|
||||
HMODULE hInstance = GetModuleHandle(NULL);
|
||||
WNDCLASSEX wc = { };
|
||||
|
||||
wc.cbSize = sizeof(WNDCLASSEX);
|
||||
wc.lpfnWndProc = WindowProc;
|
||||
wc.hInstance = hInstance;
|
||||
wc.lpszClassName = windowClass;
|
||||
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wc.hbrBackground = (HBRUSH) (COLOR_3DFACE + 1);
|
||||
|
||||
RegisterClassEx(&wc);
|
||||
|
||||
hWindow = CreateWindow(windowClass, L"SDRangel Crash", WS_OVERLAPPEDWINDOW,
|
||||
CW_USEDEFAULT, 0, 640, 500,
|
||||
NULL, NULL, hInstance, (LPVOID) reportBuffer
|
||||
);
|
||||
if (hWindow)
|
||||
{
|
||||
ScaleWindow();
|
||||
ShowWindow(hWindow, SW_SHOWNORMAL);
|
||||
UpdateWindow(hWindow);
|
||||
|
||||
MSG msg;
|
||||
while (GetMessage(&msg, nullptr, 0, 0))
|
||||
{
|
||||
TranslateMessage(&msg);
|
||||
DispatchMessage(&msg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "Failed to create window\n");
|
||||
fprintf(stderr, reportBuffer);
|
||||
}
|
||||
|
||||
delete[] reportBuffer;
|
||||
|
||||
return EXCEPTION_EXECUTE_HANDLER;
|
||||
}
|
||||
|
||||
void installCrashHandler(qtwebapp::LoggerWithFile *logger)
|
||||
{
|
||||
crashLogger = logger;
|
||||
SetUnhandledExceptionFilter(crashHandler);
|
||||
}
|
75
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,32 +17,29 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#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"
|
||||
#include "crashhandler.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);
|
||||
@ -60,27 +52,10 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
#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);
|
||||
|
||||
#if 1
|
||||
@ -144,7 +119,7 @@ static int runQtApplication(int argc, char* argv[], qtwebapp::LoggerWithFile *lo
|
||||
#endif
|
||||
|
||||
#ifdef ANDROID
|
||||
// Default sized sliders can be hard to move using touch GUIs, so increase size
|
||||
// Default sized sliders can be hard to move using touch GUIs, so increase szie
|
||||
// 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; } "
|
||||
@ -181,24 +156,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();
|
||||
}
|
||||
@ -209,24 +168,16 @@ 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
|
||||
@ -237,15 +188,9 @@ int main(int argc, char* argv[])
|
||||
logger->installMsgHandler();
|
||||
#endif
|
||||
|
||||
#ifdef _WIN32
|
||||
installCrashHandler(logger);
|
||||
#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 //
|
||||
// //
|
||||
|
@ -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) {
|
||||
@ -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,23 +19,13 @@ 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()
|
||||
add_compile_options(-Wall -Wextra -Wvla -Woverloaded-virtual -Wno-inconsistent-missing-override -ffast-math -fno-finite-math-only -ftree-vectorize)
|
||||
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)
|
||||
|
||||
if(CMAKE_BUILD_TYPE MATCHES "Release")
|
||||
# Include stripped debug info in release builds so crash handler can generate stack trace with function names
|
||||
add_compile_options(/Zi)
|
||||
add_link_options(/DEBUG /OPT:REF /OPT:ICF /PDBSTRIPPED:$<TARGET_PROPERTY:RUNTIME_OUTPUT_DIRECTORY>/$<TARGET_PROPERTY:NAME>stripped.pdb)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (SANITIZE_ADDRESS)
|
||||
|
@ -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)
|
@ -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)
|
||||
|
@ -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"
|
||||
|
@ -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
|
@ -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
|
||||
|
@ -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()
|
||||
@ -175,7 +175,7 @@ elseif(WIN32 OR MINGW)
|
||||
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)
|
||||
@ -236,19 +236,6 @@ elseif(WIN32 OR MINGW)
|
||||
)
|
||||
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 "
|
||||
@ -308,11 +295,7 @@ elseif(WIN32 OR MINGW)
|
||||
# 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 +314,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 )
|
||||
|
||||
|
514
debian/changelog
vendored
@ -1,517 +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
|
||||
|
11
debian/control
vendored
@ -17,7 +17,6 @@ Build-Depends: debhelper (>= 9),
|
||||
libqt5quick5,
|
||||
libqt5texttospeech5-dev,
|
||||
libqt5gamepad5-dev,
|
||||
libqt5svg5-dev,
|
||||
qml-module-qtlocation,
|
||||
qml-module-qtpositioning,
|
||||
qml-module-qtquick-window2,
|
||||
@ -42,12 +41,9 @@ 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,
|
||||
@ -65,15 +61,12 @@ 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,
|
||||
|
6
debian/rules
vendored
@ -5,12 +5,6 @@
|
||||
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
|
||||
|
||||
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 //
|
||||
|
@ -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)
|
||||
{
|
||||
|
@ -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 //
|
||||
|
@ -1,7 +1,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// 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 Sergey Kostanbaev, Fairwaves Inc. //
|
||||
// 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,6 @@
|
||||
///////////////////////////////////////////////////////////////////////////////////
|
||||
// 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) 2017 Sergey Kostanbaev, Fairwaves Inc. //
|
||||
// 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) 2017 Sergey Kostanbaev, Fairwaves Inc. //
|
||||
// //
|
||||
// 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 Sergey Kostanbaev, Fairwaves Inc. //
|
||||
// //
|
||||
// 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 //
|
||||
|
Before Width: | Height: | Size: 1.4 MiB After Width: | Height: | Size: 826 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 43 KiB |
Before Width: | Height: | Size: 181 KiB |