Naze32 & FRSky D4R-II Telemetrie LUA Script

Status
Nicht offen für weitere Antworten.

ben_

Erfahrener Benutzer
#1
Naze32 & FRSky D4R-II Telemetrie & LUA Script


Mein Setup:

  • H2 Alien 250
  • Sunnysky X2204 2300KV
  • Emax 12A ESC
  • Naze32 full Rev. 5
  • FRSky D4R-II

Ich mag es wenn ich wichtige Daten direkt auf meiner Taranis sehen kann.
Da die Naze32 einen Telemetrieport hat, nutze ich diesen auch :D

Mit den entsprechenden Videos war das auch ganz schnell erledigt.
Die Videos findet man auf YouTube.

Zusätzlich habe ich gesehen das Richardoe ein kleines LUA Script zum Anzeigen
der Daten gebaut hat. Er hat sich dabei von Sockeye insprieren lassen, der im
Nachbarforum ein Script für die DJI Naza gebaut hat.

Quelle:
Richardoe.jpg

Das Thema LUA Script interessiert mich natürlich auch und da ich gene noch mehr
Funktionen und Schalter eingebaut haben wollte, habe ich mein Version des Scripts gebaut.
Als Grundlage dient hier ein modifiziertes original Script.

Durch den Input aus dem Forum habe ich das Script nun erweitert.
Es bietet nun mehrere Flugmodes, eine Uhr, Beeper Funktion,
eine Throttel Anzeige in %, Batterieanzeige, RSSI Anzeige und Status der Naze32

screenshot-3.png screenshot-4.png
screenshot-5.png screenshot-6.png

In Arbeit:

  • Anzeige X Y Z Achse -ERLEDIGT-
  • Taranis Profil 8 Kanal -ERLEDIGT-
  • Taranis logische Funktion und Schalter mit Sound
  • Soundpack
  • BMP Pack -ERLEDIGT-

In meiner Dropbox halte ich das Script zum Download bereit, auch findet Ihr dort
das original Script und die aktuelle Version. Auch das Bildpack ist im Ordner.
Die aktuelle Version hat immer die Bezeichnung telem1.lua!

[HR][/HR]
Hier findet Ihr das Script, BMP Pack und ein Naze32 Taranis Profil

[HR][/HR]
Screenshot aktuelle Version:
screenshot-1.png

[HR][/HR]

Vielen Dank an die Leute die bisher mitgewirkt haben:

  • lichtl FPV-Community

P.S.: Fühlt Euch frei das Script so zu verändern wie Ihr das benötigt!​
 
Zuletzt bearbeitet:

lichtl

Erfahrener Benutzer
#2
Hi,

schöner Post. Ich bin auch vor kurzem über dieses LUA script gestolpert. Das mit dem FC Status wollte ich so eigentliche auch machen allerdings kann man das ja nicht via Telemetrie abgreifen. Aber ich will hier mein Code-Schnipsel nicht vorenthalten. In der XYZ Acc Sektion habe ich die Prozentuale Gasanzeige der Funke mit reinprogrammiert (häng gerade noch daran das ich es eigentlich als pwm wert ausgeben will)

function round(num, idp)
local mult = 10^(idp or 0)
return math.floor(num * mult + 0.5) / mult
end

lcd.drawText(80, 20,"Thr%: ", 0)
lcd.drawText(120,20,round((getValue(MIXSRC_Thr)/10.24)/2+50,0),0)
 

ben_

Erfahrener Benutzer
#3
Hallo lichtl,

dankeschön, wenn ich darf über nehme ich den Schnipsel in meinen Code.

Grüße

ben_

Aktuelle Version im #1 Beitrag :D
 
Zuletzt bearbeitet:

BleiEnte

Neuer Benutzer
#4
Hallo ben_,

super LUA Script. Ich bin gerade dabei meinen QAV250 mit einer Full NAZE32 aufzubauen.

Ich bekomme alle Anzeigen bis auf die aktuelle Uhrzeit, hier wir imm 00:00 angezeigt.

Des Weiteren fehlen mir die Sounds für -Logst und -AdjVol.

Ich benutze eine Taranis (Standard nicht plus) mit der aktuellen Firmware.

Kannst Du mir vielleicht einen Tipp geben, woran es liegen könnte?

Gruß

BleiEnte
 

BleiEnte

Neuer Benutzer
#5
Hallo ben_,

hat sich erledigt. Man sollte auch den Empfänger beim testen mit Spannung versorgen.

Bis auf die beiden Sounds funtioniert jetzt alles. Super Anzeige! Top!

Gruß

