工具
对QGC进行二次开发时,常常会遇到想使用自定义mavlink的情况,但不像APM那样编译命令会根据xml文件自动生成mavlink协议。QGC似乎不能自动生成mavlink协议(之前试过似乎不能自动生成协议,不知道随后的版本能不能自动生成),需要使用第三方工具。
生成协议的工具有两个,一个是mavgenerate.py(带界面的),一个是mavgen.py(不带界面的),之前一直用带界面的,虽然不是很好用,但因为是图形界面的,上手比较容易,也能完成生成mavlink协议的功能,但是最近再用的时候,发现有报错(QGC 最后的提交为a54417e5ef,2019年3月5号)。界面出问题后,只能寻找其他的办法,找来找去,发现了mavgen.py这个工具,据官方说,带界面的后台运行的也是mavgen.py这个脚本。下面是官方的介绍,之后我结合实际演示怎么生成mavlink协议。
mavgen.py is a command-line tool for generating MAVLink libraries for different programming languages. After the
mavlink
directory has been added to thePYTHONPATH
, it can be run by executing from the command line