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

(24)(24.4) MultiWii/DJI/HDZero OSD (version 4.2 and later)(一)

文章目录

前言

1 基于遥测的OSD


前言

ArduPilot 使用基于MSPMultiWii 串行协议)的协议支持多种类型的屏幕显示(OSD):


  • 基于 MSP 遥测的操作系统,如大疆 FPV 护目镜 V1/V2、大疆护目镜 REFatShark ByteFrostFatShark-SharkBytefw 09042021 之前)、MWOSD等。
  • 基于 DisplayPort 的操作系统,如 HDZero(以前称为 FatShark SharkByte(fw 09042021及更高版本))、Walksnail、使用 wtf-os 固件和 msdp osd 模块(msdp-osd module)的 DJI 护目镜,以及 MWOSDDisplayPort 模式/固件。

仅基于遥测的 OSD 将根据使用串行端口协议“32”发送的标准 MSP 遥测传感器消息,使用自己的引擎在屏幕上呈现 OSD 面板项目,因此 ArduPilot 无法控制项目的外观。

DJI 2/V1/V2 护目镜还具有扩展协议,该协议使用串行端口协议“33”发送,允许在使用扩展的自定义 OSD 功能时为每个 OSD 面板提供位置信息。这也允许显示任何 ArduPilot OSD 面板。

另一方面,DisplayPort 是一种 MSP 协议扩展,允许 ArduPilot 指定要在外部 OSD 显示器上绘制的文本字符/图标及其位置,就像在使用串行端口协议“42”的内部集成模拟 OSD 上一样。DisplayPort 也称为 CANVAS MODE(不正确)。基本上,它是一个远程纯文本帧缓冲区,使用本地字体(渲染引擎本地,即 OSD 硬件)渲染通过 MSP 发送的字符串。

1 基于遥测的OSD

基于遥测的 OSD 将使用自己的引擎在屏幕上渲染 OSD 面板项目,因此 ArduPilot 无法控制项目的外观。基于遥测的操作系统的另一个局限性是,ArduPilot 无法随意添加新的面板项目,供应商有责任通过推出新的固件版本来添加新功能。

如果存在板载集成模拟 OSD,并且用户希望同时拥有这两个 OSD,则也可以激活它。例如,在使用 DJI 护目镜/空气系统进行中程飞行,但仍使用内部 OSD 运行远程模拟 VTX 的飞行器上,当飞行器超过 HD DJI 护目镜的范围时。这种配置可以使用一个针对 DJI Goggles 优化的 OSD 屏幕,另一个用于集成 OSD,用户可以根据正在观看的视频系统在它们之间切换。

配置

示例假设空气单元连接到飞行控制器的 SERIAL2

  • 如果没有使用集成 OSD,则OSD_TYPE= 3,如果存在集成 OSD 并且用户希望同时使用这两个 OSD,则为= 1
  • SERIAL2_PROTOCOL= 32MSP);
  • SERIAL2_BAUD= 115
  • 如果空气单元要通过 RXTX 输入连接到 AutoPilot 串行端口 TX/RX,则MSP_OPTIONS 位0= 0(不启用遥测模式)。如果独立 OSD 单元仅通过单线从其 RX 输入连接到串行端口的TX,则设置位0= 1(启用遥测模式)。这被称为“推送”模式。

OSD面板可用于MSP遥测操作系统

这些是基于遥测的 OSD 支持的仅限 MSPOSD 元素(假设 OSD 本身有能力显示这些遥测值):

OSD Parameter

Notes

OSDn_ALTITUDE

Home relative altitude

OSDn_ARMING

Arming status, hidden when armed otherwise showing DISARMED

OSDn_ASPEED

Please refer to OSDn_GSPEED for more info on enabling airspeed display

OSDn_BAT_VOLT

First battery voltage

OSDn_BATBAR

First battery remaining percentage rendered as a bar based on declared capacity and consumed mAh

OSDn_BATUSED

First battery consumed mAh

OSDn_CELLVOLT

First battery average cell voltage, if automatic cell detection fails please override with MSP_OSD_NCELLS

