关于PX4的版本号和修订号的说明:
PX4 代码里会根据版本号, 来初始化对应的传感器,及主芯片,务必配置正确!
1. 【千古八方的玩具】飞控原理图,需要把rev设置为0x10、ver设置为0x01。
DIY只有一个版本,直接代码里写死 board_common.h (取值如下)
# define HW_FMUM_ID(rev) (0x10 & 0xffff)
# define HW_BASE_ID(ver) (0x01 & 0xffff)
或者修改阻值:
rev(0x10) = 24.9K / 442K
ver(0x01) = 442K / 24.9K
原理图上的取值为 rev(0x07) = 46.4K / 86.5K
反馈答疑:
a. 原理图上的默认值为从eeprom读取,若代码里也没配置版本号,就会导致走07的初始化逻辑,初始化时找不到ICM20602姿态芯片。
b. 有两颗姿态芯片,默认权重相同,互相参考,挂掉一颗也不会炸机。若忘记修改,则只有一颗姿态芯片工作。
2. 若有多版本,如青春版、性能版、旗舰版等,超过10个之后,刷写版本号到此芯片。(ver 和 rev)
然后PX4 代码里根据版本号, 来初始化对应的传感器,及主芯片。
版本号的分配由PX4社区进行管理。
如果你是厂商,DS-019文件有定义版本号、申请BoardID的详细流程。
https://github.com/pixhawk/Pixhawk-Standards/blob/master/DS-019%20Pixhawk%20versions%20and%20revisions.md
个人或团队建议写死或用阻值,厂商版本多的话就找PX4申请吧。
R1、R2阻值取值及限制:


点击打开【DS-019 Pixhawk standard versions and revisions】了解更多