- gr-pdu: Protocol Data Units library
- gr-iio: Linux industrial I/O library (but not packaged in pkgsrc)
- Custom Buffers Support
- switch from Log4CPP to spdlog
Changed
C++14
C11
VOLK now “regular” dependency, not in-tree submodule
numpy now also a CMake-checked hard dependency for Python support
Exception Handling: throw by value, catch by reference (clang-tidy check)
C++11: Emplace in vectors where you can; brings performance boni, but not included in clang-tidy-checks
An exception-throwing block will now terminate the flow graph process, configurable through top_block
gr-utils cleanup, folder restructuring
config version checks installed CMake file will accept “at least this version” now
PyBind11 replaces SWIG
Full tree conversion from SWIG to Pybind11 bindings
Doxygen now uses MathJax, full LaTeX installation no longer required
GRC
start flowgraph in folder where it resides
gnuradio-runtime
When calculating offsets in non-integer rate FEC, lround
default seed for gr::random now actually as documented time-dependent
loggers moved from gr::block to gr::basic_block
PMT serialization
PMT dicts no longer indistinguishable from pairs
PMT symbol hashing no longer suffers under oddball own implementations
gr-audio
Increased ALSA buffer nperiods
gr-blocks
add, add_const VOLK’ized, templated
this seems to break things in other places, even if it proves to be mathematically identical
wavfile infrastructure: libsndfile now dependency
gr-digital
transcendental block: default to 32 bit float complex, not double
Linear equalizer: separate adaptive algorithm, allows for using e.g. trained sequences instead of the classical LMS, CMA
DFE: better structure for decision history
gr-dtv
LDPC encoder: template functions instead of #defined macros
LDPC encoder: smaller tables through uint16_t for index tables
gr-fec
API uint8_t, not char
gr-fft
FFT blocks/functions templatized
gr-filter
logging format
rational_resampler_base -> rational_resampler
gr-uhd
Required UHD version bumped to 3.9.7
logging format
Deprecated
gr-analog
sig_source: freq port will be removed in the future
gr-audio
audio-sink, -source: Windows audio sink/source deprecated, the portaudio
sink/source works even better under windows anyway
gr-digital
In favor of symbol_sync, deprecate:
clock_recovery_mm
msk_timing_recovery
pfb_clock_sync
Added
C++ Generation all over the place
PyBind bindings + generator
gnuradio-runtime
block_gateway: set_max_output_buffer
GR_PREFS_PATH environment variable sensitivity to configure the path to the
config file
gnuradio-config-info --print-all
GRC
option to toggle ID visibilities globally
Validation check for QT GUI hints
Python snippets
block header parsing tool
block header parsing tool (GSoC 2019)
gr_modtool
option to convert blacklisted files
gr-analog
sig_source: cmd port adds support for dicts, setting of frequency, amplitude,
offset and phase parameters
gr-blocks
selector now has control message ports
Rotator-based freq shift convenience wrapper
Message-to-Variable and vice versa blocks
DC Spike removal
IQ Swap
Complex to interleaved char / short: scaling option
Delay block: control message port
Phase Shift block with message port
wavfile_sink, _source can now deal with a lot of audio formats: uncompressed
WAV/AIFF, µ- and A-law compressed audio, OGG/Vorbis, FLAC, even octave files
Stream Demux, which demuxes streams according to lengths vector
rotator: phase() getter
gr-digital
OFDM: multiple CP lengths
ofdm_equalizer_simpledfe: enable_soft_output
Constellation Encoder
Constellation: normalization options
gr-fec
{en,de}code_rs_8, {en,de}code_rs_ccsds: Reed-Solomon en- and decoders
gr-fft
Windows:
Gaussian
Flat Top
Tukey
Window build() call now with default beta
gr-filter
GRC: File taps loader block
Low pass FFT filter convenience wrapper
ichar / ishort decimator
phase continuity for freq_xlating_fir_filter
gr-network
gr-network: a whole new networking blocks module!
TCP
UDP
Much better lockup/multithreading support than 3.7-era blks2
gr-qtgui
Azimuth/Elevation plot
Autocorrelation plot
Compass visualization
Dial control
Gauge: dial, level
Distance plot
LED-like indicator
Message-passing check box
Message-passing numeric control
Message-passing push button
Toggle Button
Eye sink
Vertical slider
gr-uhd
Filter API
UHD 4.0 support
Power Reference API
Bidirectional setting messages on both sink, source
gr-vocoder
Codec2 dev branch support
FreeDV: In/output rates can differ
FreeDV: text message output
gr-zeromq
C++ GRC templates
Tag filtering for tag-forwarding blocks
Removed
VOLK is no longer a submodule
Sphinx: consolidate into doxygen, or wiki-maintained block list.
Python 2
SWIG
gru python module
gnuradio-runtime
circular_file.cc
math/common_factor.hpp
gr-blocks
bin_statistics_f
log2_const
gr-digital
PFB clock sync: set_taps
deprecated old OFDM infrastructur
ofdm_frame_acquisition
ofdm_frame_sink
ofdm_insert_preamble
ofdm_sync_fixed
ofdm_sync_pn
ofdm_sync_pnac
ofdm_sync_ml
ofdm_receiver
digital_voice
gr-fft
malloc_float, _double: rely on VOLK
Goertzel: dtor superfluous
gr-filter
deprecated window function duplicates (use them from gr-fft!)
Fixed
CMake: Qwt, Log4Cpp detection
ctrlport strings unicodified
Freedesktop install script was not executed
Redundant icons installed
Path substitution on Windows was backslash-broken
YAML definitions: more than I can count
Cross-building: py interpreter at runtime != build time
gnuradio-runtime
ctrlport: unholy stored reference to stack-allocated object removed
Sine table generation for fixed point math
gr_unittest: floatAlmostEqual had a lot of false passes due abuse of all()
get_tags_in_range for delay < (end-start)
Premature tag pruning
release flattened flowgraph after stopping, fixes restartability/shutdown
problem
PMT serialization portability
latency issue caused by setting block alias on msg block
Windows logging errors
ctrlport: Thrift >= 0.13 broke
GRC
Tab widget ID visibilities
A lot of YAML templates
Default setting in qtgui chooser restored
Boolean parameters no longer switch buttons
Nested namespace handling
Don’t rely on set ordering in tests
configparser import
input box color theme on dark themes
Search box typing doesn’t inadvertedly interact with the rest of GRC anymore
gr_modtool
Empty argument lists allowed
Boost UTF replaced CppUnit, this needed to be done here, too
gr-analog
wfm left/right, filters
gr-audio
portaudio: lock acquisition was improper
gr-blocks
Throttle now uses monotonic clock
Tag debug only saved last work call’s tags
File sink flushes on stop
gr_read_file_metadata.py used to lose rx_time precision
File source big file handling under Windows
file_*: fseek errors used to be ignored
gr-digital
map_bb: thread safety, buffer overflows
additive_scrambler: reset was broken
Constellation scalefactor wasn’t always initialized
long-standing qa_header_payload_demux bug addressed by waiting for both RX and
TX, not only either
false triggers in correlate_access_code
gr-dtv
rate mismatch in ATSC flowgraphs
gr-fec
async_decoder Heap corruption
cc_encoder: constraint length K > 8 led to wrong output
gr-fft
thread safety of copy assignment/ctor
log power FFT Python
gr-filter
variable_band_pass_filter GRC complex taps input
RRC filter gain for alpha = 1
gr-qtgui
Remove copies of image data in returns by using move semantics
Remove bogus overriding in drawing functions of plot_raster, _waterfall
Edit MSG box: don’t require key to be set
Don’t check for Python2 libs
Number Sink ignored averaging setting
gr-uhd
UHD apps: Py3 fixes
USRP blocks: multichannel objects not properly populating channels
gr-video-sdl
YUV formats fixed
gr-zeromq
Don’t depend on deprecated ZMQ functionality
Unhandled exceptions now handled, much calmer
Avoid infinite blocking in tb.stop() by using ZMQ_LINGER
predict is a curses based satellite tracking/orbital prediction program
PREDICT provides real-time satellite tracking and orbital prediction
information to users and client applications in a variety of ways:
Through the system console
Through the command line
Through a network socket
Through the generation of audio speech
Data such as a spacecraft's sub-satellite point, azimuth and elevation
headings, Doppler shift, path loss, slant range, orbital altitude,
orbital velocity, footprint diameter, orbital phase (mean anomaly),
squint angle, eclipse depth, the time and date of the next AOS (or LOS
of the current pass), orbit number, and sunlight and visibility
information are provided on a real-time basis. PREDICT can also track
(or predict the position of) the Sun and Moon. PREDICT also has the
ability to control AZ/EL antenna rotators to maintain accurate
orientation in the direction of communication satellites. As an aid in
locating and tracking satellites through optical means, PREDICT can
articulate tracking coordinates and visibility information as plain
speech.
gnuradio-audio-oss
gnuradio-core
gnuradio-examples
gnuradio-gsm
gnuradio-howto
gnuradio-usrp
gnuradio-wxgui
usrp
packages that are part of the GNU Radio project, a digital signal
processing development kit.