5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年)

标题: 关于海盗3.0.1的编译上传改固件说明。详细教程--3.0.1 R2放出!! [打印本页]

作者: kingofpop    时间: 2013-9-12 11:17
标题: 关于海盗3.0.1的编译上传改固件说明。详细教程--3.0.1 R2放出!!
本帖最后由 kingofpop 于 2013-9-16 21:20 编辑

3.0.1 R2放出!!
点此下载

啊。。前几天发了个海盗301帖子,似乎大家都挺有兴趣。昨天晚上翻译润色了一下官方的指南,现在发上来,另外付几个常见问题解决方法。

1.    编译海盗3.0.1 固件
①  ArduPilot下载ArduPilot-Arduino-1.0.3(约95Mb),解压IDE到任何文件夹中。(如C:\QuadCopter)


②  下载最新的海盗源码,解压到任何一个文件夹中。(如C:\QuadCopter)



③  重要!从MPNG源码文件夹中的lib里面复制pde.jar到Arduino IDE中,替换原有文件。



④  打开Arduino IDE选择目标平台为MegaPirateNG


(, 下载次数: 128)

⑤  打开偏好设置,将程序库位置改为解压海盗源码的文件夹。(如c:\quadcopter\ardupilot-mpng)

(, 下载次数: 134) (, 下载次数: 133)




⑥  选择飞控的com口
(, 下载次数: 127)

⑦  重要!重启Arduino IDE!


⑧  现在可以打开并且编译MPNG了。



2.    配置软件(修改板子类型,遥控输入类型等)

①将飞控板类型改为AIOP V1(Hobbyking V2)
重要!默认是AIOP V2
重要!Hobbyking V2和AIOP V2不同

将飞控板类型改为V1仅需在config.h关闭LOG功能.
  1. #define  LOGGING_ENABLED       DISABLED
复制代码

②将遥控PPM输入改为PL1脚
重要!默认PPM是A8脚输入

要开启PL1脚输入PPM(仅支持AIOP V2),打开ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp
  1. #define SERIAL_PPM SERIAL_PPM_ENABLED
复制代码
替换为
  1. #define SERIAL_PPM SERIAL_PPM_ENABLED_PL1
复制代码

③将遥控输入设置为A8-A15普通PWM输入
重要!默认PPM是A8脚输入

要关闭A8的PPM输入,改为A8-A15的PWM输入,打开ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp
  1. #define SERIAL_PPM SERIAL_PPM_ENABLED
复制代码
                        替换为
  1. #define SERIAL_PPM SERIAL_PPM_DISABLED
复制代码

④怎样更改遥控输入顺序
MPNG有些预定义好的可供选择的遥控顺序,可以在
ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp
里面修改


注:一次只取消一个注释

  1. // To change pinmapping, uncomment ONE line starting with 'static unit8_t...'

  2. // Graupner/Spektrum
  3. // PITCH,YAW,THROTTLE,ROLL,AUX1,AUX2,CAMPITCH,CAMROLL
  4. //static uint8_t pinRcChannel[8] = {1, 3, 2, 0, 4, 5, 6, 7};

  5. // Standard (Default)
  6. // ROLL,PITCH,THROTTLE,YAW,MODE,AUX2,CAMPITCH,CAMROLL
  7. static uint8_t pinRcChannel[8] = {0, 1, 2, 3, 4, 5, 6, 7};

  8. // some Hitec/Sanwa/others
  9. // PITCH,ROLL,THROTTLE,YAW,AUX1,AUX2,CAMPITCH,CAMROLL
  10. //static uint8_t pinRcChannel[8] = {1, 0, 2, 3, 4, 5, 6, 7};

  11. // Multiwii
  12. // ROLL,THROTTLE,PITCH,YAW,AUX1,AUX2,CAMPITCH,CAMROLL
  13. //static uint8_t pinRcChannel[8] = {1, 2, 0, 3, 4, 5, 6, 7};

  14. // JR
  15. // FLAPS:MODE, GEAR:SAVE TRIMM = apm ch7
  16. //static uint8_t pinRcChannel[8] = {1, 2, 0, 3, 5, 6, 4, 7};
复制代码







作者: kingofpop    时间: 2013-9-12 11:17
本帖最后由 kingofpop 于 2013-9-12 16:36 编辑

FAQ持续更新。。。。

这次的海盗3.0.1只能支持6050+5611的。。主要面向也就是AIOP V1和V2,默认参数是V2的,也就是说,用V2的只需要改一下frame即可。

至于为啥好多人刷不进去,总是在uploading的时候卡死。官方的解释是这样的:

