OTX LUA Scripts zum testen

cluedo

Erfahrener Benutzer
So habe das ok bekommen das überarbeitete script hier ein zu stellen.
Danke für das Umschreiben und für das ok der Veröffentlichung an Gando der mein script auf den neuen Stand gebracht hat.
Viel Spaß beim testen:

-- Version 1.0
-- Telemetry screen UnisensE_Heli.lua is based on UNISENS E and 8XR Receiver
-- (rename it to telem1.lua if it should be displayed as your first telemetry panel)
-- Save the model script under \\SCRIPTS\modelname where modelname is the name of your model

-- It displays:
-- RSSI
-- BEC Voltage if in Telemetry is A1
-- Lipo Voltage
-- Consumption
-- Current and maximum current
-- Power and Maximum Power
-- RPM for Helis depending on Gear Ratio

local g_rpm=0

local function bgrnd_func()

rpm = getValue("RPM")
g_rpm = (rpm / (121/ 12)) -- GEAR RATIO for Heli / Getriebeübersetzung für Heli (Hauptzahnrad / Motorritzel)

end

local function run_func(event)
bgrnd_func()
lcd.clear()

-- Let's draw some values.
lcd.drawChannel(193, 15, "Cons", XXLSIZE)
lcd.drawRectangle(99,54 ,93, 65)
lcd.drawText(101, 56, "Lipo", SMLSIZE)
lcd.drawChannel(143, 56, "VFAS", SMLSIZE)
lcd.drawText(155, 56, "BEC", SMLSIZE)
lcd.drawChannel(185, 56, "RxBt", SMLSIZE)

lcd.drawText(5, 5, "Drehzahl", SMLSIZE)
lcd.drawRectangle(3, 3, 88, 18)
lcd.drawNumber(89, 4, g_rpm, DBLSIZE)

lcd.drawText(5, 25, "Ampere", SMLSIZE)
lcd.drawText(5, 33, "Max", SMLSIZE)
lcd.drawRectangle(3, 23, 88, 18)
lcd.drawChannel(84, 24, "Curr", DBLSIZE)
lcd.drawChannel(43, 32, "Curr+", SMLSIZE)
lcd.drawText(5, 45, "Leistung", SMLSIZE)
lcd.drawText(5, 53, "Max", SMLSIZE)
lcd.drawRectangle(3, 43, 88, 18)
lcd.drawChannel(84, 44, "PWR", DBLSIZE)
lcd.drawChannel(43, 52, "PWR+", SMLSIZE)

lcd.drawText(118, 4, "RSSI", SMLSIZE)
lcd.drawNumber(143, 4, getValue("RSSI"), LEFT+SMLSIZE)
lcd.drawText(lcd.getLastPos(), 4, "%", SMLSIZE)
lcd.drawGauge(100, 2, 90, 11, getValue("RSSI"), 100)
end

return { background=bgrnd_func, run=run_func }
 

rcbebo82

Erfahrener Benutzer
Hallo Zusammen,
macht es nicht Sinn eine Sammlung aller Skripte auf github zu veröffentlichen? Ich finde die Suche hier in diesem Thread sehr zeitaufwendig!

LG
Bebo
 
hallo,
ich hätte mir auch dieses script hier geholt, um von 2.0 auf 2.1 upzudaten. wenn ich das scirpt in companion auswähle und dann simuliere erhalte ich allerdings folgende fehlermeldung:
Script Syntax error, unexpected symbol near cahr(239)
jemand eine idee was hier falsch ist?
danke
roland
 
so, im Sender selbst hab ich es jetzt zum laufen bekommen. allerdings fehlt in der anzeige die consumption. ein nicht ganz unwichtiger wert :)
kann das sein, dass der vergessen wurde, oder zeigt es mir diesen nicht an?

danke nochmals,
roland
 
Hallo,
ich verwende das Script hier (modifiziert von Gando für 2.1).
local g_rpm=0

local function bgrnd_func()

rpm = getValue("RPM")
g_rpm = (rpm / (121/ 12)) -- GEAR RATIO for Heli / Getriebeübersetzung für Heli (Hauptzahnrad / Motorritzel)

end

local function run_func(event)
bgrnd_func()
lcd.clear()

-- Let's draw some values.
lcd.drawChannel(193, 15, "Cons", XXLSIZE)
lcd.drawRectangle(99,54 ,93, 65)
lcd.drawText(101, 56, "Lipo", SMLSIZE)
lcd.drawChannel(143, 56, "VFAS", SMLSIZE)
lcd.drawText(155, 56, "BEC", SMLSIZE)
lcd.drawChannel(185, 56, "RxBt", SMLSIZE)

lcd.drawText(5, 5, "Drehzahl", SMLSIZE)
lcd.drawRectangle(3, 3, 88, 18)
lcd.drawNumber(89, 4, g_rpm, DBLSIZE)

