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

Урок 6. Режимы полёта — INAV … ↩

mod. Суббота, 31 октября 2026 21:29 . См. 5

Курс CLI · INAV firmware 9.1.0 · урок 6 из 13

Настройка и чтение диапазонов режимов и adjustments через CLI, разбор отображаемых Modes и безопасная проверка условий ARM и навигации.

Содержание

Безопасность. Снимите пропеллеры перед проверкой режимов и каналов на земле; не проверяйте ARM с установленными пропеллерами. Не копируйте диапазоны из SITL-снимка на реальный аппарат. Сначала сохраните исходные aux, adjrange и diff all; не обходите arming checks ради включения режима.

Цели и важное различие

После урока вы сможете:

  • прочитать конфигурацию диапазонов командой aux [Modes] и определить её числовые поля;
  • сопоставить CLI-индексы с каналами AUX, не путая номер канала передатчика со счётчиком от нуля;
  • отличить назначение режима от фактического включения режима и от разрешения ARM;
  • прочитать настройки adjrange [Adjustments] и не смешивать adjustments с обычными режимами.

Mode range (диапазон параметра) определяет условие, при котором канал приёмника включает заданный режим. Это не измерение фактического положения переключателя и не подтверждение готовности датчиков. CLI выводит конфигурацию aux, но не отображает реальные значения всех RC-каналов и не доказывает, что конкретный переключатель достигает заданного диапазона.

Отдельно: режим ARM — это команда arm/disarm, назначаемая переключателю; наличие диапазона ARM само по себе не означает, что контроллер разрешает взведение. Условия и блокировки проверяются отдельно.

Чтение и синтаксис AUX через CLI

Начните с чтения. Команда без аргументов показывает текущую конфигурацию mode ranges; status показывает состояние и причины блокировки ARM. Снимите вывод до изменений:

version
status
aux
adjrange
diff all

В INAV 9.1.0 команда записи имеет вид aux SLOT MODE_ID AUX_INDEX MIN_US MAX_US [Modes]. Вводите числовые поля, не названия режимов. В самой CLI-записи не печатайте буквальные заполнители SLOT и т. п.; замените их подтверждёнными числами. Читайте их из текущего вывода и официального списка режимов для этой версии.

Поле CLIСмысл и допустимые значения INAV 9.1.0
SLOT Индекс строки диапазона, 0–39. Не занимайте строку, уже используемую другой настройкой; сначала прочитайте aux.
MODE_ID Постоянный ID режима (permanent ID), а не произвольный номер строки в списке режимов. Снимок ниже содержит IDs 0, 1, 2, 3 и 10.
AUX_INDEX Индекс AUX с нуля: AUX1 = 0, AUX2 = 1, AUX3 = 2. При стандартных четырёх основных каналах им соответствуют приёмные каналы CH5, CH6, CH7.
MIN_US, MAX_US Границы в микросекундах в диапазоне 900–2100, с шагом 25. В коде INAV нижняя граница включена, верхняя не включена: value ≥ MIN_US и value < MAX_US. Это важно для соседних интервалов.

Конфигуратор подписывает каналы как CH5/CH6/CH7; CLI кодирует AUX-индекс от нуля. Конкретные live-значения каналов CLI не показывает. Если нужно доказать, что физический переключатель реально достигает нужного диапазона, используйте подходящий MSP-клиент/измерительное средство либо Configurator как альтернативный монитор — не считайте один вывод aux такой проверкой.

Числовые mode IDs INAV 9.1.0 для режимов, показанных на снимке, сверены с таблицей прошивки:

РежимPermanent ID для aux
ARM 0
ANGLE 1
HORIZON 2
NAV ALTHOLD 3
NAV RTH 10

Не берите IDs из старого wiki, чужого дампа, другой версии или enum boxId: CLI в INAV 9.1.0 читает permanent IDs. Допустимые режимы на конкретном target также зависят от сборки и типа платформы.

Разбор актуального снимка Modes

