taranis - написание скриптов для моделей.

msl_272

Начиная с версии прошивки openTX 2.0 разработчики TARANIS дали пользователям возможность самим писать скрипты управления передатчиком и моделью.
Информация размещена здесь:
github.com/opentx/opentx/wiki/Lua-Model-Scripts

Скрипт пишется на языке Lua. Файлик скрипта размещается в папке /SCRIPTS на карте памяти передатчика. В настройке модели можно подключить нужный скрипт к управлению данной моделью.

Что это дает и как работает давайте попробуем разобраться…

JIexa21

Ну судя по всему ничего сложного и даже можно упростить некоторые вещи, которые приходилось программировать через встроенные и специальные функции.
Ну или какие-нибудь УЕ в попугаях выводить после преобразования в телеметрию.

msl_272

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

fidller

а чего скрипт может сделать? для чего это?

HikeR
fidller:

а чего скрипт может сделать?

тетрис на экране, свой собственный жутко навороченный микшер, часы с будильником.

AIRDAN
HikeR:

тетрис на экране, свой собственный жутко навороченный микшер, часы с будильником.

А бесконечный цикл с последующим зависанием аппы можно сделать? 😃

HikeR

а это уже от создателей lua-биндинга зависит, сделали они ограничение по времени выполнения или можно написать “while k<0 do k=1 end”. в мануалах про такое вроде бы не сказано.

msl_272

С одной стороны возможности практически не ограниченные, с другой…
У них на сайте появилось предупреждение - Не используйте скрипты для важных модельных функций. Т.к. если скрипт зависнет то модель будет не управляема.

Andrew91

Ура. Наконец-то смогу сделать своё хитрое преобразование сигнала со стика. Правда в инструкции написано, что скрипты выполняются только раз в 30 мс. Этого недостаточно для моих целей. Никто не знает, как уменьшить это время?

msl_272

Про 30 мс я не встречал. Может это не для модельного скрипта? Они там разные есть.
Я в описании видел, что модельный скрипт выполняется каждый раз перед обработкой микшеров.

Andrew91
msl_272:

Про 30 мс я не встречал. Может это не для модельного скрипта? Они там разные есть.

Standard OpenTX mixes are run every XX milliseconds in a very deterministic way (guaranteed execution) while model scripts are run from another thread with less priority. Their execution period is around 30ms and is not guaranteed!

Обычные миксы запускаются каждые ХХ милисекунд определенным способом (гарантированное исполнение), в то время как модельные скрипты запускаются из другой ветви с меньшим приоритетом. Период их выполнения обычно около 30 мс, но никаких гарантий нет.

msl_272:

Я в описании видел, что модельный скрипт выполняется каждый раз перед обработкой микшеров.

Где вы такое видели? Может не так поняли?

11 days later
AlexXx_k

Парни, расскажите подробнее, для чего используете скрипты?

msl_272

Да сами бы хотели узнать…
Возможность появилась совсем недавно с выходом второй версии ПО. Перспективы открываются просто огромные, но людей которые что либо уже написали наверное нет или очень мало.
Вероятно в ближайшее время начнут появляться библиотеки стандартных скриптов. Каждый скрипт сможет выполнять какую либо фишку. Подключил его и радуйся.

3 months later
msl_272

Прикольно. Хотелось бы еще знать как это делается.

Sabotaghe74
msl_272:

Прикольно. Хотелось бы еще знать как это делается.

вот здесь описание Но думаю меня не хватит на то, чтобы это всё переварить)))

Neznaykin

Перепост из соседней темы.

Использование Lua в OpenTX 2.0 улучшает функционал передатчика Что такое Lua(язык программирования в переводе с Португальского Луна)? Lua это язык скриптов общего назначения. Поддержка скриптов Lua -это новая функция OpenTX 2.0. Lua-скрипты сохраняются в текстовый файл и загружаются и выгружаются в радио по мере необходимости. Скрипт не является частью прошивки. Он нужен для настроек опций прошивки. Постоянные скрипты Постоянные скрипты загружены в радио и запущены пока в них есть необходимость. В одно и тоже время активны могут быть сразу несколько скриптов. Существует ограничение (из-за использование RAM) на количество постоянных скриптов. 7 это максимум (скрипты всех категорий). Если скрипт использует слишком много памяти или времени процессора он принудительно прекращается. Есть три вида постоянных скриптов Lua для OpenTX. Это скрипты Модели, скрипты Функционала и скрипты Телеметрии. Они используют один и тот же язык написания, но используются для выполнения разных ролей.

Разовыескрипты Стартуют для вызова какой-то специфической функции радио или, когда пользователь выбирает их из контекстного меню. Они выполняют свое предназначение и выгружаются. Помните, что все постоянные скрипты останавливаются при выполнении разовых скриптов. Они автоматически запускаются после выполнения одноразовых скриптов. Это сделано для того чтобы хватило ресурсов для выполнения одноразовых сценариев.

Структура папок Реорганизация структуры папок произошла в OpenTX 2.0.3. Структура папок в OpenTX 2.0.3 и выше выглядит так:

Со временем могут быть добавлены и другие папки. Создание своих собственных скриптов. Скрипты — это текстовые файлы. Любой может их редактировать и изменять для собственных нужд. Если есть желание попробовать есть секция разработчиков в OpenTX wiki которая будет полезна и поможет вам: github.com/opentx/opentx/wik...ting-in-OpenTX Самый легкий путь проверить работоспособность созданного скрипта — это проверка в симуляторе OpenTX Taranis. Если работоспособность скрипта в симуляторе вам кажется нормальной, загрузите его в радио и уже пробуйте его работоспособность там.

anm

Вчера весь вечер промучился, ни как не мог запустить скрипт. Перепробовал все, что были. Не работают. Сегодня нашел причину - не используйте пробелы в названии модели. Заменил на “_” всё заработало!

men68

Да, всякие прочие Футабы тихо плачут в сторонке 😃