根据飞控提供的xml文件来生成的
生成的就是这样的java文件
准备工作:
Mavlink协议生成
参考
1.安装mavlink
:
使用MAVLink工具的要求是
Python 3.3+ (recommended) or Python 2.7+
Python future模块
(可选) PythonTklnter模块(如果需要使用图形用户界面)。
环境变量PYTHONPATH必须包含mavlink存储库的目录路径。
1.1 安装Python 3.3+ (or Python 2.7+):
Windows:[从Python for Windows下载。](https://www.python.org/downloads/)
Ubuntu Linux 18.04: Python 3 (and Python 2.7+) are already present. 如果你使
用的是Python3,则需要安装pip3安装包管理工具。
sudo apt-get install python3-pip
1.2 安装future模块
Windows:
pip3 install future
Linux- Python 3:
pip3 install --user future
Linux - Python 2:
pip install --user future
2.克隆mavlink到本地
git clone https://github.com/mavlink/mavlink.git --recursive
3.设置环境变量PYTHONPATH包含你的mavlink仓库路径
Windows:
set PYTHONPATH=C:\your_path_to_mavlink_clone
Linux:
PYTHONPATH=your_path_to_mavlink_clone
4. 生成Mavlink库文件
打开your_path_to_mavlink_clone/mavgenerate.py文件
选择对应的xml文件和对应的协议版本
我们这里选择your_path_to_mavlink_clone/message_definitions/v1.0/common.xml
然后选择java语言和协议版本为2.0即可
5.修改Java Mavlink 2.0
生成后的目录/Messages/MAVLinkMessage.java
6.修改生成的MAVLINK包名
MAVLINK生成的代码主要在:
mavlink\pymavlink\generator
JAVA版本生成器:
1.修改mavgen_java.py代码
查阅相关代码后,发现搜索替换全部相关字符串即可
2.修改lib代码
mavlink\pymavlink\generator\java\lib\Messages\MAVLinkMessage.java
mavlink\pymavlink\generator\java\lib\Messages\MAVLinkPayload.java
mavlink\pymavlink\generator\java\lib\Messages\MAVLinkStats.java
mavlink\pymavlink\generator\java\lib\Parser.java
例如