In diesem Thema werden Lua-Scripte besprochen.


🎛 Lua-Skripte auf Radiomaster: Aufbau & Einsatzbeispiele

📦 Was sind Lua-Skripte?

Lua ist eine leichtgewichtige Skriptsprache, die direkt auf OpenTX/EdgeTX-Radios läuft. Skripte ermöglichen:

  • Konfiguration des Empfängers (z. B. ELRS)
  • Steuerung des VTX (Kanal, Leistung)
  • Anzeige von Telemetrie (RSSI, LQ, GPS)
  • Konfiguration von Modulen wie Crossfire oder Ghost

📁 Lua-Skript-Struktur

Ein Lua-Skript ist eine .lua-Datei, die auf der SD-Karte im Ordner /SCRIPTS/TOOLS/ oder /SCRIPTS/MIXES/ liegt.

Beispielstruktur:

SDCARD/

├── SCRIPTS/

│   ├── TOOLS/

│   │   ├── elrs.lua

│   │   ├── crossfire.lua

│   │   └── vtx.lua

│   ├── MIXES/

│   │   └── rpm_tune.lua

  • TOOLS: Manuell aus dem Tools-Menü aufrufbare Skripte
  • MIXES: Automatisch im Hintergrund laufende Skripte

📜 Aufbau eines einfachen Lua-Skripts

lua

-- Beispiel: simple_rssi.lua

local rssi


local function run()

  lcd.clear()

  rssi = getValue("RSSI")

  lcd.drawText(10, 10, "RSSI: " .. rssi, MIDSIZE)

  return 0

end


return { run = run }

Erklärung:

  • getValue("RSSI"): Holt den RSSI-Wert vom Empfänger
  • lcd.drawText(x, y, text, size): Zeichnet Text auf dem Display
  • run(): Hauptfunktion des Skripts

⚙ Wichtige Lua-Skripte & ihre Funktionen

1. ELRS.lua (ExpressLRS)

 Speicherort: /SCRIPTS/TOOLS/elrs.lua

Funktionen:

  • Setzen der Sendefrequenz (250 Hz / 500 Hz)
  • Output Power umstellen (10 mW bis 1000 mW+)
  • WiFi-Update-Modus
  • Bind-Modus

▶️ Aufrufbar im Radio: System > Tools > elrs


2. crossfire.lua (TBS Crossfire)

 /SCRIPTS/TOOLS/crossfire.lua

Funktionen:

  • VTX-Setup über Crossfire (VTX Tabels)
  • Linkqualität (LQ), RSSI, GPS anzeigen
  • Empfänger binden
  • Notchfilter für Telemetrie deaktivieren

3. vtx.lua (IRC Tramp oder SmartAudio)

Voraussetzung: SmartAudio/Tramp via UART aktiviert

Funktionen:

  • Band/Kanal/Power-Level einstellen
  • PIT-Mode ein-/ausschalten
  • Frequenzwechsel vor/nach dem Flug (Race Mode)
  • Per Schalter steuerbar via AUX-Kanal

4. GPS.lua (GPS-Telemetrie)

Benutzerdefinierte Skripte mit:

  • Höhe (Altitude)
  • Entfernung zur Home-Position
  • Speed in km/h
  • GPS-Fix prüfen

⚠ Skript muss kompatible Sensorwerte wie Alt, Dist, GPS verwenden.


✅ Anwendung – So nutzt du Lua-Skripte

Schritt-für-Schritt:

  1. SD-Karte mit Skript füllen
    • Lade das Skript von GitHub oder Herstellerseite (z. B. ELRS repo)
    • Lege es in /SCRIPTS/TOOLS/
  2. Skript aufrufen
    • Drücke SYS → Reiter „Tools“
    • Wähle z. B. elrs.lua
    • Bediene über Touchscreen oder Scrollrad
  3. Automatischer Start (MIXES)
    • Z. B. rpm_filter.lua läuft im Hintergrund zur Messung von Motordrehzahl

🔐 Sicherheit & Tipps

  • Nutze nur verifizierte Skripte (z. B. von ExpressLRS, GitHub, Hersteller)
  • Lua-Skripte können Abstürze oder Freezes verursachen, wenn sie fehlerhaft sind
  • Prüfe Versionen: Lua-Versionen ändern sich zwischen OpenTX & EdgeTX

🧪 Fortgeschritten: Eigene Lua-Skripte schreiben

Du kannst z. B. ein Skript schreiben, das einen RSSI-Alarm auslöst:

lua


local function run()

  local rssi = getValue("RSSI")

  if rssi < 35 then

    playTone(440, 100, 100, 0)

  end

  return 0

end


return { run = run }

Speichere das Skript als /SCRIPTS/MIXES/rssi_alarm.lua.


📚 Quellen & Tools