LUA Scripting voor o.a. Taranis

Voor naze32 is post 17 de laatste

[post17]

Ok, thanks. Misschien soms eens een overzichtspost maken van alle (nieuwste) versies die al gemaakt en gepost zijn? Dit geeft dit topic wel een meerwaarde voor nieuwe lezers of lezers die niet elk bericht opvolgen :-) Ondertussen stak er de eerste versie al in :p Piece of cake! Nu even de nieuwste erin zetten :-)
 
Laatst bewerkt door een moderator:
Ja maar nadeel,is op dit forum dat je maar beperkte tijd je post mag aanpassen dus dat lukt me hier niet. Misschien hebben de moderators een idee
 
Ja maar nadeel,is op dit forum dat je maar beperkte tijd je post mag aanpassen dus dat lukt me hier niet. Misschien hebben de moderators een idee

Ja dat weet ik, zat ik mee met mijn bouwverslag toen ik alles in de eerste post wou zetten :-/ daar kon toen niets aan gedaan worden dus ik vrees er voor. Maar wat je wel kan doen is om de zoveel tijd eens een overzichtspost plaatsen (deze kan je gewoon in kladblok opslaan voor de volgende keer).

De nieuwste versie staat erin! Het enige wat niet werkt is de modus op het scherm "horizon, acro, ..." deze blijft altijd staan op horizon. Moet deze misschien op een specifieke AUX ingesteld worden in de naze32 vooraleer deze werkt?

EDIT: gevonden!
 
Laatst bewerkt:
Gisteren nog even scherm 3 getest. Mocht je je quad/hex kwijt zijn, ga naar scherm 3 van de lua (ook nadat je battery disconnected hebt van je quad/hex) zolang je je zender maar aanlaat.

Ga op homepoint staan (daar waar je opsteeg) pak je telefoon met kompas of los kompas en geef daarin de graden (180 in dit voorbeeld) kijk naar die richting en loop vervolgens de afstand rechtsonderin beeld die kant op (2001 m in dit voorbeeld). Exact daar ligt hij.

GPS coordinaten kan natuurlijk ook altijd, maar is soms lastiger.

82cd6a43cb.jpg


PS voor de wakkeren onder ons, in dit voorbeeld zou de hex dan op een wolkenkrabber moeten liggen qua hoogte, maar goed "you get the point."
 
Ben nu wel met een script van iemand aan het testen die de gimball vertraagd met een factor 2, vind met die sliders het altijd lastig de gimball heel langzaam te laten bewegen. Script vertraagd dat, stel je doet de slider ineens van boven naar beneden dan gaat de gimbal gewoon rustig naar beneden in een paar sec.

Langzaam roteren (360 graden) heb ik al met curves opgelost op een switch, met deze erbij kan je erg rustige filmbeelden maken.

Maar dat is een los script.
zie [media=youtube]htn64XRH558[/media] vanaf 2 minuten.

Staat dat script al ergens?
 
Laatst bewerkt door een moderator:
Ok, ik ga het weekend met een beetje geluk de Zenmuse H3-3D monteren, dus dan zou het leuk zijn om dat erbij te hebben.
 
ok, ok, hint begrepen. Hierbij dan :-)

Script getest met zenmuse H3-3D, Taranis en Naza v2, zenmuse gaat uit van RightSlider en Switch SD voor keuze 0,5*, 1* of 1,5* de snelheid.

Uit mijn hoofd is onderstaande wat je doen moet, als iemand dit stappenplan zou willen testen graag.

Stap 1.
FW moet met LUA optie aan zijn geinstalleerd (voor telemetrie niet nodig) hier voor wel.
7de8bf0454.png


Stap 2.
Plaats onderstaand script in de folder <SDCARD>\SCRIPTS\MIXES\tilt.lua

PS met regel local SlowSliderSpeed = 20.48 / 1.5 kan je de snelheid zelf nog tunen. Alleen de 1.5 aanpassen en denk aan punt ipv komma voor decimalen.

Stap 3.
Ga naar mixes en voor channel 5 (of dat kanaal dat je gimbal bedient) stel onderstaande in. houdt rekening met je eigen offset en weights als je die anders had.
be481ce158.png


Stap 4.
Maak in mixes een nieuw channel 30
74217b3e31.png


Stap 5.
Maak in mixes een nieuw channel 31
a38b8647f3.png


Stap 6.
Ga naar custom mixes via je model (page 12)
en stel daar in lua script (tilt) als je dat in stap 2 gekozen hebt. Als het goed is wijzigen de getallen rechts als je aan switch SD zit en aan Right Slider
36e1171438.jpg


Thats it.
en dan heb je dit:
Smooth Ramping Tilt Zenmuse H3-3D GCU with Open TX Lua script - YouTube (filmpje start op 2 min als je erop klikt)


Script:
Code:
--Smooth tilt beta version fully functional JMMaupin 2014-09-27 
local SExtSpeed = 0		-- Internal value from Input Slider or Switch speed profile
local SliderPos = 0		-- Internal value from Input Slider desired position
local SliderAcc = 0		-- Smooth ghost from SliderPos
local SliderSlow = 0
local DeltaSldSlow = 0
local DirSliderSlow = 0
local DeltaSldAcc = 0
local AbsDeltaSldAcc = 0
local DirSliderAcc = 0	-- Direction from SliderPos
local FinaltPos = 0		-- Live out position
local DeltaPos = 0
local DeltaPosR2 = 0 	-- DeltaPosSqr
local AbsDeltaPos = 0
local DirectPos = 0		-- Direction
-- Inputs HMI ----------------------------------
local InSpeed = 0		-- Input for desired Global speed source device
local InSlider = 0		-- Input for desired position source device

