Gnuradio Versions Save

GNU Radio – the Free and Open Software Radio Ecosystem

v3.10.7.0-rc1

10 months ago

Changelog TBD - the following commits were added since v3.10.6.0

8e82849ca gr-uhd: fix infinite recurse in the case a device is poorly connected
f031f641b soapy: fix variable naming in RTL grc
df6fbdeec soapy: fix variable naming in RTL grc
a231e7c87 gr-uhd/lib: support fmtlib 10
cfcba3ee9 soapy: fix sdrplay biasT_ctrl/agc/gain settings
ce24e1896 header_payload_demod: remove buffer size check
626ea296d runtime: do not set max buffer size as side effect of allocation
32b028bed network: Fix various bugs
c57b50ba7 runtime: thread_group use set instead of list for set of threads
077851bf2 digital/constellation_{en,dec,soft_de}oder: mark function overridden
f9e780970 constellation soft decoder: throttle bps warning
5aebf953f constellation encoder/decoder: add warnings Adds warnings when changing to constellation with different dimensionality
0934952a1 constellation encoder/decoder: Fix formatting
b155127bb constellation encoder/decoder: Add const callback
d0095552e runtime: remove unused flat flowgraph field
899204d35 CI: F38 as clang build
70dd627e1 grc: Fix unsaved changes lost if prompt dismissed w/ Esc or window-close
a4d168fbc blocks/message debug: add logging input
f80b93bef runtime/logger: Add adjustable-level log function
13d681c05 blocks/probe rate: Add name field to dictionary, GRC interface
3a6b91fb7 logging: remove configuration remnants from old logging system
d4abaaa6c soapy: add discrete rates for AirspyHF, always show gain in params
c50443281 soapy: sdrplay agc and gain fixes
e8382d41c soapy: rtlsdr bias tee and restore gain after agc
9a3bc6530 analog_quadrature_demod_cf: fix cpp-generation
4b534d43f analog_quadrature_demod_cf: add cpp code generation
71fd7aab9 Include cstdint in gr-fec's alist.h
0ef8fdea4 uhd: pybind: use module_local() for types registered by uhd
f87ee512b ci: add fedora 38
16d52482c CI: disable Fedora 36 Builder, since 36 is EOL
be3a3e0f7 uhd: rename replay stop
89d51e178 filter: Fix exception when dragging in Band Diagram plot
c5abaf6e7 filter: Fix exception when dragging plot axes in Filter Design Tool
8edd1e2c0 filter: Remove duplicate code
926cbbb2e filter: pm_remez fixes/rework
5d7af18f5 filter: fir_design needs to check band edge specifications
bd7f221fb PMT: modern interfaces for dicts and strings
e95786b63 vocoder: codec2 en/decoder GRC: correctly implement string lookup for vlen
efedc021a GRC: Make evaluation errors more expressive by at least supplying the error type
876c1db6e filter: Update QMessageBox to work in Qt5
551c4e313 max_gain parameter added to agc constructors
a31082575 qtgui: sort list of installed headers, remove duplicates
644451b70 runtime: don't expose prefs.singleton
1c5b2189a modtool: cmake: Don't override user-defined CMAKE_INSTALL_PREFIX
d10e7d516 blocks: selector: don't blindly consume same amount from all inputs
e33e70921 New test for agc3
fc8765b89 grc: prevent Generate/Run silent fails for unsaved GRC flowgraphs
e58e8cb63 modtool: fix formatting of python qa template
24498f12c blocks: Reset item count when starting throttle
8a2ca316e uhd: rfnoc: CMakelists alphabetize and add examples to install
f74866531 UHD: fix rfnoc binding hashes
e49dbbfff uhd: rfnoc: Add bindings log-power RFNoC block, expand rx streamer types
130dbcb04 uhd: rfnoc: Add GRC binding and support for replay block
02acbc8dd uhd: rfnoc: fix literal_eval error
e3f913982 uhd: rfnoc: Add GRC binding and support for Vector IIR block

v3.10.6.0

1 year ago

[3.10.6.0] - 2023-03-31

Changed

Runtime

  • Add Python loggers to top_block and hier_block2
  • Change the default log level (in the config file) to INFO instead of DEBUG
  • Logging improvements in the scheduler
  • Correctly determine native page size for Windows

