#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

#724 in Hardware support

Download history 126/week @ 2024-10-07 21/week @ 2024-10-14

147 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

~0.9–9.5MB
~110K SLoC