INAV Web Serial: обзор, миксер, моторы, серво, PID, рейты и режимы

Обновлено: 2026-07-18 inav MSP Web Serial миксер моторы motor test серво servo PID PID-тюнинг рейты rates expo режимы modes aux arm полётный контроллер

INAV Web Serial: обзор, миксер, моторы, серво, PID, рейты и режимы

Инструмент /tools/inav-connect подключается к полётному контроллеру на прошивке
INAV прямо из браузера по USB (Web Serial) и общается с ним по протоколу
MSP. Ничего не устанавливается, никакие данные не уходят на сервер — весь
обмен идёт локально между вашим компьютером и платой.

⚗️ Экспериментально · предальфа. Нужен десктопный Chrome или Edge,
открытый по HTTPS (Firefox, Safari и мобильные Web Serial не поддерживают).
Перед подключением закройте INAV/Betaflight Configurator — они держат COM-порт.

Инструмент реализован clean-room по открытому протоколу MSP (без кода
INAV/Betaflight Configurator): читаются и пишутся только MSP-кадры.

Вкладка «Обзор»

Подключение и чтение (только чтение):

  • вариант и версия прошивки, плата, имя аппарата, уникальный UID платы;
  • состояние blackbox-хранилища (SD-карта и онбордовая flash) и его объём;
  • сырой лог MSP-обмена в hex — чтобы видеть, что связь живая.

Нажмите «Подключить», выберите COM-порт полётника — данные подтянутся
автоматически.

Вкладка «Миксер / Моторы»

Появляется после подключения на вкладке «Обзор».

Тип миксера и платформа

Читается конфигурация миксера (MSP2_INAV_MIXER): тип платформы
(мультиротор / самолёт / вертолёт / трикоптер / ровер / лодка), применённый
пресет миксера, флаг реверса вращения моторов и motorstop.

  • Прочитать миксер — обновить значения с полётника.
  • Записать миксер (MSP2_INAV_SET_MIXER) — применить выбранный тип
    платформы и реверс.

Смена типа платформы/пресета вступает в силу после перезагрузки полётника
(в INAV Configurator или CLI: save). Полный набор правил mmix/smix
здесь не редактируется — это делается в INAV Configurator; инструмент
показывает и переключает тип платформы и реверс.

Выходы на моторы

Текущие значения на выходах (MSP_MOTOR, в микросекундах). Это фактический
порядок: «Выход 1» — первый мотор миксера и т.д. Переназначение выходов
делается в INAV Configurator — инструмент показывает раскладку.

Motor test

Слайдеры газа по моторам (MSP_SET_MOTOR). Раздел опасный — при вращении
мотора установленный пропеллер травмирует. Поэтому motor test защищён:

  1. Подтверждение «пропеллеры сняты». Пока галочка не стоит, слайдеры и
    кнопка запуска заблокированы.
  2. Лимит газа (по умолчанию 20 %). Ползунок-предохранитель: даже 100 % на
    слайдере мотора не даст газ выше лимита.
  3. Общий СТОП — красная кнопка мгновенно останавливает все моторы, сбрасывает
    слайдеры и выключает тест. Доступна всё время, пока есть связь.
  4. Автостоп срабатывает при потере связи, сворачивании вкладки/окна, уходе с
    раздела и при длительном бездействии — моторы глушатся сами.

Значения газа применяются только когда полётник разоружён (disarmed).

Порядок безопасного motor test:

  1. Снимите пропеллеры и надёжно закрепите аппарат.
  2. Поставьте галочку «Пропеллеры сняты…».
  3. Задайте лимит газа (начните с малого).
  4. Укажите число моторов и нажмите «Включить motor test».
  5. Плавно двигайте слайдер нужного мотора — проверьте, что крутится тот мотор
    и в ту сторону, что ожидаете.
  6. По окончании — «Общий СТОП» или снимите галочку.

Вкладка «Серво»

Появляется после подключения на вкладке «Обзор»; конфиги серв читаются
автоматически. Показаны серво 1–8 (INAV поддерживает до 18 — расширенные каналы
редактируются в INAV Configurator).

Конфигурация серв

Таблица параметров по каждому серво (MSP_SERVO_CONFIGURATIONS):

  • Min / Center / Max — endpoints и центр в микросекундах (предел хода
    500–2500 µs, значения вне диапазона зажимаются предохранителем);
  • Rate — норма хода [-125…125]; знак задаёт направление: «+» прямое,
    «−» реверс (колонка «Напр.» показывает это словами);
  • Выход — текущее значение на серво по MSP (MSP_SERVO, только чтение).

Кнопки: Прочитать серво — обновить значения с полётника; Записать
(в строке серво) или Записать все — отправить конфиги
(MSP_SET_SERVO_CONFIGURATION, по одному серво на команду).

