3.0.26 Download & Release Notes

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

3.0.26 Download & Release Notes

#1

Unread post by Simon G4ELI »

Download

Download 3.0.26 here.


Release Notes

Airspy
  • Support library updated.
  • Reduced CPU load with Airspy R1/R2/Mini when using reduced bandwidth.
  • Buffer overflow problem hopefully fixed.

AM
  • Binaural Mode, when selected the lower sideband is in the left channel, upper sideband in the right channel. AM - not SAM.
Binaural Selection.jpg

Analyser
UI changed - hopefully improvements :) .
  • Reorganised ribbon bar, Project split into project and Analysis.
  • Definition button renamed to Edit.
  • Definition bandwidths list no longer contains invalid entries.
  • Restart if analysis running now always shown.
Analysis Ribbon Bar.jpg
Analysis Ribbon Bar.jpg (19.13 KiB) Viewed 14599 times

Broadcast FM
  • Reduced CPU load when demodulating.
  • Added adaptive decimation, by default off.
BFM Decimation.jpg

Bugs
  • Found obscure and potentially fatal bug when reading data from radio (buffer overrun).
  • Found a nasty bug in my XML parsing, this was exposed by the Rec/Playback interface. It may have caused random crashes elsewhere.
  • FFT Memory Leak Code which manages unused data was not correctly freeing memory, so if the FFT processing could not run in real time there was a serious memory leak.

CloudSDR
  • Added 2.048 MHz bandwidth.

Datafile Editor
This is a new implementation of a program I wrote ~8 years ago as part of v2, this new incarnation supports WAV and WAV RF64 and is more efficient. Start the datafile editor from:
  • Start menu,
  • Ribbon Bar, Rec/Playback.
There is a help link at the bottom, at present all times are UTC. I'll add support for local time later today. Complaints etc. to the usual address :) .
DataFileEditor 002.jpg

DX Cluster
  • Added a Send option to DX Cluster so commands can be sent while it's running.
  • Double-clicking an entry in the DX Cluster selects that frequency.

ELAD S3
  • Support finalised, VHF preamp no longer engaged on HF.
  • Fixed overload issues with loss of audio.
  • Added filter support, configure from Ribbon Bar, Home, Radio Configuration. Can select whether radio or display bandwidth is used when selecting a filter.
S3 Filters.jpg

External Radio
  • Added full mode mapping.
Screenshot-2020-11-09-064135.jpeg

Geostationary Beacon
  • Reduced CPU load.

General
  • Added more sanity checks in an attempt to stop memory increasing due to runaway logic.
  • With a low power computer the reduced FFT resolution (1/2, 1/4, 1/8) selection is preserved.
  • Screenshot format changed to jpeg, quality setting 75%. As a result the size of an image is ~25% of the previous png format.
  • The modes panel has been updated with new abbreviations for BFM (BC-FM), NFM (N-FM) and WFM (W-FM).
ModesList.jpg
ModesList.jpg (27.07 KiB) Viewed 14593 times
  • Code Consolidation I'm in the middle of moving all NCO and decimation into a separate DLL which will make maintenance and testing easier, I still have a bit more work to do. The DLL is DSPFunctions.dll. I've tested what I've done so far, it's not exploded.

Hermes-Lite 2
  • Added TX Latency and PTT Hang Times in the TX Options.
  • Tested the new values to ensure then are sent to the HL2 base memory map.
HL2 TX Options.jpg
  • Discovery now works with direct connections - ethernet cable connecting the HL2 direct to the PC without a router.
  • As well as sending broadcast messages through all adapters a broadcast message is sent directly to 169.254.19.221.
  • Added 10.0.x.x to the address list used when searching for the HL2.
  • Added 10.0.x.x to the address list used when searching for the HL2.
  • Change to Reset on Disconnect logic - HL2 now restarts more reliably.

Lime
  • Found two areas in the code where the Lime MINI transmit would not work on second attempt.
  • Tidied up code, consolidated setting TX LO frequency.
  • Tidied up logfile entries.

Matrix
The Matrix display was due for some 'loving', as a result:
  • A lot of Matrix processing offloaded to two background threads.
  • Matrix waterfalls are updated every two lines.
  • On my system 24 receivers runs better - not perfect but better.

