OTX LUA Scripts zum testen

tomxxx

Neuer Benutzer
Hi Johannes,

ja, sehe es gerade!

Vielen Dank und
Grüße
Thomas

PS: Vielen Dank an Dich für deine Beiträge und Beispiele hier. Die haben mir sehr gut geholfen, sich in die LUA Sprache und die opentx API's einzuarbeiten.
 
Hier gibt es ein weitentwickeltes Taranis script - und er sucht Hilfe für ein Horus widget ...........

Nur mal so ins Unreine geschrieben ;)
Danke für deine Information.
Das von dir angeführte Script kenne ich, ist auch Vorlage für die Erstellung meines Scripts.
Der Aufbau des Scripts ist für die Horus IMHO nur bedingt verwendbar, bzw. müsste umfangreich umgebaut werden.

Ich greife hier im Wesentlichen auf die Code-Schnipsel zurück, die die Telemetry-Werte auslesen.
Der Aufbau der Telemetrie-Seite basiert dann auf Grundlage meiner schon vorhandener Systematik.

LG, Johannes
 
Das von dir angeführte Script kenne ich, ist auch Vorlage für die Erstellung meines Scripts.
Der Aufbau des Scripts ist für die Horus IMHO nur bedingt verwendbar, bzw. müsste umfangreich umgebaut werden.

Ich greife hier im Wesentlichen auf die Code-Schnipsel zurück, die die Telemetry-Werte auslesen.
Der Aufbau der Telemetrie-Seite basiert dann auf Grundlage meiner schon vorhandener Systematik.
Hättest Du nicht Lust, statt nur für uns paar Nasen hier, Dein Script beim teckel12 einzubringen - sozusagen als weltweites iNav Standard Horus Telemetrie Script?

Gruß Bernd
 

tomxxx

Neuer Benutzer
Hallo,

ich habe noch ein paar kurze Fragen, die ihr bestimmt sofort beantworten könnt.

Ich habe bei der Auswahl der Horus X12S Firmware nur die Option lua ausgewählt, nicht luac. Die LUA Skripte funktionieren in der Horus ohne Probleme, es werden aber keine .luac Files erzeugt. Bei Testen der Skripte unter Companion werden auch die .luac Files erzeugt. Hier meine Fragen:
a) Sollte ich auch in Companion luac auswählen für die Firmware?
b) Könnte ich die .luac Files, die in Companion erzeugt werden, auch in der Horus benutzen?
c) Macht die Horus überhaupt .luac Files? Ich vermute, wenn ja, gibt es Ausführungsvorteile, da kompilierte Files ausgeführt werden.

Vielen Dank und
Grüße

tomxxx
 
Hallo Tom,

wenn der Sender selbst kompilieren können soll, mußt Du bei der Firmware "luac" auswählen.
Die vom Companion erzeugten .luac files kannst Du auf die SD Karte des Senders kopieren- ohne "luac" in der Firmware ist dies die einzige Möglichkeit Scripte auf dem Sender ausführen zu lassen.

Gruß
Juky
 

strgaltdel

Erfahrener Benutzer
Hi

... Ich vermute, wenn ja, gibt es Ausführungsvorteile, da kompilierte Files ausgeführt werden.
So habe ich füher auch gedacht, bis ich auf rocketchat eines Besseren belehrt wurde.
Im Grunde macht der Schalter gar nicht so viel aus:

OpenTx compiliert die skripte GRUNDSÄTZLICH auch auf den Sendern.
Ohne die "luac" Option allerdings jedesmal, wenn der Modellspeicher "hochgeladen" wird.
Also beim Einschalten des Senders bzw bei Modellwechsel.

Durch die luac Option erspart man sich diesen Vorgang.
Das hat zwei Vorteile:
- (etwas) kürzere Bootzeit
- in dieser Phase auch etwas geringerer Speicherbedarf (war imho besonders bei ausgelasteten X9 Systemen wichtig)

Hat man diese Option aktiviert, wird im o.g. Bootvorgang geprüft, ob der source Code jünger als das Compilierte File ist.
Wenn ja wird neu compiliert, wenn nein das fertig compilierte File gestartet.

An der Ausführungsgeschwindigkeit ändert das allerdings nichts.

Nun darfst du selbst entscheiden, ob die Option für Dich interessant ist. ;)
-Schaden tut's jedenfalls nicht -

Gruß
Udo
 

tomxxx

Neuer Benutzer
Ok, das habe ich mir auch so gedacht, war mir aber nicht ganz sicher.

