Build GNU Radio Flowgraph Skill 🛠️
Use this skill when you need to construct a complete, standalone GNU Radio Python flowgraph (gr.top_block) or .grc file to process, clean, synchronize, and demodulate a new or custom signal, or to validate GRC YAML schema and block presence.
Instructions
Execute Flowgraph Generator Tool:
PYTHONPATH=/usr/lib/python3/dist-packages:./ .agents/skills/build-gnuradio-flowgraph/scripts/build_gnuradio_flowgraph.py --input <input_sigmf_file> --output_script <output_script.py> --ops "dc_block,lowpass_filter,agc,costas_loop,symbol_sync"In-Skill GRC Flowgraph Validation: When creating or editing
.grcflowgraph files, validate the GRC YAML schema and enforce $0$ missing/dummy blocks directly via the skill validator:PYTHONPATH=/usr/lib/python3/dist-packages:./ .agents/skills/build-gnuradio-flowgraph/scripts/build_gnuradio_flowgraph.py --validate_grc <path_to_grc_file>Generated Python Top Block Architecture: The output script imports
from gnuradio import gr, blocks, filter, analog, digitaland wires native blocks into an executable pipeline:blocks.file_source$\rightarrow$filter.dc_blocker_cc$\rightarrow$filter.fir_filter_ccc$\rightarrow$analog.agc2_cc$\rightarrow$digital.costas_loop_cc$\rightarrow$digital.symbol_sync_cc$\rightarrow$blocks.file_sink.
Execute Generated Script: Run the generated GNU Radio top block script directly:
PYTHONPATH=/usr/lib/python3/dist-packages <output_script.py> <input_sigmf> <output_iq>GRC Schema & RTL-SDR Hardware Reference: For detailed GRC 3.8/3.10 YAML schema rules, template block IDs, and RTL-SDR Linux hardware access setup, refer to references/grc_and_rtlsdr_guide.md.