OTX LUA Scripts zum testen

kofferfisch

Erfahrener Benutzer
#41
Hallo an alle begabten LUA-Texter,

ist es möglich, mit der neuen Funktion auch Steuerimpulse anzupassen?

Zum Hintergrund:
Die Tilt-Ansteuerung der letzten H3-2D und der aktuellen H3-3D-Zenmuse lässt leider nur eine sehr ruppige Ansteuerung zu. Wünschenswert wäre die Impulsverarbeitung in Form einer Rampe abhängig vom Steuerinput (wer Alexmos kennt: gesucht ist der Speed-Mode statt des Angle-Modes).

In Kürze erklärt:
Bei Mittelstellung des Sticks: keine Bewegung
Stick nach oben: Schwenk nach oben (Geschwindigkeit des Schwenkens in Abhängigkeit zur Knüppelstellung (Stick nahe am zentrum: langsame Bewegung, Stick stark ausgelenkt: schnelle Bewegung)
Stick nach unten: wie oben beschrieben, nur umgekehrt.

Das ganze gepaart mit einem sehr soften Anlauf wäre super!

Könnt ja mal schreiben, was ihr davon haltet.

Gruß

Kofferfisch
 

DerCamperHB

Erfahrener Benutzer
#42
Gibt es eigentlich eine Vernünftige Anleitung für Doofe, oder ist das nur für etwas für jemanden mit längerer Erfahrung mit scripte schreiben, was mir leider absolut fehlt
 

heikop

Erfahrener Benutzer
#45
Schönes Beispiel, der Quelltext ist ja nahezu selbsterklärend.
Jetzt fehlt nur noch eine komplette Befehlsliste incl. Syntax und deutschsprachiger Erläuterung. ;)
 

acromaster2013

Erfahrener Benutzer
#48
Hatte ich gelesen.Habe meine Ordner danach sofort so angelegt.Habe diesen lua telemetry einfach in den Script Ordner geschmissen. In den spezialfunktionen kann man das ja auch aufrufen.aber dann ? Naja.ich denke ab der 2.06 geht's dann wohl
 

Tempo

Erfahrener Benutzer
#51
Nutzen von Großanzeige

Hy,

einfaches LUA Script ab v2.06
(Einfach mal mit einem einfachen Text-Editor öffnen, Notpad++, LUA-Edit)

Helle
Hier das Originalscript z.B. mit Wordpad geöffnet:

local function run(event)

lcd.drawNumber(210, 10, getValue("altitude"), XXLSIZE)
lcd.drawText(150, 54, "MAX", 0)
lcd.drawChannel(172, 54, "altitude-max", LEFT)
local timer = model.getTimer(0)
lcd.drawTimer(2, 1, timer.value, MIDSIZE)
lcd.drawRectangle(0, 0, 34, 14)
timer = model.getTimer(1)
lcd.drawTimer(40, 1, timer.value, MIDSIZE)
lcd.drawRectangle(38, 0, 34, 14)
lcd.drawChannel(11, 29, "tx-voltage", LEFT+MIDSIZE)
local settings = getGeneralSettings()
local percent = (getValue("tx-voltage")-settings.battMin) * 100 / (settings.battMax- settings.battMin)
lcd.drawNumber(35, 45, percent, LEFT+MIDSIZE)
lcd.drawText(lcd.getLastPos(), 45, "%", MIDSIZE)
lcd.drawGauge(5, 42, 88, 18, percent, 100)

end

return { run=run }

LUA_Großzifferanzeige_Taranis.png

Hier gibt es die LUA-Funktions-Definitionen für das Taranis-Display:
https://github.com/opentx/opentx/wiki/Lua-Display-Functions

Mit ein paar selbstgemachten Script-Änderungen werde ich damit meine alte zusätzlich montierte Großanzeige bald direkt auf dem Taranis-Display ersetzen können:
kleines BildTempoMat1_FernsteuerungundXperience.jpg

