Skip to content

GreatFET and GNURadio

Kate Temkin edited this page Nov 19, 2019 · 1 revision

The GreatFET platform can easily interface with GNURadio -- and several gnuradio-companion blocks are available to make using GreatFET+GNURadio easier. These blocks include support for various neighbors (e.g. Gladiolus blocks for Software Defined Infrared) and a variety of other inputs and outputs, which are lumped into the 'Software Defined Everything' category.

Requirements

You'll need an up-to-date GNURadio environment to use our blocks. This means:

  • GNURadio >= 3.8, built with python3*
  • python 3.6+

It's possible these blocks will work with GNURadio on lower python versions; but these aren't our development targets and aren't fully supported.

Adding our blocks to GNURadio-companion

The easiest way to add our blocks to GNURadio is to modify our local GNURadio configuration. On Linux and macOS, this file is located at ~/.gnuradio/config.conf.

Open this file, and find the section that's headed [grc]; or create the relevant section if it doesn't exist.

[grc]
<existing keys here>

We'll want to add the location of our blocks to the configuration file's local_blocks_path. We can determine the location of our blocks using the gf info command:

$ gf info --host
Host tools info:
	host module version: 2019.5.1
	pygreat module version: 2019.9.1
	python version: 3.8.0 (default, Oct 23 2019, 18:51:26) 

	module path: /home/user/.local/lib/python3.8/site-packages/greatfet
	command path: /home/user/.local/lib/python3.8/site-packages/greatfet/commands
	gnuradio-companion block path: /home/user/.local/lib/python3.8/site-packages/greatfet/gnuradio

In the output above, the last line points out our GRC block path. We'll add this to the local_block_path entry in our configuration file:

[grc]
local_blocks_path = /home/user/.local/lib/python3.8/site-packages/greatfet/gnuradio

If you want to have multiple entries, here -- for example, if existing entries are already present -- you can separate multiple paths using colons, similar to Linux paths:

[grc]
local_blocks_path = /home/user/.local/lib/python3.8/site-packages/greatfet/gnuradio:/home/user/my_blocks

The next time you start GRC, you should see new headings (e.g. SDIR and Software Defined Everything) in your list of available blocks.

You can’t perform that action at this time.