2021 is dedicated to the user - adding all the features an advanced user needs.

3.0.25 Download & Release Notes

Links to kits, all release notes 💾
User avatar
Simon G4ELI
Posts: 1494
Joined: Thu Aug 06, 2020 7:27 am
Location: Mawnan Smith

3.0.25 Download & Release Notes


Unread post by Simon G4ELI »


Download 3.0.25 here.

Release Notes

User Interface
  • Select Radio window now forces an internal update before being displayed, this is to resolve a cosmetic problem.
  • Added Reduced resolution which requires correspondingly less CPU if processing the FFT on the computer's CPU. If using CUDA / OpenCL you will notice less of a difference. As a result I can now run the RX-666 with 32 MHz bandwidth on a 2014 Toshiba i7-4700mq laptop. This option will also help when using other SDRs on a lower-powered computer which does not benefit from a GPU card.
Reduced Resolution.jpg
  • Downconverter definitions now have a title.
  • S Meter is now optionally hidden in receiver windows.
  • IF window now shows the tuning bar in full height.

Spawn Child Instance
Added option in Ribbon Bar to quickly add a Child Instance. This uses the Console Streaming technology, with a single click it's automatically configured. The child instance receives IQ (SDR) data from the main instance.
The Child Instance:
  • Has Child :: in the program's title bar.
  • Automatically starts the connection to the main instance.
  • Closes when the main instance closes.
  • Closes if the radio is stopped in the child instance.
  • Saves own window position and pane layout.
  • Does not save settings such as speed, palette selection - the settings from the main instance are used at startup.

Added Step ☰ to the Modes window
When Step ☰ is clicked the list of steps is:
1 Hz, 5 Hz, 10 Hz, 25 Hz, 50 Hz, 100 Hz, 250 Hz, 500 Hz, 1 kHz, 2.5 kHz, 3.125 kHz, 5 kHz, 6.25 kHz, 7.5 kHz, 8.333 kHz, 9 kHz, 10 kHz, 12.5 kHz, 25 kHz, 30 kHz, 50 kHz, 100 kHz, 200 kHz
Also Snap is now user-selectable from this menu.

  • Found an area where two connections could cause a deadlock from which the console cannot recover.
  • Added automatic volatile blacklist - this stops DDoS.
  • Tidied up the logfile.
  • Increased maximum LAN bandwidth to 10MHz.
  • Fixed bug in buffer assignments for bandwidths of 2MHz or more in the V3 Server interface (as used in Console).
  • Improved performance of the Server Manager's Security Search option.
  • Fixed database path in the Select window.


AM and SAM AGC change:
  • 25 Hz high-pass filter now applied post-AGC, so any low frequency component such as the carrier will affect ARC. This is the first step in carrier-based AGC.

Signal History
  • Uses a lot less CPU when running in the Slower / Very Slow speeds.
  • Export now aligns the time to the data rate, so if the data is added 20 x second (every 50ms) the time is an integer multiple of 50ms.

  • Fixed crashes.

  • Scheduled recordings now stop any file playback before recording.
  • Changed the video recorder main thread priority from Critical to Normal.
  • Fixed a video recorder bug where it would not start if the Console's width or height (maybe both) was not an even value.


Added OpenCL diagnostics. Use DebugView: https://www.sdr-radio.com/diagnostics#DebugView.

Look for this output – all lines which start OpenCL>:
OpenCL> E:\SDRPhaseTwo\SDRSpectrum\PageOpenCL.cpp CPageOpenCL::OnInitDialog line 64 :: Loading
OpenCL> E:\SDRPhaseTwo\Common\OpenCLLoader.cpp COpenCLLoader::Load line 78 :: OpenCL.dll
OpenCL> E:\SDRPhaseTwo\Common\OpenCLLoader.cpp COpenCLLoader::Load line 86 :: E:\SDRPhaseTwo\x64\Release\clFFT.dll
OpenCL> E:\SDRPhaseTwo\Common\OpenCLLoader.cpp COpenCLLoader::Load line 145 :: Loaded
OpenCL> E:\SDRPhaseTwo\SDRSpectrum\PageOpenCL.cpp CPageOpenCL::OnInitDialog line 68 :: Loaded
OpenCL> E:\SDRPhaseTwo\SDRSpectrum\PageOpenCL.cpp CPageOpenCL::OnInitDialog line 82 :: Get platform count
OpenCL> E:\SDRPhaseTwo\SDRSpectrum\PageOpenCL.cpp CPageOpenCL::OnInitDialog line 87 :: Get list of platform IDs
OpenCL> E:\SDRPhaseTwo\SDRSpectrum\PageOpenCL.cpp CPageOpenCL::StatusText line 236 :: NVIDIA Corporation :: GeForce GTX 1650 SUPER

Serial port (CAT) Commands
  • Improved diagnostics for CAT command monitoring by displaying non-printable characters in Hex.
  • White space removed from commands.
  • More sanity checking added to CAT control (HRD issue).

  • Explicitly specify the folder used for loading ELAD support DLLs.


RIT incorrect offset fixed.

RTL Dongle
  • Added 500kHz, 750kHz bandwidths (decimated from 1,000 and 1,500kHz respectively).
  • Now using Intel IPP 2020.
  • Reduced lockups when changing frequency as part of frequency calibration.

  • Support added for RX-666/888, note this SDR uses a lot of current so must be connected to a good USB3 controller.

  • TX not stopping when sending long strings fixed.

  • Now shows UTC times using ISO format, should avoid confusion (local times use local time format).
  • Tested with UTC and local, appears to work correctly (I do hope).

  • Added diagnostics which show whether the idle loop is running. In the status bar a small dot will blink twice a second if the idle loop is running. If it’s not blinking then the main thread is overloaded.
  • Added more VAC diagnostics to the logfile.
Example of VAC diagnostics:
16:12:01.078: RX1 Audio> VAC [CABLE Input (VB-Audio Virtual Cable)] state now Stable: buffer used now 6000, (overrun 12000, stable 6000)

Development Environment

All code except for the FFT dll moved from visual studio 2013 (VS2013) to visual studio 2019 (VS2019), as a result now using the current of visual studio. The FFT dll is still compiled with VS2013 as the older CUDA SDK which supports 32-bit Windows cannot be installed on VS2019.

FFT processing now uses the latest IPP (Integrated Performance Primitives) library from Intel.

Profile-guided optimizations:
Profile-guided optimization (PGO) lets you optimize a whole executable file, where the optimizer uses data from test runs of the .exe or .dll file. The data represents the likely performance of the program in a production environment.
Seeing a very small improvement on the development systems (i5-8600K) but the development system CPU usage is already so low it's hard to measure this accurately.
Simon Brown :shock:

Do not send me direct e-mail, thank-you!