当前位置: 首页 > news >正文

(1)(1.9) MSP (version 4.2)

文章目录

前言

1 协议概述

2 配置

3 参数说明


前言

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


1 协议概述

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

目前,ArduPilot 实现支持:

  • MSP 遥测技术;
  • MSP 遥测 OSD,如 DJI FPV 护目镜、FatSharkByteFrostSharkByteMWOSD
  • MSP DisplayPort OSD,如 FatSharkShark ByteMWOSD
  • MSP 传感器,如激光雷达、光流、GPS、气压计、磁力计和空速传感器。

不支持通过 MSP 协议配置 ArduPilot,因此 Betaflight 配置器无法工作。

2 配置

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

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

  • SERIAL2_PROTOCOL = 33 用于大疆 FPVRE 护目镜;
  • SERIAL2_PROTOCOL = 32 用于传感器或通用 MSP 遥测,MWOSD 配置用于 MSP 遥测;
  • SERIAL2_PROTOCOL = 42 用于 DisplayPort OSD(又称 CANVAS 模式),如 FatSharkSharkByte

Note

有两种不同的协议,以尽量保持与大疆不断发展的硬件的兼容性。

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

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

3 参数说明

1、SERIAL2_PROTOCOL:串行2协议选择

注意:更改后需要重新启动。

控制 Serial2 端口应使用何种协议。请注意,Frsky 选项需要外部转换器硬件。详情请查看维基百科。

Values

Value

Meaning

-1

None

1

MAVLink1

2

MAVLink2

3

Frsky D

4

Frsky SPort

5

GPS

7

Alexmos Gimbal Serial

8

Gimbal

9

Rangefinder

10

FrSky SPort Passthrough (OpenTX)

11

Lidar360

13

Beacon

14

Volz servo out

15

SBus servo out

16

ESC Telemetry

17

Devo Telemetry

18

OpticalFlow

19

RobotisServo

20

NMEA Output

21

WindVane

22

SLCAN

23

RCIN

24

EFI Serial

25

LTM

26

RunCam

27

HottTelem

28

Scripting

29

Crossfire VTX

30

Generator

31

Winch

32

MSP

33

DJI FPV

34

AirSpeed

35

ADSB

36

AHRS

37

SmartAudio

38

FETtecOneWire

39

Torqeedo

40

AIS

41

CoDevESC

42

DisplayPort

43

MAVLink High Latency

44

IRC Tramp

相关文章:

  • 案例109:基于微信小程序的高校寻物平台
  • vue2 之 实现pdf电子签章
  • Day67力扣打卡
  • 小鹅通基于 TSE 云原生 API 网关的落地实践
  • 软件开发各阶段的自动化测试:提升效率与质量的关键
  • 网络安全:专科及普通本科的温柔乡
  • Apache Pulsar 技术系列 - PulsarClient 实现解析
  • Linux学习教程(第十六章 Linux系统启动管理)一
  • 云呼叫中心支持的通信渠道
  • 对curl,git,python添加proxy的方法
  • NCL : S7-200 SMART 库源代码分享
  • Mac设置ll永久生效,设置.bash_profile生效
  • 3D模型人物换装系统(三 优化合批处理,提取合批配置可,封装)
  • 【C语言刷题每日一题#牛客网BC69】——空心正方形图案
  • [RK-Linux] RK3399支持M.2 NVMe SSD启动
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【翻译】babel对TC39装饰器草案的实现
  • ES6, React, Redux, Webpack写的一个爬 GitHub 的网页
  • HTML5新特性总结
  • iOS编译提示和导航提示
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • laravel5.5 视图共享数据
  • PHP的类修饰符与访问修饰符
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • SQLServer之创建显式事务
  • win10下安装mysql5.7
  • zookeeper系列(七)实战分布式命名服务
  • 简析gRPC client 连接管理
  • linux 淘宝开源监控工具tsar
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • ​ArcGIS Pro 如何批量删除字段
  • ​如何防止网络攻击?
  • #{}和${}的区别?
  • #微信小程序(布局、渲染层基础知识)
  • (4.10~4.16)
  • *p++,*(p++),*++p,(*p)++区别?
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .gitignore
  • .libPaths()设置包加载目录
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .Net 8.0 新的变化
  • .net framework4与其client profile版本的区别
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET MVC第五章、模型绑定获取表单数据
  • .NET 设计模式—简单工厂(Simple Factory Pattern)
  • .net连接MySQL的方法
  • ??javascript里的变量问题
  • @SpringBootApplication 包含的三个注解及其含义
  • [ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [.net]官方水晶报表的使用以演示下载
  • [1]-基于图搜索的路径规划基础
  • [14]内置对象
  • [20160902]rm -rf的惨案.txt