#imu #drones #icm-20948 #device-driver

no-std icm20948_driver

ICM-20948惯性测量单元设备通用驱动程序

2个不稳定版本

0.2.0 2022年8月10日
0.1.0 2022年7月28日

#1427 in 嵌入式开发

MIT许可证

61KB
1K SLoC

ICM-20948 IMU设备驱动程序

这是一个适用于ICM-20948(惯性测量单元)的设备通用驱动程序。

源代码可以在GitHub上找到

该设备的数据表可以在这里找到。

请参阅文档了解当前限制和未来计划。

如果有需要解决的问题,请在github上创建问题或联系我。

入门

示例文件夹examples 包含了多个示例,以帮助您使用驱动程序,包括基本示例、使用原始数据中断的示例以及使用RTIC的示例。所有示例都支持SPI和I2C。


lib.rs:

适用于icm-20948 IMU(惯性测量单元)的设备通用驱动程序。该驱动程序依赖于embedded-hal,因此只要您使用的HAL实现了这些特质,则此驱动程序将兼容。

驱动程序分为两个部分:I2C部分和SPI部分。所有函数都针对这两种总线类型实现。

如果您有多个IMU,则可以创建多个对象。驱动程序假定对总线的控制,因此如果您有多个需要控制总线的设备驱动程序,则建议使用shared-bus

目前,不支持磁力计、温度传感器、充当I2C主机的传感器、FIFO、FSYNC或DMP。我希望很快添加对FIFO、磁力计和温度传感器的支持。请查看仓库中的变更日志以了解最近的变化。

示例

示例可以在这里找到。

功能

此crate为IcmError类型实现了defmt。这可以作为此crate的功能启用。此实现假定SPI/I2C错误类型也实现了defmt。您使用的HAL可能具有您需要启用的功能。

数据表

该设备的数据表可以在这里找到。

仓库

GitHub仓库可以在这里找到。

依赖关系

~1.1–1.6MB
~29K SLoC