LUA für Anfänger (OpenTX 2.1.X)

Status
Nicht offen für weitere Antworten.
#1
Hallo,

ich würde gerne ein LUA-Script unter 2.1.7 nutzen. Kann mal jemand, der schon in der Materie drin ist, eine kurze 1,2,3.... Liste machen? Ich weiß, das ist die Faulenzermethode und es gibt das Handbuch, aber wenn man nur ein Script nutzen will, geht es vielleicht auch einfacher.

Diese Rückkehrhilfe würde ich gerne nutzen. Nick, Roll, GPS und Heading habe ich schon in der Telemetrie. "strgaltdel" Udo hat mir schon beim LUA-Script geholfen, wartet aber noch auf seine komplette Hardware. Nigelsheffield arbeitet noch mit 2.0.X..

Wohin kommt das Script?
Muss es einen bestimmten Namen haben?
Wie starte ich das Script?
Kann ich das Script mit einem logischen Schalter aktivieren?

Ich beschreibe dann auch gerne den oXs und OTX Teil des Projektes, wenn Interesse besteht.

Gruß Bernd
 
#3
nutze bisher nur die Telemetriescripte, die werden ins Verzeichnis Scripts/Telemetry kopiert und können dann mit Page Long aufgerufen werden.
in den Telemetrieeinstellungen dazu bei der Bildauswahl script eintragen und dann das entsprechende Script auswählen.
Beispiele dazu gibts schon.. (siehe Sammlung der Telemetriescreens...)

Ralf
 
#5
nutze bisher nur die Telemetriescripte, die werden ins Verzeichnis Scripts/Telemetry kopiert und können dann mit Page Long aufgerufen werden.
in den Telemetrieeinstellungen dazu bei der Bildauswahl script eintragen und dann das entsprechende Script auswählen.
Beispiele dazu gibts schon.. (siehe Sammlung der Telemetriescreens...)

Ralf
Danke!

Kaum macht man´s richtig, schon geht´s!

Instrument.jpg

Name ist scheinbar egal?

Jetzt muss ich nur noch rauskriegen, ob ich mit einem logischen Schalter auf diesen Screen umschalten kann.

Gruß Bernd
 
#8
Hallo Kalle,

das script ist für 2.0, Udo hat es für 2.1 umgestrickt, er soll es selbst veröffentlichen, ich habe da nix beigetragen. Ich schicke es Dir aber per PM. Ich denke, Udo ist einverstanden. Der Horizont mit Roll und Nick funktioniert bei mir schon, GPS habe ich noch nicht probiert.

Gruß Bernd
 

strgaltdel

Erfahrener Benutzer
#9
Hallo,

scheinbar zickt gerade meine firewall,
bekomme das script als zip nicht hochgeladen

@carbo
lad es mal hoch