OSDn_CLK

Realtime clock (requires GPX fix)

OSDn_CRSSHAIR

Artificial horizon is not supported so crosshair is often kept hidden

OSDn_CURRENT

First battery current

OSDn_ESCTEMP

On DJI V1/V2 Goggles this will report the highest ESC temperature

OSDn_FLTMODE

DJI hardware does not support ArduPilot’s flight modes! This item will generally be blank and only show !FS! while in failsafe!

OSDn_GPSLAT

GPS Latitude in decimal format

OSDn_GPSLONG

GPS Longitude in decimal format

OSDn_GSPEED

This item shows ground speed unless OSDn_ASPEED_EN = 1 in which case it will show true airspeed if an airspeed sensor is present or estimated airspeed otherwise. The position on screen is set by OSDn_GSPEED_X and OSDn_GSPEED_Y regardless of the value of OSDn_ASPEED_EN

OSDn_HEADING

Not supported by DJI V1/V2 Goggles

OSDn_HOMEDIR

Rotating arrow pointing to home

OSDn_HOMEDIST

Distance from home

OSDn_HORIZON

Not supported by DJI V1/V2 Goggles

OSDn_MESSAGE

This will display status text messages as rolling text. Status text messages will be hidden after a couple seconds and the panel will show the current flightmode. If OSDn_WIND_EN is set to 1, this item also displays wind info next to the current flight mode as a rotating arrow and speed.

OSDn_PITCH

Pitch angle

OSDn_POWER

Instant power calculated as voltage * current

OSDn_ROLL

Roll angle

OSDn_RSSI

Rssi as configured in RSSI_TYPE: RSSI Type

OSDn_SATS

On DJI V1/V2 Goggles when there’s no telemetry based MSP OSDfix it will report 14 sats, this is a known DJI bug

OSDn_SIDEBARS

Not supported by DJI V1/V2 Goggles

OSDn_VSPEED

Vertical speed

OSDn_WIND

Please refer to OSDn_MESSAGE for wind speed and direction rendering

DJI 护目镜在默认 OSD 显示模式下支持 MSP 遥测显示,并附有以下注意事项:

  • ArduPilot 目前支持 V1V2 DJI FPV 护目镜提供的所有 OSD 面板项目,如上表所示;
  • 目前不支持更改公制和英制以外的显示单位;
  • 支持多个屏幕和这些屏幕的远程切换;
  • 支持在专用屏幕上显示统计信息,有关详细信息,请参阅下文;
  • 目前不支持 RSSI、电压等的警告级别。

DJI V1 FPV 护目镜

DJI 护目镜 RE

相关文章:

(24)(24.4) MultiWii/DJI/HDZero OSD (version 4.2 and later)(一)

文章目录 前言 1 基于遥测的OSD 前言 ArduPilot 使用基于MSP(MultiWii 串行协议)的协议支持多种类型的屏幕显示(OSD): 基于 MSP 遥测的操作系统,如大疆 FPV 护目镜 V1/V2、大疆护目镜 RE、FatShark Byte…...

HiveSQL:提取json串内容——get_json_oject和json_tuple

提取json串中内容,json格式示例如下 方法(运行环境Hive) get_json_objectjson_tuple get_json_object select json_data,get_json_object(json_data,$.price) as price -- 取第一层,get_json_object(json_data,$.inquiry_params) as in…...

Clickhouse 二进制安装

下载对应版本https://github.com/ClickHouse/ClickHouse 分别选择arm64/x86_64 对应的tgz 场景是需要把ck所有文件安装指定目录,使用rpm会散布在各个目录不方便管控 下载client,common-static,server这三个 将相同的目录合并成一个(这里注意需要在l…...

大数据开发工程师面试整理-项目经验

在面试或职业发展中,分享项目经验是展示个人能力和专业知识的重要途径。大数据开发工程师的项目经验通常涉及数据处理、系统设计、性能优化以及与团队协作等多个方面。以下是如何有效地展示大数据项目经验的指导,以及一个示范性的项目经验描述。 1. 结构化描述项目经验 ● 项…...

