#rf #sdr #hackrf #api-bindings

seify-hackrfone

Fully Rust native HackRF one driver, powered by nusb

1 unstable release

0.1.0 Oct 10, 2024

#788 in Hardware support

Download history 141/week @ 2024-10-10 9/week @ 2024-10-17 1/week @ 2024-10-24

151 downloads per month
Used in seify

MIT license

33KB
587 lines

seify-hackrfone   Crates.io Documentation Build Status Made with Rust

Rust Hackrf One api, with zero native dependencies, powered by nusb

Written as part of seify and FutureSDR, but standalone usage is also supported.

Example

use anyhow::Result;
use seify_hackrfone::{Config, HackRf};

fn main() -> Result<()> {
    let radio = HackRf::open_first()?;

    radio.start_rx(&Config {
        vga_db: 0,
        txvga_db: 0,
        lna_db: 0,
        amp_enable: false,
        antenna_enable: false,
        frequency_hz: 915_000_000,
        sample_rate_hz: 2_000_000,
        sample_rate_div: 1,
    })?;

    let mut buf = vec![0u8; 32 * 1024];
    loop {
        radio.read(&mut buf)?;
        // Process samples...
    }
}

Dependencies

~1–9.5MB
~107K SLoC