28 декабря 2021

Миграция с OpenTX на EdgeTX и обратно

В модельном мире все меняется довольно быстро. Большинство компонентов, необходимых, чтобы поднять модель в воздух, давно стали с открытым исходным кодом. Но, если топовый проект перестает развиваться по каким-либо причинам, появляется его ответвление, где правила добавления новых изменений более лояльны. Так произошло с проектом OpenTX - открытой прошивки для большинства современных пультов управления, основным спонсором которого была компания FrSky. Почти полгода не появляется новых версий, количество востребованных изменений перевалило за критическую массу, но разработчики не спешат включать новый функционал в отлаженный код. Группа энтузиастов решила, что сможет вытянуть поддержку прошивки и обеспечить стабильную работу новых функций, код OpenTX был скопирован и образовался новый проект - EdgeTX. Основная причина появления форка - обеспечение работы тач-скрина на аппаратуре Radiomaster TX16S. Со временем проект EdgeTX оброс приличным сообществом и новый функционал стал нарастать довольно стремительно. Разработчики первыми обеспечили связь между ExpressLRS-модулем и пультом на частоте 500Гц, а теперь и еще выше. Появилась возможность использовать Crossfire-модуль с пультом FrSky QX7 без установки инвертора. В общем, настало время попробовать новую EdgeTX-прошивку, а если не понравится - будет возможность откатиться назад.

По функционалу прошивка состоит из трех компонентов: загрузчик (boot loader), собственно прошивка и содержимое SD-карты. Из загрузчика у нас есть возможность обновить прошивку или получить доступ к SD-карте. Загрузчик можно обновить несколькими методами, но для упрощения процесса будем использовать DFU-режим.

Получается, что в основе всего загрузчик, а остальное вторично. Даже если установка загрузчика пойдет неудачно, всегда можно подключить пульт к компьютеру в DFU-режиме и залить загрузчик из OpenTX-компаньена - это безотказный метод. Приступаем!

