#rf #sdr #hackrf #api-bindings

seify-hackrfone

Fully Rust native HackRF one driver, powered by nusb

2 releases

0.1.1 Nov 16, 2024
0.1.0 Oct 10, 2024

#894 in Hardware support

Download history 126/week @ 2024-10-07 21/week @ 2024-10-14 4/week @ 2024-10-21 91/week @ 2024-11-11 32/week @ 2024-11-18 13/week @ 2024-12-02

136 downloads per month
Used in seify

MIT license

33KB
601 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
~108K SLoC