rustradio 0.15.1

Software defined radio library
Documentation

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.