#raspberry-pi #driver #raspberry #pi #adxl345

adxl345_driver

ADXL345/ADXL346 3轴数字加速度计驱动程序

1个不稳定版本

0.0.6 2020年10月24日

#1643嵌入式开发

MIT 协议

63KB
586

adxl345_driver

这是一个基于ADXL345类型3轴数字加速度计的硬件驱动程序,使用Rustrppal库编写。它提供了一个简单的基于特质的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)许可。


Creative Commons License

依赖项

~2MB
~46K SLoC