Bibliotheken - Interface Erstellen

Eine Interface-Bibliothek ist vergleichbar mit einer Klasse in Luna. Alle in einem Interface enthaltenen Elemente sind innerhalb des Interface eingeschlossen und Funktionen können von Eigenschaften innerhalb eines Interface abhängig sein. Beispielsweise die Zuweisung eines Portpins vor dem Aufruf einer Initialisierungsfunktion und anschließender Verwendung von Funktionen.

Zumeist werden Interfaces klassisch als Schnittstelle (Interface) zur Ansteuerung von Hardware-Komponenten verwendet. Weitere Einsatzmöglichkeiten sind jede Art von in sich geschlossenen Anwendungen, bspw. eines in Software emulierten Protokolls, oder einer gekapselten mathematischen Funktion mit vorherigen Eingabeparametern. Gegenüber den normalen Klassen in Luna können bei Interfaces auch besondere Eigenschaften zugewiesen und/oder abgefragt werden wie z.B. Port-Pins oder eine von einem Schlüsselwort abhängige Funktion, vergleichbar mit den in Luna eingebauten Interfaces für z.B. Ports, Timer o.Ä.

Folgendes Bild zeigt eine Inline-Methode, die nur die Zuweisung von ganz bestimmten Konstantwerten erlaubt:

#library "Library/example.interface"
'[...]
example.myaction(123)