Перейти к содержимому

OSD … ↩ 11.13 m5

mod. Пятница, 09 октября 2026 14:12 . См. 57

Betaflight без GUI · Урок 11 из 13 · Модуль 5. Отображение и доп. оборудование

Как включить OSD и расставить элементы поверх видео через параметры osd_*_pos, не открывая графический редактор.

osd_*_pos — упакованное число с координатами и битами видимости профилей. Сохраняйте diff all перед изменениями и берите готовые значения из GUI своей платы, а не из чужого примера.

Содержание

1. Цели урока

После этого урока вы будете понимать:

  • как включить OSD и выбрать активный профиль
  • как связаны флажки 1 / 2 / 3, видимость и параметры osd_*_pos
  • почему число позиции — не записанные подряд строка и колонка
  • где искать формат, единицы, таймеры и предупреждения
↑ К оглавлению
technobee_0928_up_d8ac2.jpg
technobee_0928_dwn_1406c.jpg

2. Шаг 1. Включить OSD

# feature OSD
↑ К оглавлению

3. Элементы и их позиции

Вкладка [Элементы] слева показывает элементы поверх видео. Флажки 1 / 2 / 3 у строки отвечают за видимость элемента в соответствующих OSD-профилях; на скрине у некоторых строк отмечен только первый. В CLI у каждого элемента своя настройка osd_*_pos: она хранит положение и биты видимости, а не только координаты.

Элемент GUI,  на скрине вышеCLI-параметрНазначение
[Напряжение батареи] osd_vbat_pos Положение и видимость напряжения батареи.
[Значение RSSI] osd_rssi_pos Положение и видимость RSSI.
[Таймер 1] osd_tim_1_pos Положение первого таймера; его источник настраивается отдельно.
[Израсходованная ёмкость батареи (mAh)] osd_mah_drawn_pos Положение показания расхода mAh.
[Отображение тока батареи] osd_current_pos Положение показания тока.
[Высота] osd_altitude_pos Положение показания высоты.
[Режим полёта] osd_flymode_pos Положение названия режима полёта.
[Название борта] osd_craft_name_pos Положение названия аппарата.
[Предупреждения] osd_warnings_pos Положение строки предупреждений.

Для просмотра параметров без изменений:

# get osd_
↑ К оглавлению

4. Как задать позицию

Это не число «строка-колонка». В Betaflight 4.5.4 позиция — упакованное целое число: младшие биты кодируют X (колонку) и Y (строку), другие — видимость в профилях OSD и тип. Для координат с X менее 32, без специальных битов значение параметра 2433 означает X = 1, Y = 12, элемент виден в профиле 1:

\[2433 = 2048 + 12\cdot32 + 1\]

Здесь 2048 — бит видимости профиля 1; прибавка 384 задаёт строку 12, единица — колонку 1. Например, 2048 означает элемент в колонке 0, строке 0, видимый в профиле 1. Для HD OSD и нескольких профилей используются дополнительные биты — универсально вычислять их простым «приписыванием цифр» нельзя. Примеры 2433 и 2048 поясняют устройство числа, это не координаты со скрина и не готовая разметка.

Как задать положение без ручного расчёта: Расставьте элементы и отметьте профили в GUI; затем возьмите полные значения osd_*_pos из своего diff all. Значение 0 снимает флаги видимости и прячет элемент во всех OSD-профилях, но также теряет его старые координаты. Сначала сохраните предыдущий diff all.
↑ К оглавлению

5. Прочие параметры OSD

Справа на скрине находятся общие настройки OSD. Не путайте активный профиль с отдельными флажками видимости элементов в профилях 1 / 2 / 3.

Поле GUI на скринеCLI 4.5.4Практический смысл
[Активный профиль OSD] — OSD Profile 1 set osd_profile = 1 Выбор текущего профиля; флаги видимости каждого элемента остаются в его osd_*_pos.
[Формат видео] — Авто set vcd_video_system = AUTO Формат видео при поддержке соответствующего устройства; варианты зависят от прошивки и аппаратуры.
[Единицы измерения] — Метрические set osd_units = METRIC Метрические единицы; варианты CLI также IMPERIAL и BRITISH.
[Таймеры] — 1 и 2 get osd_tim1 / get osd_tim2 Источник, точность и тревога каждого таймера упакованы в одно число. Число тревоги 10 в GUI нельзя без проверки записывать как osd_tim1 = 10.
[Сигналы] — RSSI 20 set osd_rssi_alarm = 20 Порог предупреждения RSSI, не координата элемента RSSI.
[Сигналы] — Ёмкость 2200 set osd_cap_alarm = 2200 Порог расхода mAh; это не настройка ёмкости батареи bat_capacity.
[Сигналы] — Высота 100 set osd_alt_alarm = 100 Порог предупреждения о высоте, не позиция высоты на экране.
[Сигналы] — Качество соединения 80 set osd_link_quality_alarm = 80 Порог LQ, не osd_link_quality_pos.
[Предупреждения] get osd_warn_bitmask Многие переключатели образуют общую битовую маску; не задавайте произвольное число вместо флажков GUI.
[После полёта статистика] get osd_stat_bitmask Выбор статистики также хранится битовой маской; проверяйте итог через diff all.
Важное различие osd_aux_channel: osd_aux_channel задаёт канал для соответствующего элемента OSD; это не команда переключения OSD-профилей. Для выбора текущего профиля используйте osd_profile, если настройка доступна на вашей плате.
Превью не обязательно совпадает со шрифтом полётника: Конфигуратор предупреждает об этом над редактором OSD. Проверяйте итоговый вид на вашем видеолинке после сохранения.
↑ К оглавлению

6. Практика

Задание 11.1. Сверить OSD и CLI

Только чтение CLI; видеоаппарат и полёт не требуются.

  • feature — убедитесь, что OSD есть среди Enabled.
  • get osd_profile — проверьте активный профиль.
  • get osd_vbat_pos и get osd_rssi_pos — сравните с отметками элементов в нужном профиле GUI.
  • Сохраните diff all перед любой перестановкой элементов. Для практической правки возьмите полное число позиции из GUI своего контроллера, не копируйте демонстрационные 2433 / 2048.
↑ К оглавлению

7. Проверьте себя

Сформулируйте ответ своими словами, прежде чем сверяться со справочником ответов (последняя статья курса).

  1. Как включается OSD?
  2. Что хранится в osd_*_pos и что означает значение 0?
  3. Почему osd_vbat_pos = 2433 не означает строку 24, колонку 33?
↑ К оглавлению

8. Чек-лист самопроверки

  • Знаю, что OSD включается фичей OSD
  • Знаю, что osd_*_pos объединяет координаты и видимость в OSD-профилях
  • Не трактую 2433 как «строка 24, колонка 33»
  • Понимаю: 0 убирает видимость и прежнее положение
  • Отличаю активный osd_profile от osd_aux_channel
Результат: Все пункты выполнены — переходите к следующему уроку.
↑ К оглавлению

9. Что дальше

  • Предыдущий урок: 10. Фейлсейф
  • Следующий урок: 12. LED-лента и бипер
  • Полный перечень тем — в статье «Содержание курса».
↑ К оглавлению
  • мод. : Пятница, 09 октября 2026