#radio #interfacing #labs #cc1200 #interfacring #armstrong

ArmlabRadio

用于与CC1200无线电接口的库

20次发布

0.6.5 2022年10月17日
0.6.4 2022年10月7日
0.6.2 2022年8月30日
0.5.2 2022年8月29日
0.4.10 2022年8月25日

#530 in 嵌入式开发

Download history 11/week @ 2024-04-01 8/week @ 2024-07-01

85 每月下载

MIT 许可证

29KB
528

ArmLabCC1200

用于与基于Armstrong Labs CC1200的无线电接口的库


使用crates.io下载

https://crates.io/crates/ArmlabRadio

目的

ArmLabCC1200包含一套用于与STM32控制的CC1200无线电接口的库。将STM32连接到CC1200芯片,并烧录以下代码后,可以通过

  • 任何Linux设备通过I2C控制
  • 任何设备通过串行

有什么可用

  • Rust源代码,用于在Linux上通过I2C与设备接口(radio_i2c.rs)
  • Rust源代码,用于通过串行与设备接口(radio_serial.rs)
  • 发布在crates.io上
  • stm32源代码
  • 自定义stm32板原理图
  • 更改基本无线电设置的命令
  • 交互式命令行示例
    • cargo运行 --示例终端
    • cargo运行 --特性i2clib --示例终端
  • 连续收发(仅串行) 示例
    • cargo运行 --示例信标
  • 串行无线电设备,自动检测

即将到来

  • 无线电更多公开的特性
  • C / C++的平台独立库

设计

查看最新的设计规范,了解协议、原理图、测试等内容

使用

I2C(Linux)

use ArmlabRadio::radio_i2c::Radio;

fn main () {
    let mut radio: Radio = Radio::new_rpi().unrwap();
    
    radio.transmit(b"test message").expect("transmit error");
    let packet = radio.get_packet().expect("read error");

    println!("got message: \"{:?}\"", packet);
}

串行

use ArmlabRadio::radio_serial::Radio;

fn main () {
    let mut radio: Radio = Radio::new("COM 4").unrwap();
    
    radio.transmit(b"test message").expect("transmit error");
    let packet = radio.get_packet().expect("read error");

    println!("got message: \"{:?}\"", packet);
}

依赖项

~2.4–5MB
~87K SLoC