OTX LUA Scripts zum testen

molch

Neuer Benutzer
Moin,
ich glaube ich werde mal kurz mein Vorhaben beschreiben.
Die Funke ist eine X9D. Ich möchte, wenn ich einen Akku an die Modelle stecke nach der Kapazität gefragt werden und das egal wo ich mich gerade auf dem Display befinde. Das Event selbst ist nicht das Problem nur die Ansicht auf dem Display. Wenn ich bereits ein Telemetriescript auf einem Display laufen habe kann man bequem eine Abfrage darstellen. Wenn man sich jedoch auf dem Startdisplay befindet wird es schon komplizierter. Das Script selbst durch das Anstecken starten, wie bereits geschrieben, kein Problem jedoch der Zugriff auf das Display.
So wie ich die Sachen einschätze wird die automatische Umschaltung auch nicht funktionieren.

Ist das richtig oder gibt es da eine Lösung?

Viele Grüße aus Berlin
Jörg
 

strgaltdel

Erfahrener Benutzer
Hi,

also "so einfach aus dem nichts heraus" lässt sich opentx nicht aus jeder beliebig gerade dargestellten Seite, egal ob Startscreen oder Telemetrieseite, zu einer Zwangseingabe bewegen.
Auch nicht wenn ein event trigger definiert werden könnte.

Du willst wahrscheinlich Restkapazität darstellen und ggf Warnungen triggern,
nutzt du tatsächlich unterschiedliche Kapazitäten pro Modell ?
Wenn nein würde ich über diese Funktion einen "eigenen" Sensor definieren, der die Restkapazität zeigen kann.
https://opentx.gitbooks.io/opentx-2-2-lua-reference-guide/general/setTelemetryValue.html

Solltest du pro Modell Akkus gleicher Cap betreiben, kannst du quasi dem Modellnamen im Script eine Ausgangscap zuweisen und dann über den Verbrauch die modellspezifische restcap kalkulieren und in den Telemetriesensor schreiben (mixer script).
Du kommst aber nicht umhin beim Akkuwechsel einen Telemetriereset durchzuführen um den Verbrauch zu nullen.


Wenns ausschliesslich um Warnungen ab einer bestimmten Restcap geht und pro Modell gleiche Akkus verwendet werden,
ganz ohne script
- Verbrauchssensor definieren
- LS definieren, der auslöst sobald eine akkuspezifische Grenze überschrirtten ist.
- Parallel noch Spannungsunterschreitung via ls überwachen


Wenn du wirklich unterschiedliche Packs verwendest, musst du tatsächlich ein Telemetrieskript proggen und beim Wechsel der Packs einmal die page taste drücken um deine Abfrage zu starten.
 

molch

Neuer Benutzer
Hi,

also "so einfach aus dem nichts heraus" lässt sich opentx nicht aus jeder beliebig gerade dargestellten Seite, egal ob Startscreen oder Telemetrieseite, zu einer Zwangseingabe bewegen.
Auch nicht wenn ein event trigger definiert werden könnte.

Du willst wahrscheinlich Restkapazität darstellen und ggf Warnungen triggern,
nutzt du tatsächlich unterschiedliche Kapazitäten pro Modell ?
Wenn nein würde ich über diese Funktion einen "eigenen" Sensor definieren, der die Restkapazität zeigen kann.
https://opentx.gitbooks.io/opentx-2-2-lua-reference-guide/general/setTelemetryValue.html

Solltest du pro Modell Akkus gleicher Cap betreiben, kannst du quasi dem Modellnamen im Script eine Ausgangscap zuweisen und dann über den Verbrauch die modellspezifische restcap kalkulieren und in den Telemetriesensor schreiben (mixer script).
Du kommst aber nicht umhin beim Akkuwechsel einen Telemetriereset durchzuführen um den Verbrauch zu nullen.


Wenns ausschliesslich um Warnungen ab einer bestimmten Restcap geht und pro Modell gleiche Akkus verwendet werden,
ganz ohne script
- Verbrauchssensor definieren
- LS definieren, der auslöst sobald eine akkuspezifische Grenze überschrirtten ist.
- Parallel noch Spannungsunterschreitung via ls überwachen


