[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Discuss-gnuradio] GNU Radio release candidate 3.6.3rc0 available for do

From: Johnathan Corgan
Subject: [Discuss-gnuradio] GNU Radio release candidate 3.6.3rc0 available for download
Date: Sun, 23 Dec 2012 11:08:20 -0800

Release 3.6.3 will be a significant release, adding major new
capabilities and many bug fixes, while maintaining strict source
compatibility with user code already written for the 3.6 API.

Much of the code was the result of two events, the September 2012 GNU
Radio conference in Atlanta, GA, and the November 2012 GNU Radio
hackfest held at Ettus Research in Mountain View, CA.  Additional work
(not discussed here) from these events has been incorporated into the
'next' branch of the code repository, and will become part of the 3.7
API release series.

New features include asynchronous message passing between blocks, new
blocks for interfacing with operating system networking stacks, the
ability to write new signal processing blocks in Python, enhanced file
source and sinks that can store metadata, flowgraph latency control,
improvements to documentation, and further conversion of existing code
into the 3.7 API organization (while leaving existing blocks in

Given the amount of new code introduced, we are closing the merge
window for features on the master branch, providing one or more
release candidates, and only merging bug fixes until a formal 3.6.3

GNU Radio release 3.6.3rc0 is available here:



Johnathan Corgan
Corgan Labs

Contributors this release:

    Alick Zhao <address@hidden>
    Ben Hilburn <address@hidden>
    Ben Reynwar <address@hidden>
    Brett L. Trotter <address@hidden>
    Johnathan Corgan <address@hidden>
    Josh Blum <address@hidden>
    Julien Olivain <address@hidden>
    Martin Braun <address@hidden>
    Michael Dickens <address@hidden>
    Nicholas Corgan <address@hidden>
    Tim O'Shea <address@hidden>
    Tim Newman <address@hidden>
    Tom Rondeau <address@hidden>

Addition/upgrade of message passing infrastructure (Tim O'Shea, Tom
Rondeau, Johnathan Corgan, Josh Blum)

    This introduces the ability to add and connect formally defined
    asychronous message ports to signal processing blocks and
    hierarchical blocks.  These message ports can be connected to pass
    asynchronous data in the form of PMTs (polymorphic types) among
    blocks in a flowgraph.  It is also possible to implement pure
    message passing blocks that have no requirement for streaming
    ports or work functions.

    We've also introduced the concept of PDUs (Protocol Data Units) as
    a convention for passing data+metadata using the new messaging
    ports. A PDU is a PMT pair that combines a PMT dictionary of
    metadata keys/values along with a PMT blob to hold a vector of
    data in memory.

    A few new general purpose blocks supporting these capabilties are
    in gnuradio-core:


    Two new blocks for interfacing with networking stacks using the
    new PDU semantics:


    This new message passing capability and PDU convention is aimed at
    providing the infrastructure to better support software radio
    implementations using packet-oriented semantics, such as MAC-layer

Addition of new Python-based signal processing blocks (Josh Blum)

    This feature, originally introduced by Josh Blum as part of
    GrExtras, allows implementing signal processing blocks directly in
    Python, and has now become a standard feature of GNU Radio.

Addition of gr-analog top-level component (Tom Rondeau)

    This implements the current gnuradio-core signal processing blocks
    used for analog signal processing into their own top-level
    component, gr-analog, and uses the new 3.7 API organization. The
    original blocks in gnuradio-core will be removed on the 3.7 branch
    prior to 3.7 release.

Addition of gr-blocks top-level component (Johnathan Corgan)
    This implements a large portion of the gnuradio-core non-signal
    processing blocks in the 3.7 API form.  The original blocks in
    gnuradio-core will be removed on the 3.7 branch prior to 3.7

Metadata file source and sink blocks (Tom Rondeau)

    Two new blocks implement enhanced file source and sink blocks that
    incorporate metadata passed using the stream tags feature in GNU
    Radio.  It is now possible to store things like frequency and
    sample rate into capture files, or whatever key/value pairs you
    tag onto data streams inside a flowgraph.


GNU Radio buffer latency control (Tim O'Shea, Tom Rondeau)

    For finer-grained control over latency inside a GNU Radio
    flowgraph, it is now possible to adjust, on a per-block basis, the
    maximum noutput_items that will be used to call a block work
    function.  In addition, it is possible to set the maximum size an
    output buffer can grow to before a work function is called.

New GNU Radio Companion (GRC) capabilities

    Added optional flag to pad source and sink (Josh Blum)
    Added wildcard type to pad source and sink (Josh Blum)
    Added ability to reload XML for block (Tim O'Shea)
    Added ability to automatically create hier_blocks from a flowgraph (Tim Newman)
    Added ability to open custom GRC hier block definitions (Tim O'Shea)
    Added new grcc command line GRC-to-Python utility (Tom Rondeau)

New Documentation Updates (Tom Rondeau)

    We are introducing documentation into the Doxygen manual
    describing features and capabilities of GNU Radio, above and
    beyond just documenting the API functions.  Tom Rondeau has
    written about this here:


    Some examples of commits where this has been done:

    gnuradio.org/cgit/gnuradio.git/commit/?id=77ea309 (PMT type usage)
    gnuradio.org/cgit/gnuradio.git/commit/?id=a21c5f7 (Message passing interface)
    gnuradio.org/cgit/gnuradio.git/commit/?id=996e599 (Metatdata format)
    gnuradio.org/cgit/gnuradio.git/commit/?id=5fcb7eb (Max output buffer control)

Other new features:

    Allow file source to open new files while running (Brett L. Trotter)
    Allow source blocks to return none/yield (Josh Blum)
    Improved capabilities of uhd_fft.grc example in gr-uhd (Ben Hilburn)
    Added parameter in qtgui sink's GRC block to set the update rate (Julien Olivain)
    Added source block hook in gr-uhd for issue stream cmd (Josh Blum)
    Added cmake package support for Ubuntu 12.10 (Nicholas Corgan)
    Added gr::blocks::patterned_interleaver (Tim O'Shea)
    Allow user to set Python path during cmake configuration (Tom Rondeau)
    Enabled serialize/deserialize for PMT vectors (Tom Rondeau)
    Added unsigned long long int support to the PMT sugar functions (Tom Rondeau)
    Allow using pmt_init_Xvector methods in python (Tom Rondeau)

Bug fixes:

    Numerous cmake related bug-fixes (Josh Blum, Johnathan Corgan, Tom Rondeau)
    Fixed parallel build failures in cmake (Tom Rondeau)
    Fixed segfaults due to old, no longer nedded SWIG workaround (Tom Rondeau)
    Fixed memory leak issue in arbitrary resampler blocks (Tom ROndeau)
    Fixed use of default noise seed in channel model (Alick Zhao)
    Fixed scaling bug in QAM constellations (Ben Reynwar)
    Fixed installation of grc examples (Johnathan Corgan)
    Fixed finding Qwt6 installed on OSX using MacPorts (Ben Reynwar)
    Fixed implicit assumption in skiphead (Josh Blum)
    Fixed include tag include usage throughout core (Josh Blum)
    Fixed incorrect private usage in gr_endian_swap (Josh Blum)
    Fixed segfault in gr-filter due to memory free bug (Josh Blum)
    Fixed UHD pmt tuple ref namespace issue (Josh Blum)
    Fixed gr_tag_debug to handle lacking srcid (Martin Braun)
    Fixed gr-analog for 'sincos(f)' on MacOSX (Michael Dickens)
    Fixed gr-analog build issues on Windows (Nicholas Corgan)
    Fixed qtgui time sink to take the bandwidth parameter to set x-axis correctly (Tom Rondeau)
    Fixed float-in, complex-out fft block to use the right io sig (Tom Rondeau)
    Fixed Clang imcompatibility by removing '.version' lines in ASM code in core (Tom Rondeau)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]