GNU Radio – the Free and Open Software Radio Ecosystem
GPL-3.0 License
Bot releases are hidden (Show)
Published by willcode almost 3 years ago
Release v3.9.4.0 is appearing a little early because of a couple of regressions in v3.9.3.0. While we were at it, we pulled in a few more helpful commits from the master branch.
This is an API compatible update to GNU Radio 3.9. Code written for 3.9.X versions should compile and link without modification. The ABI is not guaranteed to be compatible, so a rebuild of OOT modules may be necessary.
#include <filesystem>
(C++17 feature) from one filepyqwidget()
in gr-qtgui0
when left empty. This caused hard-to-find errors. Older flowgraphs that have empty required fields will need to be fixed.get_tags_in_window()
Python wrapper calls the correct function--pybind
option to gnuradio-config-info
to get PyBind11 versionno_quotes()
function in several yml files--update-hash-only
tempfile()
instead of /tmp
in bindtool and modtoolstatic_cast
instead of reinterpret_cast
in templatesmake install
during testPublished by willcode almost 3 years ago
Release candidate for v3.9.4.0. This release is intended to be API compatible with v3.9.x.y.
Published by willcode about 3 years ago
This is an API compatible update to GNU Radio 3.9. Code written for 3.9.X versions should
compile and link without modification. The ABI is not guaranteed to be compatible, so
a rebuild of OOT modules may be necessary.
At LEAST the following people contributed code to this release.
Adrien Michel
cmrincon [email protected]
Daniel Estévez [email protected]
David Pi [email protected]
David Winter [email protected]
Håkon Vågsether [email protected]
Igor Freire [email protected]
japm48
JaredD [email protected]
Jason Uher [email protected]
Jeff Long [email protected]
jfmadeira [email protected]
jmadeira [email protected]
Marc L [email protected]
Marcus Müller [email protected]
Mark Bauer [email protected]
Martin Braun [email protected]
Nicholas Corgan [email protected]
Oleksandr Kravchuk [email protected]
Pavon [email protected]
Rohan Sharma [email protected]
Ron Economos [email protected]
Ryan Volz [email protected]
Seth Hitefield [email protected]
Solomon [email protected]
Solomon Tan [email protected]
Volker Schroer
Published by willcode about 3 years ago
API is compatible with C++ code written against previous v3.8 releases.
ABI (link time) compatibility is not guaranteed. Out-of-tree C++ code
linked to previous v3.8 releases should be rebuilt against this version.
At LEAST the following authors contributed to this release.
Published by willcode about 3 years ago
Release candidate for v3.9.3.0. This release is intended to be API compatible with v3.9.x.y.
Published by willcode about 3 years ago
Release candidate for v3.8.4.0. This release is intended to be API compatible with v3.8.x.y.
The volk submodule has not been checked out in the github-generated tar and zip files. Use
git submodule update --init
For the final release gnuradio-3.8.4.0-with-volk.tar.gz/zip files will be provided.
Published by willcode over 3 years ago
The new gr-soapy built-in module provides access to Soapy hardware drivers using the SoapySDR driver framework. See https://wiki.gnuradio.org/index.php/Soapy for more information.
If SoapySDR 0.7.2 or newer is available during GNU Radio configuration, the gr-soapy module will be enabled.
The SoapySDR framework and Soapy driver modules are not maintained by the GNU Radio project. Driver modules are dynamically discovered and linked. They may be added and updated independently from the GNU Radio release cycle.
deprecated
property has been added to block yamlpmt::pmt_*
functions, which were not actually implemented. This is technically an API change, but any use of the API would have resulted in a link error.count_bits
uses VOLK popcnt
for better performance (used for example in the Correlate Access Code block)tune_request
PYBIND11_INCLUDE_DIR
(incorrect) was changed to pybind11_INCLUDE_DIR
At LEAST the following authors contributed to this release. Note that only authors of commits are included here. A number of people contribute in other ways, including code review, documentation and testing.
Published by willcode over 3 years ago
This is a PATCH level revision. The API is compatible with C++ code written for previous v3.8 releases. ABI (shared library signature) is intended to be compatible, so code linked against v3.8.3.0 should not require recompilation.
At LEAST the following authors contributed to this release.
GNU Radio 3.8 has been released in the past with the volk submodule checked out at v2.0.0. Here, in addition to Github's provided source archive (no volk), you will find files with the volk submodule checked out at v2.0.0 and the much newer v2.5.0. If separate gnuradio and libvolk packages are to be provided, be sure not to check out the gnuradio/volk submodule, as the submodule will be used in lieu of the packaged version.
Published by willcode over 3 years ago
Release candidate for v3.9.2.0. This release is intended to be API compatible with v3.9.x.y.
Published by willcode over 3 years ago
Release candidate for v3.8.3.1. This release is intended to be API compatible with v3.8.x.y and ABI compatible with v3.8.3.0.
The volk submodule has not been checked out in the github-generated tar and zip files. Use
git submodule update --init
For the final release gnuradio-3.8.3.1-with-volk.tar.gz/zip
files will be provided.
Published by willcode over 3 years ago
API is compatible with C++ code written against previous v3.9 releases.
ABI (link time) compatibility is not guaranteed. Out-of-tree C++ code
linked to previous v3.9 releases should be rebuilt against this version.
--argument-list=""
)buffer_size
in the[Default]
section of the GNU Radio config file. Otherwise, the longstanding32768
is used.threshold
well documentedfreq
messages in this version must be dicts. Additionally,direction
key must be present and set to TX
or RX
.pmt.to_pmt({'freq':100e6,'direction':'RX'})
set_filter()
adds chan
parameterSTREAM_MODE_START_CONTINUOUS
,STREAM_MODE_STOP_CONTINUOUS
, STREAM_MODE_NUM_SAMPS_AND_DONE
,STREAM_MODE_NUM_SAMPS_AND_MORE
uhd_fft
application X11/Qt related cleanupswaitFor(condition, ...)
available for tests that use timeoutsAt LEAST the following authors contributed to this release.
Published by willcode over 3 years ago
Files were originally released without the volk submodule populated. New "-with-volk" tar files have been added below.
API is compatible with C++ code written against previous v3.8 releases.
ABI (link time) compatibility is not guaranteed. Out-of-tree C++ code
linked to previous v3.8 releases should be rebuilt against this version.
GR_PREFS_PATH
environment variableis_dict()
no longer returns True for PMT pairs, only for PMT dicts-DGR_PYTHON_DIR
--argument-list=""
)audio_alsa
section)ZMQ_LINGER
now set)At LEAST the following authors contributed to this release.
Published by willcode over 3 years ago
Published by willcode over 3 years ago
Published by marcusmueller almost 4 years ago
The future is not set, there is no fate but what we make for ourselves. In this
very spirit, GNU Radio 3.9 packs a whole bunch of power when it comes to
transforming the way GNU Radio and its ecosytem can be developed in the future.
Not only did we have great progressions from old dependencies that proved to be
all too problematic (SWIG, Python2), but also did we see an incredibly influx of
people actively working on how maintainable this code base is. This will nurture
the project for years to come.
All in all, the main breaking change for pure GRC users will consist in a few
changed blocks – an incredible feat, considering the amount of shift under the
hood. Mentioning large shifts, the work that went into the PyBind binding, the
CMake modernization, the C++ cleanup, the bug-fixing and the CI infrastructure
is worthy of explicit call out; I especially thank
here.
For developers of OOTs, I'm sure PyBind11 will pose a surprise. If you're used
to SWIG, yes, that's more code to write yourself. But in effect, it's less code
that breaks, and when it breaks, it breaks in much more understandable ways.
Josh has put a lot of effort into automating as much of that as possible.
There's certainly no shortage of demand for that! The ecosystem (remember GNU
Radio's tagline?) is in a steady upwind. We've seen more, and more stable,
contributions from OOT maintainers. That's great!
For in-tree development, newer dependencies and removal of anachronisms will
make sure things move much smoother. Our CI is getting – lately literally every
day – better, which means we not only catch bugs earlier, but also allow for
much quicker review cycles.
One central change:
If you're contributing code upstream, we no longer need you to submit a CLA;
instead, we ask you to just certify, yourself, that you're allowed to contribute
that code (and not, e.g. misappropriating someone else's code).
That's what the DCO (Developer Certificate of Origin) is: Just a quick, "hey,
this code is actually for me to contribute under the project's license"; nothing
more.
Which means that our infrastructure will refuse to let your code into the tree
if you didn't add a
Signed-off-by: Maxime Example <[email protected]>
to your commit message. Luckily, git can do that for you: git commit -s
.
-s
to your git commit
command lineboost::bind
was usedstd::cerr
and fprintf(stderr,…)
by GNU Radio loggingsnprintf
, printf
loggingconst
for members that were only set at construction time is now desired,const
-> constexp
in a lot of places.assert
-> static_assert
top_block
gr-utils
cleanup, folder restructuringNOTE: Most of the changes above change the generally preferred coding style
in a lot of situations.
lround
gr::random
now actually as documented time-dependentgr::block
to gr::basic_block
add
, add_const
VOLK'ized, templated
wavfile
infrastructure: libsndfile
now dependencytranscendental
block: default to 32 bit float complex, not double#define
d macrosuint16_t
for index tablesuint8_t
, not char
rational_resampler_base
-> rational_resampler
sig_source
: freq
port will be removed in the futureaudio-sink
, -source
: Windows audio sink/source deprecated, the portaudiosymbol_sync
, deprecate:
clock_recovery_mm
msk_timing_recovery
pfb_clock_sync
block_gateway
: set_max_output_buffer
GR_PREFS_PATH
environment variable sensitivity to configure the path to thegnuradio-config-info --print-all
sig_source
: cmd
port adds support for dicts, setting of frequency,selector
now has control message portswavfile_sink
, _source
can now deal with a lot of audio formats:rotator
: phase()
getterofdm_equalizer_simpledfe
: enable_soft_output
{en,de}code_rs_8
, {en,de}code_rs_ccsds
: Reed-Solomon en- and decodersfreq_xlating_fir_filter
gr-network
: a whole new networking blocks module!
blks2
nightmaregru
python modulecircular_file.cc
math/common_factor.hpp
bin_statistics_f
log2_const
set_taps
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
malloc_float
, _double
: rely on VOLKgr_unittest
: floatAlmostEqual
had a lot of false passes due abuse ofall()
get_tags_in_range
for delay < (end-start)
wfm
left/right, filterswork
call's tagsstop
gr_read_file_metadata.py
used to lose rx_time
precisionfile_*
: fseek
errors used to be ignoredmap_bb
: thread safety, buffer overflowsadditive_scrambler
: reset was brokenqa_header_payload_demux
bug addressed by waiting for both RXcorrelate_access_code
async_decoder
Heap corruptioncc_encoder
: constraint length K > 8 led to wrong outputvariable_band_pass_filter
GRC complex taps inputplot_raster
, _waterfall
tb.stop()
by using ZMQ_LINGER
Sec
Zehl [email protected]
Published by marcusmueller about 4 years ago
-modern
flag if new enough to make that inherent, thusstrict_undefined
dvb_bbscrambler
: LUT 8B alignment (private, but relevant for future usableflow_graph.py.mako
now contains import for print_function
forvariable_config.block.yml
now properly handles configparser
/ConfigParser
importfile_sink
flushes contents to file on stop()
file_meta_sink
block YAML: emit proper default PMT dictsoft_dec_lut_gen
now explicitly casts 2.0**prec
to int
map_bb
: add missing definition of static constexpr size_t s_map_size
send_frame_size
in UHD examples (broken after UHD v3.13.0.3-rc1)logpwrfft
YAML was hiding FFT lengthnumpy.arange
firdes.complex_band_pass
when complexfirdes.root_raised_cosine
gain for unity alphaqtgui_chooser
regained 3.7 capability to set defaultlen_tag_name
in USRP Source YAML generator pythonuhd_fft
/uhd_siggen_gui
: import order of sip and Qtshow_block_comments
cmd
portfreq
portPublished by marcusmueller over 4 years ago
emplace_back
where applicableempty()
instead of vector::size() == 0
BOOST_BIG_ENDIAN
rpcaggregator
& Co: removed storage of references to scope-lifetime objectsget_tags_in_range
for delay < (end-start)map_bb
buffer overflowmap_bb
thread safetyadditive_scrambler
count based resetasync_decoder
cc_encoder
was broken for constraint lengths > 8edit_box_msg
input
-> raw_input
bokeh_layout
module nameset_affinity
and {g,s}et_alias
show_id
flag added to embedded python blocks, ProbesPublished by marcusmueller over 4 years ago
emplace_back
where applicableempty()
instead of vector::size() == 0
rpcaggregator
& Co: removed storage of references to scope-lifetime objectsget_tags_in_range
for delay < (end-start)input
-> raw_input
rotator
workaroundmap_bb
buffer overflowmap_bb
thread safetyadditive_scrambler
count based resetasync_decoder
cc_encoder
was broken for constraint lengths > 8edit_box_msg
Published by marcusmueller over 4 years ago
rand
with internal random generatorsget_tags_in_range
on delay blocksmatrix_multiply
no longer wrongly converts complex float to doubleadditive_scrambler
count-based resetmap_bb
buffer overflow, thread safetycc_encoder
: constraint length > 8additive_scrambler
testPublished by marcusmueller about 5 years ago
Witness me!
Tonight, we release GNU Radio 3.8.0.0.
It's the first minor release version since more than six years, not without
pride this community stands to face the brightest future SDR on general purpose
hardware ever had.
Since we've not been documenting changes in the shape of a Changelog for the
whole of the development that happened since GNU Radio 3.7.0, I'm afraid that
these release notes will be more of a GLTL;DR (git log too long; didn't read)
than a detailed account of what has changed.
What has _not** changed is the fact that GNU Radio is centered around a very
simple truth:
Let the developers hack on DSP. Software interfaces are for humans, not the
other way around.
And so, compared to the later 3.7 releases, nothing has fundamentally modified
the way one develops signal processing systems with GNU Radio: You write blocks,
and you combine blocks to be part of a larger signal processing flow graph.
With that as a success story, we of course have faced quite a bit of change in
the systems we use to develop and in the people that develop GNU Radio. This has
lead to several changes that weren't compatible with 3.7.
This is an excerpt only:
next
branchblks2
gr_modtool
now vastly improvedgr-comedi
, gr-fcd
and gr-wxgui
are gonepacket_encoder
and related tools: Bugs that were sporadic and