One-Time Scripts
WARNING - Running a One-Time script will suspend execution of all other currently loaded Lua scripts (Custom, Telemetry, and Functions)
Overview
One-Time scripts start when called upon by a specific radio function or when the user selects them from a contextual menu. They do their task and are then terminated (by user or function) and unloaded.
Running a One-Time script will suspend execution of all other currently loaded Lua scripts (Custom, Telemetry, and Functions). They are automatically restarted once the One-Time script is finished. This is done to provide enough system resources to execute the One-Time script.
Execution & Lifetime
Script is executed when user selects Execute on a script file from SD card browser screen, or opens a Lua Tool, or creates a new model with a Wizard script.
The script executes until:
it returns value different from 0 (except returning string that contains new script name to be executed)
is forcefully closed by user by long press of EXIT key
is forcefully closed by system if it misbehaves (e.g. run-time error or low
memory)
File Location
One-Time Scripts can be placed anywhere on SD card, however, the folder /SCRIPTS/ is recommended.
Wizard scripts must be stored in the same subfolder of /TEMPLATES/ with the same "first name" as the template file using it. Some Wizard scripts are just small scripts that load one of the common scripts located in /SCRIPTS/WIZARD/.
Interface
Every script must include a return
statement at the end, defining its interface to EdgeTX. This statement returns a table with the following fields:
run
(function) obligatory this function is called periodically when script is running ParameterReturn value
exit
(multi type)if
exit
value is 0 (zero) script will continue to runif
exit
value is non-zero script will be halted.If
exit
value is a text string with the file path to a new Lua script, then the new script will be loaded and run.\
init
(function) optional this function is called once when script is executed. Parametersnone Return Value none
Examples
Simplest one-time LUA script
Last updated
Was this helpful?