Vielen Dank euch beiden für die schnelle Antwort!

Grüße
tom555
 

strgaltdel

Erfahrener Benutzer
@Juky:

kann es sein, dass du da versehentlich etwas vertauscht hast?

"lua" Option:
hier wird die Skriptunterstützung aktiviert, die unter Companion entwickelten "*.lua" Files können auf die sdcard kopiert und ausgeführt werden
die skripte werden beim Neustart immer wieder neu kompiliert.

"luac" Option:
Option zum Precompilieren des skriptes.
Sind Source und "bin" file gleichen Datums wird das fertig compilierte Programm gestartet.

Imho wird unter Companion allerdings nicht der identische Compiler verwendet, daher muss die Datei auf dem Sender generiert werden.
Ich meine ich hatte mal durch Copy & paste den sdcard Inhalt von einem Win auf ein Unix System geschoben, und da lief das luac File dann nicht.
Hatte das auf die unterschiedlichen Compilerversionen bzw Abstraktionslayer geschoben, daher meine Vermutung..

Gruß
 

tomxxx

Neuer Benutzer
Ich habe für die Firmware die luac Option definitiv nicht ausgewählt, aber die .lua Skripte werden unter opentx auf der Horus ohne Probleme ausgeführt (aber .luac Files werden nicht erzeugt). Das würde für die Ausführungen von Udo sprechen.

Grüße
Tom555
 
@Juky:
kann es sein, dass du da versehentlich etwas vertauscht hast?
Nö, vertauscht habe ich da nichts- ganz richtig lag ich aber wohl dennoch nicht ;)

Ich habe die von Companion erzeugten luac Dateien immer auf den Sender kopiert, da ich annahm, daß der Sender
nur mit luac Option kompiliert. Die kompilierten Versionen vom Companion liefen auch immer perfekt auf dem Sender.

Jedenfalls Danke für die Korrektur und das Schließen meiner Wissenslücke :D

Gruß
Juky
 
Die LUA - Option wird auch nur für die "gefährlichen" Mixer scripte benötigt. Die üblichen Skripte laufen komplett ohne LUA-Option.
 
Hallo,
da hier einige nach Pixhawk fragten, ich habe Johannes "Grafik" übernommen, da ich diese sehr ansprechend fand und mit den Taranis-Telemetrie-Scripten von Scottfly verheiratet bzw. in "Widget" übersetzt.
Ich nutze sie auf der Horus für meinen Hexacopter mit Pixhawk und Teensy.

Ich habe Homeset rausgenommen und dafür die GPS-Genauigkeit (hdop) eingefügt.
Der Flugmodus und der Armed-Status werden angezeigt.
Für die Systemmeldungen vom Pixhawk habe ich auch einen Screen, sehr Hilfreich bei Fehlermeldungen.
Wenn Johannes nichts dagegen hat, könnte ich die Dateien hier mal einstellen.
Wie gesagt, ist sein Widget, ich habe lediglich die Schnittstelle zum Pixhawk angepasst.

Gruß, Alex
 
Hallo,
da hier einige nach Pixhawk fragten, ich habe Johannes "Grafik" übernommen, da ich diese sehr ansprechend fand und mit den Taranis-Telemetrie-Scripten von Scottfly verheiratet bzw. in "Widget" übersetzt.
Ich nutze sie auf der Horus für meinen Hexacopter mit Pixhawk und Teensy.

Ich habe Homeset rausgenommen und dafür die GPS-Genauigkeit (hdop) eingefügt.
Der Flugmodus und der Armed-Status werden angezeigt.
Für die Systemmeldungen vom Pixhawk habe ich auch einen Screen, sehr Hilfreich bei Fehlermeldungen.
Wenn Johannes nichts dagegen hat, könnte ich die Dateien hier mal einstellen.
Wie gesagt, ist sein Widget, ich habe lediglich die Schnittstelle zum Pixhawk angepasst.

Gruß, Alex
Hallo Alex,
ist für mich überhaupt kein Problem, kannst du hier gerne einstellen - auuch mit den Grafiken.
Auch ich habe mir viele Ideen aus diversen Telemetrie-Scripten geholt um zu den jetzigen Stand zu kommen.
Einzig die Grafiken sind von mir erstellt worden, um hier keine Copyright zu verletzen.

LG, Johannes
 
Hallo Johannes,

leider wird dein Script auf meiner Horus nicht so schön dargestellt. Wie kann man denn die Routine "battery" abändern, dass die Schrift etwas kleiner und der Batteriekörper der Zellenzahl entspricht?
Anbei die Routine des Originals und ein Bild der Darstellung. Vielen Dank für alle Vorschläge.

