MAVLink 2

MAVLink 2 是对 MAVLink 协议的一个后兼容更新,目的是使MAVLink 通信有更多的灵活性和安全性。 MAVLink 2 为C、C++11 和 Python 开发了绑定(见支持的语言)。

此主题与 MAVLink 2 的主要新功能链接,以及如何使用。

特性

MAVLink 2的关键新功能是:

  • 24 位消息 ID - 允许 16 000多万枚独特的信息定义(MAVLink 1 仅限256)
  • Packet signing - 验证消息是由信任系统发送的。
  • 消息扩展 - 在现有的 MAVLink 消息定义中添加新的字段,但不打破未更新的接收器的二进制兼容性。
  • Empty-byte payload truncation - Empty (zero-filled) bytes at the end of the serialized payload must be removed before sending (All bytes were sent in MAVLink 1, regardless of content).
  • Compatibility Flags/Incompatibility Flags - Allow for backwards compatible evolution of the protocol by indicating frames that must be handled in a special/non-standard way (packets with compatibility flags can still be handled in the standard way, while packets with incompatibility flags must be dropped if the flage is not supported).

MAVLink 2 design document 提供了关于更新的额外背景信息。

版本对接/谈判

MAVLink Versions explains the handshaking used to determine the supported MAVLink version of either end of the channel, and how to negotiate the version to use.

C 接口

MAVLink 2 C库向下兼容 MAVLink 1。 关于如何升级库并与 MAVLink 1 工作的信息载于使用 C MAVLink 库(mavgen)

results matching ""

    No results matching ""