Memory Leak
The problem is older CPUs which can't handle the graphics as well as a more modern CPU and as a result the main thread of the program is running more-or-less flat out. To be honest there's more I could have done with the coding. With these changes on my ASUS Q9000 laptop (year 2010) I can no longer get a memory leak, even when deliberately running the software too hard.

Updates:
  • Display a yellow warning icon in the status bar if the main thread of the program is unresponseive (more info below) and the message queues are not being processed as required.
  • Changed definition of a low power CPU to include a CPU such as the Q8400 / Q9000 which does not have the SSE4.2 extended instructions.
If you have a low power CPU (see start of logfile) then on startup:
  • Spectrum shading is disabled,
  • Spectrum update rate reduced from 20 lines/s to 15 lines/s,
  • Waterfall resolution always reduced to 0 if x2, x4 or x8.
If you're running on a relatively weak PC such as the Q84000 / Q9000 which is now 10 years old:
  • Only run one receiver.
  • Closing unnecessary windows displaying signals in the Receive and Transmit panels, for example the Audio response and IF in Receive.
  • Do not increase the waterfall resolution.
  • Reduce waterfall resolution, for example ÷ 4.
This kit will make life a bit better.


Pluto
  • Restarting Pluto with Manal RF gain selected is fixed.
  • Now shows both the FPGA and tuner temperatures.
Pluto Temps.jpg

Rec/Playback
When Ribbon Bar, Rec/Playback, Data :: Playback, Open is selected additional checks and diagnostics are:
  • All calls to CFindFile wrapped in try/catch.
  • All progress texts also sent to the System Debugger, use DebugView to view.
  • If the software crashes then the output from DebugView will help.
  • Added Prev << and Next >> buttons to the ribbon bar: Rec/Playback, Data :: Playback. The Prev, Next list is the same files shown in the Select Recording window sorted by time and Title. (Buttons not yet added to the Playback Navigator, waiting for feedback.)

Recording Scheduler
  • Fixed a UTF8 bug, now a scheduled recording can be correctly defined. Note: the remote server must be left running.
  • Will check scheduled recordings with folders containing Finnish characters etc.

RTL Dongle
  • Added HF Mode options to the ribbon bar, these are accessible when using the dongle via the server.

RX666/RX888
  • The RX-666/RX-888 support has been separated into two DLLs, this is the only way I know which image file to load as there's no reliable way to detect whether a device is a RX-666 or RX-888.
RX-666, RX-888.jpg
  • Added code to catch exceptions in Cypress library (yes, it blew up) when starting RX-666/888, also added a 100ms 'slug' after opening.
  • Added sanity checks to RX-666/888 background processing to catch memory leakage.
  • Added calibration steps of 0.01 and 0.001 for RX-666/888.
  • CPU reduction.
  • Restores previous settings on startup.
  • Reduced CPU load converting real to complex data.
  • Reduced CPU load when VHF bandpass filter is active.
  • Tidied up logfile, added more diagnostics when searching for and starting the radio. All logfile entries are sent to the system debugger, use DebugView if the program crashes, the output should help determine where the crash occurs.
  • Upgraded to the latest Cypress SDK version 1.3.4 (previously using 1.3.3).
  • The current driver version is also shown in the logfile, in the example below it's 1.3.3.231.
  • Added more checks to the device initialisation.
  • Improved calibration response time at VHF.
  • Fixed a gain bug when calibrating at VHF.
  • Calibration logic updated for VHF.
  • Detection logic now matches serial number of x0409 (1033).
  • Fixed minor issue with ADC to IQ conversion routines on the RX888.
  • RX666: Added Dither and Random options, there's a new SDR being developed which is very similar to the RX666 but with significantly better performance and the team behind this new SDR asked for these two options. Will add Dither and Randomiser to RX888 when it arrives.
Searching Example:

Code: Select all

