Lua в EdgeTX может участвовать в mixer, обрабатывать телеметрию или рисовать интерфейс. Эти роли имеют разный риск. Официальное руководство предупреждает: если custom mixer script прекращает работу, связанная строка mixer отключается. Поэтому критичное управление нельзя оставлять без штатного fallback.

Выбери правильный тип расширения
Widget нужен для представления данных на экране. Telemetry или tool script подходит для взаимодействия и анализа. Mixer script вычисляет значения для модели и требует максимальной осторожности. Не используй mixer только потому, что в нём удобно написать формулу для красивого индикатора.

Раздели данные и управление
Слой данных читает датчики, проверяет свежесть и приводит единицы. Слой представления рисует значения и состояния. Критичные каналы ARM, газ и основные оси остаются в штатных Inputs/Mixes/Outputs. Если скрипт добавляет вспомогательную команду, её отсутствие должно оставлять безопасное предсказуемое состояние.
Обрабатывай пропавшую телеметрию
- отличай ноль от отсутствующего или устаревшего датчика;
- показывай возраст значения и состояние соединения;
- не продолжай расчёт по бесконечно старому образцу;
- ограничивай частоту звуковых тревог;
- не блокируй интерфейс ожиданием ответа устройства.
Учитывай ресурсы радио
Скрипт должен быстро отдавать управление, не создавать крупные объекты в каждом кадре и не выполнять тяжёлую обработку без необходимости. Проверяй память и отзывчивость на реальной аппаратуре, а не только в эмуляторе. Несколько виджетов могут конкурировать за те же ресурсы.
Тестовый набор
- Запуск без датчиков и без RF-модуля.
- Появление, исчезновение и переименование датчика.
- Граничные, отрицательные и неожиданные значения.
- Переключение экранов и моделей.
- Ошибка скрипта при подключённой модели без пропеллеров.
- Проверка штатного управления после удаления скрипта.
Версионируй Lua вместе с моделью, EdgeTX и SD pack. Перед обновлением сохраняй рабочий комплект. Профессиональный виджет помогает быстрее принять решение, но никогда не маскирует отсутствие исходных данных и не делает полёт зависимым от декоративного экрана.
Критерий выпуска
Проверь скрипт на минимально поддерживаемой аппаратуре и с полным набором экранов модели. Зафиксируй потребление памяти, отзывчивость и поведение после ошибки. Пользователь должен видеть версию и состояние данных, а удаление виджета не должно менять каналы. После обновления EdgeTX повтори тесты на реальном радио.