Creating OOT Module in GR 4.0

From GNU Radio
Revision as of 13:29, 8 September 2022 by Mormj (talk | contribs)
Jump to navigation Jump to search

Creating the OOT

In place of modtool, there is a script in the gnuradio source tree that will perform the same function

python3 $GR_PREFIX/src/gnuradio/utils/modtool/create_mod.py myOOT

This will create a skeleton OOT with the following structure:

gr4-myOOT/
├── blocklib
│   └── myOOT
│       ├── include
│       │   └── gnuradio
│       │       └── myOOT
│       │           └── meson.build
│       ├── lib
│       │   └── meson.build
│       ├── python
│       │   └── myOOT
│       │       └── __init__.py
│       └── test
│           └── meson.build
├── meson.build
└── meson_options.txt

Creating a Block

To create a block, there is a helper scripts in the gnuradio source tree:

cd gr4-myOOT
python3 $GR_PREFIX/src/gnuradio/utils/modtool/create_block.py myblock

This will create the necessary files for compiling a block by placing a minimal set of files in the following structure:

├── blocklib
│   └── myOOT
│       ├── myblock
│       │   ├── myblock_cpu.cc
│       │   ├── myblock_cpu.h
│       │   └── myblock.yml

All of the files needed to create the block are located in one place, and all of the normal boilerplate will be automatically generated.

From here let's start with the .yml file

YML File

Implementation Files

Autogenerated Files