Q: Arduino  IDE successfully compiled sources, but it hangs while uploading into controller?

A: This is bug in old Arduino bootloader. If you have AVR-ISP programmer you can update it (use bootloader from Arduino IDE). If you have no programmer, open APM_Config.h and edit this line:

[size=1em][size=1em]
  1. #define BOOTLOADER_BUGFIX "234fs34567hf"
复制代码




Just replace string (“234fs34567hf”) with some random characters, and try to upload firmware again.

大致意思是因为旧的bootloader不兼容,如果有ISP的话,自己刷新的bootloader即可,没有的话,在config.h里面改下这行代码,把后面的内容随机改成别的字符就行。(官方说。。。。这行代码在R2里面才有。。不过R2还没公布,要9月16号。。所以。。只有刷BL或者等了。。)






Q: My transmitter not work at all. I move sticks but nothing happens.A: Check connection type. There is three methods supported by MPNG:

You must check where you connected your receiver and select proper type in libraries\AP_HAL_MPNG\RCInput_MPNG.cpp

对于接收机没反应的。。。仔细看看前面的教程。。多半是编译的时候代码没改对。








作者: talangxue    时间: 2013-9-12 11:27
占领广告位

作者: lijingwei    时间: 2013-9-12 11:27
顶你,。。昨天还是看见你的帖子才去刷的。

作者: facekg    时间: 2013-9-12 11:28
站位等待

作者: jlccsyzw    时间: 2013-9-12 11:29
这个什么意思?

作者: NOKE酱    时间: 2013-9-12 11:30
顶啊顶,哈哈坐等炸鸡贴

作者: skymaze    时间: 2013-9-12 11:31
不错不错,支持发开源飞控资料

作者: kingofpop    时间: 2013-9-12 11:36
NOKE酱 发表于 2013-9-12 11:30
顶啊顶,哈哈坐等炸鸡贴


noke你咋每次都咒我炸鸡呢。。害得我昨天晚上烧了个GPS

作者: 爵爷    时间: 2013-9-12 11:39
做等炸鸡

作者: kingofpop    时间: 2013-9-12 11:41
爵爷 发表于 2013-9-12 11:39
做等炸鸡


爵爷你丫也整天咒我炸鸡。不给你小怪玩了

作者: NOKE酱    时间: 2013-9-12 11:41
kingofpop 发表于 2013-9-12 11:36
noke你咋每次都咒我炸鸡呢。。害得我昨天晚上烧了个GPS

炸鸡炸鸡,饿了,想吃炸鸡


作者: NOKE酱    时间: 2013-9-12 11:42
kingofpop 发表于 2013-9-12 11:41
爵爷你丫也整天咒我炸鸡。不给你小怪玩了

给我,下周我来取,哈哈


作者: microsu    时间: 2013-9-12 11:43
顶贴顶楼上~~~~

作者: kingofpop    时间: 2013-9-12 11:43
NOKE酱 发表于 2013-9-12 11:42
给我,下周我来取,哈哈


你要是真来取。。我就给你。。不过你还要亲自送回来。

作者: lee3327    时间: 2013-9-12 11:43
本帖最后由 lee3327 于 2013-9-12 12:53 编辑

谢谢
ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp”这儿怎么打开

作者: 抹驴脸    时间: 2013-9-12 11:43
HB顶你

作者: kingofpop    时间: 2013-9-12 11:43
microsu 发表于 2013-9-12 11:43
顶贴顶楼上~~~~


有电脑就来嘚瑟~~下次不给你刷电调东西了~

作者: 抹驴脸    时间: 2013-9-12 11:44
手里面没有海盗,先保存着

作者: NOKE酱    时间: 2013-9-12 11:44
kingofpop 发表于 2013-9-12 11:43
你要是真来取。。我就给你。。不过你还要亲自送回来。

亲自送回来,虽然不远,但尼玛也不近啊。还是。。。。。


作者: xmj1994    时间: 2013-9-12 11:45
HB,顶一下,爽不

作者: kingofpop    时间: 2013-9-12 11:45
抹驴脸 发表于 2013-9-12 11:44
手里面没有海盗,先保存着


梦露换号了?。。。

作者: NOKE酱    时间: 2013-9-12 11:48
kingofpop 发表于 2013-9-12 11:45
梦露换号了?。。。

梦露被关小黑屋了


作者: monkey1    时间: 2013-9-12 11:48
給dji 粉絲噴完,還有心請放帖在5imx, 佩服

作者: 抹驴脸    时间: 2013-9-12 11:48
哎,不知道为啥,大号被关,只能用小号了

