Aerosoft official retail partner for Microsoft Flight Simulator !! 
Click here for more information

Jump to content

Archived

This topic is now archived and is closed to further replies.

jimbim

Keine verbindung zum Arcaze Modul

Recommended Posts

Hallo Ronny,

für die Problematik von 0 auf zwei würde ich folgendes probieren:

function arcaze_strobes_switch()
	if arcaze.read_pins( my_arcaze ) == 1 then
		strobes = 2
	else
		strobes = 0
	end
end

Da meins noch nicht funktioniert kann ich leider noch nicht so viel spielen :-)

Viele Grüße,

Sebastian

Share this post


Link to post
Share on other sites

Danke Sebastian, werde ich heute Abend gleich testen.

Leider fische ich hier sehr im dunkeln herum, da ich von Lua keine Ahnung habe. Wo kann man denn was genaueres darüber lesen ??

Hast du vor die CRJ als HC zu bauen ???

Weist du, wie man den 2ten Pin dann in das Script einfügt ??

LG Ronny

Share this post


Link to post
Share on other sites

Wie gesagt, ich kann es nicht testen aber ich würde folgendes ausprobieren:

_, pin2 = arcaze.read_pins( my_arcaze )

Eventuell könntest Du auch deine Funktion genereller halten:

local arc_str_sw, arc_bat_sw

function arcaze_switchs() -- Funktion für alle switches
	
	arc_str_sw, arc_bat_sw = arcaze.read_pins( my_arcaze ) -- Strobe switch sollte an Pin1 sitzen, Battery switch an Pin2
	
	if arc_str_sw == 1 then
		strobes = 2
	else
		strobes = 0
	end
	
	battery = arc_bat_sw
end

So hab ich zumindest das Tutorial für das Radio verstanden :-) Ich probiere auch immer rum bis es funktioniert, da ich mich auch nicht sonderlich gut damit auskenne :-)

Eigentlich plane ich später für die IXEG 737 classic etwas zu bauen... So lange muss ich mich noch gedulden und probiere schon etwas herum, damit es dann schneller geht!

Schließlich hat man ab dem Release den zeitlichen Konflikt zwischen IXEG fliegen oder IXEG basteln :-p

Viele Grüße,

Sebastian

Share this post


Link to post
Share on other sites

Na da hoffe ich doch mal, dass es mit der IXEG nicht mehr alzu lange dauert. Bisher ist das Project ja nur ein "Video Addon" :mallet_s:

Dein Tipp asu Beitrag #26 war schon mal :excellenttext_s:

require "arcaze"

my_arcaze = arcaze.open_first_device()

if my_arcaze == nil then
logMsg("FlyWithLua Error: Kein Arcaze USB gefunden!")
else
dataref("strobes", "sim/custom/xap/extlight/strobe_sw", "writable")


function arcaze_strobes_switch()
if arcaze.read_pins( my_arcaze ) == 1 then
strobes = 2
else
strobes = 0
end
end

do_every_frame("arcaze_strobes_switch()")
end

Mit der generellen Zuweisung klappt leider nicht, da die A330 spezielle Datarefs hat.

Wie liest du den die Datarefs aus ?? IXEG wird sie so einfach nicht rausrücken :-()

Bei meiner A330 habe ich mir das Progi AC3D geholt und mit einem X Plane plugin die datarefs ausgelesen. Leider Shareware und es sind nach 14 Tagen 89 Dollar fällig.

Share this post


Link to post
Share on other sites

mühsam ernährt sich das LuaHörnchen

require "arcaze"

my_arcaze = arcaze.open_first_device()

if my_arcaze == nil then
logMsg("FlyWithLua Error: Kein Arcaze USB gefunden!")
else


function A330()

dataref("strobes", "sim/custom/xap/extlight/strobe_sw", "writable")
dataref("Beacons", "sim/custom/xap/extlight/beacon_sw", "writable")

if arcaze.read_pins( my_arcaze ) == 1 then
strobes = 2
else
strobes = 0
end

if arcaze.read_pins( my_arcaze ) == 1 then
Beacons = 2
else
Beacons = 0
end
end
do_every_frame("A330()")
end

