Be notified of new releases
Create your free GitHub account today to subscribe to this repository for new releases and build software alongside 28 million developers.Sign up
Scope save/load traces from/to memory
While in memory mode added ability to save the 50 traces stored in the memory bank to file. It is also possible in the same mode to load traces from file to memory. See https://github.com/f4exb/sdrangel/tree/master/plugins/channelrx/chanalyzer#e-scope-trace-control-line for details.
Fixed separation between live and memory mode in particular the sample rate settings.
Reworked the histogram (phosphor) display:
- Removed references to "holdoff" replaced by decay divisor which it actually is. Works only when decay is unit so that the decay rate is one over the decay divisor value.
- A zero decay effectively keep histogram values forever. This is useful to keep the max hold (red line) until the clear histogram button is pressed.
- Reviewed the decay, decay divisor and stroke limits.
- Updated the color palette so that lower histogram values are rendered better. This will make the phosphor display more useful.
- Fixed the possible out of memory condition for large values of averaging size by capping the moving average structure to 1000 elements.
sdrangel_4.2.3-1_amd64.debDebian package for Intel/AMD 64 bit architecture with SSE 4.1 support. Works in Ubuntu 18.04
sdrangel_4.2.3-1_amd64_xenial.debSame as above but for Ubuntu 16.04
sdrangel_4.2.3-1_amd64_stretch.debSame as above but for Debian stretch
File input fixes and enhancements
Corrected the wrong times display on large files due to counter overflow. This should fix issue #206. A playback accelerator has been added to allow waterfall fast forward helping getting faster to the point of interest.
Spectrum: added max mode
Added a maximum mode in the list of averaging modes. This does not perform an average actually but takes the maximum over the same number of consecutive FFTs. This can help spotting transient bursts occurring during the "averaging" period. This implements issue #207
sdrangel_4.2.2-1_amd64.debDebian package for Intel/AMD 64 bit architecture with SSE 4.1 support. Works in Ubuntu 18.04
sdrangel_4.2.2-1_amd64_xenial.debSame as above but for Ubuntu 16.04
sdrangel_4.2.2-1_amd64_stretch.debSame as above but for Debian stretch
File Record changes
A few fixes and enhancements have been applied to the file recording component. This changes significantly the way the File Input plugin works. This should fix issue #206 The file header has changed to include a CRC32 checksum that will guarantee that the header is not corrupted and hence the data can be processed correctly. Files recorded with SDRangel versions earlier than v4.2.1 will not work. A conversion or rescue (in case of corruption) tool can reconstruct the header with a valid CRC: https://github.com/f4exb/sdrangel/tree/master/rescuesdriq
For more details on the File Source plugin please check: https://github.com/f4exb/sdrangel/tree/master/plugins/samplesource/filesource
Blade RF v 2.0 Multiple Output fix
This version fixes the issue of incorrect stream enabling when running in multiple output (MO) mode that is when Tx1 and Tx2 run simultaneously. This fixes issue #225
Also the output plugin is now included in the Windows distribution.
- NFM demod: change squelch step from 0.1 db to 1 dB
sdrangel_4.2.1-1_amd64.debDebian package for Intel/AMD 64 bit architecture with SSE 4.1 support. Works in Ubuntu 18.04
sdrangel_4.2.1-1_amd64_xenial.debSame as above but for Ubuntu 16.04
sdrangel_4.2.1-1_amd64_stretch.debSame as above but for Debian stretch
BladeRF 2.0 micro support
Support of the BladeRF 2.0 micro using the v.2 of libbladeRF more specifically the 2018.08 release.
Support plugins have been re-organized in separated sets for the classic (v1) and micro (v2) BladeRF devices:
Please follow the above links for more information.
Other changes and fixes
- Scope: corrected trace memory index position
- AudioDeviceManager: fix device infos cleanup segfault due to iterator processing
- Removed explicit SSE2 code in GLSpectrum. Fixes issue #192
- WFM demod: fixed a missing mutex when re-configuring interpolator causing random segfault
- FileSource: process record header if file is long enough. Else close so that start is aborted with error
- Windows build: upgrade to libusb 1.0.22
sdrangel_4.2.0-1_amd64.debDebian package for Intel/AMD 64 bit architecture with SSE 4.1 support. Works in Ubuntu 18.04
sdrangel_4.2.0-1_amd64_xenial.debSame as above but for Ubuntu 16.04
sdrangel_4.2.0-1_amd64_stretch.debSame as above but for Debian stretch
The companion project SDRdaemon has been integrated into SDRangel in the form of two new channel plugins:
- DaemonSink on the receive side to send the baseband I/Q samples via UDP to a remote end point
- DaemonSource on the transmit side to receive the baseband I/Q samples via UDP from a remote end point
Both plugins include the handling of FEC to recover possible lost UDP blocks just like in the original SDRdaemon.
The remote SDRangel instances in the headless version are controlled exclusively via their REST API. Therefore the dependency on nanomsg is lifted. To control this remote instance interactively you may use any form of client application. For example SDRangelcli that is web browser based. Note that the control from the SDRDaemon device plugins has been dropped.
The remote SDRangel instance can be of the GUI or headless variant therefore in its headless form it achieves exactly the same role as SDRdaemon used to. There are many advantages in this integration into SDRangel:
- Better performance: early tests show at least a 2x improvement in CPU load (two times lower)
- Integration of all devices supported by SDRangel
- Possibility to run the Rx and Tx channels of the same device concurrently. Useful for BladeRF, LimeSDR, HackRF, PlutoSDR
- Possibility to use the 24 bit I/Q format (at the expense of samples twice bigger than in the 16 bit version)
- Use the same REST API as SDRangel to control all parameters. Makes nanomsg dependency obsolete.
- Even more configuration options provided by SDRangel
Note that there are also the UDP source and sink channel plugins that seem to have the same role when used with the I/Q samples format. However these plugins have filters and rational interpolators or decimators to achieve further sample rate conversion in the baseband and are therefore less efficient when you want to transfer the whole baseband like SDRdaemon used to do. Also they do not support FEC protection.
The names of UDP source and sink have been swapped to match the same convention as the Daemon plugins:
- A channel "sink" is used on the Rx side to receive (sink) the baseband samples from a device "source"
- A channel "source" is used on the Tx side to feed (source) the baseband samples to a device "sink"
Note that the SDRdaemon related plugins are available only in the Linux distributions. With these plugins it becomes critical that the supporting O/S has near real time capabilities because the sample timing is handled only in software. Several tests have demonstrated that Windows is not suitable for this purpose. Consequently please note that these plugins will not run successfully in a Linux VM hosted on a Windows O/S except perhaps when Hyper-V is the supervisor (not tested).
Audio FIFO fix
Removed the timeout mechanism on the Audio FIFO that seems to cause program lockup particularly on the Tx side with the audio input in some conditions. When the FIFO gets full or empty the samples are simply dropped or not provided to the client. This should fix issue #210
sdrangel_4.1.0-1_amd64.debDebian package for Intel/AMD 64 bit architecture with SSE 4.1 support. Works in Ubuntu 18.04
sdrangel_4.1.0-1_amd64_xenial.debSame as above but for Ubuntu 16.04
sdrangel_4.1.0-1_amd64_stretch.debSame as above but for Debian stretch
Cleanup of old scope objects
Removed the old "NG" scope objects to avoid confusion.
Web API related changes
- HTTP server: reduce debug message and put more interesting information
- UDP source Web API setting correction.
- UDP sink: effectively implemented low cutoff setting from web API
- UDP source and sink: Web API: more informative report
- Sink plugins: corrected name getters and setters
- UDP sink GUI: fixed internal widgets minimum widths
- UDP sink default port set to 9998
- Set spectrum default to log
- PlutoSDR input: install server plugin in the correct sub directory
- UDP sink: removed queued connection on socket connection (gets stuck with Qt >= 5.8)
- CW keyer: used signed char to avoid copmilation warnings in some installations
- LimeSDR GUIs: always apply change of FIR bandwidth
SSB modulator fix
Set samples to zero when no modulation is active. This fixes remaining DC leaving a carrier with no modulation. Fixes issue #204
Web API fixes
- fixed bug in PUT/PATCH of modulators not setting differentially
- fixed TestSource device setting
- AM demod: added pll and syncAMOperation settings processing
- implemented instanceDVSerialGet
- RTL-SDR: fixed RF bandwidth setting
- WFM demod: corrected audio mute display
- Fixed power display going to floor value in some demods
- RTL-SDR: fixed low sample rate setting
Web API: handle pre-flight requestsWhen interacting with an API some browsers if not any send a so called "pre-flight request" before attempting to send the actual request. This is normally not done for GET requests that are essentially read-only but with the PUT, POST, DELETE. This pre-flight request uses the OPTIONS method and if it is not handled by the server that should respond with the list of methods allowed (or any method) the actual request will fail. So this fix implements a response to OPTIONS requests allowing any method from any client. This makes the API actually usable for browser based web applications.
PlutoSDR outputTx power was down 24 dB due to the 4 bit shift that was taking place to convert the 16 bit samples produced by the DSP code to the 12 bits of the Pluto. However it turns out that libiio that interfaces with the Pluto Hardware does the 16 to 12 bit conversion. Therefore no conversion should take place in the application software. Hence this conversion is removed by working with 16 bit samples all the way through. This fixes issue #198
Rest API fixImplemented HTTP headers for CORS so that any client can connect to the API.
Other fixes- Fix delete preset group so that it is effectively deleted from the display immediately. - Arch documentation update in the main readme
Spectrum linear mode
Added the option to view the spectrum in linear mode (squared magnitude). Please check the documentation for details: https://github.com/f4exb/sdrangel/tree/master/sdrgui#4-spectrum-display-control
- Scope: fixed power overlay display
- Channel analyzer: fixed scope vertical scale display and extended amp range
- DSD demod: Serial DV: use audio compressor at the end of audio filter chain