ProposedChangesV3 8

From GNU Radio
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

High Level Release Goals

  • Code maintenance
    • Update library dependencies to modern, stable versions
    • Deprecate old and redundant modules
    • Move projects to OOT modules
  • Improve and mainstream QT Gui
  • Improve message passing API

Namespace hygiene ideas

  • hier_block2: rename to hier_block
  • eradicate the remaining non-basic type classes that exhibit a gr_ prefix
  • getting rid of the blks2 hierarchy

Changes likely to come with 3.8

In particular, API-breaking stuff.

General dependencies

  • Require Doxygen >= 1.7
  • Require CMake >= 2.8.10
    • String FIND command added in 2.8.5
    • enable_language (used for VOLK ASM files) bug fixed in 2.8.10
    • Ubuntu 12.04 comes with v2.8.7
  • Require Boost >= 1.53
  • Require GCC >= 4.7
  • Require QWT >= 6.0 (maybe)
  • Require ICE >= 3.5.0 (maybe 3.5.1)
  • Require Python >= 2.7
  • Require QT4 >= 4.8.0 (maybe 4.7.0 if a given a compelling reason)
  • Require UHD >= 3.6.0

By component

gnuradio-runtime GNU Radio runtime scheduler

  • Possibly API breaking changes needed to fix #528
  • Maybe change the TSB implementation (wouldn't affect TSBs themselves, but blocks that would re-implement them)
  • Formally deprecate old message queues/sources/sinks in favor of new async message passing
  • Formally deprecate Single Threaded Scheduler (STS)

grc GNU Radio Companion

  • Switch default window system for new flowgraphs to gr-qtgui
  • Remove all grc-specific blocks that may be replaced with other blocks (ex. tcp.py)
  • Introduce QT version of GRC

gr-atsc ATSC Digital Television demodulator

  • Remove old version to be replaced by new implementation from xxx

gr-fcd Hardware support for original FunCUBE dongle

  • Remove, to be supported by 3rd party through PyBOMBS

gr-noaa NOAA Weather Satellite HRPT telemetry decoder

  • Remove, re-implement as OOT project installed through PyBOMBS

gr-pager FLEX Pager protocol decoder

  • Remove, re-implement as OOT project installed through PyBOMBS

gr-qtgui Graphics widgets for QT window system

  • Switch examples to use gr-qtgui instead of gr-wxgui

gr-uhd Ettus Research UHD driver wrapper

  • Require UHD 3.6

gr-vocoder Audio CODECs of various standards

  • Remove internal versions of codec2, gsm, g.72x code in lieu of system packaged binaries
  • Add support for the Opus Interactive Audio Codec

gr-wxgui Graphics widgets for wxWindows/wxPython

  • Formally deprecate for eventual removal in 3.9

gr-digital Digital Modulation Support

  • Clean up (d)xPSK files; use a common mod/demod structure
  • Remove old OFDM code

gr-filters Filters

  • Remove wintype from firdes; re-implemented in gr-fft

volk VOLK

  • Deprecating ORC now for removal in 3.8 to resolve ARM issues
    • Expecting replacement kernels in NEON for ORC
  • does it make sense to make VOLK a more independent submodule with the goal of it being useful on its own (i.e. w/o compiling GNU Radio)?