Bei der Konstellation, schaltet er mir beim betätigen des PIN 1 den zweiten gleich mit :-((

Guter Rat ist teuer

LG RONNY

Share this post


Link to post
Share on other sites

Hi,

funktioniert mein Vorschlag aus Post #28 nicht?

Bei Deinem Code ist es logisch dass der erste Pin beides schaltet... Du fragst ja zwei mal das gleiche ab:

if arcaze.read_pins( my_arcaze ) == 1

Da wird Dir jeweils den Status des ersten Pins geben...

Ich hab mir mal erlaubt Dein Script umzuschreiben, da ich es aber nicht testen kann ist es reine Spekulation :-)

require "arcaze"

my_arcaze = arcaze.open_first_device()

if my_arcaze == nil then
	logMsg("FlyWithLua Error: Kein Arcaze USB gefunden!")
else
    
	local arc_str_sw, arc_bec_sw
	
	function A330()
		arc_str_sw, arc_bat_sw = arcaze.read_pins( my_arcaze )
		
		dataref("strobes", "sim/custom/xap/extlight/strobe_sw", "writable")
		dataref("beacons", "sim/custom/xap/extlight/beacon_sw", "writable")

		if arc_str_sw == 1 then
			strobes = 2
		else
			strobes = 0
		end

		if arc_bec_sw == 1 then
			beacons = 2
		else
			beacons = 0
		end    
	end

	do_every_frame("A330()")
	
end	

Zu Deiner Frage nach den Datarefs: Im Handbuch von XSaitekpanels werden ein paar tips gegeben, wie man an Datarefs kommt...

Viele Grüße,

Sebastian

Share this post


Link to post
Share on other sites

arc_str_sw, arc_bat_sw = arcaze.read_pins( my_arcaze ) hier ein bec eingefügt und :groupflip_s:

Aber das Prinzip habe ich erstmal kappiert und die ersten 10 Schalter belegt.

Im Handbuch von XSaitekpanels werden ein paar tips gegeben, wie man an Datarefs kommt...

:bow_down2_s: :bow_down2_s: :bow_down2_s: :bow_down2_s:

So richtig erkennen kann ich da nix, wie man Datarefs ausliest. Zudem glaube ich nicht, dass die Entwickler es uns so einfach machen. Bei der A330 hat es auch ne weile gedauert.

LG Ronny

Share this post


Link to post
Share on other sites

Die Befehle dataref() und dataref_table() dürfen nur einmalig ausgeführt werden, nicht ständig mit jedem Frame. Das kostet sonst enorm Rechenleistung, die völlig unnötig die FPS mindert.

Share this post


Link to post
Share on other sites

Oh je, erst ein Tippfehler und dann auch noch die Datarefs innerhalb der funktion... Das kommt dabei raus wenn man das ganze schnell neben der Arbeit macht :-)

Das geht ganz einfach, ich nehme wieder mein Code Beispiel....

require "arcaze"

my_arcaze = arcaze.open_first_device()

if my_arcaze == nil then
	logMsg("FlyWithLua Error: Kein Arcaze USB gefunden!")
else
   
	dataref("strobes", "sim/custom/xap/extlight/strobe_sw", "writable")
	dataref("beacons", "sim/custom/xap/extlight/beacon_sw", "writable")
	
	local arc_str_sw, arc_bec_sw
	
	function A330()
		arc_str_sw, arc_bec_sw = arcaze.read_pins( my_arcaze )
		
		if arc_str_sw == 1 then
			strobes = 2
		else
			strobes = 0
		end

		if arc_bec_sw == 1 then
			beacons = 2
		else
			beacons = 0
		end    
	end

	do_every_frame("A330()")
	
end

Share this post


Link to post
Share on other sites

Über den Vergleich mit dem vorherigen Wert kann man eine Flanke erkennen und dann entsprechend die DataRefs auf den gewünschten Wert setzen. Im Handbuch ist ein Beispiel eines Radio Panels, dort ist der Switch Button, um Standby und Active zu tauschen, als positive Flanke umgesetzt.

https://github.com/X-Friese/FlyWithLua/blob/master/FlyWithLua/Documentation/Ein_Arcaze_USB_ansteuern.md

dataref("apu", "sim/cockpit2/electrical/APU_starter_switch", "writable")

function arcaze_apu_switch()

apu = arcaze.read_pins( my_arcaze )

end

do_every_frame("arcaze_apu_switch()")

end

Der taster hält den Befehl nicht und springt wieder zurück)

Du hast ja auch zwei Variabeln NEW_COM1 = NEW_COM1_STDBY. Bei mir ist APU_starter_switch der zwischen 0 = off und 1 = on , funktioniert ODER verstehe ich da wieder was falsch :argue_s:

Und danke nochmal Sebastian , habe jetzt alles aus der Function rausgenommen. :-)

Share this post


Link to post
Share on other sites

