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

(1)(1.8) MSP(MultiWii 串行协议)(4.1 版)

文章目录

前言

1 协议概述

2 配置

3 参数说明


 

前言

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


1 协议概述

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

  • lidar
  • optical flow
  • gps
  • barometer (future)
  • magnetometer (future)
  • airspeed (future)

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

2 配置

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

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

  • SERIAL2_PROTOCOL = 33 用于大疆 FPVRE 护目镜;
  • SERIAL2_PROTOCOL = 32 用于传感器或通用 MSP 遥测用途;
  • SERIAL2_PROTOCOL = 42 用于使用 wtf-os firmareHDZeroWalksnailDisplayPort MWOSD 的大疆护目镜的 DisplayPort

Note

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

选择 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

相关文章:

  • 矩阵理论及其应用邱启荣习题3.5题解
  • Vue 3与Composition API:入门指南
  • 新时代商业市场:AR技术的挑战与机遇并存
  • 弹性搜索引擎Elasticsearch:本地部署与远程访问指南
  • AR-LDM原理及代码分析
  • 云原生之深入解析云原生架构的日志监控
  • Linux-CentOS7(无图形界面版)部署stable-diffusion-webui 全过程
  • 搭建你的知识付费小程序平台:源码解析与技术实现
  • FFmpeg的AVIOPROBE
  • vue中哪些数组的方法可以做到响应式
  • 高并发如何实现单用户信息查询接口
  • 现代C++ 实现单例模式
  • Windows 11上边两个空格导致我多熬了1个多小时
  • TOGAF—架构(Architecture)项目管理
  • npm ,yarn 更换使用国内镜像源,阿里源,清华大学源
  • [Vue CLI 3] 配置解析之 css.extract
  • 【Linux系统编程】快速查找errno错误码信息
  • C++11: atomic 头文件
  • CAP理论的例子讲解
  • CSS实用技巧
  • GraphQL学习过程应该是这样的
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Promise初体验
  • Python中eval与exec的使用及区别
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • SpiderData 2019年2月16日 DApp数据排行榜
  • SpringCloud集成分布式事务LCN (一)
  • Sublime text 3 3103 注册码
  • v-if和v-for连用出现的问题
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 排序算法学习笔记
  • 如何优雅的使用vue+Dcloud(Hbuild)开发混合app
  • 为视图添加丝滑的水波纹
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 学习Vue.js的五个小例子
  • 源码安装memcached和php memcache扩展
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • 昨天1024程序员节,我故意写了个死循环~
  • ​configparser --- 配置文件解析器​
  • #define与typedef区别
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $.proxy和$.extend
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (2022 CVPR) Unbiased Teacher v2
  • (8)STL算法之替换
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (办公)springboot配置aop处理请求.
  • (二)Eureka服务搭建,服务注册,服务发现
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (力扣)1314.矩阵区域和
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】