游戏引擎详解——图片

图片 图片的格式 图片文件格式pngjpg 纹理压缩格式ETC1/2PVRTCASTC 图片的属性 图片属性解释分辨率宽高像素值(pt),如:1024*1024位深度用来存储像素颜色的值,如RGBA8888,红黄蓝透明度4个维度每个8bit&…...

电商API数据接口在电商运营电商数据分析中的作用?

电商运营中,品牌方使用电商API数据接口可以带来众多益处,具体包括但不限于以下几点: 实时数据同步:通过API接口,品牌方可以实时获取商品库存、订单状态、价格变动等信息,保证数据的时效性和准确性&#xff…...

Java OkHttp使用(二)

文章目录 引言使用 OkHttp 发送回调其他 引言 记录一下 OkHttp 的使用;OkHttp 异步发送回调请求,增加回调失败重试。 使用 OkHttp 发送回调 /*** 回调重试类*/ Data public class CallBackRetryData {/*** 回调信息JSON*/private JSONObject bodyRequ…...

宝塔(bt.cn)面板新手小白使用中常见问题

1.新手小白-服务器正确的安装宝塔的粗略教程 购买服务器后首先是挂载磁盘再安装宝塔,步骤不要搞错,免得安全后磁盘空间不对需要挂载多免费异步,切记切记 挂载磁盘:(挂载磁盘只需一行命令即可,请根据自己的系统选择正确…...

【LeetCode:3133】数组最后一个元素的最小值(Java)

题目链接 3133. 数组最后一个元素的最小值 题目描述 给你两个整数 n 和 x 。你需要构造一个长度为 n 的 正整数 数组 nums &#xff0c;对于所有 0 < i < n - 1 &#xff0c;满足 nums[i 1] 大于 nums[i] &#xff0c;并且数组 nums 中所有元素的按位 AND 运算结果为…...

FCARM - Output Name not specified, please check ‘Options for Target - Utilities‘解决方法

出现这个问题的原因是导入文件时默认类型选错了&#xff0c;修改文件类型即可 如图右键导入文件&#xff0c;选择“Options for File OLED.C” 选择“File Type”,将头文件文件类型修改为“Text Documents file”&#xff0c;将.c文件文件类型修改为“C Sorce file” 第二方…...

自行车制造5G智能工厂工业物联数字孪生平台,推进制造业数字化

在当今这个日新月异的数字化时代&#xff0c;制造业正经历着前所未有的变革&#xff0c;自行车制造5G智能工厂工业物联数字孪生平台的兴起&#xff0c;无疑是这场转型浪潮中一股强劲力量。自行车制造5G智能工厂工业物联数字孪生平台的成功应用&#xff0c;不仅仅是技术上的突破…...

一文彻底搞懂Transformer - FFNN(前馈神经网络)

Transformer 神经网络&#xff1a; 神经网络&#xff08;Neural Networks&#xff09;是一种模仿生物神经网络的结构和功能的数学或计算模型。它由大量的人工神经元&#xff08;也称为节点或处理单元&#xff09;相互连接而成&#xff0c;这些神经元之间通过带有权重的连接进行…...

SpringCloud Gateway及 Springboot 服务 跨域配置

SpringCloud Gateway 跨域配置 配置文件 #跨域支持 spring.cloud.gateway.globalcors.cors-configurations.[/**].allowed-headers[0]* spring.cloud.gateway.globalcors.cors-configurations.[/**].allowed-methods[0]* spring.cloud.gateway.globalcors.cors-configuration…...

【Solidity】安全与校验

信息传输 发送方 A&#xff1a; 计算消息 message 的哈希值 H&#xff1a;hash(message) H 私钥 privateKey ➕ 哈希值 H &#x1f7f0; 签名 signature&#xff1a;signature sign(H, privateKey) 将消息 message 和签名 signature 发送给 B 接收方 B&#xff1a; 计算…...

黑神话悟空四十二项修改器 v1.0

软件简介 黑神话悟空四十二项修改器由风灵月影精心打磨&#xff0c;为《黑神话悟空》这款备受瞩目的游戏量身定制。这款修改器界面简洁、体积小巧、功能强大&#xff0c;它致力于为玩家提供便捷的游戏体验&#xff0c;让您能够根据个人喜好和需求&#xff0c;轻松调整游戏内的…...

RM电控RTOS

OS即&#xff08;operating system&#xff09;操作系统&#xff0c;比如我们常用的windows系统&#xff0c;mac系统&#xff0c;android系统&#xff0c;ios系统&#xff0c;linux系统等&#xff0c;都属于操作系统。操作系统的本质是一个特殊的软件&#xff0c;它直接管理硬件…...

Arduino开源四足蜘蛛机器人制作教程

视频教程&#xff1a;手把手叫你做四足蜘蛛机器人——1零件介绍_哔哩哔哩_bilibili 一、项目介绍 1.1 项目介绍 Arduino主控&#xff0c;图形化编程&#xff0c;趣味学习 Arduino nano开发板舵机扩展底板 4.8V可充电电池&#xff0c;支持Arduino C语言编程和米思齐图形化编程…...

【Axure高保真原型】中继器表格——标签使用情况案例

今天和大家分享中继器表格——标签使用情况案例的原型模板&#xff0c;效果包括&#xff1a; 模糊搜索——输入标签编号或者标签名称&#xff0c;可以快速查找对应的数据 排序——点击排序按钮&#xff0c;可以按升序或降序排列 分页——点击上拉列表&#xff0c;可以选择表格…...

ABAP字符串反转 and 寻找字符所在位置 and 根据数量汇总时把数量转为非数值类型

1.字符串反转 and 寻找字符所在位置 LOOP AT gt_wlmc ASSIGNING FIELD-SYMBOL(<fs_wlmc>). "遍历内表<fs_wlmc>-matnr <fs_wlmc>-matnr(8).DATA: l_output TYPE char50,v_off2 TYPE i,str TYPE i,str2 TYPE i.CALL FUNCTION STRING_REVERS…...

【机器学习第十二章——计算学习理论】

机器学习第十二章——计算学习理论 12.计算学习理论12.1 基础知识12.1 可能学习近似正确假设&#xff08;PAC&#xff09;12.3 有限假设空间12.4 VC维 12.计算学习理论 12.1 基础知识 从理论上刻画了若干类型的机器学习问题中的困难和若干类型的机器学习算法的能力 这个理论要…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂&#xff08;如抗体、抑制肽&#xff09;在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上&#xff0c;高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术&#xff0c;但这类方法普遍面临资源消耗巨大、研发周期冗长…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案

问题描述&#xff1a;iview使用table 中type: "index",分页之后 &#xff0c;索引还是从1开始&#xff0c;试过绑定后台返回数据的id, 这种方法可行&#xff0c;就是后台返回数据的每个页面id都不完全是按照从1开始的升序&#xff0c;因此百度了下&#xff0c;找到了…...

pam_env.so模块配置解析

在PAM&#xff08;Pluggable Authentication Modules&#xff09;配置中&#xff0c; /etc/pam.d/su 文件相关配置含义如下&#xff1a; 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块&#xff0c;负责验证用户身份&am…...

在 Nginx Stream 层“改写”MQTT ngx_stream_mqtt_filter_module

1、为什么要修改 CONNECT 报文&#xff1f; 多租户隔离&#xff1a;自动为接入设备追加租户前缀&#xff0c;后端按 ClientID 拆分队列。零代码鉴权&#xff1a;将入站用户名替换为 OAuth Access-Token&#xff0c;后端 Broker 统一校验。灰度发布&#xff1a;根据 IP/地理位写…...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

HDFS分布式存储 zookeeper

hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架&#xff0c;允许使用简单的变成模型跨计算机对大型集群进行分布式处理&#xff08;1.海量的数据存储 2.海量数据的计算&#xff09;Hadoop核心组件 hdfs&#xff08;分布式文件存储系统&#xff09;&a…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

排序算法总结(C++)

目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指&#xff1a;同样大小的样本 **&#xff08;同样大小的数据&#xff09;**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...