Обновление с OpenTX на EdgeTX:

  • Запускаем пульт в режиме загрузчика (левый и правый триммеры смещаем друг к другу и удерживаем, нажимаем кнопку питания).

  • На экране пульта появляется заставка загрузчика OpenTX. Подключаем пульт к компьютеру через USB (Radiomaster TX16S - верхний разъем).

  • В системе появится носитель с содержимым SD-карты. Копируем содержимое SD-карты на компьютер в отдельную директорию. Когда все закончится, безопасно отключаем носитель.

  • Подключаем выключенный пульт к компьютеру через USB (Radiomaster TX16S - верхний разъем). Через несколько секунд пульт перейдет в DFU-режим.
  • Запускаем OpenTX-компаньен, открываем диалог "Сохранить прошивку из передатчика в файл" через меню "Чтение/Запись > Скачать прошивку из передатчика". Для сохранения прошивки выбираем место на диске, близкое к ранее сохраненному содержимому SD-карты - позже все это пригодится.

  • Нажимаем "Сохранить" и ждем завершения процесса. Отключаем пульт от компьютера.

  • Скачиваем архив EdgeTX-прошивки по ссылке. Он будет выглядеть как "edgetx-firmware-....zip". Извлекаем из него .bin-файл, соответствующий вашему пульту. В моем случае это "tx16s-....bin".
  • Подключаем выключенный пульт к компьютеру через USB (Radiomaster TX16S - верхний разъем). Через несколько секунд пульт перейдет в DFU-режим.
  • Запускаем OpenTX-компаньен, открываем диалог "Обновление прошивки" через меню "Чтение/Запись > Обновить прошивку передатчика". Выбираем извлеченный из скачанного архива .bin-файл прошивки. Важно, в этом диалоге необходимо отключить проверку совместимости с передатчиком!

  • Нажимаем кнопку "Записать" и ждем завершения процесса. Процесс не быстрый, придется подождать некоторое время. Если все прошло успешно, получим сообщение "File downloaded successfully".

  • Отключаем пульт от компьютера и запускаем его в режиме загрузчика (левый и правый триммеры смещаем друг к другу и удерживаем, нажимаем кнопку питания).

  • На экране пульта должна появиться заставка загрузчика EdgeTX. Подключаем пульт к компьютеру через USB (Radiomaster TX16S - верхний разъем).

  • В системе появится носитель с содержимым SD-карты. Удаляем с него все данные, кроме каталогов "MODELS" и "RADIO".

  • Скачиваем по ссылке архив с содержимым SD-карты для EdgeTX (для Radiomaster TX16S - это "horus.zip") и распаковываем в отдельную директорию. Копируем содержимое архива на SD-карту пульта. Не забываем бросить в каталог "SCRIPTS/TOOLS" требующиеся lua-скрипты, например, elrsV2.lua.

  • Скачиваем по ссылке наборы звуковых файлов. Мне достаточно архивов с английским и русским вариантами. Распаковываем полученные архивы и копируем содержимое на SD-карту пульта.

  • Когда все закончится, безопасно отключаем носитель. Выключаем пульт и извлекаем USB-шнур. На этом первичная установка EdgeTX завершена.
  • При первом включении пульта с EdgeTX, если не были удалены каталоги "MODELS" и "RADIO", прошивка предложит конвертировать файлы моделей и настройки пульта в новый yml-формат, поддерживаемый EdgeTX. Это обычные текстовые файлы, которые легко читаются и редактируются.

  • Соглашаемся, нажав стрелочку на экране. После этого появится главный экран EdgeTX. Но это еще не все...

  • Проверим, включен ли мультипротокольный модуль в пульте и на какой частоте будут работать все доступные модули. У меня все заработало на частоте 3.75Мбит/с - это реально много!

  • Можно проверить версию EdgeTX и параметры сборки прошивки. Так как у меня был установлен встроенный bluetooth-модуль, то некоторого функционала мне было недостаточно, поэтому позже собрал прошивку с необходимыми мне опциями.

Далее, как обычно с новым пультом, надо сделать калибровку стиков, калибровку напряжения аккумулятора и прочие настройки. Если по каким-либо причинам прошивка EdgeTX не понравилась, всегда можно вернуть все, как было.

Возвращение OpenTX вместо EdgeTX:

  • Запускаем OpenTX-компаньен, открываем диалог "Обновление прошивки" через меню "Чтение/Запись > Обновить прошивку передатчика". Выбираем ранее сохраненный bin-файл прошивки OpenTX. Важно, в этом диалоге необходимо отключить проверку совместимости с передатчиком!

  • Нажимаем кнопку "Записать" и ждем завершения процесса. Как и в прошлый раз, процесс не быстрый, надо подождать. Если прошло успешно, внизу будет сообщение "File downloaded successfully".

  • Отключаем пульт от компьютера и запускаем его в режиме загрузчика (левый и правый триммеры смещаем друг к другу и удерживаем, нажимаем кнопку питания).

  • На экране пульта появляется заставка загрузчика OpenTX. Подключаем пульт к компьютеру через USB (Radiomaster TX16S - верхний разъем).

  • В системе появится носитель с содержимым SD-карты. Удаляем все данные и копируем ранее сохраненное содержимое SD-карты с компьютера. Когда все закончится, безопасно отключаем носитель. Выключаем пульт и извлекаем USB-шнур.

Вот и все. После включения пульта все будет, как и раньше. Не придется делать какие-либо настройки или калибровки. Вернуть прошивку OpenTX обратно оказалось немного проще.

От себя добавлю, что пока не планирую возвращаться к OpenTX. Да, понимаю, что прошивка EdgeTX новая, местами могут быть проблемы, но только за одно то, что больше практически не придется пользоваться роликом-энкодером, этой прошивке стоит дать шанс:)

1 комментарий :