Skip to content
Udo edited this page Aug 20, 2024 · 14 revisions

Ein Ethos-lua Tutorial




Ziel des Tutorials


(kleiner Hinweis: wer kein einführendes BlaBla lesen möchte bitte direkt weiter zu „Ethos-Lua Basiswissen“

Dieses Tutorial vermittelt das Basiswissen der lua Programmierung unter Ethos.

Nach Abschluss des Tutorials sollte sich der Anwender in der Lage befinden kleinere lua Programme selbstständig zu programmieren.

Grundvoraussetzung ist dabei, dass man sich in PC Technik auskennt und grundlegende Kenntnisse in der Programmierung besitzt. Es ist dabei nicht zwingend erforderlich bereits in lua programmiert zu haben.

Selbst „Basic“ als Programmiersprache würde bereits das notwendige Hintergrundwissen übermittelt haben.

Dies ist die erste Version des Tutorials, es soll später sukzessive verfeinert und erweitert werden.

Sollte die Bedeutung von Begrifflichkeiten (z.B. handler, interpreter etc.) nicht klar sein, bitte ich daher falls diese nicht Glossar aufgeführt sind, mithilfe einer Suchmaschine den Begriff zu klären.

Ein Schlagwortverzeichnis wird sukzessive aufgebaut.

Es ist nicht Ziel dieses Tutorials, absolute Grundlagen der Programmierung komplett ohne Vorkenntnisse zu vermitteln. Dazu verzweigen Links auf Lua Anfängerkurse und Nachschlageseiten



Aufbau dieser Dokumentation


Der Leitfaden folgt einem „TopDown“ Ansatz.

Vom Allgemeinen hin zum speziellen.

Der Bereich bis inkl. „Ethos Lua Basiswissen“ kann auch für die reinen lua Anwender interessant sein, um das Verständnis im Umgang mit lua scripten zu verbessern.

Zunächst werden allgemeine Zusammenhänge, Begrifflichkeiten, wie funktioniert lua unter Ethos, grundlegende Funktionsweisen und die Arbeitsumgebung erläutert (Kapitel 1)

Danach startet man mit beispielhaften Aufgaben, wie man sie umsetzt und jeweiligen Demo-luas.

Die Anforderungen steigern sich dabei sukzessive.

Einzelne Kapitel bündeln die Themengebiete

Es soll von einfachen Anforderungen hin zu komplexeren Aufgaben immer mehr Detail-Verständnis übermittelt werden

Am Ende sollte jeder Teilnehmer in der Lage sein, sich autodidaktisch weiter auf seine individuellen Bedürfnisse hin Fortzubilden



typische lua Anwendungsfälle


Weshalb sollte man sich überhaupt mit lua für einen Ethos Sender befassen ?

Schaut man auf die Ethos-github Seiten und die issues, existieren viele individuelle Anwendungsfälle und Erweiterungswünsche von Anwendern, die ganz bestimmte Funktionalitäten bzw Darstellungsvarianten einfordern.

Sehr häufig „passt“ eine derartige Anforderung auf einen sehr begrenzten Anwenderkreis und hätte ggf. sogar negative Seiteneffekte für andere Anwender oder die Performance allgemein.

Selbst wenn die gewünschte Funktion/Erweiterung nur optional umgesetzt werden würde, müssten dazu in irgendwelchen Ethos Menüs weitere Felder zu eventuellen Parametrisierung bzw Aktivierung vorgehalten werden.

Des weiteren „frisst“ jede erweiternde Implementierung Speicherplatz, kostet CPU Ressourcen, erhöht den Wartungsaufwand und bindet Entwicklerressourcen.

Wenn also eine Erweiterung / Idee nur einen geringen Anwenderkreis bedient, dafür aber Einschränkungen auf Seiten der Allgemeinheit bedeutet, sollte man sich fragen, ob Alternative Umsetzungen nicht die bessere Lösung darstellen.

Hier springt lua in die Bresche und ermöglicht es dem Anwender, wenn ihm seine Idee wirklich wichtig ist, weitestgehend die individuellen Bedürfnisse auf seinen Sender selbst umzusetzen.

Zudem kann er (z.B. via github) sein „Projekt“ der Allgemeinheit zur Verfügung stellen.

Ist das zu Abstrakt?

Beispiele können sein :

  • mehr als einen Telemetriewert in grösseren Schriften mit farblich frei wählbaren Optionen umzusetzen

  • Ansagen, deren Logik über die der per LSW‘s möglichen hinaus gehen

  • individuelles Design der Homepage des Senders etc..



Ethos-lua-tutorial

Ansonsten werden lua scripte auch gerne von Zubehöranbietern genutzt, um deren Hardware zu konfigurieren, oder wie z.B. im Funktionsmodellbau, Funktionalitäten per touch screen zu erweitern.

Clone this wiki locally