18:26:05.811: Radio RX-666> RX-666/RX-888 Autodetect
18:26:05.813: Radio RX-666> RX-666/RX-888   Vendor ID ......: x04B4
18:26:05.814: Radio RX-666> RX-666/RX-888   Streamer ID ....: x00F1
18:26:05.815: Radio RX-666> RX-666/RX-888   Bootloader ID ..: x00F3
18:26:05.817: Radio RX-666> -
18:26:05.819: Radio RX-666> FX3 Creating device
18:26:05.819: Radio RX-666> FX3 Driver version ........: 1.3.3.231
18:26:05.820: Radio RX-666> FX3 Device count ..........: 1
18:26:05.821: Radio RX-666> FX3 -
18:26:05.822: Radio RX-666> FX3 Opening device 0, status 1
18:26:05.823: Radio RX-666>   Vendor ID ..................: x04B4, Match
18:26:05.824: Radio RX-666>   Product ID .................: x00F1, Match
18:26:05.825: Radio RX-666>   Device path ................: \\?\usb#vid_04b4&pid_00f1#6&6fc2f0d&0&2#{ae18aa60-7f6a-11d4-97dd-00010229b959}
18:26:05.827: Radio RX-666>   Device name ................: FX3
18:26:05.828: Radio RX-666>   Friendly name ..............: Cypress FX3 USB StreamerExample Device
18:26:05.829: Radio RX-666>   Manufacturer ...............: Cypress
18:26:05.830: Radio RX-666>   Product ....................: FX3
18:26:05.831: Radio RX-666>   Serial number ..............: 0409
18:26:05.833: Radio RX-666>   USB address ................: x01
18:26:05.833: Radio RX-666>   Dev class ..................: x00
18:26:05.834: Radio RX-666>   Dev sub class ..............: x00
18:26:05.835: Radio RX-666>   Max packet size ............: 512
18:26:05.836: Radio RX-666>   Bcd device .................: 16
18:26:05.836: Radio RX-666>   High speed .................: 0
18:26:05.838: Radio RX-666>   Super speed ................: 1
18:26:05.838: Radio RX-666>   -
18:26:05.839: Radio RX-666>   Match ............: Yes
18:26:05.840: Radio RX-666>   Bootload running .: No
18:26:05.841: Radio RX-666>     Reset FX3 firmware
18:26:05.843: Radio RX-666>     Close device
18:26:05.844: Radio RX-666>     Reopen device, status 1
18:26:05.845: Radio RX-666>     Bootload running .: Yes
18:26:05.846: Radio RX-666>     -
18:26:05.847: Radio RX-666>     Loading ........: E:\SDRPhaseTwo\x64\Release\BBRF103_SE.img
18:26:05.848: Radio RX-666>     Status .........: Success
18:26:05.849: Radio RX-666>     -
18:26:05.850: Radio RX-666>   Bootload running .: No
18:26:05.851: Radio RX-666>   Vendor ID ..................: x04B4, Match
18:26:05.852: Radio RX-666>   Product ID .................: x00F1, Match
18:26:05.853: Radio RX-666>   Device path ................: \\?\usb#vid_04b4&pid_00f1#6&6fc2f0d&0&2#{ae18aa60-7f6a-11d4-97dd-00010229b959}
18:26:05.854: Radio RX-666>   Device name ................: FX3
18:26:05.855: Radio RX-666>   Friendly name ..............: Cypress FX3 USB StreamerExample Device
18:26:05.856: Radio RX-666>   Manufacturer ...............: Cypress
18:26:05.857: Radio RX-666>   Product ....................: FX3
18:26:05.858: Radio RX-666>   Serial number ..............: 0409
18:26:05.859: Radio RX-666>   USB address ................: x01
18:26:05.860: Radio RX-666>   Dev class ..................: x00
18:26:05.860: Radio RX-666>   Dev sub class ..............: x00
18:26:05.862: Radio RX-666>   Max packet size ............: 512
18:26:05.863: Radio RX-666>   Bcd device .................: 16
18:26:05.864: Radio RX-666>   High speed .................: 0
18:26:05.865: Radio RX-666>   Super speed ................: 1
18:26:05.867: Radio RX-666>   -
18:26:05.867: Radio RX-666> FX3 Closing device
18:26:05.868: Radio RX-666> FX3 -
18:26:05.869: Radio RX-666> FX3 Deleting device
18:26:05.870: Radio RX-666> FX3 -

Starting Example:

Code: Select all

