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 嵌入式开发

Download history 5014/week @ 2024-04-29 3631/week @ 2024-05-06 4612/week @ 2024-05-13 4933/week @ 2024-05-20 4571/week @ 2024-05-27 3488/week @ 2024-06-03 3815/week @ 2024-06-10 3788/week @ 2024-06-17 4076/week @ 2024-06-24 2447/week @ 2024-07-01 3835/week @ 2024-07-08 3820/week @ 2024-07-15 4856/week @ 2024-07-22 5272/week @ 2024-07-29 5075/week @ 2024-08-05 6545/week @ 2024-08-12

22,034 每月下载量
171 个crate中使用 (61 直接使用)

MIT/Apache

48KB
847

Rust I2cdev

Build Status Version License Minimum Supported Rust Version

文档

Rust i2cdev crate旨在提供对Linux i2cdev驱动程序接口的完全访问,无需封装任何C代码或直接进行低级系统调用。有关i2cdev接口的文档可以在https://www.kernel.org/doc/Documentation/i2c/dev-interfacelm-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许可证定义的工作中的任何贡献,都将按上述方式双重许可,不附加任何额外条款或条件。

行为准则

本库的贡献按照Rust行为准则进行组织,该准则由本库维护者、嵌入式Linux团队维护,承诺将干预以维护该行为准则。

依赖项

~1.5MB
~37K SLoC