5iMX宗旨:分享遥控模型兴趣爱好

5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)
查看: 1116|回复: 0
打印 上一主题 下一主题

PIXHAWK2/PIXHAWK查看罗盘具体型号的方法

[复制链接]
跳转到指定楼层
楼主
发表于 2018-8-2 09:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
不知道群里的老铁们是否经常疑问,如何查看pixhawk里面的磁罗盘使用的是哪个呢?像PIXHAWK2有三个磁罗盘,那到底那一个是主要的罗盘呢?
我们可以在Mission Planner里面的全部参数列表,看到关于所有罗盘的ID如下图:


那么如何解码这些数字呢?
其实,在ardupilot的代码里面存有一个python的脚本,叫做decode_devid.py, 就是专门来做这事儿的。这个脚本存在主程序 ardupilot/Tools/scripts/ 的目录下,使用时,只需要使用python IDE运行这个脚本, 并给出你要查询的ID的数字号码,就可以自动显示出该磁罗盘的型号,以及使用的信号是什么。该脚本在这里可以直接拿到:https://github.com/ArduPilot/ard ... pts/decode_devid.py


比如说,我是用的是ubuntu系统,下载了ardupilot主飞控代码之后,使用系统命令终端terminal进入到ardupilot文件夹里,并输入以下指令:
ardupilot $ ./Tools/scripts/decode_devid.py 723977 -C
按下回车,就会得到答案:
bus_type:I2C(1)  bus:1 address:12 devtype:11(0xb) DEVTYPE_ICM20948
啊,原来我的一号罗盘,也就是我的外置罗盘,使用的是ICM20948原件,走的是I2C总线。
继续发掘另外的两个ID,出现的结果用截屏显示:

所以结果就揭晓了:另外两个pixhawk2内置的磁罗盘,一个是LSM303D,另外一个是AK8963,走的都是SPI总线。一开始看到这个答案我有些纳闷,根据官方资料,pixhawk2里面没有AK8963啊,只有LSM和MPU9250。结果仔细一研究MPU的资料,原来MPU9250里面的磁罗盘就是一个AK8963,真相大白。

希望对大家有帮助,手边有pixhawk或者pixhawk2的小伙伴,也可以拿来看看你的飞控磁罗盘是啥了~

Screen Shot 2017-10-02 at 9.06.15 PM.png (63.4 KB, 下载次数: 3)





您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

关闭

【站内推荐】上一条 /2 下一条

快速回复 返回顶部 返回列表