GRC

  • Fixed: opening the source of a hierachical block using the toolbar button produced an error
  • Use the logger, instead of print statements, in generated top blocks
  • Remove libX11 load from generated Python code - this was unncessary and produced warnings
  • Choose Editor dialog stays above parent

gr-analog

  • Signal Source: option to hide the message port

gr-blocks

  • Throttle: supports max time or number of samples per work iteration, useful for reducing latency at low sample rates
  • Delay block: option to hide the message port
  • File Meta Sink: fix missing Python import in template code

gr-channels

  • Default taps should be 1.0, not 1.0 + j1.0

gr-digital

  • Async Decoder: several changes to improve performance robustness (see the commit log for more details)

gr-fec

  • Tagged Decoder: correctly calculate the frame size for terminated CC decoder

gr-filter

  • Fixed reverse parameters in fir_filter_with_buffer and pfb_arb_resampler, which could cause crashes
  • Fixed PFB Arbitrary Resampler was ignoring attenuation parameter

gr-iio

  • Set gain mode as specified (was always manual)
  • Use the specified gain parameter for second channel (was same as first channel)

gr-qtgui

  • Histogram Sink: calculate range of bins correctly to avoid strange distributions
  • Save (to image) dialogs add file extensions and have a Save button (i.e., they work now)

gr-soapy

  • Sources: add tags when the frequency changes

gr-uhd

  • Support for more RFNoC blocks
    • Fosphor, which produces data to drive an on-screen, OpenGL-based renderer which is expected to be in the next release
    • Moving Average
    • Switchboard
    • Split Stream
  • FFT: add properties for direction, magnitude and scaling
  • RX Stream: flush after timeout
  • Fully support multi-channel TX/RX (params were available for one one channel)

gr-vocoder

  • Add a number of new codec modes for Codec2 and FreeDV

gr-zmq

  • Selectable bind/connect to support more flexible ZMQ patterns and NAT'd networks
  • Stream sources produce when available, instead of waiting for a buffer to fill, helping with latency

Modtool

  • Use interp and decim keywords correctly when generating blocks

Build system and packaging

  • Uninstall removes icons and desktop files

v3.10.6.0-rc1

1 year ago

[3.10.6.0] - 2023-03-31 (planned release date)

Changed

Runtime

  • Add Python loggers to top_block and hier_block2
  • Change the default log level (in the config file) to INFO instead of DEBUG
  • Logging improvements in the scheduler
  • Correctly determine native page size for Windows

GRC

  • Fixed: opening the source of a hierachical block using the toolbar button produced an error
  • Use the logger, instead of print statements, in generated top blocks
  • Remove libX11 load from generated Python code - this was unncessary and produced warnings
  • Choose Editor dialog stays above parent

gr-analog

  • Signal Source: option to hide the message port

gr-blocks

  • Throttle: supports max time or number of samples per work iteration, useful for reducing latency at low sample rates
  • Delay block: option to hide the message port
  • File Meta Sink: fix missing Python import in template code

gr-channels

  • Default taps should be 1.0, not 1.0 + j1.0

gr-digital

  • Async Decoder: several changes to improve performance robustness (see the commit log for more details)

gr-fec

  • Tagged Decoder: correctly calculate the frame size for terminated CC decoder

gr-filter

  • Fixed reverse parameters in fir_filter_with_buffer and pfb_arb_resampler, which could cause crashes
  • Fixed PFB Arbitrary Resampler was ignoring attenuation parameter

gr-iio

  • Set gain mode as specified (was always manual)
  • Use the specified gain parameter for second channel (was same as first channel)

gr-qtgui

  • Histogram Sink: calculate range of bins correctly to avoid strange distributions
  • Save (to image) dialogs add file extensions and have a Save button (i.e., they work now)

gr-soapy

  • Sources: add tags when the frequency changes

gr-uhd

  • Support for more RFNoC blocks
    • Fosphor, which produces data to drive an on-screen, OpenGL-based renderer which is expected to be in the next release
    • Moving Average
    • Switchboard
    • Split Stream
  • FFT: add properties for direction, magnitude and scaling
  • RX Stream: flush after timeout
  • Fully support multi-channel TX/RX (params were available for one one channel)

