Porting Existing Flowgraphs to a Newer Version: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(→‎From 3.9 to master: add example error message)
Line 13: Line 13:
== From 3.9 to master ==
== From 3.9 to master ==


* Embedded Python Block: If a flowgraph 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. The remedy is to regenerate the flowgraph.
* 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:
<pre>
~/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'
</pre>
 
The remedy is to regenerate the flowgraph.

Revision as of 14:48, 19 February 2021

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

From 3.7 to 3.8

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.

From 3.8 to 3.9

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

From 3.9 to master

  • 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.