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.message
      • lvgl.momentaryButton
      • lvgl.hide
      • lvgl.hline
      • lvgl.image
      • lvgl.label
      • lvgl.line
      • lvgl.menu
      • 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
  • Syntax
  • Parameters
  • Return values
  • API Status
  • Change log

Was this helpful?

Export as PDF
  1. LUA API Reference
  2. LVGL for Lua

lvgl.button

Add a text button using the EdgeTX style.

Syntax

lvgl.button[parent], {settings})

parent:button({settings})

Parameters

See the API page for parameter description and common settings.

Button specific settings:

Name
Type
Description
Default if not set

text

String or Function

Text to be displayed in the button.

Empty string

press

Function

Called when the user taps on the button, after the user releases ENTER key or stops touching the screen. Note: the 'press' function may optionally return a integer value. If the return value if non-zero then the button will be displayed in the 'checked' state.

nil

longpress

Function

Called when the user long taps on the button. Note: the 'longpress' function may optionally return a integer value. If the return value if non-zero then the button will be displayed in the 'checked' state.

nil

active

Function

Set the enabled / disabled state. Return value must be a boolean - true to enable the control, false to disable.

nil

checked

Boolean

Sets the initial 'checked' state for the button. If true the button will display in the checked state. Can be updated with the set() function.

false

color

Color or Function

Sets the background color for the button.

EdgeTx button style color - PRIMARY2 theme color.

textColor

Color or Function

Sets the text color for the button label.

EdgeTx button style color - SECONDARY1 theme color.

cornerRadius

Number

Sets the radius for the corners of the button.

EdgeTx button style radius.

font

Font Value

Sets the font size. E.G.: - MIDSIZE - DBLSIZE

STDSIZE

Return values

LVGL object

API Status

Avail
Status
Comment

BW radios

Color radios

active

Only available for One-Time scripts and widgets running in full screen mode.

Change log

EdgeTX version
Change

2.11.0

Introduced

Previouslvgl.buildNextlvgl.choice

Last updated 1 month ago

Was this helpful?