Modes INAV Configurator 9.1.1: диапазоны ARM, ANGLE, HORIZON, NAV RTH и NAV ALTHOLD на каналах CH5–CH7
INAV Configurator 9.1.1, firmware 9.1.0 (SITL). Это экран симулятора, а не измерение/настройка на физической полётной плате. Видимые диапазоны — иллюстративные значения снимка, не готовый профиль для копирования.

В снимке открыта вкладка Modes [Modes]. На ней видны такие поля/значения. Их прямое CLI-соответствие — команда aux [Modes > строка режима > CH / Min / Max]:

Строка/поля на снимкеMode IDAUX и индекс CLIДиапазон на снимке, μs
ARM, CH5, Min/Max 0 CH5 = AUX1 = 0 1700–2100
ANGLE, CH6, Min/Max 1 CH6 = AUX2 = 1 1300–1700
HORIZON, CH6, Min/Max 2 CH6 = AUX2 = 1 900–1300
NAV RTH, CH7, Min/Max 10 CH7 = AUX3 = 2 1700–2100
NAV ALTHOLD, CH7, Min/Max 3 CH7 = AUX3 = 2 1300–1700

Если бы эти пять строк намеренно кодировались в CLI и слоты с индексами 0–4 были свободны, команды имели бы такой вид. Это демонстрация перевода именно снимка; перед любой записью проверьте занятость слотов выводом aux. Не вводите пример как универсальную или проверенную на реальной модели конфигурацию.

aux 0 0 0 1700 2100
aux 1 1 1 1300 1700
aux 2 2 1 900 1300
aux 3 10 2 1700 2100
aux 4 3 2 1300 1700

Точки перехода в GUI показаны рядом с диапазонами для симуляторных каналов около 1500. На реальном передатчике проверьте реальные крайние значения и переключение отдельным live-инструментом. Верхний предел 2100 в логике range не включён; для устойчивой работы фактический канал должен уверенно попадать внутрь нужного диапазона, а не держаться ровно на границе.

Режим, ARM и навигационные prerequisites

INAV использует назначение ARM на переключатель; stick arming удалён начиная с INAV 2.2. Активный диапазон ARM — только выбранный вход. По Controls INAV 9.1.0 взведение блокируется, например, если настроены NAV modes без GPS lock либо загружена WP-миссия, у которой первая точка дальше nav_wp_safe_distance. Читайте status [Status] и устраняйте первопричину. Не отключайте arming checks и не применяйте bypass как способ «починить» конфигурацию.

Навигационные режимы назначают только после проверки требований для фактического воздушного судна и установленного оборудования:

  • NAV ALTHOLD требует валидного источника высоты; INAV выбирает доступный источник, например барометр, GPS или rangefinder.
  • NAV POSHOLD требует GPS, акселерометр и компас; для мультикоптера в документации указано дополнительное условие по барометру. Ограничения зависят от платформы.
  • NAV RTH требует корректных GPS, акселерометра и компаса; для мультиротора документация также указывает барометр. Перед применением отдельно проверьте Home, направление возврата, высоту и failsafe.
  • NAV WP — режим движения по загруженной waypoint-миссии; это не команда загрузки миссии.

Команда wp управляет waypoint-данными/миссиями, а не диапазонами режима; команда safehome управляет safehome locations. Не смешивайте эти операции с назначением mode ranges через aux. Наличие названия режима в списке или на скриншоте не доказывает readiness GPS, компаса, барометра или готовность безопасного полёта.

Проверка без GUI. CLI позволяет проверить настроенные диапазоны и сообщения блокировок, но не заменяет оценку live-команд стиков, датчиков, направления движения или фактического поведения NAV-режима. Такие проверки выполняйте отдельным инструментом и только по безопасной процедуре для своего airframe.

Adjustments — отдельная команда

adjrange [Adjustments] связывает диапазон одного AUX-канала с adjustment function и каналом-управлением. Это не то же самое, что aux: aux включает режим, adjrange управляет настройкой через назначенную функцию. Сначала только прочитайте текущие строки:

