LUA Reference Guide
2.11
2.11
  • EdgeTX LUA Reference Guide
  • Overview
    • Lua Basics
    • LUA version and included libraries
      • io Library
    • Script Types
      • One-Time Scripts
      • Telemetry Scripts
      • Widget Scripts
      • Function Scripts
      • Mixes Scripts
    • Radios
      • BetaFPV
      • FlySky
      • FrSky
      • Jumper
      • Radiomaster
        • TX16S
    • Internal indexes
      • Source List
      • Switch Positions List
  • LUA API Reference
    • Constants
      • Color Constants
      • Flags and Pattern Constants
      • Key Event Constants
      • Logical Switch Function Constants
      • Screen Constants
      • Special Character Constants
      • Special Function Constants
      • Touch Event Constants
      • Widget Options Constants
      • Units
    • Display LCD
      • Lcd Functions Overview
      • lcd.clear
      • lcd.drawBitmap
      • lcd.drawChannel
      • lcd.drawCombobox(x, y, w, list, idx [, flags])
      • lcd.drawFilledRectangle(x, y, w, h [, flags])
      • lcd.drawGauge(x, y, w, h, fill, maxfill [, flags])
      • lcd.drawLine(x1, y1, x2, y2, pattern, flags)
      • lcd.drawNumber(x, y, value [, flags])
      • lcd.drawPixmap(x, y, name)
      • lcd.drawPoint(x, y)
      • lcd.drawRectangle(x, y, w, h [, flags [, t]])
      • lcd.drawScreenTitle(title, page, pages)
      • lcd.drawSource(x, y, source [, flags])
      • lcd.drawSwitch(x, y, switch, flags)
      • lcd.drawText(x, y, text [, flags])
      • lcd.drawTimer(x, y, value [, flags])
      • lcd.drawAnnulus(x, y, r1, r2, start, end [, flags])
      • lcd.drawArc(x, y, r, start, end [, flags])
      • lcd.drawCircle(x, y, r [, flags])
      • lcd.drawFilledCircle(x, y, r [, flags])
      • lcd.drawFilledTriangle(x1, y1, x2, y2, x3, y3 [, flags])
      • lcd.drawHudRectangle(pitch, roll, xmin, xmax, ymin, ymax [, flags])
      • lcd.drawLineWithClipping(x1, y1, x2, y2, xmin, xmax, ymin, ymax, pattern [, flags])
      • lcd.drawPie(x, y, r, start, end [, flags])
      • lcd.drawTriangle(x1, y1, x2, y2, x3, y3 [, flags])
      • lcd.getColor(area)
      • lcd.getLastLeftPos()
      • lcd.getLastPos()
      • lcd.getLastRightPos()
      • lcd.drawBitmapPattern(bitmap, x, y [, flags])
      • lcd.drawBitmapPatternPie(bitmap, x, y, startAngle, endAngle [, flags])
      • lcd.drawTextLines(x, y, w, h, text [, flags])
      • lcd.exitFullScreen()
      • lcd.invertRect(x, y, w, h [, flags])
      • lcd.refresh()
      • lcd.RGB
      • lcd.resetBacklightTimeout()
      • lcd.setColor(area, color)
      • lcd.sizeText(text [, flags])
      • popupConfirmation(title, message, event)
      • popupInput(title, event, input, min, max)
      • popupWarning(title, event)
      • GREY()
    • LVGL for Lua
      • Overview
      • Examples
      • Constants
      • API
      • lvgl.align
      • lvgl.arc
      • lvgl.box
      • lvgl.build
      • lvgl.button
      • lvgl.choice
      • lvgl.file
      • lvgl.circle
      • lvgl.clear
      • lvgl.color
      • lvgl.confirm
      • lvgl.dialog
      • lvgl.isAppMode
      • lvgl.isFullScreen
      • lvgl.exitFullScreen
      • lvgl.font
      • lvgl.getContext
      • lvgl.getScrollPos
      • lvgl.hide
      • lvgl.hline
      • lvgl.image
      • lvgl.label
      • lvgl.line
      • lvgl.menu
      • lvgl.message
      • lvgl.momentaryButton
      • lvgl.numberEdit
      • lvgl.page
      • lvgl.qrcode
      • lvgl.rectangle
      • lvgl.set
      • lvgl.setting
      • lvgl.show
      • lvgl.slider
      • lvgl.verticalSlider
      • lvgl.source
      • lvgl.switch
      • lvgl.textEdit
      • lvgl.timer
      • lvgl.toggle
      • lvgl.triangle
      • lvgl.vline
    • Model Functions
      • model.defaultInputs
      • model.deleteFlightModes
      • model.deleteInput
      • model.deleteInputs
      • model.deleteMix
      • model.deleteMixes
      • model.getCurve
      • model.getCustomFunction(function)
      • model.getFlightMode(index)
      • model.getGlobalVariable(index, flight_mode)
      • model.getInfo
      • model.getInput(input, line)
      • model.getInputsCount(input)
      • model.getLogicalSwitch(switch)
      • model.getMix(channel, line)
      • model.getMixesCount(channel)
      • model.getModule(index)
      • model.getOutput(index)
      • model.getSensor(sensor)
      • model.getTimer(timer)
      • model.insertInput(input, line, value)
      • model.insertMix(channel, line, value)
      • model.getSwashRing()
      • model.setSwashRing(params)
      • model.resetSensor(sensor)
      • model.resetTimer(timer)
      • model.setCurve(curve, params)
      • model.setCustomFunction(function, value)
      • model.setFlightMode(index, params)
      • model.setGlobalVariable(index, flight_mode, value)
      • model.setInfo(value)
      • model.setLogicalSwitch(switch, value)
      • model.setModule(index, value)
      • model.setOutput(index, value)
      • model.setTimer(timer, value)
    • Bitmap Functions
      • Bitmap.resize(bitmap, width, height)
      • Bitmap.toMask(bitmap)
      • Bitmap.getSize(name)
      • Bitmap.open(name)
    • Filesystem
      • chdir(directory)
      • del(file or directory)
      • dir(directory)
      • fstat(path)
    • Serial Ports
      • serialGetPower(port_nr)
      • serialRead([num])
      • serialSetPower(port_nr, value)
      • serialWrite(str)
      • setSerialBaudrate(baudrate)
    • System
      • defaultChannel(stick)
      • defaultStick(channel)
      • getGeneralSettings()
      • getVersion()
      • screenshot()
    • Key Inputs
      • getRotEncMode()
      • getRotEncSpeed()
      • killEvents(key)
    • LUA Scripts
      • getAvailableMemory()
      • getUsage()
      • loadScript(file [, mode], [,env])
    • Time
      • getDateTime()
      • getGlobalTimer()
      • getRtcTime()
      • getTime()
      • resetGlobalTimer([type])
    • Audio-Sound
      • playDuration(duration [, hourFormat])
      • playFile(name)
      • playHaptic(duration, pause [, flags])
      • playNumber(value, unit [, attributes])
      • playTone(frequency, duration, pause [, flags [, freqIncr]])
      • flushAudio()
    • Telemetry
      • getRSSI()
    • RF module
      • accessTelemetryPush()
      • crossfireTelemetryPop()
      • crossfireTelemetryPush()
      • ghostTelemetryPop()
      • ghostTelemetryPush()
      • sportTelemetryPop()
      • sportTelemetryPush()
      • getRAS()
      • multiBuffer(address[,value])
    • GPS
      • getTxGPS()
    • Variables
      • getFieldInfo(source)
      • getFlightMode(mode)
      • getLogicalSwitchValue(id)
      • getOutputValue(outputIndex)
      • getShmVar(id)
      • getSourceIndex(sourceName)
      • getSourceName(sourceIndex)
      • getSourceValue(source)
      • getSwitchIndex(positionName)
      • getSwitchName(switchIndex)
      • getSwitchValue(switchIndex)
      • getValue(source)
      • setShmVar(id, value)
      • setStickySwitch(id, value)
      • sources([first[, last]])
      • switches([first[, last]])
  • LUA API Programming
    • Data Exchange with the EdgeTX Model Setup
    • Drawing Flags and Colors
    • Init Function Syntax
    • Input Table Syntax
    • Loading Code Modules Dynamically
    • Output Table Syntax
    • Return Statement Syntax
    • Run Function Syntax
    • Saving Memory
    • Using Key and Touch Events
    • Advanced Topics
      • Debugging techniques
      • Lua data sharing across scripts
      • Speed/memory optimizaton tricks
  • Appendixes
    • Fonts
Powered by GitBook
On this page
  • Run Function for Mix Scripts
  • Run Function for Telemetry Scripts

Was this helpful?

Export as PDF
  1. LUA API Programming

Run Function Syntax

The run function is the function that is periodically called for the lifetime of script execution. Syntax of the run function is different between mix scripts and telemetry scripts.

Run Function for Mix Scripts

local function <run_function_name>([first input, [second input], …])

   -- if mix has no return values
   return

   -- if mix has two return values
   return value1, value2

end
  • Input parameters:

    zero or more input values, their names are arbitrary, their meaning and order is defined by the input table. (see Input Table Syntax)

  • Return values:

    • none - if output table is empty (i.e. script has no output)

      values

      • or -

    • comma separated list of output values, their order and meaning is defined by the output table. (see Output Table Syntax)

Run Function for Telemetry Scripts

local function <run_function_name>(key-event)
  return 0 -- values other than zero will halt the script
end
  • Input parameters:

    The key-event parameter indicates which transmitter button has been pressed (see Key Events)

  • Return values:

    A non-zero return value will halt the script

PreviousReturn Statement SyntaxNextSaving Memory

Last updated 1 year ago

Was this helpful?