多重无线串行协议(MSP)

ArduPilot 支持通过任何串行端口进行遥测和传感器的 MSP 协议。这样,ArduPilot 就能将遥测数据发送到 MSP 兼容设备(如大疆护目镜)上,用于屏幕显示(OSD)(请参阅 "MSP 协议")。 MSP OSD).当设置为 MSP 协议(即 betaflight/Inav)而非 MAVLink 协议时,外部 OSDS(如 MWOSD)也可以使用它。

协议概述

MSP 是所有 Betaflight 衍生飞行堆栈使用的主要通信协议。它是一种基于二进制信息的协议,用于控制、遥测和传感器。ArduPilot 的 MSP 协议模块移植自 Betaflight 和 iNav,同时支持 MSPV1 和 MSPV2。它还支持 iNav 的 MSPV2 传感器信息,用于:

  • 激光雷达

  • 光流

  • 全球定位系统

  • 晴雨表

  • 磁强计(未来)

  • 空速(未来)

目前,ArduPilot 的实现仅支持遥测和传感器信息。因此,目前 ArduPilot 可与大疆 FPV 护目镜配合使用,但无法由 Betaflight 配置器控制。

配置

MSP 需要一个空闲的串行端口,其速度默认为 115200 波特。下面的示例使用 SERIAL2。

通过串行协议可选择 3 个 MSP 后端:

  • serial2_protocol = 33 用于 DJI FPV 或 RE 护目镜

  • serial2_protocol = 32 用于传感器或一般 MSP 遥测用途

  • serial2_protocol = 42 是用于大疆护目镜的 DisplayPort,使用 wtf-os firmare、HDZero、Walksnail 或 DisplayPort MWOSD。

备注

目前有两种不同的 DJI 遥测协议,以便与 DJI 不断发展的硬件保持兼容。

何时 serial2_protocol = 选择 33 时,协议解码器可在轮询模式(默认)或 "遥测推送 "模式下工作。在轮询模式下工作时,TX 和 RX 都必须连接到 MSP 遥测收发器。在推送模式下,只使用 TX 线路。要启用推送模式,只需设置 MSP_OPTIONS 将第 0 位设置为 "1";禁用时将其设置为 "0"(默认值)。

两种协议都支持 MSP 传感器,如 Matek 3901-L0X。