rustradio

Crates.iorustradio
lib.rsrustradio
version0.15.1
created_at2023-09-13 22:00:44.079737+00
updated_at2025-11-30 16:36:39.745129+00
descriptionSoftware defined radio library
homepage
repositoryhttps://github.com/ThomasHabets/rustradio
max_upload_size
id971995
size1,413,519
Thomas Habets (ThomasHabets)

documentation

README

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.
Commit count: 998

cargo fmt