gr-vocoder

  • Add a number of new codec modes for Codec2 and FreeDV

gr-zmq

  • Selectable bind/connect to support more flexible ZMQ patterns and NAT'd networks
  • Stream sources produce when available, instead of waiting for a buffer to fill, helping with latency

Modtool

  • Use interp and decim keywords correctly when generating blocks

Build system and packaging

  • Uninstall removes icons and desktop files

v3.10.5.1

1 year ago

[3.10.5.1] - 2023-01-25

Some important blocks turned out to be broken in 3.10.5.0. This unscheduled release fixes those regressions and includes a small number of other cleanups and fixes. v3.10.5.1 is intended to be ABI compatible with v3.10.5.0. We'd still recommend rebuilding dependent packages, if possible.

Changed

Runtime

  • Restore the ability to set a default block buffer size using the buffer_size parameter in the config file. This was lost during refactoring in v3.9.

GRC

  • Add Python snipped hook point at "init before blocks", right before blocks are instantiated.

gr-audio

  • Remove support for OSX 10.3 and earlier.

gr-digital

  • Make tags visible to subclasses of OFDM Frame Equalizer.

gr-dtv

  • Correct constant in DVBS2 Modulator.

gr-fec

  • Fix errors in Channel Construction AWGN

gr-iio

  • Fix IIO blocks, which were broken due to a build-time dependency problem.

gr-network

  • Fix crash in UDP Source when buffer overruns.

gr-qtgui

  • Remove support for QWT 6.0 and earlier.

gr-uhd

  • Add async message port to USRP Source and publish overflow notifications.
  • Add bindings and example for RFNoC AddSub block.

v3.10.5.0

1 year ago

[3.10.5.0] - 2022-12-19

Runtime

  • Python block have access to the block logger, as in C++
  • Default log level changed to INFO (from OFF)
  • Memory-based logger gr.dictionary_logger_backend() added for log debugging
  • API Note: The Python block gateway is now completely implemented in the PyBind11 wrapper, in order to clean up Python dependencies. This is technically an API change, but should not have any external effect.
  • PMT serialization of Complex32 vectors is now REAL | IMAG on all platforms
  • Python IO signature replication (multiple ports specified by one signature) fixed

GRC

  • Continue processing block connections after a connection error occurs
  • Drawing/scaling fixes that improve user experience on HiDPI and Windows machines

Build system and packaging

  • Many deprecation warnings fixed
  • Make target link libraries PRIVATE wherever possible, removing unnecessary downstream dependencies
  • Add Fedora 37 and drop Fedora 35 CI targets
  • Conda re-rendered with more recent packages - thanks to Ryan Volz for making Conda an easy-to-use, cross-platform method of installing GNU Radio
  • Debian and Fedora packaging specs are no longer included in the code base, since they were out of date, and are maintained by downstreams

Testing

  • Code formatting rules for clang format updated to v14
  • Removed all compiler warning suppression
  • Enable Python block testing for Conda on macOS
  • Many other improvements that make maintenance easier - thanks again to Clayton Smith. In the process of fixing tests, a number of latent bugs were fixed throughout the code.

gr-analog

  • AGC3 performance and bug fixes
  • Python has access to control_loop parent class in PLL blocks
  • CTCSS detection of standard tones improved by fixing floating point comparison

gr-blocks

  • Probe Signal cross platform reliability improved by better thread synchronization

gr-digital

  • CRC32 and CRC16 blocks use little-endian order regardless of host order. This is a wire format change. The options were to have different endian machines unable to communicate, or older and newer versions unable to communicate. Note that there is a more general set of blocks (CRC Append and CRC Check) that are recommended for use wherever possible.
  • Packet headers use consistent bit order across machines
  • Floating point/rounding fix in constellation lookup table

gr-fec

  • LDPC G matrix n and k can be access from Python
  • LDPC matrix output size calculation corrected
  • CCSDS/Viterbi path metrics overflow fix

gr-network

  • Improve UDP Source/Sink efficiency by removing a layer of buffering and using the GR circular buffer instead of the Boost equivalent

gr-qtgui

  • Fixed Python code generation for Msg CheckBox, Digital Number Control, Toggle Button, Toggle Switch