Deine Lösung würde bei einem Schalter funktionieren, da dann immer eine 1 geliefert wird bis man ihn wieder umlegt. Bei einem Taster sollte folgendes funktionieren:

dataref("apu", "sim/cockpit2/electrical/APU_starter_switch", "writable")

    local prev_apuswitch = 0
	
	function arcaze_apu_switch()
		if prev_apuswitch == 0 and arcaze.read_pins( my_arcaze ) == 1 then
			if apu == 0 then
				apu = 1
			else
				apu = 0
			end
		end 
		prev_apuswitch = arcaze.read_pins( my_arcaze )
    end

    do_every_frame("arcaze_apu_switch()")
end

VG

Sebastian

Share this post


Link to post
Share on other sites

So sollte es gehen falls dein APU switch hinter dem NOSMOKING Switch angeschlossen ist...

require "arcaze"

my_arcaze = arcaze.open_first_device()

if my_arcaze == nil then
	logMsg("FlyWithLua Error: Kein Arcaze USB gefunden!")
else
    	
		
		dataref("strobes", "sim/custom/xap/extlight/strobe_sw", "writable")
		dataref("beacons", "sim/custom/xap/extlight/beacon_sw", "writable")
		dataref("wing", "sim/custom/xap/extlight/wing_sw", "writable")
		dataref("nav", "sim/custom/xap/extlight/navlogo_sw", "writable")
		dataref("rwy", "sim/custom/xap/extlight/rwyturn_sw", "writable")
		dataref("lan", "sim/custom/xap/extlight/land_sw", "writable")
		dataref("nos", "sim/custom/xap/extlight/nose_sw", "writable")
		dataref("sea", "sim/330/seat_belts", "writable")
		dataref("smo", "sim/330/no_smoking", "writable")
		dataref("apu", "sim/cockpit2/electrical/APU_starter_switch", "writable")
				

		local arc_str_sw, arc_bec_sw, arc_win_sw, arc_nav_sw, arc_rwy_sw, arc_lan_sw, arc_nos_sw, arc_sea_sw, arc_smo_sw, arc_apu_sw, prev_apu_sw
		
		prev_apu_sw = 0

		function A330()
		arc_str_sw, arc_bec_sw, arc_win_sw, arc_nav_sw, arc_rwy_sw, arc_lan_sw, arc_nos_sw, arc_sea_sw, arc_smo_sw, arc_apu_sw = arcaze.read_pins( my_arcaze )

		if arc_str_sw == 1 then
			strobes = 2
		else
			strobes = 0
		end

		if arc_bec_sw == 1 then
			beacons = 2
		else
			beacons = 0
		end    

		if arc_win_sw == 1 then
			wing = 2
		else
			wing = 0
		end 

		if arc_nav_sw == 1 then
			nav = 2
		else
			nav = 0
		end

		if arc_rwy_sw == 1 then
			rwy = 2
		else
			rwy = 0
		end

		if arc_lan_sw == 1 then
			lan = 2
		else
			lan = 0
		end

		if arc_nos_sw == 1 then
			nos = 2
		else
			nos = 0
		end

		if arc_sea_sw == 1 then
			sea = 2
		else
			sea = 0
		end

		if arc_smo_sw == 1 then
			smo = 2
		else
			smo = 0
		end
		
		if prev_apu_sw == 0 and arc_apu_sw == 1 then
			if apu == 0 then
				apu = 1
			else
				apu = 0
			end
		end 
		prev_apu_sw = arc_apu_sw

	end

	do_every_frame("A330()")
	
end	

Leider habe ich von Carsten noch nichts gehört... Aber wie wir alle wird auch er ein Privatleben neben dem Sim haben :-)

Viele Grüße,

Sebastian

Share this post


Link to post
Share on other sites

Danke Sebastian,

es funktioniert super :excellenttext_s:

Denn wünsche ich dir, dass du es mit Carsten noch hin bekommst. Ich bin da, wie du siehst, leider keine große Hilfe

LG Ronny :mecry_s:

Share this post


Link to post
Share on other sites

Ha! Mein Arcaze geht endlich mit Fly With Lua!

Ich hab mich heute mal durchgerungen meinen PC neu zu installieren und siehe da! Es geht auf Anhieb :-)

Viele Grüße,

Sebastian

Share this post


Link to post
Share on other sites

Das klingt ja hervorragend. Hatte schon ein schlechtes Gewissen, denn auch in den kommenden zwei Wochen ist die Zeit sehr knapp bei mir.

Share this post


Link to post
Share on other sites

×
×
  • Create New...