lcd.drawText(5, 25, "Ampere", SMLSIZE)
lcd.drawText(5, 33, "Max", SMLSIZE)
lcd.drawRectangle(3, 23, 88, 18)
lcd.drawChannel(84, 24, "Curr", DBLSIZE)
lcd.drawChannel(43, 32, "Curr+", SMLSIZE)
lcd.drawText(5, 45, "Leistung", SMLSIZE)
lcd.drawText(5, 53, "Max", SMLSIZE)
lcd.drawRectangle(3, 43, 88, 18)
lcd.drawChannel(84, 44, "PWR", DBLSIZE)
lcd.drawChannel(43, 52, "PWR+", SMLSIZE)

lcd.drawText(118, 4, "RSSI", SMLSIZE)
lcd.drawNumber(143, 4, getValue("RSSI"), LEFT+SMLSIZE)
lcd.drawText(lcd.getLastPos(), 4, "%", SMLSIZE)
lcd.drawGauge(100, 2, 90, 11, getValue("RSSI"), 100)
end

return { background=bgrnd_func, run=run_func }
Ich habe es im Unterverzeichnis /SCRIPTS/TELEMETRY/logo550.lua abgespeichert. Im Telemetrie Menü der Taranis habe ich das Script dann noch zugeordnet. Das Layout im Telemetrie Bildschirm stimmt, ein paar Werte werden auch schon angezeigt.

Was mir noch nicht klar ist: Muss ich die Variablen, die mir Unisens liefert, und im LUA Script mit bestimmten Namen angesprochen werden, auch in der Taranis erstellen oder zuordnen? Mir fällt z.B. auf, dass im alten Script von "Consumption" die Rede ist, im Neuen Script heißt das jetzt "Cons". Vielleicht wird mir auch deshalb kein Verbrauch angezeigt, da die Zuordnung nicht hergestellt ist.

Danke nochmals für euren Input!
lg roland
 

rcbebo82

Erfahrener Benutzer
Hi,
es gibt verschiedene Möglichkeiten auf die Sensoren die du in der Taranis im Telemetry Screen anlegst zuzugreifen. Das Script was du verwendest spricht diese einfach direkt mit deren Namen an.
Wenn du nun also Cons = Consumption so ausgeben magst wie in dem Script oben angegeben dann muss auch der Sensor im Telemetry Screen genau so heißen!

LG
Bebo
 

strgaltdel

Erfahrener Benutzer
Hi,

wenn ich es richtig in Erinnerung habe liefert der Unisense unter dem S-Port Protokoll keinen Verbrauchswert ala "Cons" !
Um mittels Unisense den Verbrauch zu messen muss manuell ein entsprechender Telemetriewert berechnet werden.

z.B. mittels Einstellung:

Name: "Cons"
Typ: Berechnung
Arithmetik: Verbrauch
Sensor: "Curr" (also Sensorname des Stromsensors, typisch ist "Curr")

Eine Sensorsuche allein liefert mittels Unisense noch keinen direkt verwertbaren Verbrauchssensor
(es gibt da imho allerdings "Fuel", der eine % Angabe des Verbrauchs auf Basis der im Unisense als Warnschwelle eingestellten Kapazitätsentnahme darstellt)

Gruß
Udo
 
Danke für den Tipp Udo. Interessanter Weise wurde mit dem "alten" Script unter 2.0 der Verbrauch genauestens ermittelt. Ich werde versuchen, die Einstellungen von dir zu übernehmen. Mal schauen was der Verbrauch dann ergibt. Als ID habe ich 0210 ID20 eingestellt - ich hoffe das passt so.
Leistung fehlt mir ebenfalls noch. Hatte beim alten Script auch eine nette Watt-Anzeige. Vermutlich muss ich das auch selbst berechnen. (Spannung mal Volt)
oder?
DAnke
roland
 
Hallo Roland,
anbei mein lua-script. Zur Beschreibung in #615 hat sich folgendes geändert.
Zur Änderung der Zellenzahl und Kapazität motor aus und gashebel auf Vollgas. Die Werte werden immer sofort gespeichert.
Die Spannung darf bei 0-10C auf 3,5 V, bei 10-20C auf 3,4 V und bei >20C auf 3,3 V pro Zelle und aktuellem Verbrauch absinken bevor eine Warnung kommt.
Der Balken des Verbrauchs bezieht sich auf 80% der eingestellten Kapazität. Eine automatische Ansage der nutzbaren Restkapazität erfolgt ab 5%.
Die Namen der Sensoren müssen auf der Telemetrieseite richtig eingestellt sein.


Anhang anzeigen telem1.txt
 
FPV1

Banggood

Oben Unten