Skip to content

gretel/chirpmunk-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

chirpmunk-rs

chirpmunk-rs — a Rust LoRa PHY transceiver and wideband scanner built on FutureSDR, paired with a CBOR/UDP control plane compatible with chirpmunk-gr4.

Status: research prototype. APIs, configuration, and on-wire formats change without notice. Not production-ready.

Requirements

  • Rust toolchain (MSRV 1.89, edition 2024)
  • SDR:
    • UHD via SoapySDR (soapy_driver=uhd) — B200 / B210 (other UHD devices untested)
    • IIO via libiio (under development)

Build & run

# Build everything
cargo build --workspace

# Run tests
cargo test  --workspace

# Lint
cargo clippy --workspace --all-targets -- -D warnings

Binaries land in target/debug/. Configuration is via TOML (see apps/chirpmunk-trx/config.example.toml). Default UDP ports:

Port Endpoint Direction
5555 chirpmunk core publish to consumers
5556 chirpmunk-trx producer → core
5557 chirpmunk-scan producer → core

Start (each in its own shell):

# data-plane core (start before producers) — from chirpmunk-gr4
lora core --config apps/config.toml

# Rust transceiver (hardware)
./target/debug/chirpmunk-trx --config apps/chirpmunk-trx/config.example.toml

# Loopback (no hardware)
./target/debug/chirpmunk-trx --loopback --bind 127.0.0.1:5556

Credits

The DSP pipeline draws on the EPFL TCL reference implementation (gr-lora_sdr, GPL-3.0), adapted for FutureSDR's Rust block model. The CBOR/UDP control plane is a shared design with chirpmunk-gr4, authored alongside it.

Documentation

Is currently lacking. Work in progress. Please stay tuned!

License

GPL-3.0-only — SPDX identifier GPL-3.0-only. Copyright © 2025–2026 Tom Hensel <code@jitter.eu>.

About

Rust LoRa PHY transceiver and wideband scanner built on Future SDR

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Contributors

Languages