Monday, July 15, 2024

Updating Old GNURadio Companion Flowgraphs

 

There are a lot of very old flowgraphs for GNU Radio Companion (GRC) floating around the Interwebs. Many of these are still very useful for learning. There’s just one problem: They aren’t compatible with the current releases of GNU Radio (as of this writing we are on version 3.10.10).

Don't loose hope however, it is pretty simple to upgrade and get a working Flowgraph as discussed below.

 

How To Update An Old Flowgraph

If you find a really old GRC Flowgraph, pre-version 3.7, then you will find that many of the block names drastically changed at version 3.7. The developers created a Linux shell script to rename the blocks in a .grc file, making this change easy.

https://wiki.gnuradio.org/index.php/Move_3-6_to_3-7#Restructure_of_GRC_Category_Names_to_Help_Transition

Trouble is, if you are running Windows, you won’t be able to use the shell script. So I rewrote the script in Python. You can find the Python version here,

https://github.com/Hagtronics/grc_to_37.sh-Python-Version

This conversion script is very helpful because the chap who wrote GQRX, Alexandru Csete, also created popular video and written tutorials way back in 2010, which require conversion prior to being used in current versions of GRC,

https://www.oz9aec.net/radios/gnu-radio/grc-examples

 

Conversion Issues

The conversion process won’t be perfect and don’t expect a running flowgraph, but at least you will see the translated blocks parameters and settings.

For instance, you will probably see some naming differences in the filter definitions, etc. To resolve these, simply load the block again from the block explorer and look at how that ‘fresh copy’ names the parameters.

  

Figure 1 - Even after conversion you will likely still see some errors in the blocks such as shown above. 
 
The missing "Cutoff Freq" and "Transition Width" are because of the now undefined WX GUI Controls. If you add the equivalent QT QUI controls back in with the same variable names as the WX GUI controls had, these errors will resolve themselves.
 
The "Window" error is because the window naming convention changed. To resolve this error, simply open the block and select a valid name from the combo box. 

The second issue will be the GUI Controls. The WX GUI controls were deprecated in 2015 and dropped with version 3.8, which was released in August 2019.

You will have to replace the WX GUI controls with the replacement QT GUI controls instead.

An overview of these and other porting topics is covered by the GNURadio team at,

https://wiki.gnuradio.org/index.php/Porting_Existing_Flowgraphs_to_a_Newer_Version

- Fini -

No comments:

Post a Comment