Запись применяется к полётнику сразу, но в EEPROM сохраняется только
командой save (в INAV Configurator/CLI). До save изменения живут в RAM и
сбрасываются перезагрузкой.

Правила серво-миксера

Только чтение (MSP_SERVO_MIX_RULES): какой вход (стабилизация / RC-канал /
флапы / …) управляет каким серво и с каким rate. Пустые правила (rate = 0) не
показываются. Редактирование правил — в INAV Configurator.

Тест хода серво

Слайдер двигает выбранное серво, временно меняя его центр
(MSP_SET_SERVO_CONFIGURATION) — так же, как это делает «живой» режим серво-вкладки
INAV Configurator. Раздел с движением — под защитой:

  1. Подтверждение «поверхности/линкейджи свободны». Пока галочка не стоит,
    слайдер и кнопка запуска заблокированы.
  2. Ход ограничен endpoints выбранного серво (Min…Max) — слайдер не выведет
    серво за настроенные пределы.
  3. Возврат центра — красная кнопка «ВЕРНУТЬ ЦЕНТР» возвращает серво в исходный
    центр и выключает тест. Доступна всё время, пока есть связь.
  4. Автовозврат срабатывает при потере связи, сворачивании вкладки/окна и уходе
    с раздела — серво возвращается в исходный центр само.

Меняется только центр серво и только временно (в RAM); в EEPROM ничего не пишется.

Вкладка «PID-тюнинг»

Появляется после подключения на вкладке «Обзор»; PID-коэффициенты читаются
автоматически. Правятся основные оси стабилизации — Roll / Pitch / Yaw
(остальные петли INAV — позиционные, уровень, курс — редактируются в
INAV Configurator).

⚠️ Не меняйте PID в полёте. PID напрямую не крутят моторы, но неверные
коэффициенты делают аппарат неуправляемым и опасным в воздухе. Правьте PID
только на земле, при разоружённом (disarmed) полётнике, и проверяйте
изменения постепенно.

PID-коэффициенты по осям

Таблица коэффициентов по каждой оси (MSP2_PID):

  • P / I / D — пропорциональная, интегральная и дифференциальная составляющие;
  • FF — feed-forward (упреждение).

Все поля — целые в диапазоне 0–255 (значения вне диапазона зажимаются
предохранителем). Кнопки: Прочитать PID — обновить значения с полётника;
Записать PID (MSP2_SET_PID) — отправить изменения.

При записи в полётник уходит весь PID-банк: инструмент берёт прочитанные
значения всех петель и подменяет только отредактированные оси, поэтому
позиционные/level/heading настройки не затрагиваются.

Запись применяется к полётнику сразу, но в EEPROM сохраняется только
командой save (в INAV Configurator/CLI). До save изменения живут в RAM и
сбрасываются перезагрузкой.

Legacy-команды MSP_PID/MSP_SET_PID удалены из INAV (в 9.1) — PID-тюнинг
идёт только через MSP v2-команды MSP2_PID/MSP2_SET_PID.

Вкладка «Рейты / Expo»

Появляется после подключения на вкладке «Обзор»; рейты и expo читаются
автоматически. Правятся оси стабилизации Roll / Pitch / Yaw, RC expo,
throttle mid/expo и TPA — весь блок MSP_RC_TUNING.

⚠️ Не меняйте рейты в полёте. Рейты и expo сами по себе не крутят моторы,
но задают отклик аппарата на стики — резкая смена делает управление
непредсказуемым и опасным в воздухе. Правьте только на земле, при
разоружённом (disarmed) полётнике, и проверяйте изменения постепенно.

Рейты и expo по осям

Таблица рейтов по каждой оси (MSP_RC_TUNING):

  • Рейт — максимальная угловая скорость по оси. INAV хранит одно значение на
    ось (отдельных «RC rate» / «super rate», как в Betaflight, у INAV нет). Рядом
    показывается справочно ≈ °/с (значение × 10 — как в подсказке INAV: рейт 20
    ≈ 200 °/с). Диапазон Roll/Pitch — 4…180, Yaw — 1…180.

Ниже — общие поля:

  • RC expo (Roll/Pitch) и RC expo (Yaw) — сглаживание отклика у центра
    стика (0…100);
  • Throttle mid и Throttle expo — форма кривой газа (0…100);
  • TPA rate — снижение PID на высоком газу (0…200);
  • TPA breakpoint — точка газа (в µs, 1000…2000), с которой TPA включается.

Значения целые; вне диапазона зажимаются предохранителем. Кнопки: Прочитать
рейты
— обновить значения с полётника; Записать рейты (MSP_SET_RC_TUNING)
— отправить изменения.