18:27:46.473: Radio RX-666> Open address \\?\usb#vid_04b4&pid_00f1#6&6fc2f0d&0&2#{ae18aa60-7f6a-11d4-97dd-00010229b959}
18:27:46.474: Radio RX-666> Creating device instance
18:27:46.474: Radio RX-666> Driver version ........: 1.3.3.231
18:27:46.474: Radio RX-666> Device count ..........: 1
18:27:46.474: Radio RX-666> -
18:27:46.474: Radio RX-666> Opening device [0], status 1
18:27:46.475: Radio RX-666>   Vendor ID ..................: x04B4, Match
18:27:46.475: Radio RX-666>   Product ID .................: x00F1, Match
18:27:46.475: Radio RX-666>   Device path ................: \\?\usb#vid_04b4&pid_00f1#6&6fc2f0d&0&2#{ae18aa60-7f6a-11d4-97dd-00010229b959}
18:27:46.475: Radio RX-666>   Device name ................: FX3
18:27:46.476: Radio RX-666>   Friendly name ..............: Cypress FX3 USB StreamerExample Device
18:27:46.476: Radio RX-666>   Manufacturer ...............: Cypress
18:27:46.476: Radio RX-666>   Product ....................: FX3
18:27:46.476: Radio RX-666>   Serial number ..............: 0409
18:27:46.476: Radio RX-666>   USB address ................: x01
18:27:46.477: Radio RX-666>   Dev class ..................: x00
18:27:46.477: Radio RX-666>   Dev sub class ..............: x00
18:27:46.477: Radio RX-666>   Max packet size ............: 512
18:27:46.477: Radio RX-666>   Bcd device .................: 16
18:27:46.477: Radio RX-666>   High speed .................: 0
18:27:46.478: Radio RX-666>   Super speed ................: 1
18:27:46.478: Radio RX-666>   -
18:27:46.478: Radio RX-666>   Vendor ...........: x04B4, Match
18:27:46.478: Radio RX-666>   Product ..........: x00F1, Match
18:27:46.479: Radio RX-666>   Address ..........: \\?\usb#vid_04b4&pid_00f1#6&6fc2f0d&0&2#{ae18aa60-7f6a-11d4-97dd-00010229b959}, Match
18:27:46.479: Radio RX-666>   -
18:27:46.480: Radio RX-666>   Match
18:27:46.481: Radio RX-666>   Bootload running .: No
18:27:46.482: Radio RX-666>     Reset FX3 firmware
18:27:46.483: Radio RX-666>     Close device
18:27:46.485: Radio RX-666>     Reopen device, status 1
18:27:46.486: Radio RX-666>     Bootload running .: Yes
18:27:46.487: Radio RX-666>     -
18:27:46.488: Radio RX-666>     Loading ........: E:\SDRPhaseTwo\x64\Release\BBRF103_SE.img
18:27:46.489: Radio RX-666>     Status .........: Success
18:27:46.489: Radio RX-666>     -
18:27:46.489: Radio RX-666>   Bootload running .: No
18:27:46.489: Radio RX-666>   Streamer running .: Yes
18:27:46.489: Radio RX-666>   Device opened OK
18:27:46.489: Radio RX-666> -
18:27:46.490: Radio RX-666> Hardware: R820T2 Found Yes

Satellite Tracking
  • Passes window min elevation range increased to 80°.
  • Added logfile diagnostics to find error with scheduler.

Servers
  • Renaming V3 Server definitions now works correctly.
  • Automatic restart after 24 hours when there are no connections.
  • Start now takes only 2 to 3 seconds.
  • The server is now more robust and should no longer lock up is one SDR is defective.
  • Found reason why the server can lock up with USB SDRs: if the SDR stops responding the whole server was locked.
  • Added extra checks when assigning channels to incoming connections.
  • Tidied up the logfile.

Step Menu
  • Added direct link to Options, Options explain how to scroll and snap.
Step Menu, Options.jpg

Tuning
  • Added Step sizes of 15kHz and 20kHz.

User Interface
  • Added Magna and Plasma colour schemes.
  • When a Resolution of ÷ 2, ÷ 4, ÷ 8 is selected for the Waterfall it is also applied to the Spectrum display - this is now restored correctly when restarting.
Simon Brown :shock:
www.sdr-radio.com

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

Locked