#mpu9250 #dmp #imu #digital #processor #motion #fifo

mpu9250-dmp

MPU-9250 IMU和数字运动处理器库

1个稳定版本

使用旧的Rust 2015

1.0.0 2018年10月11日

#6#dmp

MIT 许可证

64KB
1.5K SLoC

MPU-9250 Rust库 最新版本 文档

MPU-9250 9轴IMU库。仅支持i2c接口(不支持SPI)。包括对板载数字运动处理器的最小接口。

特性

  • 可调节全量程范围(2G..16G)和低通滤波器带宽。
  • 可调节采样率。
  • 可调节FIFO填充率。
  • 设置DMP中断和FIFO。
  • DMP输出四元数。

注意:航向估计

由于四元数是从6轴测量(加速度计和陀螺仪,无磁力计)计算得出的,因此它存在显著的偏航漂移。如果您需要准确的航向,最好忽略四元数输出,而是使用如Madgwick之类的单独9轴滤波器。

注意:包质量

此包是为了对MPU-9250进行性能测试而构建的,之后停止使用此包。代码不在积极开发中,且未进行清理。由于市面上很少有使用DMP的示例,我认为将其与大家分享仍有价值。

用法

请参阅examples/scan.rsexamples/scan_dmp.rs。使用-h查看i2c、采样率和中断引脚的参数。

测试

默认情况下,使用i2c bus=1addr=0x68,并期望WHOAMI寄存器的值为0x71。要覆盖,请使用以下环境变量

MPU9250_I2C_BUS=1 MPU9250_I2C_ADDR=104 MPU9250_WHOAMI=115 cargo test

资源

待办事项

没有计划执行这些任务。

  • Mpu9250Sample中公开温度读取。
  • DMP配置,如方向和轻触检测。

依赖关系

~3.5–5MB
~92K SLoC