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

Статья

EdgeTX Lua и виджеты телеметрии: архитектура без риска для управления

Как разделить EdgeTX mixer scripts, telemetry scripts и widgets, ограничить нагрузку и не поставить управление моделью в зависимость от интерфейсного кода.

Редакция WARPfly2 мин чтения0 просмотров

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

EdgeTX Lua и виджеты телеметрии: архитектура без риска для управления — обложка WARPfly
EdgeTX Lua и виджеты телеметрии: архитектура без риска для управления — обложка WARPfly. Оригинальная графика WARPfly.

Выбери правильный тип расширения

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

EdgeTX Lua и виджеты телеметрии: архитектура без риска для управления — карта материала
EdgeTX Lua и виджеты телеметрии: архитектура без риска для управления — карта материала. Оригинальная графика WARPfly.

Раздели данные и управление

Слой данных читает датчики, проверяет свежесть и приводит единицы. Слой представления рисует значения и состояния. Критичные каналы ARM, газ и основные оси остаются в штатных Inputs/Mixes/Outputs. Если скрипт добавляет вспомогательную команду, её отсутствие должно оставлять безопасное предсказуемое состояние.

Обрабатывай пропавшую телеметрию

  • отличай ноль от отсутствующего или устаревшего датчика;
  • показывай возраст значения и состояние соединения;
  • не продолжай расчёт по бесконечно старому образцу;
  • ограничивай частоту звуковых тревог;
  • не блокируй интерфейс ожиданием ответа устройства.

Учитывай ресурсы радио

Скрипт должен быстро отдавать управление, не создавать крупные объекты в каждом кадре и не выполнять тяжёлую обработку без необходимости. Проверяй память и отзывчивость на реальной аппаратуре, а не только в эмуляторе. Несколько виджетов могут конкурировать за те же ресурсы.

Тестовый набор

  1. Запуск без датчиков и без RF-модуля.
  2. Появление, исчезновение и переименование датчика.
  3. Граничные, отрицательные и неожиданные значения.
  4. Переключение экранов и моделей.
  5. Ошибка скрипта при подключённой модели без пропеллеров.
  6. Проверка штатного управления после удаления скрипта.

Версионируй Lua вместе с моделью, EdgeTX и SD pack. Перед обновлением сохраняй рабочий комплект. Профессиональный виджет помогает быстрее принять решение, но никогда не маскирует отсутствие исходных данных и не делает полёт зависимым от декоративного экрана.

Критерий выпуска

Проверь скрипт на минимально поддерживаемой аппаратуре и с полным набором экранов модели. Зафиксируй потребление памяти, отзывчивость и поведение после ошибки. Пользователь должен видеть версию и состояние данных, а удаление виджета не должно менять каналы. После обновления EdgeTX повтори тесты на реальном радио.

Была ли статья полезна?

#EdgeTX Lua#widgets#telemetry script#mixer script#dashboard#безопасность аппаратуры

Примените знания на практике

Подберите совместимые комплектующие или изучите готовые сборки пилотов.