作者: NOKE酱    时间: 2013-9-12 11:49
来,玩点有意思的,楼下保持队形。
HB大门常打开,欢迎你去顶他

作者: kingofpop    时间: 2013-9-12 11:51
monkey1 发表于 2013-9-12 11:48
給dji 粉絲噴完,還有心請放帖在5imx, 佩服


无所谓。不能因为几个脑残影响我开源的精神

作者: microsu    时间: 2013-9-12 11:54
kingofpop 发表于 2013-9-12 11:43
有电脑就来嘚瑟~~下次不给你刷电调东西了~

上班偷偷上网,我自己的电脑还在返厂中~~~~

作者: yuri_su    时间: 2013-9-12 11:56
你这所有说明也少了点吧~

作者: kingofpop    时间: 2013-9-12 11:57
yuri_su 发表于 2013-9-12 11:56
你这所有说明也少了点吧~


你还需要什么?

作者: microsu    时间: 2013-9-12 11:59
kingofpop 发表于 2013-9-12 11:57
你还需要什么?

把代码注解全贴上来吧

作者: kingofpop    时间: 2013-9-12 12:07
microsu 发表于 2013-9-12 11:59
把代码注解全贴上来吧


没那水平,让端木发去

作者: 抹驴脸    时间: 2013-9-12 12:29
kingofpop 发表于 2013-9-12 12:07
没那水平,让端木发去

你也懒得发


作者: hulandy    时间: 2013-9-12 12:53
奇怪了。改成V1无法刷入,默认可以刷入。不知道用串口怎么刷bootloader,正在找教程。

作者: 爵爷    时间: 2013-9-12 12:59
本帖最后由 爵爷 于 2013-9-12 13:09 编辑
hulandy 发表于 2013-9-12 12:53
奇怪了。改成V1无法刷入,默认可以刷入。不知道用串口怎么刷bootloader,正在找教程。

串口没办法刷那玩意..代码我看了..就是计算各个通道值的那段代码有问题..不能超过4个通道的计算.不然肯定刷不进去..不知道有啥关联..奇怪死了
不过倒是可以用另一个arduino开发板刷

作者: lee3327    时间: 2013-9-12 13:03
“ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp”这儿怎么打开


作者: kingofpop    时间: 2013-9-12 13:04
lee3327 发表于 2013-9-12 13:03
“ardupilot-mpng\libraries\AP_HAL_MPNG\RCInput_MPNG.cpp”这儿怎么打开


就是你下载的海盗固件。。。cpp文件直接当txt文本编辑下即可。

作者: lee3327    时间: 2013-9-12 13:16
是不是cpp文件编辑好再刷吗?

作者: hulandy    时间: 2013-9-12 13:24
爵爷 发表于 2013-9-12 12:59
串口没办法刷那玩意..代码我看了..就是计算各个通道值的那段代码有问题..不能超过4个通道的计算.不然肯定 ...

刚好爵爷在。不知道你是否还玩I2C NAV转接板。刷最新的R1555 MWC 总会报I2C 错误3,GPS搜到星后错误会更多。可能记错人了~


作者: hulandy    时间: 2013-9-12 13:24
lee3327 发表于 2013-9-12 13:16
是不是cpp文件编辑好再刷吗?

肯定是了。


作者: 爵爷    时间: 2013-9-12 13:47
hulandy 发表于 2013-9-12 13:24
刚好爵爷在。不知道你是否还玩I2C NAV转接板。刷最新的R1555 MWC 总会报I2C 错误3,GPS搜到星后错误会更多 ...

没用过导航转接了已经..你有i2c错误肯定是设置有问题..检查一下config吧

作者: 我要飞得更高fzb    时间: 2013-9-12 14:01
果断收藏

作者: aweixinga    时间: 2013-9-12 15:02
顶起顶起~~~

作者: dy008    时间: 2013-9-12 15:27
谢谢发布,喜欢这样的研究!

作者: hulandy    时间: 2013-9-12 17:04
爵爷 发表于 2013-9-12 13:47
没用过导航转接了已经..你有i2c错误肯定是设置有问题..检查一下config吧

刷2.2正式版就没事。2.21 R1555就会I2C ERROR。不折腾了先。

先玩海盗


作者: lee3327    时间: 2013-9-13 00:36
在"RCInput_MPNG.cpp"里改成#define SERIAL_PPM SERIAL_PPM_DISABLED刷不进去,改回原来的可以刷,怎么回事?有人知道吗

