rfnoc_modtool(1)
π rfnoc_modtool β the manual, but make it cute π
okay bestie, gather round, because this is rfnoc_modtool(1) and she is the RFNoC OOT module management tool. That's the whole name. RFNoC. OOT. Module management. Tool. Say it with your chest. β¨
πΈ NAME πΈ
rfnoc_modtool β RFNoC OOT module management tool. that's it, that's the name, she's iconic and she knows it π
π¦ DESCRIPTION π¦
Create and manage RFNoC OOT modules.
likeβ¦ that's the vibe. you make them, you manage them, you move on. main character energy fr fr π
β¨ SYNOPSIS β¨
rfnoc_modtool [COMMAND] [OPTIONS]
π COMMANDS π
Run rfnoc_modtool COMMAND --help for more information on a specific command. yes bestie, every single one of them has a --help, go ask her yourself π
createβ Create a new RFNoC OOT module. fresh start, new you, slay π±addβ Add a new block to an existing RFNoC OOT module. she's already got a home, now she's getting roommates πadd-gr-ootβ Add GNU Radio OOT Module. a whole second module, nested, we love a crossover episode πadd-gr-blockβ Add GNU Radio block to an existing GNU Radio OOT module. π§add-grcβ Add GNU Radio GRC bindings for an existing block in this RFNoC OOT module. drag-and-drop era incoming β¨make-yamlβ YAML Creation Wizard -- Generate an RFNoC block YAML descriptor file based on user input. the wizard!!! she asks questions and you just answer them, no thoughts head empty, we stan π§βοΈ
π CREATING NEW MODULES π
When running rfnoc_modtool create, a new directory will be created that contains the necessary files for a new RFNoC OOT module. a whole directory, birthed into existence, for you β¨
This directory will only contain boilerplate code, and the user will need to add their own blocks to the module. ngl it's giving empty apartment on move-in day β the furniture is on you bestie ποΈ
By calling 'rfnoc_modtool add-gr-oot', the user can add a GNU Radio OOT module inside the RFNoC OOT module. module-ception. lowkey obsessed. π
π ADDING BLOCKS π
When running rfnoc_modtool add, a new block will be added to an existing RFNoC OOT module. This requires previously having run rfnoc_modtool create to create the module. no module, no block. she will not be improvising one for you. π«
Note that in order for 'rfnoc_modtool add' to succeed, the user must provide a block descriptor file in YAML format. This file describes the block and its parameters. the YAML is the whole personality of the block, it's literally her ID πͺͺ
The user can create this file manually, or use the YAML Creation Wizard by running rfnoc_modtool make-yaml. The wizard will prompt the user for the necessary information to create a valid YAML file. manual mode = DIY queen energy. wizard mode = let the girl cook ππ₯
Once blocks have been created, the user can add native GNU Radio blocks to enable more precise control over RFNoC blocks from GNU Radio by running 'rfnoc_modtool add-gr-block'. finer control, more precision, more power, we love to see it ποΈ
To add GNU Radio GRC bindings for the blocks, call 'rfnoc_modtool add-grc'. and then your block shows up in GRC looking all cute π
π EXAMPLES π
π Create a new RFNoC OOT module called filter
rfnoc_modtool create filter
cd rfnoc-filter
she made a thing and then she walked into the thing. periodt. π
π§ Use the YAML Creation Wizard to create a block descriptor file
rfnoc_modtool make-yaml
just answer the questions bestie, the wizard handles the rest β¨
π¦ After editing the fir.yml file to describe the FIR filter block, add a block called fir to the filter module
rfnoc_modtool add fir
note the order: you edit fir.yml FIRST, then you add. she is not reading your mind. π«Ά
π Now add a GNU Radio OOT module
rfnoc_modtool add-gr-oot
β Add a GNU Radio block to the filter module to control the FIR RFNoC block (e.g., for better integration into the GNU Radio filter design tool)
rfnoc_modtool add-gr-block --gr-blockname rfnoc_fir fir
--gr-blockname rfnoc_fir, the fir at the end, all of it, exactly like that, don't freestyle it π
π₯ Expose this new block into GRC
rfnoc_modtool add-grc --binding-type native fir
--binding-type native. that's the whole move. and now she's IN the GRC. π
π SEE ALSO π
- UHD documentation:
http://files.ettus.com/manual/ - GR-UHD documentation:
http://gnuradio.org/doc/doxygen/page_uhd.html
Other UHD programs:
go read the friends, they're all linked, they're all in the group chat π«Ά
βοΈ AUTHOR βοΈ
This manual page was written by Martin Braun. shoutout to the author, no cap, thank you for your service π«‘
βοΈ COPYRIGHT βοΈ
Copyright (c) 2015-2022 Ettus Research, A National Instruments Brand
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
bestie read that middle paragraph again. NO WARRANTY. she is free software, not a promise. the license said what it said. π
and that's the whole page!! brought to you by UHD 4.8.0 on the rfnoc_modtool(1) manual page π now go create a module, you absolute icon πβ¨
π¦ where this page comes from
- alpine 3.24: uhd-doc 4.9.0.0-r2 Β· GPL-3.0-or-later
- arch rolling: libuhd 4.9.0.1-8 Β· GPL-3.0-or-later
- epel 10: uhd 4.9.0.0-2.el10_2 Β· GPL-3.0-or-later
- fedora 44: uhd 4.9.0.1-3.fc44 Β· GPL-3.0-or-later
- fedora 44: uhd 4.9.0.1-3.fc44 Β· GPL-3.0-or-later
- nixos 26.05: uhd 4.9.0.1
- nixpkgs unstable: uhd 4.11.0.0
- ubuntu resolute: uhd-host 4.9.0.1-1ubuntu1 Β· GPL-3.0-or-later
- ubuntu stonking: uhd-host 4.9.0.1-1.4 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms