目的和范围
屏幕显示 (OSD) 系统可在视频画面上实时叠加飞行信息,并提供飞行后统计信息。本文档涵盖 OSD 架构、元件系统、配置管理和警告机制。
系统架构
OSD系统由多个相互连接的子系统组成,这些子系统协同工作,提供全面的飞行信息显示:

核心组件
OSD主控制器
主 OSD 控制器负责初始化、更新周期以及子系统之间的协调:

元素系统
各个 OSD 元素通过集中式渲染系统进行管理,该系统同时支持前景层和背景层:
| 元素类别 | 示例 | 功能模式 |
|---|---|---|
| 飞行数据 | OSD_ALTITUDE,OSD_GPS_SPEED | osdElementAltitude() |
| 电池信息 | OSD_MAIN_BATT_VOLTAGE,OSD_CURRENT_DRAW | osdElementCurrentDraw() |
| 态度 | OSD_ARTIFICIAL_HORIZON,OSD_PITCH_ANGLE | osdElementArtificialHorizon() |
| 系统信息 | OSD_FLYMODE,OSD_WARNINGS | osdElementFlymode() |
| 导航 | OSD_GPS_LAT,OSD_COMPASS_BAR | osdElementCompassBar() |
元素渲染管线
元素渲染系统采用状态机方法来处理复杂的多帧元素:

配置管理
OSD配置通过参数组进行管理,并支持多个配置文件:

元素类型和变体
OSD系统支持元素变体,允许以不同的显示格式显示相同的数据:
| 元素 | 1型 | 类型 2 | 3型 | 4型 |
|---|---|---|---|---|
| OSD_ALTITUDE | 保留一位小数 | 没有小数 | 美国标准手语 + 1 位小数 | 美国手语 + 无小数 |
| OSD_GPS_LAT/LON | 7 位十进制数 | 4 位十进制数 | 度/分/秒 | Plus 代码 |
| OSD_MAIN_BATT_USAGE | 剩余栏 | 二手酒吧 | 其余的 % | 用过的 % |
| OSD_VTX_CHANNEL | 完整信息 | 仅供电 | - | - |
预警系统
该预警系统会根据飞行状况提供优先级不同的警报信息:

统计系统
飞行后统计数据在飞行过程中收集,并在解除武装后显示:

显示端口抽象
OSD系统使用显示端口抽象层来支持不同的输出设备:
| 显示设备 | 执行 | 特征 |
|---|---|---|
| MAX7456 | 硬件 OSD 芯片 | SD分辨率,基于字符 |
| MSP | MSP协议 | 支持高清,画布尺寸灵活 |
| 汽车 | 自动检测 | 备用机制 |
定时器系统
OSD定时器系统支持多种定时器源和精度级别:

与飞行控制系统集成
OSD系统与飞行控制流程深度集成,可提供实时数据显示:

1074

被折叠的 条评论
为什么被折叠?



