Lua: Unterschied zwischen den Versionen

Aus Hacker Motor Wiki
Wechseln zu: Navigation, Suche
(Plugin für Lua-Text-Highlighting)
(Grundsätzlicher Skript-Aufbau für DS/DC-Sender)
Zeile 30: Zeile 30:
  
 
==Grundsätzlicher Skript-Aufbau für DS/DC-Sender==
 
==Grundsätzlicher Skript-Aufbau für DS/DC-Sender==
 +
 +
local appName = "Hacker Motor Info App 3"
 +
local appVersion = "0.42"
 +
local appAuthor = "Marco Köhler, Hacker Motor GmbH"
 +
 +
local function initForm(subform)
 +
  form.addLabel({label="Page "..subform,font=FONT_BIG})
 +
  if(subform == 1) then
 +
  -- Link to the following subform
 +
  form.addLink((function() form.reinit(2) end), {label = "Next >>"})
 +
  else
 +
  -- Link to the first subform
 +
  form.addLink((function() form.reinit(1) end), {label = "<< Back"})
 +
  end
 +
end
 +
 
  local function init(code)
 
  local function init(code)
system.registerForm(1,MENU_MAIN,appName ,initForm, keyForm, printForm, closeForm)
+
  system.registerForm(1,MENU_MAIN,appName ,initForm, keyForm, printForm, closeForm)
image = lcd.loadImage("Apps/hacker/hacker-logo.png")
 
print("Init function running")
 
end
 
 
 
local function loop()
 
 
  end
 
  end
 
   
 
   

Version vom 14. Juli 2020, 14:57 Uhr


DPSI Lua the programming language

Allgemeines

Lua ist eine freie Skriptsprache, die in erster Linie dazu konzipiert wurde, um Erweiterungen in C-basierte Programme einbinden zu können. Lua greift hierbei auf Schnittstellen (APIs) des Programms zu. So wird eine Trennung zwischen dem eigentlich Programm und den vom Benutzer entwickelten Erweiterungen sichergestellt. Lua kann zur Erweiterung von JETI Duplex DS/DC-Fernsteuersystemen genutzt werden.

Kompatible JETI Duplex-Systeme

Die folgenden JETI Duplex-Systeme können mit Lua-Apps um benutzerdefinierte Funktionen erweitert werden:

Entwicklung von Lua-Skripten

Um Lua-Skripte zu entwicklen genügt theoretisch ein einfacher Text-Editor wie z. B. Notepad++ idealerweise mit Text-Highlighting. Die komfortablere Alternative stellt jedoch eine Entwicklungsumgebung (IDE) wie z. B. ZeroBrane Studio oder Atom dar. Die Skripte, die in dieser Dokumentation beschrieben werden, wurden mit Atom entwickelt.

Entwicklungsumgebung Atom

Die Entwicklungsumgebung Atom ist kostenlos für die Plattformen Windows, MAC und Linux erhältlich.

Download

Informationen zum Download findet Ihr im Bereich Downloads.

Plugin für Lua-Text-Highlighting

Um das sprachspezifische Text-Highlighting für die Lua-Programmiersprache zu implementieren, muss das Package"language-lua" nachinstalliert werden.

Um das Package "language-lua" zu installieren, klicken Sie im Menüpunkt "Edit" auf den Eintrag "Preferences". In der Tab-Leiste erscheint der Tab "Settings". Klicken Sie im Tab "Settings" links auf den Menüpunkt "Install" und geben Sie im Suchfeld "language-lua" ein. Klicken Sie beim entsprechenden Suchergebnis auf den blauen Button "Install". Das Package "language-lua" wurde installiert, das Text-Highlighting funktioniert nun.

Installation des Plugins "language-lua"

Grundsätzlicher Skript-Aufbau für DS/DC-Sender

local appName = "Hacker Motor Info App 3"
local appVersion = "0.42"
local appAuthor = "Marco Köhler, Hacker Motor GmbH"

local function initForm(subform)
  form.addLabel({label="Page "..subform,font=FONT_BIG})
  if(subform == 1) then
  -- Link to the following subform
  form.addLink((function() form.reinit(2) end), {label = "Next >>"})
  else
  -- Link to the first subform
  form.addLink((function() form.reinit(1) end), {label = "<< Back"})
  end
end

local function init(code)
  system.registerForm(1,MENU_MAIN,appName ,initForm, keyForm, printForm, closeForm)
end

return {init=init, loop=nil, author=appAuthor, version=appVersion, name=appName}

Links

Offizielle Links

Sonstiges hilfreiche Links

Downloads

Entwicklungsumgebungen

JETImodel

Fertige Lua-Skripte von Drittanbietern

  • Text
  • Text