OSD

../_images/osd.jpg

OSD 功能适用于使用 MAX7456 型芯片的板载 OSD 和基于 MSP 的外部 OSD,包括大疆护目镜和使用 DisplayPort 的护目镜。这可以在视频上叠加 FC 数据。一旦启用,它将使用各种面板项目,这些项目可单独设置为活动状态,并可使用各自的参数在屏幕上定位。它允许设置多个屏幕布局,并使用备用 RC 通道在这些布局之间切换。在某些情况下,它还允许使用摇杆手势或遥控发射器显示和更改参数集。

备注

作为 ArduPilot 固件的一个集成库,OSD 代码为重定向到 MAX 型芯片组以外的各种后端提供了先决条件,包括在 SITL 设置上进行测试,而无需实际的(飞行)控制器或视频硬件。

参数

要在 MAX7456 型芯片上启用 OSD 叠加功能,请设置参数: OSD_TYPE 为 1,重新启动并重新加载参数。这样就可以使用整个 OSD 参数组。

要为屏幕切换设置 RC 通道,请使用参数 OSD_CHAN.

要设置显示单位,请使用参数 OSD_UNITS:

  • 0 = 公制(米、公里、米/秒、公里/小时、摄氏度)

  • 1 = 英制(英尺、英里、英尺/秒、英里/小时、华氏度)

  • 2 = ArduPilot 本地(米、公里、米/秒、摄氏度)

  • 3 = 航空(英尺、海里、英尺/分钟、节、摄氏度)

要设置垂直和水平显示偏移(屏幕顶部和左侧的空间),请使用参数 OSD_H_OFFSET, OSD_V_OFFSET.

可以使用 OSD_OPTIONS (位掩码选择):

  • 第 0 位 = 启用 "紧凑数字+小数点 "字体

  • bit1 = 反转风向指示器(指向吹来的方向,而不是吹向的方向)。

  • bit2 = 反转地平线滚动方向

  • bit3 = 将 5280 英尺(而不是 10000 英尺)处的英尺转换为英里

  • bit4 = 不显示十字准线

  • bit5 = 使用 BF 字体集时转换箭头方向

  • 第 6 位 = 反转时的航空式水平仪(俯仰时水平仪向相反方向移动)。

已包含多个字体集,可在运行时更改(会构建软件的用户可自定义或添加其他字体集....see libraries/AP_OSD/fonts/README.md)

  • OSD_FONT:

  • 0 = 清晰度(默认)。清晰可见的大字体

  • 1 = 透明度中等。能见度高,主导性低于默认清晰度

  • 2 = Betaflight.

  • 3 = 大胆。更大胆的 Betaflight 版本

  • 4 = Digital。80 年代 LED 时钟收音机风格

备注

在固件 4.1 及以上版本中,1 MB 板上的板载字体选项可能会受到限制,以便为其他功能节省内存。但支持从 SD 卡上传字体。用户最多可从 SD 卡根目录下的 10 个字体文件(名为 "font0.bin"-"font9.bin")中进行选择。此外,用户还可以轻松地为板载 OSD 添加个性化和/或定制的语言字符集,而无需编译单独的固件。使用参数 OSD_FONT 不受影响。

MAVftp 可以方便地将文件上传到 SD 卡,而无需将其从(飞行)控制器上取下。字体文件、字体编辑器以及将 .mcm 转换为 .bin 文件的实用程序有 这里.如果从本网站下载编辑器或字体的 .bin 文件,请务必使用 下载 按钮、 颇为 选择性 原始然后右击保存,就像保存 .mcm 或 .py 文件一样。

要启用外部 MSP OSD 或 DisplayPort 系统,请参阅:

第二 OSD

ArduPilot 现在支持同时使用两个 OSD 后端。例如,这将用于长航时飞机上,使用大疆或 Walksnail 等较短距离的高清系统,直到其达到航程极限,然后飞行员将切换到使用模拟、较低清晰度、较长距离的系统进行远距离操作。事实上,同时运行三个 OSD 系统是可能的,因为如果运行任何一个 OSD 后端,纯 MSP OSD 遥测都会激活,而且可以使用 MSP 协议将 MSP 基本 OSD 连接到串行端口。

典型的配置是使用板载模拟视频 OSD 系统和 DisplayPort 系统。具体设置如下

  • OSD_TYPE = 1 启用模拟系统,远距离视频发射器连接到(飞行)控制器的视频输出引脚

  • OSD_TYPE2 = 5 启用第二个 DisplayPort 后端

  • SERIALx_PROTOCOL = 42,用于连接 DJI 或 Walksnail VTX 的串行端口,以便向目镜输入遥测数据。

备注

有几种第一和第二 OSD 类型的组合是不允许的,会导致预先警报,要求更改配置。最明显的是使用两个同类 OSD 类型。

备注

虽然两个 OSD 系统可以同时工作,但如果两个 OSD 系统的分辨率不同,则需要设置多个 OSD 屏幕(见下文),并在切换到使用不同系统时(即切换正在使用的视频显示器时)切换屏幕布局。创建一个同时适用于两个系统的单一屏幕布局是可能的,但高清系统的优势将明显降低。

备注

高清显示器的屏幕项目设置可能会在Mission Planner地面站中发出屏幕位置参数超出范围的警告。请忽略这些警告。

屏幕和屏幕切换

