(24)(24.5) 多串口协议(MSP)
Ardupilot官网关于《Peripheral Hardware》的翻译 —《(24.5) 多串口协议(MSP)》。
文章目录
前言
ArduPilot 通过其任何串行端口支持遥测、OSD 和传感器的 MSP 协议。这允许 ArduPilot 将其遥测数据发送到 MSP 兼容设备,如 DJI 护目镜,用于屏幕显示(OSD)(见 MSP OSD)。当设置MSP 协议(即 betaflight/Inav)时,它也可以由外部 OSDS 使用,如 MWOSD。
ArduPilot 通过其任何串行端口支持遥测、OSD 和传感器的 MSP 协议。这允许 ArduPilot 将其遥测数据发送到 MSP 兼容设备,如 DJI 护目镜,用于屏幕显示(OSD)(见MSP OSD)。当设置MSP 协议(即 betaflight/Inav)时,它也可以由外部 OSDS 使用,如 MWOSD。
1 协议概述
MSP 是所有 Betaflight 衍生的飞行栈使用的主要通信协议。这是一种基于二进制消息的协议,用于控制、遥测和传感器。ArduPilot 的 MSP 协议模块从 Betaflight 和 iNav 移植而来,支持 MSPV1和 MSPV2。
目前,ArduPilot 实施支持:
- MSP 遥测;
- MSP 遥测操作系统,如 DJI FPV 护目镜、FatShark 的 ByteFrost 和 SharkByte、MWOSD;
- MSP 显示端口操作系统,如 FatShark 的 Shark Byte 和 MWOSD;
- MSP 传感器,如激光雷达、光流、gps、气压计、磁力计和空速。
不支持通过 MSP 协议进行 ArduPilot 配置,因此例如 Betaflight 配置器将无法工作。
2 配置
MSP 需要一个空闲的串行端口,其速度默认为 115200 波特。以下示例使用 SERIAL2。
串行协议选择了 3 个 MSP 后端:
- SERIAL2_PROTOCOL= 33 适用于 DJI FPV 或 RE 护目镜;
- SERIAL2_PROTOCOL= 32 用于传感器或通用 MSP 遥测使用,MWOSD 配置用于 MSP 遥测;
- SERIAL2_PROTOCOL= 42 适用于显示端口操作系统(也称为 CANVAS 模式),如FatShark 的 SharkByte。
!Note
有两种不同的协议试图保持与大疆不断发展的硬件的兼容性。
当选择 SERIAL2_PROTOCOL= 33 时,协议解码器可以在轮询模式(默认)或“遥测推送”模式下工作。在轮询模式下工作时,TX 和 RX 都必须连接到 MSP 遥测收发器。在推送模式下,仅使用TX 线。要启用推送模式,只需将 MSP_OPTIONS位 0 设置为“1”;要禁用,请将其设置为“0”(默认值)。
这两种协议都支持 Matek 3901-L0X 等 MSP 传感器。
3 参数说明
1. SERIAL2_PROTOCOL:遥测 2 协议选择。
注意:更改后需要重新启动。
控制 Telem2 端口上使用的协议。请注意,Frsky 选项需要外部转换器硬件。有关详细信息,请参阅 wiki。
Values | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)