При записи в полётник уходит весь блок рейтов: инструмент берёт прочитанные
значения и подменяет только отредактированные поля.

Запись применяется к полётнику сразу, но в EEPROM сохраняется только
командой save (в INAV Configurator/CLI). До save изменения живут в RAM и
сбрасываются перезагрузкой.

Legacy-команды MSP_RC_TUNING/MSP_SET_RC_TUNING в INAV 9.x сохранены
(в отличие от выпиленных MSP_PID) — рейты идут через них; байт rcRate8 в
начале кадра — устаревший плейсхолдер (INAV шлёт 100 и не использует).

Вкладка «Режимы / Aux»

Появляется после подключения на вкладке «Обзор»; список режимов и их диапазоны
читаются автоматически. Здесь настраивается активация режимов полёта
(ARM / ANGLE / HORIZON / NAV ALTHOLD / POSHOLD / RTH и т.д.) по диапазонам
aux-каналов приёмника.

⚠️ Осторожно с режимом ARM. ARM — это взвод: при поданном диапазоне и
наличии газа моторы могут запуститься. Меняйте диапазоны режимов только на
земле, при разоружённом (disarmed) полётнике и со снятыми пропеллерами.

Как это работает

Каждый режим активируется, когда значение назначенного aux-канала попадает в
заданный диапазон. Диапазон задаётся в микросекундах (µs) с шагом 25, от
900 до 2100 — так же, как в INAV Configurator.

Имена режимов и их постоянные идентификаторы читаются по MSP_BOXNAMES и
MSP_BOXIDS (эти два списка идут параллельно: имя ↔ id), диапазоны — по
MSP_MODE_RANGES.

Диапазоны

Для каждого диапазона показаны:

  • Режим — выпадающий список режимов, поддержанных полётником;
  • AUX-канал — какой канал приёмника управляет режимом (AUX1…AUX14);
  • Мин / Макс, µs — границы срабатывания.

Кнопки и действия:

  • Прочитать режимы — обновить список и диапазоны с полётника.
  • Добавить диапазон — новая строка в первый свободный слот.
  • Записать (в строке) — отправить диапазон в полётник
    (MSP_SET_MODE_RANGE, по одному диапазону на команду).
  • Удалить (в строке) — очистить слот (записывается пустой диапазон, а
    ещё не записанный черновик просто убирается).

Запись применяется к полётнику сразу, но в EEPROM сохраняется только
командой save (в INAV Configurator/CLI). До save изменения живут в RAM и
сбрасываются перезагрузкой. Полный набор режимов и логических условий
редактируется в INAV Configurator — инструмент правит основные диапазоны aux.

Живая подсветка активного режима

Кнопка «Живой опрос активных» периодически читает текущие значения каналов
(MSP_RC) по USB и подсвечивает диапазоны, активные при текущих положениях
переключателей (зелёная точка); имена активных режимов сводятся в строку
«Активны сейчас». Это локальное чтение порта — на сервер ничего не отправляется;
опрос останавливается сам при уходе со вкладки, сворачивании окна и отключении.

MSP-команды

Команда Код Назначение
MSP2_INAV_MIXER 0x2010 чтение конфига миксера (платформа, пресет, реверс, motorstop)
MSP2_INAV_SET_MIXER 0x2011 запись конфига миксера
MSP_MOTOR 104 чтение выходов на моторы (8×u16, µs)
MSP_SET_MOTOR 214 запись выходов на моторы — motor test (8×u16, µs)
MSP_SERVO 103 чтение текущих выходов серв (u16, µs)
MSP_SERVO_CONFIGURATIONS 120 чтение конфигов серв (min/max/middle/rate)
MSP_SET_SERVO_CONFIGURATION 212 запись конфига одного серво
MSP_SERVO_MIX_RULES 241 чтение правил серво-миксера
MSP2_PID 0x2030 чтение PID-банка (P/I/D/FF по группам, u8)
MSP2_SET_PID 0x2031 запись PID-банка (весь банк, PID_ITEM_COUNT×4 байта)
MSP_RC_TUNING 111 чтение рейтов/expo/throttle/TPA (11 байт)
MSP_SET_RC_TUNING 204 запись рейтов/expo/throttle/TPA (весь блок, 11 байт)
MSP_MODE_RANGES 34 чтение диапазонов активации режимов (4 байта/слот)
MSP_SET_MODE_RANGE 35 запись одного диапазона (index + 4 байта)
MSP_BOXNAMES 116 имена активных режимов (ARM/ANGLE/…, через ;)
MSP_BOXIDS 119 permanentId режимов (параллельно MSP_BOXNAMES)
MSP_RC 105 текущие значения RC-каналов (живая подсветка активного режима)

См. также