Porting Existing Flowgraphs to a Newer Version

From GNU Radio
Jump to: navigation, search

This page describes issues involved in porting a flowgraph to a newer version of GNU Radio.

From 3.7 to 3.8[edit]

When a flowgraph which has been generated by version 3.7 is opened in GRC version 3.8, much of the conversion process is done automatically. However, there are certain things which must be updated by hand.

  • WX GUI blocks: Since the WX GUI blocks are deprecated in version 3.8, the user must find corresponding blocks in the QT GUIs.
  • If blocks have different names between versions 3.7 and 3.8, they must be replaced by hand.

This is an example of a version 3.7 flowgraph opened in GRC version 3.8. It is an excerpt of Media:NBFM_Transceiver_GRC_3.7.grc.

NBFM 37 excerpt fg.png

From 3.8 to 3.9[edit]

There was a change in enumerated types from `firdes.h` to `window.h` which can affect items such as filters, QT GUI Waterfall Sink, and Signal Generators.

Here is a Band-pass Filter Taps block example:

Band-pass Filter Taps prop.png

The remedy is to click on the Window pull-down and re-select "Hamming".

From 3.9 to master[edit]

  • Embedded Python Block: If a flowgraph from version 3.9 containing an Embedded Python Block is executed without regenerating it, there will be an error that the `<flowgraph-name>epy_block_0.py` file can not be found. This is due to the change in the naming convention between version 3.9 and master.

For example:

~/gr-control $ python3 -u xmt_rcv_switch.py
Traceback (most recent call last):
  File "xmt_rcv_switch.py", line 44, in <module>
    import xmt_rcv_switch_epy_block_0 as epy_block_0  # embedded python block
ModuleNotFoundError: No module named 'xmt_rcv_switch_epy_block_0'

The remedy is to regenerate the flowgraph.