.. ist aber noch mit heisser Nadel gestrickt (-;

Gruß
Udo
 

strgaltdel

Erfahrener Benutzer
#12
Vor 2 Monaten wusste ich nicht wie Taranis geschrieben wird,
Anfang des Jahres habe ich mit lua das erste mal auseinandergesetzt.

Das letzte Programm hatte ich vor ca 25 Jahren in C geschrieben,
zwischendurch höchstens ein paar batch Routinen "getextet"

Ich fasse hier mal kurz zusammen, was meine Anfangserfahrungen mit lua waren bzw wo ich Schwerpunkte gesetzt hatte, um das "Konzept" zu begreifen.


Lua ist in gewisser Weise dem klassischen Basic als Interpretersprache nicht unähnlich.

"Im groben" definiert man Funktionen, ggf. mit Eingabe- und Rückgabewerten, die dann vom Hauptprogramm aufgerufen werden.

einer Funktion wird definiert z.B.

routine()
.
.
.
end


Es gibt das "Hauptprogramm"
main()
..
end

das wird immer wieder neu aufgerufen, ich glaube ca 20 mal pro Sekunde auf einer taranis


und das
init()

end

Programm,
was nur einmalig bei ersten Aufruf zur Initialisierung aufgerufen wird


Variablengültigkeit:
Alles was an Variablen innerhalb einer Funktion (auch main etc..)definiert wird, ist nur innerhalb dieser Funktion gültig
Nach "dem letzten end" wird Wert und Definition wieder verworfen.

Will man eine Gültigkeit über alle Funktionen hinweg, muss man die Variable vorher im Kopf global definieren

Eine variable sollte übrigens immer mit
local Variable = Wert
definiert werden.

Verwendet man sie "einfach so" wird sie auf ALLEN scripten global gültig, was Ressourcen frisst & zu Kollisionen führen kann.


zum Einlesen / Quellen:

Grundlagen zu lua, unabhängig von opentx
http://www.lua.org/pil/contents.html


lua Integration in Opentx:
http://www.open-tx.org/2014/07/19/Lua-reference-guide/

DIESES DOKUMENT IST QUASI DIE PROGRAMMIERBIBEL FÜR TARANIS-LUA
ohne das Dokument durch- / quergelesen zu haben macht es gar keinen Sinn mit lua anzufangen !



und ganz wichtig, welche "Sendervariablen" können über getValue() abgefragt werden,
das ist STARK Opentx Versionsabhängig
Durch die neue Telemetrie unter 2.1 hat sich viel verändert
http://downloads-21.open-tx.org/firmware/lua_fields.txt

im übrigen:
Für mich war das Handling von mehrdimensionalen Tabellen / Arrays besonders spezifisch,
da habe ich mich am längsten einarbeiten müssen

am meisten lernt man durch "lesen" vorhandener scripte.
da gibt es hier doch bereits den tollen thread
http://fpv-community.de/showthread.php?47985-LUA-scripts-zum-testen


so
das war es fürs erste

Grüße
 
#13
lua Integration in Opentx:
http://www.open-tx.org/2014/07/19/Lua-reference-guide/

DIESES DOKUMENT IST QUASI DIE PROGRAMMIERBIBEL FÜR TARANIS-LUA
ohne das Dokument durch- / quergelesen zu haben macht es gar keinen Sinn mit lua anzufangen !

am meisten lernt man durch "lesen" vorhandener scripte.
da gibt es hier doch bereits den tollen thread
http://fpv-community.de/showthread.php?47985-LUA-scripts-zum-testen

Grüße
Volle Zustimmung:
Die LUA-Referenz ist noch von der Version 2.0, die aktuelle ist immer noch in Arbeit:

siehe hier

https://dsbeach.gitbooks.io/opentx-lua-reference-guide/content/
 
#14
Hallo Ralf,

auch wenn ich mir das 100x durchlese, geht es nicht an mich. Ich bin halt noch analog. Und fürs Löten und Testen und Fliegen zuständig.

Ach doch, ich habe Vit(esse) in Spd für Speed geändert, Udo, ich hoffe, Du kannst das mit Deiner pol. Weltanschauung vereinbaren.

Die Radar-Distanz ist noch im Argen, ansonsten ist das eine affengeile Geschichte! Hoffentlich ist bald Flugwetter.

[video]https://youtu.be/DZZ8TxgP9Fc[/video]

Gruß Bernd
 
Zuletzt bearbeitet:
#15
getValue( ? ) ist mein eigentliches Problem. Wie sind die IDs und in welcher Form kommt der Wert. Dabei meine ich nicht ( nur) die Sendervariablen, sondern das, was bei der s.port Telemetrie übertragen wird. Empfängerseitig habe ich mir viel von zB Taulabs abgeschaut. Ich habe den Eindruck hier bastelt sich jeder seine eigene Definition. Oder gibts da auch eine Tabelle?
 
#16
getValue( ? ) ist mein eigentliches Problem. Wie sind die IDs und in welcher Form kommt der Wert. Dabei meine ich nicht ( nur) die Sendervariablen, sondern das, was bei der s.port Telemetrie übertragen wird. Empfängerseitig habe ich mir viel von zB Taulabs abgeschaut. Ich habe den Eindruck hier bastelt sich jeder seine eigene Definition. Oder gibts da auch eine Tabelle?
Das "Problem" ist die offene Namenvergabe in den Telemetrieeinstellungen :
Alles was hier eingetragen ist kann auch in Lua als Variable verwendet werden.
Ralf
 

kalle123

Jugend forscht ....
#17
Bernds Telemetrie screen hab ich jetzt mit seiner Hilfe auf dem sim zu laufen gekriegt.

Nur heißt der thread ja hier LUA für Anfänger (OpenTX 2.1.X). Also wollte ich mal von vorne Anfangen und hab mir dies hier vorgenommen. Wetter ist Sch...... Also.
http://open-txu.org/home/grad-school/lua/beginning-model-scripting/ Also was für Anfänger ....

NUR, unter 2.1.7 NIX. Seltsame Fehlermeldung. Pfad und Datei ist dort, nur wird nicht gefunden.

Dann hab ich noch in einer vbox mein bisheriges 2.0.18. Dort den gleichen Versuch gemacht und es geht ..... :rolleyes:

Hat jemand hier eine Antwort?
 

Anhänge

#18
Hallo Karheinz

Der ganze Lua Kurs den du ansprichst ist in Lua2.0
Auf der Taranis haben sich leider zur Version 2.1 einige Dinge geändert.

Mach den Kurs mit der 2.0.x

Dann hast du die Grundlagen drauf und kannst dann mit 2.1.x im Simulator die Veränderten Gegebenheiten aufspüren ..
Ralf

ps. Kw09 bin ich vorraussichtlich wieder zu Hause, dann kann ich nochmal zum Kaffee vorbeischauen....
 
#20
@KH
So ist das halt wenn man den "falschen" Job hat:
dann ist man nicht jedes Wochenende zu Hause....

@ Bernd
Meinem Frsky GPS hab ich die Himmelsrichtung auch noch nicht als Variable entlocken können.
Wird dann demnächst mal eine "Aufgabe" für eine Berechnung in Lua...

schönes Video. ..

Ralf
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten