14个版本
使用旧的Rust 2015
0.6.1 | 2024年6月12日 |
---|---|
0.6.0 | 2023年8月9日 |
0.5.1 | 2021年11月22日 |
0.4.4 | 2019年12月2日 |
0.2.0 | 2015年10月7日 |
#1517 in 嵌入式开发
22,034 每月下载量
在 171 个crate中使用 (61 直接使用)
48KB
847 行
Rust I2cdev
Rust i2cdev
crate旨在提供对Linux i2cdev驱动程序接口的完全访问,无需封装任何C代码或直接进行低级系统调用。有关i2cdev接口的文档可以在https://www.kernel.org/doc/Documentation/i2c/dev-interface 和 lm-sensors项目中找到。
设备驱动程序开发者应考虑在embedded-hal特质之上构建,而不是直接与该库耦合。Linux的这些通用特质实现可以在linux-embedded-hal中找到,目前该实现将此crate用作I2C的后端。
示例/API
源代码包括一个使用库与Wii Nunchuck(具有i2c接口)通信的示例。 查看示例。
文档包含如何开始使用i2c设备的快速概述。
除了Read/Write特质外,还可以通过以下I2CDevice特质使用以下方法。
功能
以下功能已实现并计划添加到库中
- 实现Read特质
- 实现Write特质
- 实现SMBus方法
- 添加SMBus方法的测试/示例
- 添加方便的传感器库(和示例)
- 添加简化对具有大型寄存集设备的访问的高级API/宏
- 添加对非SMBus ioctl方法的支持
- 添加非smbus ioctl方法的示例
- 单元测试
交叉编译
很可能,您正在运行的机器不是您的开发机器(尽管它也可能是)。在这种情况下,您需要进行交叉编译。请参阅https://github.com/cross-rs/cross以获取提示。
最低支持的Rust版本(MSRV)
本库保证在稳定版Rust 1.65.0及更高版本上编译。它可能可以在较旧版本上编译,但新补丁发布时可能会发生变化。
许可证
根据以下任一许可证授权
- Apache许可证2.0(LICENSE-APACHE或https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
由您选择。
贡献
除非您明确声明,否则您有意提交的、根据Apache-2.0许可证定义的工作中的任何贡献,都将按上述方式双重许可,不附加任何额外条款或条件。
行为准则
本库的贡献按照Rust行为准则进行组织,该准则由本库维护者、嵌入式Linux团队维护,承诺将干预以维护该行为准则。
依赖项
~1.5MB
~37K SLoC