#iot #abstraction #packet #mocking #embedded-devices #driver #flags

no-std radio

嵌入式数据包无线电设备的泛型特质

22 个版本 (11 个破坏性版本)

0.12.1 2024年4月18日
0.11.1 2022年5月6日
0.11.0 2022年2月14日
0.10.1 2021年12月21日
0.1.0 2018年12月25日

#193 in 嵌入式开发


6 crate 中使用

MIT 许可证

67KB
1.5K SLoC

Rust IoT 无线电抽象(s)

类似于 embedded-hal 的数字无线电设备抽象,旨在为实施数据包无线电驱动程序以及扩展以支持 802.15.4 / BLE 等提供共同基础,希望我们可以使用此共同抽象构建嵌入式网络堆栈。

无线电设备应实现 核心特质,然后自动获得 阻塞 辅助函数。实验性的 async/await 辅助函数在 nonblocking 功能标志之后可用,此功能使用 dtolnay/async-trait,导入 stdasync-std,并需要一个夜间编译器,并且在 mock 功能标志之后有一个用于测试的 MockRadio 实现也需要夜间编译器。

状态

工作中,预期将进行重大的 API 变更

GitHub tag Build Status Crates.io Docs.rs

开放问题

功能

  • 泛型特质
    • 传输
    • 接收
    • 设置频道
    • 获取 RSSI
    • 寄存器访问
    • 配置 (?)
  • 模式特定特质(和定义)
    • 802.15.4
    • BLE
    • LoRa
  • 辅助工具
    • 阻塞
    • 异步

示例

对于类似的接口,请查看

依赖关系

~1–14MB
~130K SLoC