OSD¶
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)
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_MIN
和OSDn_CHAN_MAX
用于调整 RC 通道的 PWM 限制,以便切换到相应的屏幕。注意不要让两个屏幕的 PWM 范围重叠。
有不同的开关方式可供选择,以满足各个遥控系统开关布局的要求。这些选项可通过参数进行设置: OSD_SW_METHOD.选项有
0 = 如果设置的遥控通道的 (OSD_CHAN) 值发生变化
1 = 根据为每个屏幕设置的 pwm 限制直接选择屏幕。必须更改 RC 通道值才能识别新的 pwm 值。
每隔 1 秒切换到下一屏幕,同时通道值保持高电平
面板项目¶
每个 OSD 面板项目使用一组三个变量进行设置:
OSDn_<ITEM>EN
- 设置为 1 时会激活相应项目。OSDn_<ITEM>_X
和OSDn_<ITEM>_Y
设置项目的水平和垂直位置,从X = 0
和Y = 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 链路质量 |