Wenn du wirklich unterschiedliche Packs verwendest, musst du tatsächlich ein Telemetrieskript proggen und beim Wechsel der Packs einmal die page taste drücken um deine Abfrage zu starten.
Danke (y). Dann gibt es also keine kleine elegante Methode und ich werde den Umweg über das Telemetriescript nehmen.
Und Ja, ich fliege Modelle mit unterschiedlichen Akkus. Für meine Helis habe ich zB. 4,4Ah und 5,2Ah bei 12S
 

yoda

Neuer Benutzer
Moin,

Ich möchte mir ein LuaScript machen welches bei einer Schräglage von mehr als 45 Grad des Copters R2D2 in die Kamera dreht und Schreit :)

Copter und Lua ist für mich noch neuland.

Wie frage ich die Schräglage ab ? Bzw wie heißt die Variable ?

Wie stelle ich ein Servo auf sagen wir mal 20 Grad nach links ?


Flotte grüße
 

mastersurferde

Erfahrener Benutzer
Hi,

das LUA-Script von Craft&Theory verwende ich auch schon seit anfang des Jahres. Ich habe dann relativ schnell alle Teensy´s rausgeworfen und durch die billigen Selbstbauadapter ersetzt.
Auf den Bildschirmen sind alle relevanten Flugdaten zu sehen. Auch die Betriebs- und Fehlermeldungen vom Pixhawk werden im Klartext dargestellt. Zusätzlich wird auch die FrSky Einzelzellenüberwachung über FLVSS und MLVSS unterstützt.
Seit ich das auf der Taranis habe, fliege ich eigentlich immer ohne die Tower-App.
Gut, es kostet zwar ein bisschen was, aber auch nicht viel mehr als ein Teensy und ist dafür für alle Kopter mit Pixhawk verwendbar. Auch der Support klappt ganz gut. In der vorletzten Version habe ich einen Fehler gefunden, der wurde dann innerhalb von ein paar Tagen gefixt.
Im Februar habe ich dazu schon mal etwas geschrieben:
http://kopterforum.at/viewtopic.php?f=47&t=3372&p=48802&hilit=craft+theory#p48802

Gruß
Stefan

Nachtrag: Beim Pixracer braucht man nicht mal mehr einen einfachen Schnittstellenwandler um ihn per SPORT mit dem Empfänger zu verbinden. Der hat das schon alles integriert.


PS: Ich habe nichts mit Craft&Theory zu tun, finde aber einfach das Produkt klasse.
 
Zuletzt bearbeitet:
Hallo, an die Lua - Profis

Ich möchte mich hier einmal für die vielen Anregungen und Beispiele bedanken.
Auch habe ich inzwischen schon einige LUA Scripts getestet und Kleinigkeiten für meine Bedürfnisse... trotz mangelhaften Englischkenntnissen anpassen können.
Allerdings, hätte ich jetzt gerne die TIMER Funktion nicht als Zahlen dargestellt, sondern als Balken.
(z.B. eine Länge von 0-3min)

So wie in dem Script hier oben von Cabonator z.B. die RSSI Anzeige.
Mit den Sensor-Anzeigen bring ich das auch hin.. aber mit der Uhr?????? keinen Plan
Kann mir da vielleicht jemand auf die Sprünge helfen?

Gruß...Frank...
 
Hab inzwischen selbst eine Lösung gefunden.
die Uhr über "LS" Dann über "SF" eine "GVAR" increment ansteuern und im Script die dann abfragen.
Ist zwar nicht die eleganteste Lösung, aber vielleicht geht es mit dem Timer gar nicht anders.

Gruß... Frank...
 

vansmak

Neuer Benutzer
Johannes -


Vielen Dank für dieses Skript, ich habe gehofft, dass jemand ein solches für Open TX 2.2 und den Horus machen würde! Ich habe keine Frage, würden Sie in Betracht ziehen, eine Version zu machen, die auch den FrSky FLVSS Lipo Sensor anstelle der AnySense Lipo Telementry enthält? Ich weiß, dass OpenTX ein Widget hat, aber ich würde es alle auf einem Bildschirm bevorzugen, da das FLVSS viel genauer in Bezug auf Zellspannung und Prozentanteil in der Batterie ist. Schätze deine Zeit (und entschuldige mich für mein schlechtes Deutsch, ich bin in den Staaten). Danke noch einmal!


