Rust Radio
A library for digital signals processing in the spirit of GNU Radio.
Differences from GNU Radio
Pro
- Written in Rust instead of C++ & Python.
- Easier to get things right than C++.
- More performant than Python (and possibly more performant than C++).
- Easier to ship as a built binary.
- Type safe streams.
Con
- GNU Radio is obviously way more mature.
- GNU Radio has a very nice UI for iterating on graphs.
Missing stuff before declaring 1.0
- A clear strategy for optional output streams.
- Is the current
Option-based solution good enough for 1.0?
- SymbolSync block at least have the right API.
AsRef<Path> vs Into<PathBuf>?
- What exactly is the purpose of
BlockEOF?
- Should
produce() take Into<Vec<Tag>>? Less copying.
- Block structs have needless trait bounds, just to be passed to generated impl
sections.
- Should
Pending return a time estimate?
- Or better yet: The graph should do some fancy heuristic to hone in on the
perfect time when to call again.
- Great for hardware like audio, SDRs.
- Max ceiling for e.g. TCP streams.
- Maybe both. Strobe could do with being able to just say.
- At least one example of dynamically updating parameters.