Skip to content

Releases: f4exb/sdrangel

New RTTY and PSK31 modulators

21 Sep 23:01
Compare
Choose a tag to compare

New RTTY and PSK31 modulators

We have added two new channel modulators thanks to @srcejon

Other changes and fixes

  • Flush log stream after write, so data is available immediately. PR #1834. Fixes #1833 from @srcejon
  • Remote TCP improvements. PR #1830. Fixes #1827 from @srcejon
  • Fix ffpmeg/opencv dependencies. Enable C lang on Mac, for external project. PR #1828. Fixes #1819 from @srcejon
  • Request authorization for access to camera and microphone on Mac. PR #1824. Fixes #1819 from @srcejon
  • 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 from @srcejon
  • Add windows-default preset for building with Visual Studio. PR #1816 from @srcejon
  • Add Android SDR Driver sample source. PR #1815 from @srcejon
  • Distingush between China and Taiwan. PR #1810. Fixes #1805 from @srcejon
  • Add command line options to start Remote TCP Sink on a specified device/ PR #1809. from @srcejon

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

Add support for plugin presets

03 Sep 01:53
Compare
Choose a tag to compare

Add support for plugin presets

Thanks to @srcejon this implements issue #1430 from a while ago.

This allows Presets to be saved / loaded for individual Devices, Channels and Features, via the new Star button in the basic settings dialog. E.g:

image

or

image

It should basically work the same as the existing Device Set and Feature Set presets, except that the preset only applies to a single Device, Channel or Feature.

image

If a preset is saved with Group/Description as Defaults/Default, then it will be loaded automatically whenever a plugin of that particular type is created.

Other changes and fixes

  • Fix Mac compilation. PR #1786 from @srcejon
  • Map feature updates. PR #1778 from @dforsi
  • Fix RTLSDR E4000 gain and bandwidth settings. Add tuner type to GUI. PR #1790 from @srcejon
  • Add support for RTLSDRBlog V4 with HF upsampler. PR #1790 from @srcejon
  • Update RTLSDR driver to include RTLSDRBlog V4 support. PR #1790 from @srcejon
  • Add rotator az/el and offset to table. PR #1791 from @srcejon
  • Optmize redrawing of charts in Star Tracker. PR #1791 from @srcejon
  • Initialise PhaseDiscriminators state, to avoid outputting huge values. Fix #1794. PR #1795 from @srcejon

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

vkFFT support

20 Aug 21:48
Compare
Choose a tag to compare

vkFFT support

Thanks to PR #1779 from @srcejon this implements #1166 by adding support for running FFT on GPU using the VkFFT library, with either Vulkan or CUDA backend,

To allow easier performance comparisons, the FFTEngine and FFTFactory class have been updated to support multiple simultaneous FFTEngines, so a user can switch between FFTW, Kiss and VkFFT at run-time via a GUI option (Preferences > FFT). Also, different bits of SDRangel can request different FFTEngines. So FFTW could be used generally, but a specific plugin could request VkFFT if it thinks it will benefit from it.

Also a simple profiler has been added, that displays average execution time in a dialog (View > Profile Data...). Profiling is enabled via the cmake -DENABLE_PROFILER=ON option. It is disabled by default, and when disabled, there should be no performance impact as the profiling code is not included in the executable. It can also be used to easily profile other parts of SDRangel - here showing GL spectrum draw time, as well as FFT. To profille some code, you just need to stick the PROFILE_START() and PROFILE_STOP("name") macros around the code.

image

Whether VkFFT uses Vulkan or CUDA is a cmake option, -DVKFFT_BACKEND=0 for Vulkan and -DVKFFT_BACKEND=1 for CUDA. The code should compile without VkFFT if neither the Vulkan or CUDA SDKs are available.

On Windows, VkFFT is automatically downloaded as an external project. If external project is off, then it can be downloaded with:

cd /opt/build
git clone https://github.com/DTolm/VkFFT.git
cd VkFFT
git checkout v1.3.1

It's a header only library, so doesn't need to be built.

Either the Vulkan or CUDA SDKs need to be installed to compile it:

Linux Vulkan Setup

