#analog-devices #sdr #dsp

no-std ad9361-rs

与Analog Devices Inc.无操作系统库的AD9361部分的绑定

1个不稳定版本

0.1.0 2022年4月3日

#1044 in 嵌入式开发

MIT/Apache

495KB
11K SLoC

C 9K SLoC // 0.2% comments Rust 2K SLoC // 0.1% comments C++ 200 SLoC // 0.2% comments

文档

ad9361-rs

docs.rs Crates.io Minimum rustc version

与Analog Devices Inc. no-OS库的AD9361部分的绑定。

用法

use ad9361_rs::{Ad9361, Ad9361InitParam};
use embedded_hal::blocking::spi::Transfer;
use embedded_hal::digital::v2::OutputPin;
use embedded_hal::blocking::delay::{DelayMs, DelayUs};

fn example(spi: impl Transfer<u8>,
           delay: impl DelayMs<u32> + DelayUs<u32>,
           reset_n: impl OutputPin)
{
    let parameters: Ad9361InitParam = Default::default();
    let heap = Vec::with_capacity(540);

    let mut ad9361 = Ad9361::new(spi, delay, Some(reset_n), heap); // ad9361 must not be moved after this point
    ad9361.init(parameters).unwrap();

    let _temperature = ad9361.get_temperature().unwrap();
}

#[no_std]

要在no_std环境中使用此crate,请在Cargo.toml中指定 default-features = false。然后您需要指定支持的一种设备特性。

  • ad9361_device
  • ad9364_device
  • ad9363a_device
ad9361-rs = { default-features = false, features = ["ad9364_device"] }

此crate的构建过程需要C编译器。在交叉编译时,您需要确保已安装合适的编译器。如果需要,cc crate 支持通过环境变量进行外部配置外部配置通过环境变量

测试

此crate支持测试中的 env_logger 日志输出,请尝试

RUST_LOG=info cargo test

许可证

有关no-OS库的许可条款,请参阅no-OS库。

此作品许可为以下其中之一

任选其一。

贡献

除非您明确表示,否则根据Apache-2.0许可证定义的,您有意提交的任何贡献,都应按上述方式双重许可,不得附加任何额外条款或条件。

依赖

~1.1–4MB
~77K SLoC