adjrange
help adjrange

Синтаксис одной строки: adjrange RANGE_INDEX SLOT AUX_INDEX MIN_US MAX_US FUNCTION_ID ADJUSTMENT_AUX_INDEX. В INAV 9.1.0 предусмотрено до 20 строк (RANGE_INDEX 0–19) и четыре одновременных adjustment slots (SLOT 0–3). Оба канала AUX указываются индексами с нуля; границы диапазона задаются в микросекундах и шагом 25. Имена/числа adjustment functions сверяйте с официальной таблицей версии 9.1.0 — не используйте числа из чужой версии.

Не добавляйте adjustments в полётной конфигурации как упражнение «на пробу»: изменение rate/PID или другой функции в воздухе может сделать аппарат неуправляемым. Для учебной практики достаточно разобрать существующий вывод adjrange и объяснить все семь полей. Изменение, проверка и сохранение требуют отдельного конкретного стенда, backup и контролируемой процедуры.

Безопасная процедура и практика

  1. Сверьте version, target и тип платформы. Сохраните выводы status, aux, adjrange и diff all во внешний backup.
  2. По фактической карте каналов установите, какой AUX управляет каким переключателем; CLI-only считывание настроек не подтверждает live-ход канала.
  3. Для каждого желаемого режима выберите свободный range slot, проверьте permanent ID в источнике INAV 9.1.0, AUX index и реальные пороги канала. До записи составьте план.
  4. После изменения перечитайте aux, сравните с планом и проверьте конфигурацию в безопасном состоянии. Для фактического переключения используйте внешний live-инструмент/Configurator, не подменяя его чтением настроенного диапазона.
  5. Сохраните изменения только после проверки и согласования: команда save [Modes > Save] сохраняет изменения и перезагружает контроллер. После reboot повторите чтение.

Практика без записи во FC: возьмите приведённый в разделе 02 скриншот, отметьте permanent ID каждого режима, переведите CH5–CH7 в AUX index 0–2, затем проверьте соответствие пяти диапазонов синтаксису aux. Для adjustments возьмите существующий вывод adjrange и подпишите диапазон, slot, условный канал, function ID и канал изменения. Критерий — корректно разобраны все поля без копирования SITL-настроек в аппаратную конфигурацию.

Критерий завершения. Вы можете отличить режим от prerequisites/ARM, прочитать и объяснить строки aux и adjrange, правильно перевести CH5–CH7 в CLI AUX indices и назвать, какие live-проверки один CLI выполнить не может.

Чек-лист и контрольные вопросы

  1. Как отличаются aux и adjrange?
  2. Почему CH5 отображается как AUX1, но в CLI указывается AUX_INDEX = 0?
  3. Какой permanent ID у NAV RTH в INAV 9.1.0, и почему нельзя подставить значение из старого списка режимов?
  4. Что означает верхняя граница диапазона в проверке INAV и почему соседние диапазоны удобно делать стык-в-стык?
  5. Какие факты можно получить из aux, а какие требуют чтения live-каналов/физического теста?
  6. Почему активный режим ARM не является доказательством, что взведение разрешено?

Источники INAV 9.1.0

  1. CLI reference: команды aux и adjrange
  2. CLI parser/вывод aux и adjrange
  3. Таблица permanent IDs режимов
  4. Логика mode-range и границы диапазона
  5. Controls/Arming: ARM и условия блокировки
  6. Navigation: prerequisites NAV ALTHOLD, POSHOLD, RTH и WP
  7. Inflight Adjustments: синтаксис, диапазоны и функции

Следующий урок: failsafe. Различайте выбор режима failsafe, условия ARM и реальные реакции при потере RC; ни одна из них не доказывается одним назначением переключателя.

Проверено: 31.10.2026

↑ К оглавлению

  • мод. : Суббота, 31 октября 2026