Außerdem - Gibt es einen Ort, an dem ich eine Spende für deine Bemühungen in diesem Skript machen könnte?

-Mark
 
Zuletzt bearbeitet:
Hallo Mark,

das Script ist relativ flexibel aufgebaut und kann so angepast werden, dass du deinen gewünschten Telemetriewerte (auch vom FLVSS) angezeigt bekommst.
Wenn du mit sagst welche Telemetriewerte du angezeigt haben möchtest, kann ich dir das Script gerne anpassen.

Liebe Grüße
Johannes
 

vansmak

Neuer Benutzer
Johannes -


Vielen Dank für die schnelle Antwort! Es wäre perfekt, die AnySense-Lipo-Messwerte (Prozentsatz links und Spannung) durch den verbleibenden Prozentsatz an FLVSS und möglicherweise die niedrigste Zellspannung zu ersetzen? Ich glaube, die FLVSS meldet sich durch die CELS-Variable zurück, ähnlich wie in diesem Skript, das ich auf meinem Taranis verwendete:

http://www.craftandtheoryllc.com/lipo-battery-checker-script-for-taranis-x9d-x9d-and-x9e/
 
Erhaltene "Gefällt mir": meute
Hallo Mark,

anbei ein lua-Script mit dem der FLVSS-Sensor eingebunden ist.

screenshot_x12s_17-12-09_15-20-32.png

(Datei umbennen in main.lua und in ein Verzeichnis auf der SD im Ordner "Widget" abspeichern)
Bitte probiere dieses aus umd gibt mir Bescheid ob es funktioniert.

LG, Johannes
 

Anhänge

Hallo Johannes,

ich bin zwar nicht der Mark, habe es aber auch mal auf meiner X10 ausprobiert und bin begeistert.
Hat auf Anhieb funktioniert. Lediglich die die Farbdarstellung der einzelnen Zellen ist einheitlich hellgrün.
Wenn mit einer sagen kann, wie ich mit dem Sender eine Hardcopy machen kann, würde ich das Bild beifügen.

Gruß Uwe
 
Hallo Uwe,

die Hintergrundfarbe der einzelnen Zellen ist von der Spannung der Zelle abhängig - von grün bis rot.
Wahrscheinlich haben deine Zelle alle die gleiche Spannung.
Du kannst das auch im Companion Simulator ausprobieren, dort siehst du wie sich die Farbe verändert.

Screenshots von der Anzeige erstelle ich ebenfalls im Companion Simulator. Dort gibt es einen eigenen Button mit denen du ein Bild von der Anzeige erstellen kannst.

LG, Johannes
 

vansmak

Neuer Benutzer
Johannes -
Vielen Dank! Ich bin so beeindruckt von deiner Arbeit. Eine letzte Frage, ist es möglich, das FLVSS-Skript in das Anysense-Skript zu verschmelzen, so dass alles auf einem Bildschirm erscheint, wie ich es weiter unten gemunkelt habe? Das würde mir das perfekte Skript machen!

 
Hallo Johannes,
tolle Arbeit, vielen Dank dafür! Ich benutze bei der x12s nicht das rot/hellblaue Standard-Display-Hintergrundbild, sondern den alternativen schwarz/dunkelblauen Hintergrund. Bei diesem Hintergrund werden die Beschriftungen der einzelnen Felder und das Gitternetz nicht angezeigt. Ich vermute weil die Standard-Textfarbe bei diesem Hintergrundbild weiß ist und auf dem weißen Hintergrund des Lua-Scriptes nicht angezeigt werden. Wie kann man das ändern? Danke im Voraus
LG Rolf
 
Hallo Mark,

anbei aktualisiertes lua-Script. Der FLVSS-Sensor ist jetzt, wie gewünscht, integriert.
screenshot_x12s_17-12-17_18-21-27.png

Bitte in Echtbetrieb testen, da ich selbst nur im Simulationsmodus testen kann.

Grüße, Johannes
 

Anhänge

FPV1

Banggood

Oben Unten