1个不稳定版本
0.0.6 | 2020年10月24日 |
---|
#1643 在 嵌入式开发
63KB
586 行
adxl345_driver
这是一个基于ADXL345类型3轴数字加速度计的硬件驱动程序,使用Rust和rppal库编写。它提供了一个简单的基于特质的API,用于命令集,这最大限度地减少了硬件驱动程序(I²C等)与传递命令和数据的代码之间的耦合。
正如其名所示,该驱动程序也应适用于ADXL346设备,因为它们之间的唯一区别是物理包装,而不是内部工作原理。
目录
入门
您需要安装Rust的最新版本。任何支持rppal 0.11.3或更高版本的Rust版本都应适用,但1.43到1.47版本的Rust已用于nightly和release通道的初始开发。早期版本也可能适用,但尚未测试。
可以在Rust支持的所有操作系统上进行开发,但预期的唯一输出目标是运行Linux操作系统的Raspberry Pi。所有初始开发都是使用运行Windows 10的笔记本电脑和运行Raspberry Pi OS(Raspbian)的4GB Raspberry Pi 4的组合完成的。
使用Crate
要在您的项目中使用此Crate,您只需在项目的[dependencies]中包含它,就像包含任何其他Crate一样。如果您已安装cargo-edit,则可以在命令行中使用
cargo add adxl345_driver
这应该在您的Cargo.toml中添加类似的内容
[dependencies]
adxl345_driver = "0.0.5"
示例
您可以在examples目录中找到示例。Raspberry Pi I²C示例用于在RPi 4上进行初始开发时的测试。
要构建I²C示例,首先在Raspberry Pi上的某个位置克隆此项目
git clone https://github.com/Dragonrun1/adxl345_driver
接下来执行以下步骤以构建示例
cargo build --example i2c
最后执行
sudo ./target/debug/examples/i2c
如果您的设备已使用示例期望的主I²C连接,则应在终端中看到一系列的x、y、z值。
输出示例
axis: {'x': 1.6083, 'y': 0.0392, 'z': 8.7868} m/s²
axis: {'x': 1.6867, 'y': 0.1177, 'z': 8.7868} m/s²
axis: {'x': 1.6475, 'y': 0.1177, 'z': 8.8260} m/s²
...
您可以通过访问crates.io网站上的adxl345_driver找到最新版本。
贡献
欢迎贡献者。我希望硬件驱动程序能够扩展到不仅仅只有I²C接口,但目前我无法访问其他硬件以使用SPI接口进行开发或测试。请确保您已阅读贡献者行为准则。所有贡献的代码都将被视为在MIT许可证下贡献。请确保在所有代码文件中的注释中包含您的信息,以供版权等信息使用。
所有贡献的文档或非代码文本,如本README等,都将被视为在相同的CC-BY-SA许可证下。
许可证
所有代码均可在MIT许可证下获取。您可以在LICENSE文件中找到许可证副本。
所有此类README之类的文档均受Creative Commons Attribution-ShareAlike 4.0 International License(CC-BY-SA)许可。
依赖项
~2MB
~46K SLoC