-- Behavior parameters. Results depend from the running cycle time approximately every 10ms (Mesured)
local SlowSliderSpeed = 20.48 / 1.5	-- (Do not change 20.48) / Your Seconds at ExternalSpeed profile = 1
local AccRatio = 1/30 	-- Impact acceleration
local DecRatio =  1/20 	-- Impact deceleration

local function run ( InSpeed , InSlider ) -- Cyclic Execution approximately every 10ms (Mesured)
	SliderPos = InSlider -- Get the Desired target position
	-- Compute the desired global speed
	SExtSpeed = (1024 + InSpeed / 2) /1024 -- 0.5 for -1024 | 1 for 0 | 1.5 for 1024
	
	-- 1St Slow slider
	DeltaSldSlow = SliderSlow - SliderPos
	DirSliderSlow = DeltaSldSlow > 0 and 1 or -1 -- What is the direction ?
	-- Cyclic Slow slider computing
	if (math.abs(DeltaSldSlow) >  SExtSpeed * SlowSliderSpeed ) then	-- > stop range?
		SliderSlow = SliderSlow - DirSliderSlow * SlowSliderSpeed * SExtSpeed
	else -- Inside stop range
		SliderSlow = SliderPos
	end
	-- 1St Slow slider
	----------------------------------------------------------------------------------
	-- 2nd smooth the acceleration
	DeltaSldAcc = SliderAcc - SliderSlow		--Difference between Slider and internal slider smooth acc
	AbsDeltaSldAcc = ( DeltaSldAcc / 50 )^4		-- Power from DeltaSldAcc (Multiple of 2 need positive result)
	DirSliderAcc = DeltaSldAcc > 0 and 1 or -1	-- What is the direction ?
	-- Cyclic Smooth computing
    if (math.abs(DeltaSldAcc) > 5) then			-- > stop range?
        SliderAcc = SliderAcc - (AbsDeltaSldAcc + 50) * DirSliderAcc * AccRatio * SExtSpeed
    else
        SliderAcc = SliderSlow
    end
	-- End smooth acceleration
	---------------------------------------------------------------------------------
	-- 3th Compute final position
	DeltaPos = FinaltPos - SliderAcc		--Difference between Slider smooth and internal and Output position
	AbsDeltaPos = math.abs(DeltaPos)		-- Absolute value
	DirectPos = DeltaPos > 0 and 1 or -1	-- What is the direction ?
	DeltaPosR2 = (AbsDeltaPos) ^ 1/2		-- Root 2 from AbsDeltaPos
	-- Cyclic final output position computing
	FinaltPos = FinaltPos - DirectPos * DeltaPosR2 * DecRatio * SExtSpeed
	-- End Compute final position
	
	-- Function return results
	return FinaltPos, SliderSlow, SliderAcc, SExtSpeed  * 10.24

end

return { run=run, input={{"Spd", SOURCE}, {"Sld", SOURCE}} , output={ "FPos", "SlSl", "SlAc" ,"SpdG"} } -- Return Functions to OpenTX
 
Laatst bewerkt:
En voor de liefhebber, voor meesten bekend denk ik. Is (nog) geen LUA maar goed hoort hier wel bij. Autorotation, mijn F550 draait automatisch op constante snelheid om als ik een switch omhaal.

Heb ik hier gebruikt vanaf ong 1:30 voor de eerste 180 graden.

Instelling op Rudder (wees zorgvuldig)
5d51b34f93.png


Curve nodig, hier zie je dus dat met rudder op 0, curve dat naar 10% zet, in praktijk is 20 een betere setting kwam ik later achter voor mij:
b9d687db53.png
 
Laatst bewerkt door een moderator:
Ik ga er vanavond mee aan de gang, file en mappen net al even aangemaakt, wat bedoel je precies met stap 1 de FW, firmware de laatste versie?
 
Het staat erin, ik moest inderdaad de laatste firmware met LUA erbij even opnieuw installeren en aanvinken, en nu heb ik ook 13 schermen ipv 12, als het er niet goed in staat dan is scherm 12 telemetry ipv custom scrips dus dat kan je snel even controleren dan, enkel heb ik noheli bij de build options vergeten aan te vinken maar dat zal misschien 1 scherm schelen of zodat hij scherm 2 weg laat?:confused:

Verder heb ik een andere switch gebruikt, maar die kan je in stap 4 kiezen, hetzelfde geldt voor de draaiknop die kan je ook zelf kiezen bij stap 5.

Als de Zenmuse eronder zit ga ik er verder mee spelen, gadgets en uitproberen, de leukste opties van de Taranis en de kennis van LUA scrips, u wordt weer bedankt. :mrgreen:
 
Dan zal ik morgen die nog even weer opstarten in het hobbyhok, enkel bij de inputs ch30 en ch31 zag ik nu op de zender niets enkel 3 streepjes, maar dat zal komen doordat er nog niets is aangesloten zeker?

36e1171438.jpg
 
Is het script wat je voor de naza hebt gemaakt ook te gebruiken voor de APM, of geschikt te maken?
Als ik dat script afgelopen weekend had gehad, dan had ik mijn quad weer terug kunnen vinden.

In een ogenblik van onoplettendheid, vloog hij weg, niet gezien waarheen.
een dag later met geluk teruggevonden, en toen bleek dat de batterij 2 meter verderop lag.
met dat script had ik de laatse coordinaten nog gehad, en was hij waarschijnlijk sneller terug gevonden.
 
@fgr ch30 en 31 moet je daar zelf instellen

@dutchronnie, deze heeft gps nodig en als je dat op je apm hebt zou het moeten kunnen. En logging altijd aan in je taranis dan had je de laatste coordinaten ook gehad
 
Back
Top