Wie das Foto zeigt, ist üblicherweise eine optische Anzeige mit kleinen Zeichen im Sender-Display wenig sinnvoll, da die Sicht-Konzentration auf das Flugobjekt nötig ist und die Augen einen Akkomodationswechsel von Fern- auf Nahsehen machen müssen. Mit Handsender ist es aber möglich eine Groß-Anzeige in den Sichtbereich z.B. des Thermikseglers zu halten und recht entspannt mit den Augen sowohl die Großanzeige und den Segler gleichzeitig nach Bedarf zu beobachten und scharf zu sehen.

Für vor allem dynamische Sensorinformation (Vario etc.) sind grundsätzlich akustische oder haptische (Vibrations-)Signale besser geeignet.
Demnächst werde ich die dynamische Information meines selbstentwickelten Schiebesensors nach unten funken und optisch und haptisch per Vibration darstellen, um schiebefrei fliegen zu können. Das entspricht der Nutzung des "Fadens" beim Segelflieger:

IMG_4054.jpg


Vielen Dank Helle für Dein Beispiel !
Geht es noch größer als XXLSIZE bzw. was ist die maximale Größe auf dem Taranis-Display ?
 
Zuletzt bearbeitet:
#52
Wenn es keine größere Schrift gibt, kannst Du Dir ja die 10 Ziffern aus 10 Bitmaps zusammenbauen und entsprechend anzeigen, dann geht es halt bis volle Displayhöhe...
 

Tempo

Erfahrener Benutzer
#53
Hy,

einfaches LUA Script ab v2.06
(Einfach mal mit einem einfachen Text-Editor öffnen, Notpad++, LUA-Edit)

Helle
Seltsam, beim originalen Download http://www.open-tx.org/2014/06/30/telem2-lua/ wird firmware ab OpenTX2.04 verlangt statt wie von helle genannt v2.06.
Bei meiner Taranis ist OpenTX2.05 drauf und da erscheint bei mir nach dem Aufspielen laut der Anleitung http://www.open-tx.org/2014/06/30/telem2-lua/ am Telemtriebildschirm eine "leere" Anzeige, d.h. Taranis-LCD ist ohne Zeichen.
Was fehlt da an weiteren Einstellungen oder was gilt denn nun ?
 

helle

Erfahrener Benutzer
#54
Hy,

Das geht erst ab V2.06 wg div Funktionen und Schriftarten die erst ab V2.06 offiziell verfügbar sind.
In 2-3 Tagen also.

War eben nur mal ein sehr kurzes Script verfügbar
um zu zeigen was auf die Schnelle machbar ist.

Helle
 
Zuletzt bearbeitet:

Tempo

Erfahrener Benutzer
#55

Chriss_:)

Erfahrener Benutzer
#56
Hi zusammen,

hab auch grad die 2.06 geladen und getestet (bisher nur am Rechner).

Mir ist noch was aufgefallen:
wenn ihr Modell mit Leerzeichen im Namen habt, müsst ihr bei den Ordnernamen die Leerzeichen duch Unterstriche ersetzen.
Hatte das mit meinem Modell "Bixler 2", der wollte mir die Telemetrie nicht anzeigen, einfach den Ordner umbenannt in "Bixler_2" und schon läuft es! ;) Modell müsst ihr nicht umbennenen! ;)

Schöne Grüße aus dem Sauerland!
Chriss
 

MaxWin

(╯°□°)╯︵ ┻━┻
#57
Hallo,

schon jemand geschafft einen Custom-Telemetrie-Screen mit der Gesamtspannung der Telemetrie zu bauen?

Code:
lcd.drawText(10, 10,  getValue("cell-sum"), 0)
wirft bei mir leider einen fehler?
 

Tempo

Erfahrener Benutzer
#60
Hallo,

schon jemand geschafft einen Custom-Telemetrie-Screen mit der Gesamtspannung der Telemetrie zu bauen?

Code:
lcd.drawText(10, 10,  getValue("cell-sum"), 0)
wirft bei mir leider einen fehler?
Muß das nicht "drawNumber" statt "drawText" heißen wie bei diesem Beispiel:
lcd.drawNumber(210, 10, getValue("altitude"), XXLSIZE) also entsprechend lcd.drawNumber(10, 10, getValue("cell-sum"), 0)
 
FPV1

Banggood

Oben Unten