Releases: f4exb/sdrangel
Features and fixes
Features
- AM demod: channel/frequency entry modes. PR #1876 from @srcejon
- SSB demod noise reduction
- Indicate audio FIFO underflow/overflow. PR #1887 from @srcejon
- Frequency scanner: Add FRS-GMRS presets. PR #1897 from @cameron
- Add instant replay for RTL SDR, SDR Play V3, USRP and Airspy HF RXes. PR #1900 from @srcejon.
Fixes
- Fixes to Mac build. PR #1869 from @srcejon
- Radiosonde: Added more columns, PR #1881. Fixes #1880 from @srcejon
- DSD Demod - Fix loss of constellation. PR #1883 from @srcejon . Fixes #1836
- Remote TCP - Fix FIFO size adjustment. Fixes SR > 3 MS/s from @srcejon. PR #1886. Fixes #1885.
- Fix resize cursor not being cleared when mouse moves over child widgets. PR #1888 from @srcejon
- Prevent popup menu when scrolling tables. PR #1889 from @srcejon
- Use custom save/restore geometry for MDI sub=windows. PR #1890 from @srcejon. Fixes #1835
- Use MDI restore when loading config. PR #1890 from @srcejon
- M17: Reverse byte ordering of CRC in packet mode. PR #1891 from @srcejon. Fixes #1826
- M17: Update packet format to comply with current spec. PR #1892 from @srcejon. Fixes #1826
- More M17 fixes. PR #1894 from @srcejon
- ADS-B demod: Split widgets in to 2 tabs for small Android screens. PR #1898 from @srcejon. Fixes #1896.
- Scope trigger fix. PR #1902 from @srcejon. Part of #1901
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 frequency scanner plugin
New frequency scanner plugin
Thanks to @srcejon for this new Rx channel plugin. See https://github.com/f4exb/sdrangel/tree/master/plugins/channelrx/freqscanner
Other changes and fixes
- Implementation of Mac OS CI. PR #1841 from @srcejon
- Change down and up channelizers filter chain strategy. Fixes #1846
- Fix race condition that can result in a crash or hang. PR #1854 from @srcejon
- DSC Demod: initialise m_scopeSink. PR #1854 from @srcejon
- Fix FFT Overlap for spectrum view. PR #1856 from @das-Iro
- Various ADS-B enhancements. PR #1861 from @srcejon
- Use channel sample rate of 48k in RTTY and PSK31 mods. Fixes #1862. PR #1865 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.
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.