Blei Ente
 

ben_

Erfahrener Benutzer
#6
Sehr schön :D
Freut mich wenn es funktioniert.
 

ben_

Erfahrener Benutzer
#7
Edit:
Das Soundpack bin ich gerade am erstellen. Wenn Du willst, lade ich Dir meinen kompletten Soundordner hoch.
 

ben_

Erfahrener Benutzer
#10
Hallo BleiEnte,

so ich habe den ganzen Soundpack gezipt und in die Dropbox geladen.
Nutze den Dropbox Link in Beitrag #1 oder klicke hier :D

Viel Spaß und Danke für Dein Feedback
 

ben_

Erfahrener Benutzer
#12
Hi Madmonkey,

das ganz einfach. Deine Taranis X9D oder X9D Plus oder auch Turnigy X9R Pro müssen LUA Script in der Firmware aktiviert haben. Das macht man mit der Software Companion am PC.

Dann schiebt man das Telemetriescript auf die SD Karte. Deine SD Karte hat dann schon ein Verzeichnis SCRIPTS oder man muss ihn anlegen. Dann noch einen Ordner mit dem Modellnamen anlegen und da kommt dann das Script rein.
Wichtig: Leerzeichen im Modellnamen müssen mit _ ersetzt werden.
 

BleiEnte

Neuer Benutzer
#14
Hi Madmonkey,

am bsten das aktuelle Handbuch für die Taranis downloaden.

Da gibt es ein extra Thema zum einrichten der LUA-Scripte.
(anlegen der Verzeichnis-Struktur, etc.)

Das ganze ist aktuell noch mit etwas Handarbeit verbunden.

Dank der Top-Arbeit von ben_, ist ein klasse LUA-Script entstanden.
 

BleiEnte

Neuer Benutzer
#16
Hallo ben_,

ich habe heute alle Motoren und den ersten Regler aufgebaut bzw. parametriert. Der Motor läuft und fast alle Kanäle vom LUA Script werden richtig bedient. Nur die Spannungsanzeige und der Beeper funktionieren noch nicht.

Der Beeper gibt einen Dauerton, hier komme ich vorerst nicht weiter. Hast Du vielleicht eine Idee, woran es liegen könnte?

Für die Spannungsanzeige muss sicherlich noch der Telemetriekanal der Naze32 mit dem Empfänger verbunden werden.
Das werde ich dann morgen mal machen.
 

ben_

Erfahrener Benutzer
#17
Hallo BleiEnte,

zur Not kann man die entweder die Kanäle ändern, oder das Script anpassen.
Dafür gibt es einige kostenlose Editoren, Notepad++ von Chip. Ich könnte aber auch einfach mal meine Programmierung
in den Ordner legen. Sofern Du eine Taranis nutzt musst Du das nur noch da anpassen.
Modellsetup hier Alien250

Wenn der Beeper einen Dauerton gibt stimmt etwas mit dem Board nicht. Ich musste da auch ein
wenig rummachen bis das sauber gelaufen ist.

In dem LUA Script habe ich bewusst darauf verzichtet Logischeschlater auszulesen, da sich das
Setup und die FLmodes doch häufiger ändern können. Daher ist es leichter das manuell anzupassen.

Richtig für die Spannungsanzeige muss das Telemetriekabel verbunden werden, unter dem
Stichwort Naze32 und D4R-II Telemetry findet Youtube und googel sehr viel.

Die korrekte Spannung wird dann im armed Zustand angezeigt und im Fug errechnet.
Du kannst auch hier Deine Spannungsparameter im LUA anpassen:

Batteriestand:

Code:
-- ###############################################################
-- Batteriestand Leer | Einfach anpassen
-- ###############################################################

	local four_low=13.5														-- Akku 4s | Warnung, Entladezustand, Restspannung
	local three_low=10.2													-- Akku 3s | Warnung, Entladezustand, Restspannung
	local two_low=6.9														-- Akku 2s | Warnung, Entladezustand, Restspannung

-- ###############################################################
-- Batteriestand Voll | Einfach anpassen
-- ###############################################################

	local four_high=16.5													-- Akku 4s | Ladezustand, Spannung bei vollem Akku
	local three_high=12.5													-- Akku 3s | Ladezustand, Spannung bei vollem Akku									
	local two_high=8.5														-- Akku 2s | Ladezustand, Spannung bei vollem Akku
Flugmodes:

Code:
-- ###############################################################
-- Flightcontrol	DISARMED/ARMED 						switch SF
-- ###############################################################

 	if getValue(MIXSRC_SF)<0 then											-- switch SF
		lcd.drawText(38, 31, "FC DISARMED",SMLSIZE)
  	else
     	lcd.drawText(38, 31, "FC ARMED",SMLSIZE)
    end
	
