6 个版本 (稳定)

使用旧 Rust 2015

2.2.0 2022年4月7日
2.1.0 2019年11月13日
2.0.1 2018年1月17日
2.0.0 2018年1月15日

#391硬件支持

Download history 33/week @ 2024-03-11 43/week @ 2024-03-18 18/week @ 2024-03-25 35/week @ 2024-04-01 9/week @ 2024-04-08 37/week @ 2024-04-15 26/week @ 2024-04-22 10/week @ 2024-04-29 2/week @ 2024-05-06 46/week @ 2024-05-13 4/week @ 2024-05-20 30/week @ 2024-05-27 3/week @ 2024-06-03 33/week @ 2024-06-10 4/week @ 2024-06-17 14/week @ 2024-06-24

每月60次下载
rtltcp 中使用

GPL-2.0+

11KB
162

rtlsdr_mt – RTL-SDR 的高级、多线程接口

文档

此crate提供了一个高级接口到RTL-SDR,将控制设备和读取样本分离,以便集成到多线程应用程序中。

示例

此示例读取传入的样本,在主线程中打印第一个I/Q对,同时在子线程中每秒增加1kHz的接收频率。

let (mut ctl, mut reader) = rtlsdr_mt::open(0).unwrap();

ctl.enable_agc().unwrap();
ctl.set_ppm(-2).unwrap();
ctl.set_center_freq(774_781_250).unwrap();

std::thread::spawn(move || {
    loop {
        let next = ctl.center_freq() + 1000;
        ctl.set_center_freq(next).unwrap();

        std::thread::sleep(std::time::Duration::from_secs(1));
    }
});

reader.read_async(4, 32768, |bytes| {
    println!("i[0] = {}", bytes[0]);
    println!("q[0] = {}", bytes[1]);
}).unwrap();

用法

可以通过Cargo使用此crate,将其添加到Cargo.toml中的依赖项

[dependencies]
rtlsdr_mt = "2.0.0"

并在crate根目录中导入它

extern crate rtlsdr_mt;

依赖项

~56KB