Gruß Udo

Anhang anzeigen Battery.txt

screenshot_x12s_18-01-15_10-49-21.png
 
Hallo Johannes,

leider wird dein Script auf meiner Horus nicht so schön dargestellt. Wie kann man denn die Routine "battery" abändern, dass die Schrift etwas kleiner und der Batteriekörper der Zellenzahl entspricht?
Anbei die Routine des Originals und ein Bild der Darstellung. Vielen Dank für alle Vorschläge.

Gruß Udo

Anhang anzeigen 171526

Anhang anzeigen 171527

Hallo Udo,

Darstellung: Wenn du die Topbar (roter Balken, siehe #733) anzeigen lässt, dann sollte die Darstellung wie bei mir aussehen.

Schrift ändern: in der Zeile 19-21 kannst du die Schriftgröße der einzelnen Paramter ändern (modeSize.mid auf modeSize.sml)

Batterie Zellenkörper:
In der Zeile 14 den Wert ["segment_h"]= 30 auf 40 ändern.

Batterie-Symbol verschieben:
Du kannst auch das Batteriesymbol verschieben indem du in der Zeile 14 die Werte ["x"] und ["y"] veränderst.
x-Wert ist die x-Achse und y ist die y-Achse.

LG, Johannes
 
LUA Scripts testen

Hallo,

beim Versuch Lua-Scripte zum Laufen zu bringen, bin ich im "opentx-2-2-lua-reference-guide" auf folgende Informationen (auszugsweise) gestoßen: Anhang anzeigen opentx-2-2-lua.pdf

Darin wird auf die Testsuite "ZeroBrane Studio" als ideales Test-Tool verwiesen.
Nun meine Frage: Lassen sich die speziellen "opentx-2-2-lua" Erweiterungen in ZeroBrane Studio integrieren? (ähnlich wie andere Lua-Erweiterungen).

Das würde das Testen erheblich vereinfachen und man würde sich den Weg über das Debugger-Fenster von "Companion2.2" sparen. Gerade beim Testen von Werten wäre das eine starke Vereinfachung.

Es gab Mal einen "openTX Taranis Lua Emulator", aber den bekomme ich nicht zum Laufen.

Gruß Udo
 

hobby1946

Erfahrener Benutzer
Hallo,
leider habe ich keine Kenntnisse in der Lua Programmierung.
Mit meinen über 70 Jahren, tue ich mich da schwer ....

Vielleicht kann mir jemand der sich damit auskennt weiterhelfen.
Wenn ich die tollen Anzeigen hier sehe kann man neidisch werden!

Ich habe eine Frsky X10 mit OTX V2.2.1.
Auf meinem NAZA Copter ist eine NAZA Lite und mit Zaggometrie übertrage ich die Werte
zum Sender und zeige sie im Display an.

Das funktionierte mit mit meiner X9D OTX V2.1.9 einwandfrei.

Nun habe ich eine X10 mit OTX V2.2.1 und die GPS Position (ID 0800 - 4) macht Probleme.
Es wir nur die E-Position angezeigt, die N-Position nicht (da steht immer 0).
Die Position wird auch nichtgeloggt (0).

Alle anderen Werte (Höhe,Fix,Sateliten, Kompass etc.) vom Zaggometry funktionieren tadellos.
Da muß etwas mit der Umsetzung des GPS Wertes nicht passen.

Wenn ich das orginele GPS anschließe erscheint die GPS Position richtig.

Kann man nicht ein LuaScript schreiben, daß die Position in einem Widget zur Verfügung stellt,
das man dann in der Anzeige auswählen kann ?

Oder gibt es andere Lösungen ...

Wer kann mir da weiterhlefen ?

mfg
 

5xray

Neuer Benutzer
Das Lua Widget holt die Daten aus dem was der Sender zur Verfügung stellt. Wenn die Daten dort nicht gut ankommen kann das Widget auch nichts machen.

Allerdings versteht ich nicht "origineles GPS" Welches GPS hast den am Kopter wenn die Daten falsch erscheinen? Nimm doch das NAZA GPS wenns damit klappt.

Ab Eintrag 674 oder so gibt es verschiedene widgets die auch mit NAZA funktionieren. Schau mal in die Scripts. Musste auch ein paar Stunden studieren aber habs hinbekommen.

Gruss
5X
 
FPV1

Banggood

Oben Unten