Skip to content

1.3 Registrierung

Udo edited this page Jul 5, 2024 · 11 revisions

script Registrierung

Was bedeutet "Registrierung"?

Alle auf dem Sender gefundenen Skripte müssen beim Start des Senders "registriert" und daher dem Betriebssystem bekannt gemacht werden.

Dies geschieht unabhängig davon, welche Skripte im jeweiligen Modell überhaupt verwendet werden.

Der Sender besitzt nach Beenden des Bootvorgangs quasi einen "Katalog" von verfügbaren Skripten der jeweiligen Typklassen und kann daraufhin während der Bedienung Auswahllisten präsentieren.

Jedes Lua-Skript unterteilt sich in gewisse „Module“, sogenannte Handler, die jeweils spezielle Aufgabengebiete abdecken. (z.B. Datenverarbeitung im Hintergrund, Display ansteuern / zeichnen, Widget konfigurieren, Konfiguration lesen bzw. speichern, Ereignisse abfangen und auswerten….).

Auf jeden Fall muss jedes Skript den sogenannten init-Handler definiert haben, damit beim Senderstart das jeweilige Skript registriert wird. In dem Vorgang wird auch mit angegeben, welche „Module“, also weiteren Handler, im Skript benutzt werden.

Die Methode, so ein Skript zu registrieren, ist eine „Systemfunktion“ und damit aus der Klasse system.

Ein Widget wird beispielsweise mit der Methode system.registerWidget() deklariert. Als Code-Snippet das mögliche Beispiel eines kompletten init-Handlers für ein Widget:

local function init()
    system.registerWidget({key="Xample", name="Beispiel", create=create, wakeup=wakeup, paint=paint})
end

  • key ist der EINDEUTIGE Schlüssel für das Skript, dieser darf in keinem anderen Skript, egal welchen Typs, nochmals vorkommen.
  • name ist der in einer Auswahlliste präsentierte Name.
  • create ist der Handler, der beim ersten Aufruf des Skripts ausgeführt wird und wird der Funktion gleichen Namens „create“ zugewiesen.
  • Entsprechend wird der Hintergrund-Handler wakeup definiert.
  • Und ebenso der paint Handler für grafische Darstellungen.

Eine detaillierte Übersicht der skript-Typ spezifischen Registrierungs-Methoden sowie der Parameter sind der Online-Dokumentation bzw. dem Lua Reference Guide zu entnehmen. Quelle dazu wird später noch gelistet.

Clone this wiki locally