cd /opt/install
mkdir -p vulkansdk
cd vulkansdk
wget https://vulkan.lunarg.com/sdk/download/1.3.250.1/linux/vulkansdk-linux-x86_64-1.3.250.1.tar.gz
tar xf vulkansdk-linux-x86_64-1.3.250.1.tar.gz
source /opt/install/vulkansdk/1.3.250.1/setup-env.sh
...
cmake -DVKFFT_INCLUDE_DIR=/opt/build/VkFFT/vkFFT/ -DVKFFT_BACKEND=0 ..

Linux CUDA setup

Install CUDA toolkit from https://developer.nvidia.com/cuda-downloads
export PATH=/usr/local/cuda/bin:$PATH
...
cmake -DVKFFT_INCLUDE_DIR=/opt/build/VkFFT/vkFFT/ -DVKFFT_BACKEND=1 ..

Windows Vulkan Setup

Install Vulkan SDK (With optional 64-bit Debug libraries) from https://vulkan.lunarg.com/sdk/home#windows
Copy include\glslang\Include\glslang_c_interface. and include\glslang\Include\glslang_c_shader_types.h from Linux SDK as they are missing (See https://vulkan.lunarg.com/issue/view/63d158a85df11200d569b2ab)
set VULKAN_SDK=C:\VulkanSDK\1.3.250.1  (or where ever you installed it)
cmake -DVKFFT_BACKEND=0 ..

Windows CUDA Setup

Install CUDA toolkit from https://developer.nvidia.com/cuda-downloads (This creates CUDA_PATH environment variable)
cmake -DVKFFT_BACKEND=1 ..

Unfortunately, in many cases, using the GPU (via either Vulkan or CUDA) is much slower than using FFTW, due to the overhead of getting the data from the CPU to the GPU. It may be more beneficial on embedded SoCs that have unified memory and relatively slower CPUs, but this has not been tried. So there's no reason to try to enable this in the release builds now, but it's the first step towards GPU support.

Other changes and fixes

  • Rotator Controller: Add additional gamepad calibration and functionality. PR #1761from @srcejon
  • Use QFileInfo to get file extension. Fixes #1760. PR #1762 from @srcejon
  • Add UI scale factor setting for high DPI screens. PR #1763 from @srcejon
  • Support Map plugin for Qt 6.5. Some Qt 6.6 fixes. PR #1764 from @srcejon
  • Map plugin: Fix beacon frequency. PR #1765 from @dforsi
  • PlutoSDR MIMO: fix variable names. PR #1770 from @catkira
  • Rotator controller: use precision to determine step size. PR #1775 from @lrowen

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

Maintenance release

04 Aug 01:22
Compare
Choose a tag to compare

Maintenance release

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

Maintenance release

11 Jul 15:52
Compare
Choose a tag to compare

Maintenance release

  • Remove comparison of strings and chars. Fix #1713, PR #1718 from @srcejon
  • Run audio out on its own thread. Fixes #1717
  • PlutoSDR: Add missing settings keys. PR #1727 from @srcejon
  • RTPSink: nullify m_byteBuffer after delete
  • Audio output: forward actual sample rate to Audio Manager
  • SSB mod/demod: handle DSPConfigureAudio message correctly
  • Fixed some spelling mistakes. PR #1733 from @dforsi
  • Run audio in on its own thread. Fixes #1731
  • FCD/AudioInput: 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

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

Audio CAT SISO plugin

18 Jun 22:53
Compare
Choose a tag to compare

Audio CAT SISO plugin

This MIMO plugin gets its samples from an audio device on the Rx side and sends its samples to an audio device on the Tx side. It is single stream on both Rx and Tx therefore it has "SISO" in the name. In addition it allows CAT control of a radio device using Hamlib. For now this is available only in Linux we'll see later how we can implement the Hamlib dependency in Windows. More details here

Other changes and fixes

  • Map: Change Street Map from WikiMedia to OpenStreetMap. PR #1711. Issue #1709
  • Packet Modulator: fixed segfault in GUI
  • SigMFFileInput: fixed acceleration. Part of issue #1699
  • SimplePTT: fixed typo in code. Fixes #1705

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

SimplePTT feature: GPIO and script control

29 May 22:12
Compare
Choose a tag to compare

SimplePTT feature: GPIO and script control

With this change Rx to/from Tx transition can trigger device GPIO pins and/or a script execution. Implements #1558.

Other changes and fixes

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

Fixed crash in Sat Tracker in previous revision

24 May 06:46
Compare
Choose a tag to compare

Bug fix and changes

  • Fix Sat Tracker crash introduced by last patch for #1682.
  • Add support for tracking Satellites in the Star Tracker, to enable satellites to be used as calibration signals in Radio Astronomy plugin.

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

New plugins

23 May 20:54
Compare
Choose a tag to compare

New DSC demod plugin

Thanks to @srcejon this plugin demodulates and displays DSC messages used in maritime traffic. More details here

New Aaronia RTSA Tx plugin

This plugin allows sending I/Q samples to a HTTP server connected to a IQ modulator and Spectran V6 Tx input in the RTSA Suite. This makes it possible to use a Spectran V6 analyzer with Tx as a transmitting device. More details here. For now it is not possible to use it during extensive periods (~30mn max) before the clocks drift too much and the Tx xtops working correctly. Aaronia is working on a more reliable solution and this plugin will be adapted to it in the future.

Other changes and fixes

  • GLSpectrumGUI: apply settings when buddies are set
  • SpectrumVis: propagate apply settings to GUI message quque if it exists
  • use MsgConfigureSpectrumVis in place of corresponding GLSpectrum set methods. Fixes #1624
  • DATV demod: change interpolator and NCO in the same block
  • DATV demod: leansdr: fix possible segfaults
  • Fix Qt6 compilation. PR #1654 from @srcejon
  • Sat & Star tracker: Plot target on Az/El chart. Fixes #1641. PR #1641 from @srcejon
  • Use latest libxml2 that has cmake support for use on Mac. For #1657. PR #1663 from @srcejon
  • Set LIBXML2_LIBRARIES for static lib. PR #1663 from @srcejon
  • AIS Demod: Calculate time slot used for messages. PR #1664 from @srcejon
  • Aaroniartsainput: Changes with RTSA suite build 12830. PR #1667 from @hb9fxq
  • Fixed swagger docker compose run script
  • GLSpectrum: set default waterfall share to 0.5
  • Rotator Controller: Add gamepad input controller support. PR #1668 from @srcejon
  • Rx channel demods: prevent possible reading past audio buffer end. Fixes #1661 from @srcejon
  • Upgrade dsdcc to 1.9.4
  • Scope GUI updates. PR #1671 from @srcejon
  • Add query to TLE download filename, to avoid clashes. Fixes #1647. PR #1673 from @srcejon
  • Add accessibility interface for ValueDial widgets, so they work with screen readers. Fixes #1672. PR #1675 from @srcejon
  • Fix QFileDialog filters to work with non-native dialog. Fixes #1681. PR #1685 from @srcejon
  • Fixed missing initializations of QNetworkManager. Fixes #1689
  • Fix doppler correction for #1682. Add Az/El offset setting. PR #1694 from @srcejon
  • Update spectrum settings to match what's used in sink. Fix deserialisation of UI related settings. PR #1695 from @srcejon
  • Aaronia RTSA: Fixed API device settings PUT and PATCH
  • Fixed a lot of spelling mistakes from @dforsi

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.

Aaronia RTSA Rx support

06 Apr 21:14
Compare
Choose a tag to compare

Aaronia RTSA Rx support

New sample source plugin to support reception with the Aaronia RTSA (Real Time Spectrum Analyzer) and the Aaronia RTSA Suite software. This is mainly targeted at the Spectran V6 series however it just interfaces with a HTTP server block fed by a IQ demodulator block in the RTSA Suite so any flowgraph supporting this architecture would work. Details are provided in the readme.

Other changes and fixes

  • Channel analyzer: engage rational down sampler also when no channel decimation takes place. Fixes #1622
  • Display rotator on Star Tracker and Satellite Tracker polar charts for #1641. PR #1650 from @srcejon
  • AFC and Demod Analyzer: fixed message queue disconnect. Fixes #1634
  • Fixed ValueDial value settings when it is equal to previous value
  • DATV demod: GUI: set RF bandwidth with standard SR
  • Airspy: corrected transverter frequency and mode setting from GUI

Binary artifacts

For more details on artifacts and their contents please read the quick start in the Wiki.
Note that Ubuntu .deb package is for 22.04. Please note that SSE 4.2 is required.