Programming Framework позволяет связать данные, логические условия и действия без изменения исходного кода прошивки. Его сила одновременно является риском: одна неочевидная зависимость может изменить управление в полёте. Начинай с наблюдаемого сценария, который ничего критичного не включает.

Опиши правило обычным языком
До конфигуратора запиши: «когда выполняются условия A и B, вычислить C; если C истинно, показать или записать результат». Укажи единицы, допустимый диапазон и поведение при отсутствии датчика. Если правило нельзя объяснить одной фразой, раздели его на несколько этапов.

Разбери строительные блоки
- Операнды предоставляют значения: канал, датчик, константа или переменная.
- Операции сравнивают, вычисляют или объединяют значения.
- Logic Conditions дают проверяемый результат.
- Global Variables хранят промежуточное состояние.
- Actions меняют поведение системы и требуют особой осторожности.
Точные доступные операнды и действия зависят от версии INAV. Пользуйся документацией той ветки, которая установлена на контроллере, и сохраняй backup до изменений.
Первый сценарий сделай неопасным
Выбери условие, которое можно переключать на столе, и направь результат в наблюдаемую переменную или индикацию. Не начинай с управления мотором, сервой, ARM или навигационным режимом. Проверь ложь, истину, границу и исчезновение источника данных.
Ищи скрытые состояния
- Что происходит сразу после загрузки контроллера?
- Сохраняется ли результат после исчезновения условия?
- Как обрабатывается равенство порогу и дрожание около него?
- Может ли другое правило записать ту же переменную или действие?
- Как пилот отменит автоматическое действие?
Добавляй действие через лестницу тестов
Сначала наблюдение, затем безопасное действие без пропеллеров, затем наземная проверка с реальными датчиками и только потом короткий полёт в простом режиме. Логируй входы, результат условия и фактическое действие. У каждого правила должен быть ручной выход и состояние по умолчанию, которое не ухудшает безопасность.
Сохрани конфигурацию, текстовое описание правила и таблицу тестов. Programming Framework становится поддерживаемым инструментом только тогда, когда другой человек может воспроизвести причину каждого срабатывания.
Критерий готовности
Правило готово к полёту, если все его входы наблюдаемы, границы проверены в обе стороны, потеря данных приводит к безопасному результату, а пилот может отменить действие одним заранее отработанным способом. Повторяй этот набор после изменения порядка условий, sensor source или версии INAV: прежний успешный тест не покрывает новую схему.