作者: ygl611    时间: 2013-9-13 09:46
本帖最后由 ygl611 于 2013-9-13 09:57 编辑

     关于3.01版刷不进固件的问题,是因为bootloader太旧了,即使ArduPilot-Arduino-1.0.3 本身 \hardware\arduino\bootloaders\stk500v2 目录下的bootloader文件也比较旧。经过几次试验,发现Arduino-1.0.5 和Arduino-1.5.4中的 bootloader文件 "stk500boot_v2_mega2560.hex" 应该是比较新的bootloader,经ISP烧写器刷进2560后,可以解决这个问题。一般2560刷完bootloader,在校验过程中会报错,但不影响使用。
    还是建议大家直接用Arduino-1.0.5 吧,使用方法同ArduPilot-Arduino-1.0.3 ,下载地址在 arduino官方网站



作者: kingofpop    时间: 2013-9-13 10:00
ygl611 发表于 2013-9-13 09:46
关于3.01版刷不进固件的问题,是因为bootloader太旧了,即使ArduPilot-Arduino-1.0.3 本身 \hardware\ ...


有ISP的话刷下BL即可。。。103的就够。。但是105当然更好。。。问题是现在好多人手上没ISP哈哈。。。

作者: 抹驴脸    时间: 2013-9-13 12:04
再顶你一下。。。。

作者: lee3327    时间: 2013-9-16 01:28
不刷BL就不能刷3.01了吗,3.01R2版还没有放上去

作者: hulandy    时间: 2013-9-16 06:46
本帖最后由 hulandy 于 2013-9-17 00:12 编辑
ygl611 发表于 2013-9-13 09:46
关于3.01版刷不进固件的问题,是因为bootloader太旧了,即使ArduPilot-Arduino-1.0.3 本身 \hardware\ ...


你说的是这个吗:


“由于1.0以后的BOOTLADER启动时间的缩短,校验固件有效性的时间也需要提前了,所以 ISP的代码要修改:
搜索heartbeat() 函数 函数末尾的 delay(40);修改成delay(20); 否则刷完之后会提示

Error while burning bootloader.


其实仔细的看结果会发现只是校验出错;”




不是这个~自己刷了一遍才知道。是内容不匹配的校验错误,但的确能用了。


作者: talangxue    时间: 2013-9-16 18:54
继续顶爽你

作者: lee3327    时间: 2013-9-17 00:25
R2要刷BL吗?如果要刷的话,我的海盗用不了3.01了

作者: kingofpop    时间: 2013-9-17 13:48
lee3327 发表于 2013-9-17 00:25
R2要刷BL吗?如果要刷的话,我的海盗用不了3.01了


不要啊。。。config.h里面有fixbug直接改改看。。

作者: lee3327    时间: 2013-9-17 23:32
我的海盗成功刷R2版,还没试飞,玩海盗的真是很少人哦

作者: lee3327    时间: 2013-9-18 12:07
LZ帮我看看罗盘的数据是不是受到干扰了,谢谢。
http://bbs.5imx.com/bbs/forum.ph ... ;extra=#pid10812421

作者: gxhifi    时间: 2013-10-10 12:30
kingofpop 发表于 2013-9-12 11:17
FAQ持续更新。。。。

这次的海盗3.0.1只能支持6050+5611的。。主要面向也就是AIOP V1和V2,默认参数是V2 ...

LZ~我就是想问.是不是只要是MEGA 2560 + MPU 6050 + MS5611 这样的配置的板子都可以刷 这个海盗呢?


作者: kingofpop    时间: 2013-10-10 14:03
gxhifi 发表于 2013-10-10 12:30
LZ~我就是想问.是不是只要是MEGA 2560 + MPU 6050 + MS5611 这样的配置的板子都可以刷 这个海盗呢?


应该是的。

作者: sky-eyes    时间: 2013-10-14 23:06
果然是精华,收藏了

作者: a972792280    时间: 2013-10-15 11:13
先顶后看,年薪百万。

作者: sd3114336    时间: 2013-10-22 19:46
楼主我也入手Arduino 2560开刷中了,前两个修改CPPM是PWM是可选吧?PL1或者关闭?

作者: sd3114336    时间: 2013-10-22 20:06
楼主,我刷了我的2560,地面站是用APM的么?我的怎么连不上?

作者: kingofpop    时间: 2013-10-22 23:41
sd3114336 发表于 2013-10-22 20:06
楼主,我刷了我的2560,地面站是用APM的么?我的怎么连不上?


是APM的地面站。。只能支持2560+6050+5611的飞控啊。。

作者: sd3114336    时间: 2013-10-23 21:40
我用的是这种2560,不带6050,另有6050的Gy-521接I2C.
(, 下载次数: 66)

