OTX LUA Scripts zum testen

hexasky

Neuer Benutzer
LUA scripts zum testen

Noch was anderes: ich verwende vom Unisens-e den barometrischen Höhehnsensor "alt". Dieser liefert allerdings eine Fließkommazahl.
Hat jemand eine Programmzeile (über;)), mit der ich auf einen ganzzahligen Wert runden kann?


Vielen Dank

David
 
Zuletzt bearbeitet:

helle

Erfahrener Benutzer
Hy,

zur Info wg openTx V2.10 Telemetrie Scripts anpassen:


For anyone else looking into scripts on 2.1,
Telemetry scripts SD card path has now changed (as of today's build), and is now:
SCRIPTS\TELEMETRY

thanks to bsongis (Dev) It's now clear that if you're using a telemetry field in a script, you need to "catch" a non-existant field:
In 2.0, all fields were always available (ie, alt, vspd, a2, etc etc)

In 2.1, only the fields used are available, so if the field is not available, your script won't run (rather than just show 0)
here is the recommended catch

instead of just using
Code:

Alt = getFieldInfo("Alt").id

you should employ a function with a catch:
Code:

local function getTelemetryId(name)
field = getFieldInfo(name)
if field then
return field.id
else
return -1
end
end

you can then call this:
Code:

Alt = getTelemetryId("Alt")

Note that telemetry field names used are whatever you've set them up to on the sensors page.
 

cemizm

Erfahrener Benutzer
Hy,

zur Info wg openTx V2.10 Telemetrie Scripts anpassen:


For anyone else looking into scripts on 2.1,
Telemetry scripts SD card path has now changed (as of today's build), and is now:
SCRIPTS\TELEMETRY

thanks to bsongis (Dev) It's now clear that if you're using a telemetry field in a script, you need to "catch" a non-existant field:
In 2.0, all fields were always available (ie, alt, vspd, a2, etc etc)

In 2.1, only the fields used are available, so if the field is not available, your script won't run (rather than just show 0)
here is the recommended catch

instead of just using
Code:

Alt = getFieldInfo("Alt").id

you should employ a function with a catch:
Code:

local function getTelemetryId(name)
field = getFieldInfo(name)
if field then
return field.id
else
return -1
end
end

you can then call this:
Code:

Alt = getTelemetryId("Alt")

Note that telemetry field names used are whatever you've set them up to on the sensors page.
Vielen Dank für die Info :)

Ist mir völlig schleierhaft warum der Schritt zurück... Hab schon viele User gesehen die gleich von Anfang an ein Script drauf haben und die native Sensor Ansicht leer ist. Bei mir selbst sind da sogar nur 1-2 Werte zum testen und alles andere im Script...

d.h. noch mehr Fallen in die man tappen kann bevor man ein "fremdes" Script zum laufen bringt... Vor allem bis man im Script alle Werte findet, die verwendet werden.

Sehe schon die Threads und Beiträge "Da kommt ein Syntax Fehler" oder die Höhe ist ständig 0 :D

Hoffentlich wird das noch geändert bevor es zum release raus geht.

Gruß,
Cem
 
Zuletzt bearbeitet:

helle

Erfahrener Benutzer
Hy,

wollte nur mal drauf hinweisen wie das abläuft, damit man nicht in eine Falle läuft und sich wundert.

Liegt daran dass ab openTx die Telemetrie dynamsch ist,
Sensoren automatisch erkannt werden und dies fast beliebig ausgebaut werden kann.

Bisher war alles statisch und mit fest vergebenen Namen


Jetzt muss ich vorab erst mal abfragen , "gibt es dich denn überhaupt", wenn ja, dann kann ich was mit dir tun.

Kann mir vorstellen ein einheitliches Abfrageprogramm voranzustellen,
dann hat man auch alles wie bisher
 
Zuletzt bearbeitet:

coolchaos

Erfahrener Benutzer
Das "NEUE" Lua

Hi

Ist mir völlig schleierhaft warum der Schritt zurück...
ein Schritt zurück ist gut gesagt.

Richtig "@cemizm" ....... Das versteht wer will :confused:

Damit sind wir in Lua so "Open" das keiner mehr sagen kann wo ist der Anfang und wo das Ende.

Nun gut einige werden sich schon Gedanken gemacht haben warum das nun so sein soll.

Eines ist Fact .... einfacher wird es dadurch auf keinen Fall.

An der Stelle würde ich aufpassen das, daß ganze nicht so weit VERSCHLIMMBESSERT wird
das der, der sich nicht so gut auskennt die Taranis wieder bei Seite legt und mit einer
anderen Funke zum fliegen loszieht.

Was nützt eine Firmware die total innovativ ist, aber nur die Entwickler sie noch bedienen können.

Oder wenn ich nicht mehr jemanden zeigen kann was alles geht .... weil ich es nicht mehr programmieren kann.

Stellt Euch vor Ihr steht auf dem Flugplatz .... Ein anderer Pilot kommt nach dem fliegen auf Euch zu
und sagt was ist das den für ein Sender?

Und Ihr müsst sagen "ich könnte Dir ja zeigen was der Sender alles kann ..... wenn ich es könnte".
"Schau hier habe ich mal LUA versucht ....... aber leider geht es noch nicht." :(

Hmmm
Ich meine damit .......es haben sich nun einige (und auch Menschen ohne Programmier Kenntnisse)
am LUA versucht ..... mit das recht erstaunlichen Ergebnissen.

Und nun ...... wie sollen diese Mensch sich nun an die "neue" Art gewöhnen um ein Script anzupassen ?

Flieger wollen in ihrer Freizeit fliegen und nicht stundenlang am PC an der Programmierung knobeln!

Sorry Gemeinde das musste jetzt mal raus ..........

Aber Ich wollte nur mal zum Nachdenken anregen
 
Zuletzt bearbeitet:

helle

Erfahrener Benutzer
Hy,

kurze Ergänzung zu #562 wegen LUA-Scripte ab openTX V2.10

If you've got the sensor in your model, the scripts WILL work without the "catch", ie just using getFieldInfo() is fine,

BUT notice that a lot of the sensors names are now different:
They are now a maximum of 4 characters long, and can be user defined, so may be changed.
They are also case sensitive,

So for example:
getFieldInfo("altitude") will no longer work as "altitude" is now replaced with "Alt"
as default, BUT "Alt" could be renamed to anything!
 

hexasky

Neuer Benutzer
Hi



ein Schritt zurück ist gut gesagt.

Richtig "@cemizm" ....... Das versteht wer will :confused:

Damit sind wir in Lua so "Open" das keiner mehr sagen kann wo ist der Anfang und wo das Ende.

Nun gut einige werden sich schon Gedanken gemacht haben warum das nun so sein soll.

Eines ist Fact .... einfacher wird es dadurch auf keinen Fall.

An der Stelle würde ich aufpassen das, daß ganze nicht so weit VERSCHLIMMBESSERT wird
das der, der sich nicht so gut auskennt die Taranis wieder bei Seite legt und mit einer
anderen Funke zum fliegen loszieht.

Was nützt eine Firmware die total innovativ ist, aber nur die Entwickler sie noch bedienen können.

Oder wenn ich nicht mehr jemanden zeigen kann was alles geht .... weil ich es nicht mehr programmieren kann.

Stellt Euch vor Ihr steht auf dem Flugplatz .... Ein anderer Pilot kommt nach dem fliegen auf Euch zu
und sagt was ist das den für ein Sender?

Und Ihr müsst sagen "ich könnte Dir ja zeigen was der Sender alles kann ..... wenn ich es könnte".
"Schau hier habe ich mal LUA versucht ....... aber leider geht es noch nicht." :(

Hmmm
Ich meine damit .......es haben sich nun einige (und auch Menschen ohne Programmier Kenntnisse)
am LUA versucht ..... mit das recht erstaunlichen Ergebnissen.

Und nun ...... wie sollen diese Mensch sich nun an die "neue" Art gewöhnen um ein Script anzupassen ?

Flieger wollen in ihrer Freizeit fliegen und nicht stundenlang am PC an der Programmierung knobeln!

Sorry Gemeinde das musste jetzt mal raus ..........

Aber Ich wollte nur mal zum Nachdenken anregen
Dann solltest Du auf herkömmliche Fernsteuerungen wie Futaba, Spectrum, etc. zurückgreifen.
Für mein Verständnis ist gerade die freie Definierbarkeit aller Kanäle und Quellen ein grundlegender Bestandteil des Taranis Konzepts.
 

Jorge

Erfahrener Benutzer
Ich sehe das bei weitem nicht so dramatisch, schließlich geht das hier um LUA, das ist m.E. lediglich ein Bonus der Taranis, aber keine Notwendigkeit um alle Funktionen nutzen zu können. Als Modellflieger habe ich kein Zeit auf das Display zu schauen und mit FPV Brille kann ich das gar nicht...:D Tja und mehr als Temetrie Bildschirme habe ich bisher auch nicht mit LUA gesehen. Schön, aber ich brauche die nicht.
 

coolchaos

Erfahrener Benutzer
Das NEUE LUA

:confused:


Dann solltest Du auf herkömmliche Fernsteuerungen wie Futaba, Spectrum, etc. zurückgreifen. Für mein Verständnis ist gerade die freie Definierbarkeit aller Kanäle und Quellen ein grundlegender Bestandteil des Taranis Konzepts.
Hallo @hexasky,

mal schauen ob ich auf Dich hören werde .....
Mir war so als hättest Du auch schon mal ne Frage im Forum gestellt. ..... wer aus dem Forum hatte Dir geraden auf "Futaba oder Spectrum" umzusteigen ? :cool:

(hier ging es nur um die Bewertung des Neuen LUA-Konzepts ..... und das auch nur aus meiner Sicht.)

Es ging nicht um die Bewertung des OpenTX Grundsatz
 

hexasky

Neuer Benutzer
:confused:




Hallo @hexasky,

mal schauen ob ich auf Dich hören werde .....
Mir war so als hättest Du auch schon mal ne Frage im Forum gestellt. ..... wer aus dem Forum hatte Dir geraden auf "Futaba oder Spectrum" umzusteigen ? :cool:

(hier ging es nur um die Bewertung des Neuen LUA-Konzepts ..... und das auch nur aus meiner Sicht.)

Es ging nicht um die Bewertung des OpenTX Grundsatz
Ok sorry, war nicht meine Absicht dich zu beleidigen!
 

hexasky

Neuer Benutzer
Mir scheint es so, dass man hier einen Schritt zurück zum undifferenzierten LUA geht und spezielle Funktionen für die Taranis selbst definiert werden müssen.
 

C.P.

Erfahrener Benutzer
Wieso sagen alle Schritt zurück. Statt vorgegeben kann man jetzt alles frei definieren, das ergibt wesentlich mehr Möglichkeiten. Klar macht das erst mal mehr Arbeit, aber das hat man bei der normalen Programmierung der Taranis auch. Also doppelt soviel Programmieraufwand gegenüber 10 mal soviel Möglichkeiten. Ich bin mir sicher, das es auch Leute gibt, die sich mit Freude auf das neue LUA stürzen.
 

hexasky

Neuer Benutzer
So habe mir jetzt auch Companion 2.1 auf den Rechner gezogen (für die nächste Zeit nur zum simulieren). Das Telemetriemenü gefällt mir dabei sehr gut!

Der Versuch mein LUA Telemetriescreen zum laufen zu bringen funktioniert natürlich nicht. Selbst wenn ich alles rauslösche und nur noch die Linien zeichnen lasse ist das Display einfach leer.

Ich bin mal gespannt wann hier die ersten Erfolge gepostet werden...


Gruß

David
 

helle

Erfahrener Benutzer
Hy,

neues SD-Karten Verzeichnis anlegen SCRIPTS/Telemetry

nicht mehr aus <Modellname> raus ausrufen
 
Zuletzt bearbeitet:

coolchaos

Erfahrener Benutzer
Telemetry - Screens unter 2.10

hi @hexasky

Das geht zur Zeit nur wenn man:

1.) auch für den Simulator das Verzeichnis "SCRIPTS/Telemetry" angelegt hat und ein Script darin liegt
2.) im Taranis Simulator (NICHT IM COMPANION) in die Telemetry - Einstellungseite geht,

210-tele.jpg
wenn man nun "Enter" drückt werden einem alle Scripte die sich im Ordner "Telemetry" befinden angezeit
nun kann man ein Script auswählen und im Simulator die Modelleinstellungen verlassen.

3.) Nun kann man mit "long Page" wieder auf die Telemetry - Screens umschalten und wenn Lua will wird auch was angezeigt.

