Releases: f4exb/sdrangel
New RTTY and PSK31 modulators
New RTTY and PSK31 modulators
We have added two new channel modulators thanks to @srcejon
- RTTY (PR #1800): https://github.com/f4exb/sdrangel/tree/master/plugins/channeltx/modrtty
- PSK31 (PR #1814): https://github.com/f4exb/sdrangel/tree/master/plugins/channeltx/modpsk31
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
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:
or
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.
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
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.
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
Maintenance release
- Fixed some spellings. PR #1742. from @dforsi
- Rotator Controller: Use floats for az/el offsets. PR #1744. Fixes #1739. from @srcejon
- Switch to codec2-dev repo to access v1.0.3 tag. PR #1746. Fixes #1741. from @srcejon
- Move find_package from external/CMakeLists.txt to root CMakeLists.txt. PR #1750. from @srcejon
- Have some libraries and plugins built in the Ubuntu package. PR #1750. Fixes #1740. from @srcejon
- Remove external projects from .deb. PR #1754. Fixes #1740. from @srcejon
- OpenGL code: Clear with alpha=1 to fix #1735. PR #1735. from @srcejon
- DSD demod UI: Connect slot 1/2 on/off buttons. PR #1758. Fixes #1752. from @srcejon
- Use texture() instead of texture2d() in v330 shaders, so they work on Mac. PR #1759. Fixes #1757. 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.
Maintenance release
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
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
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
- Allow SigMF plugins to work in Windows. PR #1700 from @srcejon
- Only update widgets from UI thread. Fixes #1692. PR #1692 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.
Fixed crash in Sat Tracker in previous revision
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
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
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.