移植MotionDriver到RTT

本文详细介绍了将MotionDriver移植到RTT的过程,重点在于解决i2c通信、fifo overflow问题,以及如何实现DMP稳定数据获取。通过移植,成功实现了姿态解算的稳定性,具体表现为数据的显著提升。
摘要由CSDN通过智能技术生成

这个移植花费了我好多时间…

本来是想使用mpu6xxx的软件包的,但是得到的数据抖动太厉害了

在网上找到了两种得到稳定的数据的方法

  • DMP

  • Kalman滤波

看到DMP的效果更好,就选择DMP的方案

了解到 InvenSense 公司提供的 MotionDriver 可以用DMP的方式读取mpu,就开始移植 MotionDriver 这个库

本项目的地址 https://github.com/greedyhao/MotionDriver2RTT

移植步骤

简单的说,就是把 core/driver/eMPL/inv_mpu.c 这个文件中需要使用到的函数实现就行了

这个文件中也有相关说明

/* The following functions must be defined for this platform:
 * i2c_write(unsigned char slave_addr, unsigned char reg_addr,
 *      unsigned char length, unsigned char const *data)
 * i2c_read(unsigned char slave_addr, unsigned char reg_addr,
 *      unsigned char length, unsigned char *data)
 * delay_ms(unsigned long num_ms)
 * get_ms(unsigned long *count)
 * reg_int_cb(void (*cb)(void), unsigned char port, unsi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值