对于多屏幕布局,每个参数的 "OSD "部分后面都有一个数字,从 "1 "开始表示该参数适用的屏幕编号。

  • OSDn_<ITEM>_<PARAMETER>; - n 表示屏幕编号,ITEM 表示显示的数据项,PARAMETER 表示该显示项的启用和位置参数。OSD 设置默认最多允许 4 个屏幕可用,每个屏幕可选择启用。通过为某一屏幕设置其 ENABLE(启用)参数,可以在该屏幕上显示数据项,而不在其他屏幕上显示。

  • 设置参数 OSDn_CHAN_MINOSDn_CHAN_MAX 用于调整 RC 通道的 PWM 限制,以便切换到相应的屏幕。注意不要让两个屏幕的 PWM 范围重叠。

有不同的开关方式可供选择,以满足各个遥控系统开关布局的要求。这些选项可通过参数进行设置: OSD_SW_METHOD.选项有

  • 0 = 如果设置的遥控通道的 (OSD_CHAN) 值发生变化

  • 1 = 根据为每个屏幕设置的 pwm 限制直接选择屏幕。必须更改 RC 通道值才能识别新的 pwm 值。

  • 每隔 1 秒切换到下一屏幕,同时通道值保持高电平

面板项目

每个 OSD 面板项目使用一组三个变量进行设置:

  • OSDn_<ITEM>EN - 设置为 1 时会激活相应项目。

  • OSDn_<ITEM>_XOSDn_<ITEM>_Y 设置项目的水平和垂直位置,从 X = 0Y = 0 屏幕左上角。

备注

在 NTSC 标准中,基于 MAXChip 的典型 OSD 屏幕的可视矩阵为 30 水平 x 13 垂直字符,而 PAL 标准为 16 垂直字符。OSD 代码可自动检测 NTSC 和 PAL,以匹配输入信号的属性。

备注

ArduPilot 会计算无传感器空速估计值,在没有传感器或传感器失效的情况下使用。 ARSPD_TYPE 必须设置为零,以便在没有传感器的情况下将此值显示为空速项。

呼号面板

该面板允许在板载 OSD 屏幕上显示业余无线电呼号(或任何其他单个字符串)。它将从 SD 卡根目录下名为 "callsign.txt "的文件中读取字符串。请注意,默认的 ardupilot 字符集要求使用大写字母才能正确显示。使用 MAVftp 是将文件上传到 SD 卡的便捷选择,而无需将其从飞行控制器上取下。

备注

您可以在固件 4.1 及更高版本中找到此功能

用户可编程警告

可设置多个用户定义的警告,当达到或超过警告级别时,相应的 osd 面板项目将闪烁

  • OSD_W_BATVOLT - 如果低于此值,电池电压面板会闪烁。0-100 伏,精度高达十分之一伏

  • OSD_W_RSSI - 如果 rssi 面板的百分比值小于此值,则闪烁。0-99%

  • OSD_W_NSAT - 如果小于此数字,则闪烁 #Sat 面板。0-30

使用 SITL 测试 OSD

可以在没有(飞行)控制器或视频硬件的情况下,使用一个 环路软件(SITL)模拟器 设置。按照 SITL 说明设置模拟环境。在当前源代码上运行模拟器。

通过在 sim_vehicle.py 中添加以下选项,可以在单独窗口中打开图形 OSD 模拟:

--osd

现在可以通过参数设置和配置模拟 OSD。

提示

要查看所有可用选项,请键入

./模拟载具.py -帮助

OSD 面板列表

小组名称

说明

纬度

家庭所在海拔高度

BAT_VOLT

一次电池电压

RSSI

RC 接收信号强度

当前

一次电池电流

BATUSED

消耗的电池容量

SATS

GPS 卫星数量

FLTMODE

飞行模式

留言

全球监控系统信息

GSPEED

地面速度

曙光

人造地平线

主页

到家的距离和方向

标题

磁性航向

变速箱

节流阀百分比

COMPASS

指南针玫瑰

风速和风向

ASPEED

系统空速

VSPEED

爬升率

ESCTEMP

电调温度

ESCRPM

电调转速

ESCAMPS

电调电流

GPSLAT

GPS 纬度

GPS 长

GPS 经度

滚动

滚动度

PITCH

俯仰角

温度

巴罗温度

人发厅

GPS HDOP

路标

下一个航点的距离和方向

XTRACK

交叉轨道误差

DIST

总行程

统计

统计摘要

FLTIME

飞行中的 Elasped 时间

CLIMBEFF

爬坡效率

EFF

效率

BTEMP

第二巴罗温度

ATEMP

空速 温度

BAT2_VLT

第二电池电压

BAT2USED

第二电池消耗量

ASPD2

空速传感器 2

ASPD1

空速传感器 1

CLK

当地时间

边栏

速度/右侧边栏

CRSSHAIR

人造地平线十字准线

首页

到家的距离(仅限 MSPOSD)

首页

返回首页的方向(仅限 MSPOSD)

权力

电源(仅限 MSPOSD)

CELLVOLT

主电池的计算电池电压(仅限 MSPOSD)

战旗

电池健康条(仅限 MSPOSD)

上膛

上膛状态(仅限 MSPOSD)

加码

开放地点代码

呼叫标志

来自 SD 卡的呼号 callsign.txt

电流2

第二电池电流

VTX_PWR

视频 TX 功率设置

TER_HGT

高于地形的高度

AVGCELLV

原电池的计算电池电压

RESTVOLT

计算出的原电池静态电压

栅栏

EENCE 启用状态

RNGF

测距仪距离

ACRVOLT

计算出的原电池静态电压

LINK_Q

RC 链路质量