-- ###############################################################
-- Beeper			ON/OFF								switch SB
-- ###############################################################
  
	if getValue(MIXSRC_SB)<0 then											-- switch SB
     	lcd.drawText(38, 45, "BEEPER OFF",SMLSIZE)
  	elseif getValue(MIXSRC_SB) == 0 then
		lcd.drawText(38, 45, "BEEPER ON",SMLSIZE)
	else
     	lcd.drawText(38, 45, "BEEPER OFF",SMLSIZE)
  	end

-- ###############################################################			
-- Flightmode1		Level/Horizon/Acro					switch SD
-- ###############################################################

   	if getValue(MIXSRC_SD)<0 then											-- switch SD
      	lcd.drawText(98,1,"Level",MIDSIZE)									-- Startmode
   	elseif getValue(MIXSRC_SD) == 0 then									-- switch SD
      	lcd.drawText(98,1,"Horizon",MIDSIZE)
   	else
     	lcd.drawText(98,1,"Acro",MIDSIZE)
   	end

-- ###############################################################
-- Flightmode2		Level mit Baro						switch SC
-- ###############################################################

   	if getValue(MIXSRC_SC)<0 then											-- switch SC
      	lcd.drawText(98,1,"",MIDSIZE)										-- Der Startmode wird bereits bei Flightmode 1 gesetzt
   	elseif getValue(MIXSRC_SC) == 0 then									-- switch SC
      	lcd.drawText(98,1,"Level",MIDSIZE)
		lcd.drawText(98,14,"Baro",SMLSIZE)									-- Status Baro: ON
   	else
     	lcd.drawText(98,1,"Level",MIDSIZE)
		lcd.drawText(98,14,"Baro/Mag/Head",SMLSIZE)							-- Status Baro: ON	/ Mag: ON / Headfree: ON
   	end
	
-- ###############################################################
-- Flightmode3		FL Beeper On/Autotune				switch SB
-- ###############################################################

   	if getValue(MIXSRC_SB)<0 then											-- switch SB
      	lcd.drawText(98,1,"",MIDSIZE)										-- Der Startmode wird bereits bei Flightmode 1 gesetzt
   	elseif getValue(MIXSRC_SB) == 0 then									-- switch SB
      	lcd.drawText(98,1,"",MIDSIZE)
		lcd.drawText(98,14,"Beeper ON",SMLSIZE)								-- Status Bepper: ON
   	else
     	lcd.drawText(98,1,"Autotune",MIDSIZE)
		lcd.drawText(98,14,"Autotune",SMLSIZE)								-- Status Autotune: ON
   	end
 

BleiEnte

Neuer Benutzer
#18
Hallo ben_,

besten Dank für das Setup und die Infos. Das werde ich am Wochenende mal testen. Ich habe zwischenzeitlich ein eigenes Setup in die Taranis hinterlegt, damit ist der Beeper nur beim Start der NAZE32 und per Schalter aktiv. Das Board reagiert unter baseflight bei allen Schalter- und Stick-Bewegungen, ist somit wohl in Ordnung. Werde das LUA Script dann mal unter die Lupe nehmen.

Fliegst du mit 4S oder 3S Lipo? Ich werde als erstes mit 3S starten. Bis bald.
 

ben_

Erfahrener Benutzer
#19
Hey BleiEnte,

gerne doch :D Im Moment leider gar nicht , mein kleiner ist dank eines gelösten Schaumstoff auf der Platine (Baro) auf und davon und wurde nie wieder gesehen :D

Aber ansonsten 3s Lipo.
Der neue ist schon in Bau, warte noch auf ein paar Teile.

image.jpg

So hat er ausgesehen, denke der hängt irgendwo im Wald :D

Grüße
ben_
 
Zuletzt bearbeitet:

BleiEnte

Neuer Benutzer
#20
Hallo ben_,

schönes Teil. Ein Flyaway ist immer bitter.

Ich habe mittlerweile alle Regler parametriert und getestet, das LUA Script mit allen Anzeigen funktioniert. Den Beeper habe ich auf einen der AUX Eingänge gelegt und den Flugmodus über den SB-Schalter vorerst deaktiviert. Nächste Woche folgt der Rest und das Feintuining. Ein Foto folgt. Ich hoffe mein QAV fliegt mir nicht davon :engel:.
 
Status
Nicht offen für weitere Antworten.
FPV1

Banggood

Oben Unten