Auf jedem Fall muß am Scriptanfang "lcd.clear()" gesetzt werden sonst überlagert sich alles

Eine andere Möglichkeit habe ich bis jetzt noch nicht gefunden .... Überhaupt irgendetwas anzuzeigen.
 
Zuletzt bearbeitet:

hexasky

Neuer Benutzer
hi @hexasky

Das geht zur Zeit nur wenn man:

1.) auch für den Simulator das Verzeichnis "SCRIPTS/Telemetry" angelegt hat und ein Script darin liegt
2.) im Taranis Simulator (NICHT IM COMPANION) in die Telemetry - Einstellungseite geht,

Anhang anzeigen 131722
wenn man nun "Enter" drückt werden einem alle Scripte die sich im Ordner "Telemetry" befinden angezeit
nun kann man ein Script auswählen und im Simulator die Modelleinstellungen verlassen.

3.) Nun kann man mit "long Page" wieder auf die Telemetry - Screens umschalten und wenn Lua will wird auch was angezeigt.

Auf jedem Fall muß am Scriptanfang "lcd.clear()" gesetzt werden sonst überlagert sich alles

Eine andere Möglichkeit habe ich bis jetzt noch nicht gefunden .... Überhaupt irgendetwas anzuzeigen.
Hey coolchaos Danke!

