本文主要是介绍MAVLink功能开发移植,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
MAVLink功能开发移植
-----------------本文由“智御电子”提供,同时提供视频移植教程,以便电子爱好者交流学习。----------------
1.MAVLink简介##
MAVLink是一种针对微型飞行器,推出的轻量化,仅由头文件信息编码而成的软件通信协议库。
MAVLink遵循一种混合发布和点对点设计模式:主要的信息可以作为主数据流向多个目标目标进行发送,而一些子协议如(mission protocol或者parameter protocol)可以采用点对点通信模式,利用重传机制进行可靠的数据传输。
MAVLink的信息包(各种数据包类型的组合如姿态信息包、GPS信息包)都是定义在XML格式的原始文件中。利用这个XML文件可以生成如下支持语言的MAVLink源代码。针对不同的的应用场合,XML文件也被定义了多种。比如针对绝大多数的地面站系统和自动驾驶系统,这样一些系统所需要的信息包类型就被定义一种取名为“common.xml”文件中。
MAVLink最早是在2009年由Lorenz Meier发布的第一版本,并且有有一群贡献者参与其中。
因为MAVLink不需要额外的设计框架要求,所以它非常适合在一些通信带宽有限的程序中使用。比如用XML文件生产的C语言源代码非常适合用在RAM或者flash受限制的嵌入式系统中。目前MAVLink已经在许多的产品中被用来作为不同设备制造商之间通信的接口而得到应用和验证。
支持生成的语言
MAVLink2 可以生成如下语言
- C
- C++11
- Python
MAVLink1可以生成如下语言
- C
- C#
- Objective C
- Java
- JavaScript
- Lua
- Swift
- Python
XML文件种类:
- common.xml
- ardupilotmega.xml
- ASLUAV.xml
- autoquad.xml
- icarous.xml
- matrixpilot.xml
- minimal.xml
- paparazzi.xml
- python_array_test.xml
- slugs.xml
- standard.xml
- test.xml
这篇关于MAVLink功能开发移植的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!