You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A command-line tool for creating and managing GNURadio 4 out-of-tree (OOT) block modules. It scaffolds projects, generates block headers and tests from templates, manages build-system wiring, and keeps everything in sync.
gr4_modtool build --test # configure, build, run tests
gr4_modtool test MyFilter # re-run one block's test only
gr4_modtool format --check # lint C++ formatting (CI mode)
gr4_modtool tidy # run clang-tidy
Adopt an existing project
cd /path/to/existing/gr4-oot-project
gr4_modtool init --yes # auto-detect groups/blocks, write .gr4modtool.toml
gr4_modtool init --dry-run # preview what would be detected without writing
gr4_modtool info --verbose # show ports and parameters per block
gr4_modtool info --json # list all blocks as JSON
Port a GNURadio 3 block
gr4_modtool port old_module/python/my_filter.py --group dsp
Append a full debug log to PATH, whatever the console level is
gr4_modtool -v newblock --group dsp # see every file it touches
gr4_modtool -vv --log-file build.log build # console detail plus a full log
Two environment variables set the defaults, so CI can turn logging on without
changing the command lines:
Variable
Effect
GR4_MODTOOL_LOG_LEVEL
Console level (DEBUG, INFO, …) when no -v/-q is given
GR4_MODTOOL_LOG_FILE
Default --log-file path
Library users get the same stream by calling configure_logging() once — see
Python API. Records go to the gr4_modtool logger, which
does not propagate to the root logger, so importing gr4_modtool never disturbs
an application's own logging setup.