作者: 旋翼头    时间: 2013-11-14 12:09
求救,CRIUS AIOP V1板刷了海盗3.01R2找不到GPS

作者: 大工小马    时间: 2013-11-15 09:09
支持下

作者: 旋翼头    时间: 2013-11-16 12:05
GPS和遥控解锁都没有问题了,现在就是不知道如何设置6轴模式

作者: kingofpop    时间: 2013-11-16 13:38
旋翼头 发表于 2013-11-16 12:05
GPS和遥控解锁都没有问题了,现在就是不知道如何设置6轴模式


设置机架类型?
默认是四轴。

如果要改六轴八轴之类,是在编译的时候改代码就行的。


作者: 旋翼头    时间: 2013-11-16 14:37
kingofpop 发表于 2013-11-16 13:38
设置机架类型?
默认是四轴。

谢谢指点,已经摸索出来了,搞定,下午试飞

作者: kingofpop    时间: 2013-11-16 16:01
旋翼头 发表于 2013-11-14 12:09
求救,CRIUS AIOP V1板刷了海盗3.01R2找不到GPS


GPS接2号口。tx rx没接反吧?t对r,r对t

作者: sunwon    时间: 2014-3-10 20:07
感谢楼主, 我终于刷好了海盗 301  终于爽飞了。  比 MWC 好狠多,  同样的硬件,同样的细心调试,MWC 出不来好效果, 海盗很OK.




作者: crazyboyyy    时间: 2014-3-15 17:17
好帖hao帖

作者: ywywxb    时间: 2014-3-15 20:53
这个可以顶。

作者: yu436501    时间: 2014-4-11 09:31
正在尝试把高配mwc刷海盗搞地面站,弱弱问下mega2560 2.0 MPU6050 MS5611 HMC5883L 可以刷吧

作者: kingofpop    时间: 2014-4-12 20:40
yu436501 发表于 2014-4-11 09:31
正在尝试把高配mwc刷海盗搞地面站,弱弱问下mega2560 2.0 MPU6050 MS5611 HMC5883L 可以刷吧


目测可以的。

作者: anbaijun    时间: 2014-5-5 20:35



学习刷海盗,好贴


作者: wcdsxm    时间: 2014-6-7 21:05
kingofpop 发表于 2013-9-12 11:17
FAQ持续更新。。。。

这次的海盗3.0.1只能支持6050+5611的。。主要面向也就是AIOP V1和V2,默认参数是V2 ...

咨询一下,刷海盗固件的时候,用arduino软件打开海盗固件的时候,应该编译哪个文件啊,文件太多了,另外用记事本打开你说的那个更更改通道的文件的时候,怎么打开的时候格式都乱了,根本看不出哪行是表示什么的,


作者: renyongcq    时间: 2014-6-19 19:29
记号一下,刚入手aiop2

作者: renyongcq    时间: 2014-6-20 13:49
刷入了,找到GPS,但是无法搜星,这个是啥问题?

作者: renyongcq    时间: 2014-6-22 00:46
请问,我按照这个教程,将AIOP V2安装好以后,遥控器的通道全是乱的,怎么弄呢,这个>

作者: renyongcq    时间: 2014-6-28 20:44
大师,麻烦帮忙诊断下故障~断电门
http://bbs.5imx.com/bbs/forum.ph ... hlight=%BA%A3%B5%C1

作者: renyongcq    时间: 2014-7-18 13:37
顶一扣~

作者: giantwjt    时间: 2014-9-23 19:36
不错。收藏了,谢谢

作者: siddawn    时间: 2015-1-18 18:57
顶一个,过年的时候有时间了刷一下

作者: 螳螂七    时间: 2015-3-19 13:06
  从ArduPilot下载ArduPilot-Arduino-1.0.3(约95Mb),解压IDE到任何文件夹中。(如C:\QuadCopter)
下载失败,劳驾重发下资源,或741100454@qq.com不胜感激!!!!!!!

作者: 236067671    时间: 2015-5-6 13:52
为什么海盗地面站更新会超时,是哪里出问题了
(, 下载次数: 32)

作者: maxmusic    时间: 2015-5-6 17:56
顶,先占位,留日后研究

作者: piaybay    时间: 2015-5-14 12:24
这个不错,记号下





欢迎光临 5iMX.com 我爱模型 玩家论坛 ——专业遥控模型和无人机玩家论坛(玩模型就上我爱模型,创始于2003年) (http://bbs.5imx.com/) Powered by Discuz! X3.3