ProposedChangesV3 8

From GNU Radio
Jump to navigation Jump to search

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)?