38 个版本
使用旧的 Rust 2015
0.25.0 | 2023 年 7 月 29 日 |
---|---|
0.24.1 | 2022 年 8 月 8 日 |
0.24.0 | 2020 年 10 月 14 日 |
0.22.2 | 2020 年 6 月 14 日 |
0.7.3 | 2018 年 10 月 7 日 |
#394 在 硬件支持
用于 pixracer_bsp
140KB
2.5K SLoC
mpu9250
MPU9250 (以及一些 MPU* 设备) 的 no_std 驱动程序 & 板载 AK8963 (加速度计 + 陀螺仪 + 磁力计 IMU)
功能
- 读取加速度计、陀螺仪、温度传感器和磁力计:原始值和缩放及转换值。
- 设置 DLPF、读取比例、采样率除数。
- 读取 MPU9250 和 AK8963 的 WHO_AM_I 寄存器。
- 获取分辨率和出厂灵敏度。
支持的芯片
MPU9250
--Imu
和Marg
;MPU9255
--Imu
和Marg
;MPU6500
-- 仅Imu
。
注意
MPU9255 在 ASIC 中有一些额外的功能,允许一些额外的手势控制,但除此之外,该芯片与 MPU9250 完全相同。
基本用法
在您的 Cargo.toml 中将 库 作为依赖项包含
[dependencies.mpu9250]
version = "<version>"
使用嵌入式-hal 实现获取 SPI、NCS 和延迟,然后创建 mpu 处理器
extern crate mpu9250; // or just use mpu9250; if 2018 edition is used.
// to create sensor with mag support and default configuration:
let mut _imu = Mpu9250::marg_default(spi, ncs, &mut delay)?;
// to create sensor without mag support and default configuration:
let mut marg = Mpu9250::imu_default(spi, ncs, &mut delay)?;
// to get all supported measurements:
let all = marg.all()?;
println!("{:?}", all);
更多示例
示例的数量可以在 proving-ground 仓库中找到。示例包括:读取温度、校准磁力计、读取所有传感器。
实验性 I2C 支持
通过 i2c
特性标志启用实验性 I2C 支持。启用时,SPI 支持将被禁用,mpu9250 驱动程序的类型将从 Mpu9250<SpiDevice<SPI, NCS>, MODE>
更改为 Mpu9250<I2cDevice<I2C>, Imu>
。
MPU9250目前支持仅IMU的配置。请参阅BeagleBone Blue示例以进行演示。对AK8963的支持是一个WPI。
文档
API文档可在docs.rs上找到。
许可
根据您的选择,许可协议为以下之一
- Apache License,版本2.0(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
。
客户评价
最初是从japaric的mpu9250仓库派生出来的。
依赖项
~145–275KB