GSoC 2025 · GNU Radio 4.0 Block-Set Expansion

Week-2 check-in (mentor – Josh Morman)

   
Date 22 May 2025
Meetings (1) one-to-one progress sync · (2) open #architecture channel call
Participants Josh Morman, Krish Gupta · community contributors (Ralph, John Sally, Alex)
Topics File-naming rules, OOT vs. sub-module layout, current porting status, upcoming priorities

1 · Progress since last call

  • Structure research  Drafted several repo-layout variants (monolithic-plus-plugins, layered, micro-repos, hybrid monorepo, feature branches).
  • Porting milestone  ✔ iir_filter block compiles under GR-4.0; extended unit tests now hit edge cases and SIMD paths.

2 · Repository & workflow decisions

Decision Rationale
Work stays in an OOT module (gr-incubator) Keeps GR-4.0 mainline clean until merge week.
Initial folder skeleton will be scaffolded by Josh Gives everyone a stable starting point.
Ralph’s “multi-header-in-one-file” style accepted Easier to locate related templates; reduces header churn.

3 · Naming-convention consensus

Rule Agreed behaviour
Block class names PascalCase, e.g. IIRFilter, MultiplyConst.
File names Descriptive, no underscores; e.g. IIRFilter.(hpp|cpp).
Parentheses in filenames Use only where GR-4.0 already does (Foo(simd).hpp)—signals SIMD specialisations without underscores.
Avoid one-word abbreviations Helps users grep by intent rather than internal shorthand.

John Sally favoured 1:1 file–class mapping; Ralph preferred “logical grouping”. Both agreed underscore-free names make discovery simpler.


4 · Tooling idea

Draft a lightweight naming-linter that scans gr-incubator and flags files or classes breaking the new rules (regex-based, hooked into CI).


5 · Port-order roadmap

  1. Math (block family already underway)
  2. ZMQ (critical for network demos)
  3. Filters (FIR/IIR, complex variants)
  4. Analog → Digital → the rest (as originally proposed)

6 · Immediate action items

  • Krish
    • Finish SIMD test coverage for iir_filter which was already covered by ralph but was oversighted by me due to different naming.
    • Start math/AddConst refactor with new naming pattern.
    • Draft spec for the naming-linter (CLI + GitHub-Action prototype).
  • Josh
    • Push initial gr-incubator skeleton with MIT licence.
    • Document preferred file-grouping examples in the repo README.

“Consistency beats cleverness—pick a name you’d expect to type in the search bar.”
Ralph, #architecture call, 22 May 2025