Werde die Tage weiter forschen...


Gruß

David
 

hexasky

Neuer Benutzer
hi @hexasky

Das geht zur Zeit nur wenn man:

1.) auch für den Simulator das Verzeichnis "SCRIPTS/Telemetry" angelegt hat und ein Script darin liegt
2.) im Taranis Simulator (NICHT IM COMPANION) in die Telemetry - Einstellungseite geht,

Anhang anzeigen 131722
wenn man nun "Enter" drückt werden einem alle Scripte die sich im Ordner "Telemetry" befinden angezeit
nun kann man ein Script auswählen und im Simulator die Modelleinstellungen verlassen.

3.) Nun kann man mit "long Page" wieder auf die Telemetry - Screens umschalten und wenn Lua will wird auch was angezeigt.

Auf jedem Fall muß am Scriptanfang "lcd.clear()" gesetzt werden sonst überlagert sich alles

Eine andere Möglichkeit habe ich bis jetzt noch nicht gefunden .... Überhaupt irgendetwas anzuzeigen.
Alles klar,

soweit funktioniert es bei mir immerhin auch schonmal!


Gruß

David
 

hexasky

Neuer Benutzer
Hallo nochmal,

jetzt besteht noch das Problem, dass wenn ich im Sim mit F4 Werte vorgebe sich nichts ändert.
So habe ich es z.B mit der Empfangsqualität (RSSI) versucht diese zu simulieren, jedoch bleibt die Ausgabe über LUA stets 199(?).

Es wäre interessant zu hören, ob hier jemand vor einer ähnlichen Problemstellung steht oder stand.


Gruß

David
 
erster erfolgreicher Test der Simulation:
2Byte ID für die Sensoren verwenden:
(siehe Handbuch von Helle Telemetrie für 2.1)
als SubID die Empfängernummer eintragen
(d.h. gleiche ID wie in der Empfängerdefinition)

Ralf
 
Zuletzt bearbeitet:
FPV1

Banggood

Oben Unten