gr-soapy

  • Sources will generate rx_time, rx_freq and rx_rate tags, as in UHD sources, where supported by the underlying Soapy driver

gr-uhd

  • Re-enable uhd.find_devices(), in addition to uhd.find()
  • RFNoC: generate correct Python code when using clock/time source
  • RFNoC: allow specification of adapter IDs for streamers
  • RFNoC: enable setting of vlen and types for streamers
  • RFNoC: streamers pay attention to stream args
  • RFNoC: sync block controller with gr-ettus OOT
  • RFNoC:set_property() and get_property() added to the C++ and Python APIs
  • RFNoC: Python binds added for rfnoc_block_generic

gr-zeromq

  • Sinks will optionally block on full queue, providing backpressure. Previously, overflow data was dropped.

v3.10.5.0-rc1

1 year ago

v3.9.8.0

1 year ago

GNU Radio Release v3.9.8.0

[3.9.8.0] - 2022-09-16

This is last quarterly release of GNU Radio 3.9. Version 3.10 is mostly compatible with 3.9, so we recommend that all users of 3.9 migrate to 3.10 when able.

Changed

Project Scope

  • Replace get_initial_sptr() calls with make_block_sptr() calls. There were a number of places the incorrect function was being used.

GRC

  • Add xfce4-terminal and urxvt to the list of terminal emulators discovered during the build process.
  • Suppress GUI hint errors that were being shown in the terminal window.
  • Use integers for screenshot size (floats were causing Cairo errors).

gr-blocks

  • Correct calculation of items_remaining in File Source, which allows seek() to work correctly.

gr-filter

  • Fix demo for PFB channelizer

gr-trellis

  • Correct Python bindings for trellis::metrics.

gr-uhd

  • Add Python bindings for the UHD find() functino.

Testing

  • Ignore Python "missing whitespace after keywork" formatting error.

v3.10.4.0

1 year ago

GNU Radio Release v3.10.4.0

[3.10.4.0] - 2022-09-16

Changed

Project Scope

  • Replace get_initial_sptr() calls with make_block_sptr() calls. There were a number of places the incorrect function was being used.

Runtime

  • Use correctly typed arguments to log messages to prevent build errors.

GRC

  • Add xfce4-terminal and urxvt to the list of terminal emulators discovered during the build process.
  • Suppress GUI hint errors that were being shown in the terminal window.
  • Use integers for screenshot size (floats were causing Cairo errors).

Build system and packaging

  • Reformat cmake files and make cmake formatting part of the workflow.
  • Allow GNU Radio to be a part of other cmake-based projects.
  • Correct linking to libiio and libad9361 on macOS.
  • Update method for determining Python installation directory. This should work correctly now on (all?) distro releases.

gr-blocks

  • New Block Interleaver/Deinterleaver interleaves blocks of symbols
  • Correct calculation of items_remaining in File Source, which allows seek() to work correctly.
  • Add an example for Wavefile Sink

gr-digital

  • Deprecate the CRC32 and CRC16 blocks, which will be removed in the future. There are more general CRC blocks which do the same thing (and more).

gr-filter

  • Fix demo for PFB channelizer

gr-iio

  • FMCOMMS2 Sink assumes CS16 data is scaled to 32768, rather than 2048.
  • FMCOMMS2 returns the correct samples for the second channel in 2-channel mode.

gr-trellis

  • Correct Python bindings for trellis::metrics.

gr-qtgui

  • Range widget can now output messages when value changes.
  • Add C++ code generation for Time Sink
  • Regenerate Python bindings for some blocks when necessary.
  • Waterfall Sink correctly uses half spectrum for float input.

gr-uhd

  • Add Python bindings for the UHD find() functino.

gr-zeromq

  • Support newer get() and older/deprecated getsockopt() functions in cppzmq depending on availability.

Modtool

  • Parse IO signatures with or without gr:: prefix.

Documentation

  • Update certain file lists to keep build paths out of documentation.

Testing

  • Update Conda recipe for Qt 5.15 and re-render CI support files.
  • Add testing on Ubuntu 22.04.
  • Link tests directly against spdlog with not linking to GR runtime.
  • Ignore Python "missing whitespace after keywork" formatting error.

v3.9.8.0-rc1

1 year ago

v3.10.4.0-rc1

1 year ago