diff --git a/A320-100-CFM-set.xml b/A320-100-CFM-set.xml index 9a966b73..f06ce986 100644 --- a/A320-100-CFM-set.xml +++ b/A320-100-CFM-set.xml @@ -5,11 +5,6 @@ - - - Aircraft/A320-family/Sounds/cfm56-sound.xml - - Airbus A320-111 (CFM56-5A1) jsb A320-100-CFM @@ -28,6 +23,10 @@ 4 + + Aircraft/A320-family/Sounds/cfm56-sound.xml + + exterior @@ -163,25 +162,17 @@ - - - - wing flexer property rule - Aircraft/Generic/wingflexer.xml - - - - - Aircraft/A320-family/Systems/fadec-cfm.xml - + + Aircraft/A320-family/Systems/fadec-cfm.xml + Aircraft/A320-family/Systems/cfm56-sound.xml - + 150000 @@ -192,8 +183,9 @@ 0 - CFM - 52.3 + CFM + 52.3 + 35 0 diff --git a/A320-100-CFM.xml b/A320-100-CFM.xml index 17120141..b5b1d939 100644 --- a/A320-100-CFM.xml +++ b/A320-100-CFM.xml @@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - 7 - - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - - + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + 7 + + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + + - + 18.9231 -5.1104 @@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 -5.1104 @@ -123,7 +123,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 50 - + 18.9731 0 @@ -136,7 +136,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -149,7 +149,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -162,7 +162,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.8231 0 @@ -173,7 +173,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -184,7 +184,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -198,6 +198,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320-200-CFM-set.xml b/A320-200-CFM-set.xml index abdd86fb..834479d6 100644 --- a/A320-200-CFM-set.xml +++ b/A320-200-CFM-set.xml @@ -5,11 +5,6 @@ - - - Aircraft/A320-family/Sounds/cfm56-sound.xml - - Airbus A320-214 (CFM56-5B4) jsb A320-200-CFM @@ -28,6 +23,10 @@ 4 + + Aircraft/A320-family/Sounds/cfm56-sound.xml + + exterior @@ -163,25 +162,17 @@ - - - - wing flexer property rule - Aircraft/Generic/wingflexer.xml - - - - - Aircraft/A320-family/Systems/fadec-cfm.xml - + + Aircraft/A320-family/Systems/fadec-cfm.xml + Aircraft/A320-family/Systems/cfm56-sound.xml - + 172000 @@ -192,8 +183,9 @@ 0 - CFM - 52.3 + CFM + 52.3 + 35 0 diff --git a/A320-200-CFM.xml b/A320-200-CFM.xml index 5656cd99..e04aeec5 100644 --- a/A320-200-CFM.xml +++ b/A320-200-CFM.xml @@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - 7 - - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - - + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + 7 + + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + + - + 18.9231 -5.1104 @@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 -5.1104 @@ -122,7 +122,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9731 0 @@ -135,7 +135,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -148,7 +148,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -161,7 +161,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.8231 0 @@ -172,7 +172,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -183,7 +183,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -197,6 +197,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320-200-IAE-set.xml b/A320-200-IAE-set.xml index 57939e65..42e8abc1 100644 --- a/A320-200-IAE-set.xml +++ b/A320-200-IAE-set.xml @@ -5,11 +5,6 @@ - - - Aircraft/A320-family/Sounds/v2500-sound.xml - - Airbus A320-232 (IAE V2527-A5) jsb A320-200-IAE @@ -28,6 +23,10 @@ 4 + + Aircraft/A320-family/Sounds/v2500-sound.xml + + exterior @@ -163,25 +162,17 @@ - - - - wing flexer property rule - Aircraft/Generic/wingflexer.xml - - - - - Aircraft/A320-family/Systems/fadec-iae.xml - + + Aircraft/A320-family/Systems/fadec-iae.xml + Aircraft/A320-family/Systems/v2500-sound.xml - + 172000 @@ -192,8 +183,9 @@ 0 - IAE - 52.3 + IAE + 52.3 + 40 0 diff --git a/A320-200-IAE.xml b/A320-200-IAE.xml index f5c23561..305dfd6e 100644 --- a/A320-200-IAE.xml +++ b/A320-200-IAE.xml @@ -7,183 +7,161 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - - Joshua Davidson (Octal450) - Pre V1.0 - A32X FDE - - - - - - - - - - 14.3962788 - -5.755 - -1.04768 - - - 0.0 - 2.2 - 1 - - 5 - - - 14.3962788 - -5.755 - -1.04768 - - - 0.0 - 2.2 - 1 - - - - - - - 14.3962788 - 5.755 - -1.04768 - - - 0.0 - 2.2 - -1 - - 6 - - - 14.3962788 - 5.755 - -1.04768 - - - 0.0 - 2.2 - -1 - - - - - - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - 7 - - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - - - - - - 18.9231 - -5.1104 - -0.61182 - - 1523.00 - 1523.00 - 4.0 - 1 - 6.71 - 50 - - - - 18.9231 - -5.1104 - -0.61182 - - 12272.90 - 6000.00 - 28.0 - 1 - 6.71 - 50 - - - - 18.9731 - 0 - -0.61182 - - 14623.00 - 42 - 23.20 - 1 - 6.71 - 50 - - - - 18.9231 - 5.1104 - -0.61182 - - 12272.90 - 6000.00 - 28.0 - 1 - 6.71 - 50 - - - - 18.9231 - 5.1104 - -0.61182 - - 1523.00 - 1523.00 - 4.0 - 1 - 6.71 - 50 - - - - 18.8231 - 0 - 0.19249 - - 10 - 0 - 1 - 6.71 - - - - 18.8231 - 0 - 0.19249 - - 10 - 0 - 1 - 6.71 - - + + Joshua Davidson (Octal450) + Pre V1.0 + A32X FDE + + + + + + + + + + 14.3962788 + -5.755 + -1.04768 + + + 0.0 + 2.2 + 1 + + 5 + + + 14.3962788 + -5.755 + -1.04768 + + + 0.0 + 2.2 + 1 + + + + + + + 14.3962788 + 5.755 + -1.04768 + + + 0.0 + 2.2 + -1 + + 6 + + + 14.3962788 + 5.755 + -1.04768 + + + 0.0 + 2.2 + -1 + + + + + + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + 7 + + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + + + + + + 18.9231 + -5.1104 + -0.61182 + + 1523.00 + 1523.00 + 4.0 + 1 + 6.71 + 50 + + + + 18.9231 + -5.1104 + -0.61182 + + 12272.90 + 6000.00 + 28.0 + 1 + 6.71 + 50 + + + + 18.9731 + 0 + -0.61182 + + 14623.00 + 42 + 23.20 + 1 + 6.71 + 50 + + + + 18.9231 + 5.1104 + -0.61182 + + 12272.90 + 6000.00 + 28.0 + 1 + 6.71 + 50 + + + + 18.9231 + 5.1104 + -0.61182 + + 1523.00 + 1523.00 + 4.0 + 1 + 6.71 + 50 + + 18.8231 0 @@ -194,23 +172,46 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - - - - - - - - - - - - + + + 18.8231 + 0 + 0.19249 + + 10 + 0 + 1 + 6.71 + + + + 18.8231 + 0 + 0.19249 + + 10 + 0 + 1 + 6.71 + + + + + + + + + + + + + + - - - - - + + + + + diff --git a/A320-main.xml b/A320-main.xml index 2371b620..03e26a22 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -8,6 +8,8 @@ Josh Davidson/Octal450 (Flight Dynamics, Systems, Displays), Jonathan Redpath/legoboyvdlp, merspieler, Matthew Maring/mattmaring (Systems, Displays), Thorsten Herrmann/TH-555, Semir Gebran/CaptB (3D, Textures) + + Pre V1.0 @@ -19,6 +21,7 @@ 212 + 0.7 Wing @@ -96,14 +99,6 @@ 2-engine - - 0.000 - 0.290 - 0.596 - 0.645 - 1.000 - - @@ -146,6 +141,11 @@ Aircraft/A320-family/Systems/ecam-proprules.xml + + + Generic Wing Flexer + Aircraft/Generic/wingflexer.xml + Aircraft/A320-family/Systems/pitot-static.xml @@ -158,7 +158,7 @@ 0 0 0 - 0.25 + 0.40 0 0 0 @@ -696,11 +696,10 @@ 0 - 0 - 0 - 0 - 0 - 0 + 0 + 0 + 0 + 0 @@ -1361,6 +1360,12 @@ 7 0 + + + + false + + 0 @@ -1369,7 +1374,7 @@ 2 - 1 + 5 2 @@ -1386,8 +1391,8 @@ -1 0 - 2.52 - + 2.52 + 10 30 10 @@ -1400,8 +1405,8 @@ -1 0 - 2.52 - + 2.52 + 10 30 10 @@ -2179,19 +2184,19 @@ /FMGC/keyboard-left /FMGC/keyboard-right - nasal - - - - - + nasal + + + + + /FMGC/keyboard-left /FMGC/keyboard-right nasal - - + + SHIFT-c @@ -2307,9 +2312,9 @@ /FMGC/keyboard-left /FMGC/keyboard-right - nasal - - + nasal + + @@ -2343,9 +2348,9 @@ /FMGC/keyboard-left /FMGC/keyboard-right - nasal - - + nasal + + SHIFT-i @@ -2369,9 +2374,9 @@ /FMGC/keyboard-left /FMGC/keyboard-right - nasal - - + nasal + + SHIFT-j @@ -2503,9 +2508,9 @@ /FMGC/keyboard-left /FMGC/keyboard-right - property-toggle - /sim/panel/visibility - + property-toggle + /sim/panel/visibility + SHIFT-q @@ -2619,9 +2624,9 @@ /FMGC/keyboard-left /FMGC/keyboard-right - nasal - - + nasal + + SHIFT-w @@ -2708,9 +2713,9 @@ /FMGC/keyboard-left /FMGC/keyboard-right - nasal - - + nasal + + a diff --git a/A320neo-CFM-set.xml b/A320neo-CFM-set.xml index 551801ab..012b4af5 100644 --- a/A320neo-CFM-set.xml +++ b/A320neo-CFM-set.xml @@ -4,12 +4,7 @@ - - - - Aircraft/A320-family/Sounds/leapx-sound.xml - - + Airbus A320-251N (LEAP-1A26) jsb A320neo-CFM @@ -26,7 +21,11 @@ 5 5 4 - + + + + Aircraft/A320-family/Sounds/leapx-sound.xml + @@ -163,25 +162,17 @@ - - - - wing flexer property rule - Aircraft/Generic/wingflexer.xml - - - - - Aircraft/A320-family/Systems/fadec-cfm.xml - + + Aircraft/A320-family/Systems/fadec-cfm.xml + Aircraft/A320-family/Systems/leapx-sound.xml - + 174200 @@ -192,8 +183,9 @@ 1 - CFM - 52.3 + CFM + 52.3 + 35 1 diff --git a/A320neo-CFM.xml b/A320neo-CFM.xml index a727f9c5..6a8f9795 100644 --- a/A320neo-CFM.xml +++ b/A320neo-CFM.xml @@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - 7 - - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - - + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + 7 + + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + + - + 18.9231 -5.1104 @@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 -5.1104 @@ -122,7 +122,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9731 0 @@ -135,7 +135,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -148,7 +148,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -161,7 +161,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.8231 0 @@ -172,7 +172,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -183,7 +183,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -197,6 +197,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A320neo-PW-set.xml b/A320neo-PW-set.xml index 93b7660f..8ac9cb94 100644 --- a/A320neo-PW-set.xml +++ b/A320neo-PW-set.xml @@ -5,11 +5,6 @@ - - - Aircraft/A320-family/Sounds/leapx-sound.xml - - Airbus A320-271N (PurePower 1127G) jsb A320neo-PW @@ -28,6 +23,10 @@ 4 + + Aircraft/A320-family/Sounds/leapx-sound.xml + + exterior @@ -163,25 +162,17 @@ - - - - wing flexer property rule - Aircraft/Generic/wingflexer.xml - - - - - Aircraft/A320-family/Systems/fadec-cfm.xml - + + Aircraft/A320-family/Systems/fadec-cfm.xml + Aircraft/A320-family/Systems/leapx-sound.xml - + 174200 @@ -192,8 +183,9 @@ 1 - CFM - 52.3 + CFM + 52.3 + 35 1 diff --git a/A320neo-PW.xml b/A320neo-PW.xml index 89021da0..a7ae318a 100644 --- a/A320neo-PW.xml +++ b/A320neo-PW.xml @@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - 7 - - - 38.9 - 0 - 0.95 - - - 0.0 - 0.0 - 0.0 - - - + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + 7 + + + 38.9 + 0 + 0.95 + + + 0.0 + 0.0 + 0.0 + + + - + 18.9231 -5.1104 @@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 -5.1104 @@ -122,7 +122,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9731 0 @@ -135,7 +135,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -148,7 +148,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.9231 5.1104 @@ -161,7 +161,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 6.71 50 - + 18.8231 0 @@ -172,7 +172,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -183,7 +183,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> 1 6.71 - + 18.8231 0 @@ -197,6 +197,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> + diff --git a/A32X-Checklists.xml b/A32X-Checklists.xml index 16c17794..f87f4a35 100644 --- a/A32X-Checklists.xml +++ b/A32X-Checklists.xml @@ -12,7 +12,7 @@ COMPLETED(BOTH) - PINS AND COVERS + GEAR PINS AND COVERS REMOVED @@ -66,7 +66,7 @@ - WINDOWS and DOORS + WINDOWS and DOORS CLOSED(BOTH) 4.4658 @@ -86,7 +86,7 @@ - THR LEVERS + THRUST LEVERS IDLE 4.7200 diff --git a/AircraftConfig/acconfig.nas b/AircraftConfig/acconfig.nas index cf0df896..14efed8b 100644 --- a/AircraftConfig/acconfig.nas +++ b/AircraftConfig/acconfig.nas @@ -277,12 +277,7 @@ var colddark = func { setprop("/controls/engines/engine-start-switch", 1); setprop("/controls/engines/engine[0]/cutoff-switch", 1); setprop("/controls/engines/engine[1]/cutoff-switch", 1); - setprop("/controls/flight/slats", 0.000); - setprop("/controls/flight/flaps", 0.000); - setprop("/controls/flight/flap-lever", 0); - setprop("/controls/flight/flap-pos", 0); - setprop("/controls/flight/flap-txt", " "); - libraries.flaptimer.stop(); + setprop("/controls/flight/flaps", 0); setprop("/controls/flight/speedbrake-arm", 0); setprop("/controls/flight/speedbrake", 0); setprop("/controls/gear/gear-down", 1); @@ -340,12 +335,7 @@ var beforestart = func { setprop("/controls/engines/engine-start-switch", 1); setprop("/controls/engines/engine[0]/cutoff-switch", 1); setprop("/controls/engines/engine[1]/cutoff-switch", 1); - setprop("/controls/flight/slats", 0.000); - setprop("/controls/flight/flaps", 0.000); - setprop("/controls/flight/flap-lever", 0); - setprop("/controls/flight/flap-pos", 0); - setprop("/controls/flight/flap-txt", " "); - libraries.flaptimer.stop(); + setprop("/controls/flight/flaps", 0); setprop("/controls/flight/speedbrake-arm", 0); setprop("/controls/flight/speedbrake", 0); setprop("/controls/gear/gear-down", 1); @@ -432,12 +422,7 @@ var taxi = func { setprop("/controls/engines/engine-start-switch", 1); setprop("/controls/engines/engine[0]/cutoff-switch", 1); setprop("/controls/engines/engine[1]/cutoff-switch", 1); - setprop("/controls/flight/slats", 0.000); - setprop("/controls/flight/flaps", 0.000); - setprop("/controls/flight/flap-lever", 0); - setprop("/controls/flight/flap-pos", 0); - setprop("/controls/flight/flap-txt", " "); - libraries.flaptimer.stop(); + setprop("/controls/flight/flaps", 0); setprop("/controls/flight/speedbrake-arm", 0); setprop("/controls/flight/speedbrake", 0); setprop("/controls/gear/gear-down", 1); @@ -548,14 +533,9 @@ var takeoff = func { setprop("/controls/switches/landing-lights-l", 1); setprop("/controls/switches/landing-lights-r", 1); setprop("/controls/flight/speedbrake-arm", 1); - setprop("/controls/flight/flaps", 0.290); - setprop("/controls/flight/slats", 0.666); - setprop("/controls/flight/flap-lever", 1); - setprop("/controls/flight/flap-pos", 2); - setprop("/controls/flight/flap-txt", "1+F"); + setprop("/controls/flight/flaps", 0.2); setprop("/controls/atc/mode-knob", 4); atc.transponderPanel.modeSwitch(5); - libraries.flaptimer.start(); setprop("/controls/flight/elevator-trim", -0.07); systems.arm_autobrake(3); setprop("/ECAM/to-config-test", 1); diff --git a/Models/A320-100-CFM.xml b/Models/A320-100-CFM.xml index 36eef4bd..ab25da97 100644 --- a/Models/A320-100-CFM.xml +++ b/Models/A320-100-CFM.xml @@ -307,8 +307,8 @@ - Aircraft/Generic/Effects/tyre-smoke-nose.xml - tyre-smoke-n + Aircraft/Generic/Effects/tyre-smoke-nose.xml + tyre-smoke-n 7.83 0 @@ -317,8 +317,8 @@ - Aircraft/Generic/Effects/tyre-smoke-port.xml - tyre-smoke-p + Aircraft/Generic/Effects/tyre-smoke-port.xml + tyre-smoke-p 20.3180764 -3.795 @@ -327,8 +327,8 @@ - Aircraft/Generic/Effects/tyre-smoke-stbd.xml - tyre-smoke-s + Aircraft/Generic/Effects/tyre-smoke-stbd.xml + tyre-smoke-s 20.3180764 3.795 @@ -337,8 +337,8 @@ - Aircraft/Generic/Effects/rain-nose.xml - rain-splash-n + Aircraft/Generic/Effects/rain-nose.xml + rain-splash-n 7.83 0 @@ -347,8 +347,8 @@ - Aircraft/Generic/Effects/rain-port.xml - rain-splash-p + Aircraft/Generic/Effects/rain-port.xml + rain-splash-p 20.3180764 -3.795 @@ -357,8 +357,8 @@ - Aircraft/Generic/Effects/rain-stbd.xml - rain-splash-s + Aircraft/Generic/Effects/rain-stbd.xml + rain-splash-s 20.3180764 3.795 @@ -367,33 +367,34 @@ - Aircraft/A320-family/Models/Effects/tire-smoke-left.xml - tire-smoke-l - - 20.3180764 - -3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-left.xml + tire-smoke-l + + 20.3180764 + -3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/tire-smoke-right.xml - tire-smoke-r - - 20.3180764 - 3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-right.xml + tire-smoke-r + + 20.3180764 + 3.795 + -3.9669424 + - + - Aircraft/A320-family/Models/Effects/wing-condensation-L.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-L.xml + wing-condensation + - Aircraft/A320-family/Models/Effects/wing-condensation-R.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-R.xml + wing-condensation @@ -407,41 +408,45 @@ + + Aircraft/Generic/marker.xml + + - Firetruck1 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 60.0 - 10.0 - -4.4 - + Firetruck1 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 60.0 + 10.0 + -4.4 + - Firetruck2 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 80.0 - -8.0 - -4.4 - + Firetruck2 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 80.0 + -8.0 + -4.4 + - select - Firetruck1 - Firetruck2 - - - sim/animation/fire-services - - velocities/groundspeed-kt - 40 - - - + select + Firetruck1 + Firetruck2 + + + sim/animation/fire-services + + velocities/groundspeed-kt + 40 + + + @@ -474,7 +479,7 @@ - + ground_services Aircraft/A320-family/Models/A320-groundservices.xml diff --git a/Models/A320-200-CFM.xml b/Models/A320-200-CFM.xml index 57196a27..e371bf47 100644 --- a/Models/A320-200-CFM.xml +++ b/Models/A320-200-CFM.xml @@ -337,8 +337,8 @@ - Aircraft/Generic/Effects/tyre-smoke-nose.xml - tyre-smoke-n + Aircraft/Generic/Effects/tyre-smoke-nose.xml + tyre-smoke-n 7.83 0 @@ -347,8 +347,8 @@ - Aircraft/Generic/Effects/tyre-smoke-port.xml - tyre-smoke-p + Aircraft/Generic/Effects/tyre-smoke-port.xml + tyre-smoke-p 20.3180764 -3.795 @@ -357,8 +357,8 @@ - Aircraft/Generic/Effects/tyre-smoke-stbd.xml - tyre-smoke-s + Aircraft/Generic/Effects/tyre-smoke-stbd.xml + tyre-smoke-s 20.3180764 3.795 @@ -367,8 +367,8 @@ - Aircraft/Generic/Effects/rain-nose.xml - rain-splash-n + Aircraft/Generic/Effects/rain-nose.xml + rain-splash-n 7.83 0 @@ -377,8 +377,8 @@ - Aircraft/Generic/Effects/rain-port.xml - rain-splash-p + Aircraft/Generic/Effects/rain-port.xml + rain-splash-p 20.3180764 -3.795 @@ -387,8 +387,8 @@ - Aircraft/Generic/Effects/rain-stbd.xml - rain-splash-s + Aircraft/Generic/Effects/rain-stbd.xml + rain-splash-s 20.3180764 3.795 @@ -397,33 +397,34 @@ - Aircraft/A320-family/Models/Effects/tire-smoke-left.xml - tire-smoke-l - - 20.3180764 - -3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-left.xml + tire-smoke-l + + 20.3180764 + -3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/tire-smoke-right.xml - tire-smoke-r - - 20.3180764 - 3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-right.xml + tire-smoke-r + + 20.3180764 + 3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/wing-condensation-L.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-L.xml + wing-condensation + - Aircraft/A320-family/Models/Effects/wing-condensation-R.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-R.xml + wing-condensation @@ -437,41 +438,45 @@ - + + Aircraft/Generic/marker.xml + + + - Firetruck1 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 60.0 - 10.0 - -4.4 - + Firetruck1 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 60.0 + 10.0 + -4.4 + - Firetruck2 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 80.0 - -8.0 - -4.4 - + Firetruck2 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 80.0 + -8.0 + -4.4 + - select - Firetruck1 - Firetruck2 - - - sim/animation/fire-services - - velocities/groundspeed-kt - 40 - - - + select + Firetruck1 + Firetruck2 + + + sim/animation/fire-services + + velocities/groundspeed-kt + 40 + + + @@ -504,7 +509,7 @@ - + ground_services Aircraft/A320-family/Models/A320-groundservices.xml diff --git a/Models/A320-200-IAE.xml b/Models/A320-200-IAE.xml index 063ba11a..fcaa6c82 100644 --- a/Models/A320-200-IAE.xml +++ b/Models/A320-200-IAE.xml @@ -337,8 +337,8 @@ - Aircraft/Generic/Effects/tyre-smoke-nose.xml - tyre-smoke-n + Aircraft/Generic/Effects/tyre-smoke-nose.xml + tyre-smoke-n 7.83 0 @@ -347,8 +347,8 @@ - Aircraft/Generic/Effects/tyre-smoke-port.xml - tyre-smoke-p + Aircraft/Generic/Effects/tyre-smoke-port.xml + tyre-smoke-p 20.3180764 -3.795 @@ -357,8 +357,8 @@ - Aircraft/Generic/Effects/tyre-smoke-stbd.xml - tyre-smoke-s + Aircraft/Generic/Effects/tyre-smoke-stbd.xml + tyre-smoke-s 20.3180764 3.795 @@ -367,8 +367,8 @@ - Aircraft/Generic/Effects/rain-nose.xml - rain-splash-n + Aircraft/Generic/Effects/rain-nose.xml + rain-splash-n 7.83 0 @@ -377,8 +377,8 @@ - Aircraft/Generic/Effects/rain-port.xml - rain-splash-p + Aircraft/Generic/Effects/rain-port.xml + rain-splash-p 20.3180764 -3.795 @@ -387,8 +387,8 @@ - Aircraft/Generic/Effects/rain-stbd.xml - rain-splash-s + Aircraft/Generic/Effects/rain-stbd.xml + rain-splash-s 20.3180764 3.795 @@ -397,35 +397,36 @@ - Aircraft/A320-family/Models/Effects/tire-smoke-left.xml - tire-smoke-l - - 20.3180764 - -3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-left.xml + tire-smoke-l + + 20.3180764 + -3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/tire-smoke-right.xml - tire-smoke-r - - 20.3180764 - 3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-right.xml + tire-smoke-r + + 20.3180764 + 3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/wing-condensation-L.xml - wing-condensation - - - Aircraft/A320-family/Models/Effects/wing-condensation-R.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-L.xml + wing-condensation + + Aircraft/A320-family/Models/Effects/wing-condensation-R.xml + wing-condensation + + Pushback @@ -436,42 +437,46 @@ -4.24 - - - Firetruck1 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 60.0 - 10.0 - -4.4 - + Aircraft/Generic/marker.xml + + + + + + Firetruck1 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 60.0 + 10.0 + -4.4 + - Firetruck2 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 80.0 - -8.0 - -4.4 - + Firetruck2 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 80.0 + -8.0 + -4.4 + - select - Firetruck1 - Firetruck2 - - - sim/animation/fire-services - - velocities/groundspeed-kt - 40 - - - + select + Firetruck1 + Firetruck2 + + + sim/animation/fire-services + + velocities/groundspeed-kt + 40 + + + @@ -504,7 +509,7 @@ - + ground_services Aircraft/A320-family/Models/A320-groundservices.xml diff --git a/Models/A320neo-CFM.xml b/Models/A320neo-CFM.xml index 86a25869..6f06e17a 100644 --- a/Models/A320neo-CFM.xml +++ b/Models/A320neo-CFM.xml @@ -314,20 +314,20 @@ - + - Aircraft/Generic/Effects/tyre-smoke-nose.xml - tyre-smoke-n + Aircraft/Generic/Effects/tyre-smoke-nose.xml + tyre-smoke-n 7.83 0 -3.9669424 - - + + - Aircraft/Generic/Effects/tyre-smoke-port.xml - tyre-smoke-p + Aircraft/Generic/Effects/tyre-smoke-port.xml + tyre-smoke-p 20.3180764 -3.795 @@ -336,8 +336,8 @@ - Aircraft/Generic/Effects/tyre-smoke-stbd.xml - tyre-smoke-s + Aircraft/Generic/Effects/tyre-smoke-stbd.xml + tyre-smoke-s 20.3180764 3.795 @@ -346,8 +346,8 @@ - Aircraft/Generic/Effects/rain-nose.xml - rain-splash-n + Aircraft/Generic/Effects/rain-nose.xml + rain-splash-n 7.83 0 @@ -356,8 +356,8 @@ - Aircraft/Generic/Effects/rain-port.xml - rain-splash-p + Aircraft/Generic/Effects/rain-port.xml + rain-splash-p 20.3180764 -3.795 @@ -366,8 +366,8 @@ - Aircraft/Generic/Effects/rain-stbd.xml - rain-splash-s + Aircraft/Generic/Effects/rain-stbd.xml + rain-splash-s 20.3180764 3.795 @@ -376,33 +376,34 @@ - Aircraft/A320-family/Models/Effects/tire-smoke-left.xml - tire-smoke-l - - 20.3180764 - -3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-left.xml + tire-smoke-l + + 20.3180764 + -3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/tire-smoke-right.xml - tire-smoke-r - - 20.3180764 - 3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-right.xml + tire-smoke-r + + 20.3180764 + 3.795 + -3.9669424 + - + - Aircraft/A320-family/Models/Effects/wing-condensation-L.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-L.xml + wing-condensation + - Aircraft/A320-family/Models/Effects/wing-condensation-R.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-R.xml + wing-condensation @@ -416,41 +417,45 @@ + + Aircraft/Generic/marker.xml + + - Firetruck1 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 60.0 - 10.0 - -4.4 - + Firetruck1 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 60.0 + 10.0 + -4.4 + - Firetruck2 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 80.0 - -8.0 - -4.4 - + Firetruck2 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 80.0 + -8.0 + -4.4 + - select - Firetruck1 - Firetruck2 - - - sim/animation/fire-services - - velocities/groundspeed-kt - 40 - - - + select + Firetruck1 + Firetruck2 + + + sim/animation/fire-services + + velocities/groundspeed-kt + 40 + + + @@ -483,7 +488,7 @@ - + ground_services Aircraft/A320-family/Models/A320-groundservices.xml diff --git a/Models/A320neo-PW.xml b/Models/A320neo-PW.xml index 7d9b3fdf..4f22b32c 100644 --- a/Models/A320neo-PW.xml +++ b/Models/A320neo-PW.xml @@ -316,8 +316,8 @@ - Aircraft/Generic/Effects/tyre-smoke-nose.xml - tyre-smoke-n + Aircraft/Generic/Effects/tyre-smoke-nose.xml + tyre-smoke-n 7.83 0 @@ -326,8 +326,8 @@ - Aircraft/Generic/Effects/tyre-smoke-port.xml - tyre-smoke-p + Aircraft/Generic/Effects/tyre-smoke-port.xml + tyre-smoke-p 20.3180764 -3.795 @@ -336,8 +336,8 @@ - Aircraft/Generic/Effects/tyre-smoke-stbd.xml - tyre-smoke-s + Aircraft/Generic/Effects/tyre-smoke-stbd.xml + tyre-smoke-s 20.3180764 3.795 @@ -346,8 +346,8 @@ - Aircraft/Generic/Effects/rain-nose.xml - rain-splash-n + Aircraft/Generic/Effects/rain-nose.xml + rain-splash-n 7.83 0 @@ -356,8 +356,8 @@ - Aircraft/Generic/Effects/rain-port.xml - rain-splash-p + Aircraft/Generic/Effects/rain-port.xml + rain-splash-p 20.3180764 -3.795 @@ -366,8 +366,8 @@ - Aircraft/Generic/Effects/rain-stbd.xml - rain-splash-s + Aircraft/Generic/Effects/rain-stbd.xml + rain-splash-s 20.3180764 3.795 @@ -376,33 +376,34 @@ - Aircraft/A320-family/Models/Effects/tire-smoke-left.xml - tire-smoke-l - - 20.3180764 - -3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-left.xml + tire-smoke-l + + 20.3180764 + -3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/tire-smoke-right.xml - tire-smoke-r - - 20.3180764 - 3.795 - -3.9669424 - + Aircraft/A320-family/Models/Effects/tire-smoke-right.xml + tire-smoke-r + + 20.3180764 + 3.795 + -3.9669424 + - Aircraft/A320-family/Models/Effects/wing-condensation-L.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-L.xml + wing-condensation + - Aircraft/A320-family/Models/Effects/wing-condensation-R.xml - wing-condensation + Aircraft/A320-family/Models/Effects/wing-condensation-R.xml + wing-condensation @@ -416,41 +417,45 @@ + + Aircraft/Generic/marker.xml + + - Firetruck1 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 60.0 - 10.0 - -4.4 - + Firetruck1 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 60.0 + 10.0 + -4.4 + - Firetruck2 - Models/Airport/Vehicle/hoskosh-ti-1500.ac - - 80.0 - -8.0 - -4.4 - + Firetruck2 + Models/Airport/Vehicle/hoskosh-ti-1500.ac + + 80.0 + -8.0 + -4.4 + - select - Firetruck1 - Firetruck2 - - - sim/animation/fire-services - - velocities/groundspeed-kt - 40 - - - + select + Firetruck1 + Firetruck2 + + + sim/animation/fire-services + + velocities/groundspeed-kt + 40 + + + @@ -490,7 +495,7 @@ - + ground_services Aircraft/A320-family/Models/A320-groundservices.xml diff --git a/Models/Effects/display.eff b/Models/Effects/display.eff new file mode 100644 index 00000000..4f16dd51 --- /dev/null +++ b/Models/Effects/display.eff @@ -0,0 +1,32 @@ + + + + display + Effects/model-interior-display + + + + cubemap + + Models/Effects/res/white.png + Models/Effects/res/white.png + Models/Effects/res/white.png + Models/Effects/res/white.png + Models/Effects/res/white.png + Models/Effects/res/white.png + + + + 2d + linear-mipmap-linear + clamp + clamp + normalized + Aircraft/Generic/Effects/dust-effect-overlay.png + + 0.0007 + /maintainance/cockpit-cleaness-factor + /sim/model/display-contrast + + + diff --git a/Models/FlightDeck/a320.flightdeck.xml b/Models/FlightDeck/a320.flightdeck.xml index e6eac022..fb90ff37 100644 --- a/Models/FlightDeck/a320.flightdeck.xml +++ b/Models/FlightDeck/a320.flightdeck.xml @@ -7519,6 +7519,7 @@ wall_1 wall_2 window_frame + WindowCpt HeadsetCpt WindowGlassCpt WindowOpenerCpt diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas index 3d9c70ea..58b63651 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.nas +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.nas @@ -233,8 +233,8 @@ var fuel_flow1 = props.globals.getNode("/engines/engine[0]/fuel-flow_actual", 1) var fuel_flow2 = props.globals.getNode("/engines/engine[1]/fuel-flow_actual", 1); var fuel_left_outer_temp = props.globals.getNode("/consumables/fuel/tank[0]/temperature_degC", 1); var fuel_left_inner_temp = props.globals.getNode("/consumables/fuel/tank[1]/temperature_degC", 1); -var fuel_right_outer_temp = props.globals.getNode("/consumables/fuel/tank[3]/temperature_degC", 1); -var fuel_right_inner_temp = props.globals.getNode("/consumables/fuel/tank[4]/temperature_degC", 1); +var fuel_right_outer_temp = props.globals.getNode("/consumables/fuel/tank[4]/temperature_degC", 1); +var fuel_right_inner_temp = props.globals.getNode("/consumables/fuel/tank[3]/temperature_degC", 1); var cutoff_switch1 = props.globals.getNode("/controls/engines/engine[0]/cutoff-switch", 1); var cutoff_switch2 = props.globals.getNode("/controls/engines/engine[1]/cutoff-switch", 1); var fuel_xfeed = props.globals.getNode("/controls/fuel/x-feed", 1); diff --git a/Models/Instruments/Lower-ECAM/Lower-ECAM.xml b/Models/Instruments/Lower-ECAM/Lower-ECAM.xml index 8b05fff2..3c034eab 100644 --- a/Models/Instruments/Lower-ECAM/Lower-ECAM.xml +++ b/Models/Instruments/Lower-ECAM/Lower-ECAM.xml @@ -31,12 +31,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display lecam.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Models/Instruments/MCDU/MCDU.nas b/Models/Instruments/MCDU/MCDU.nas index d463b0ec..82bff375 100644 --- a/Models/Instruments/MCDU/MCDU.nas +++ b/Models/Instruments/MCDU/MCDU.nas @@ -2987,7 +2987,7 @@ var canvas_MCDU_base = { me["Simple_L3S"].setText("MAG WIND"); if (dest_mag.getValue() != -1 and dest_wind.getValue() != -1) { - me["Simple_L3"].setText(sprintf("%3.0fg", dest_mag.getValue()) ~ sprintf("/%.0f", dest_wind.getValue())); + me["Simple_L3"].setText(sprintf("%03.0fg", dest_mag.getValue()) ~ sprintf("/%.0f", dest_wind.getValue())); } else { me["Simple_L3"].setText("---g/---");; } diff --git a/Models/Instruments/MCDU/MCDU1.xml b/Models/Instruments/MCDU/MCDU1.xml index 9c16f93e..7c42f789 100644 --- a/Models/Instruments/MCDU/MCDU1.xml +++ b/Models/Instruments/MCDU/MCDU1.xml @@ -49,12 +49,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display mcdu1.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Models/Instruments/MCDU/MCDU2.xml b/Models/Instruments/MCDU/MCDU2.xml index 25241cee..432c832d 100644 --- a/Models/Instruments/MCDU/MCDU2.xml +++ b/Models/Instruments/MCDU/MCDU2.xml @@ -49,12 +49,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display mcdu2.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Models/Instruments/ND/ND_L.xml b/Models/Instruments/ND/ND_L.xml index b36c872c..309de176 100644 --- a/Models/Instruments/ND/ND_L.xml +++ b/Models/Instruments/ND/ND_L.xml @@ -31,12 +31,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display ND.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Models/Instruments/ND/ND_R.xml b/Models/Instruments/ND/ND_R.xml index e77bfe64..05da0651 100644 --- a/Models/Instruments/ND/ND_R.xml +++ b/Models/Instruments/ND/ND_R.xml @@ -31,12 +31,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display ND_R.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Models/Instruments/ND/canvas/A3XX_ND.nas b/Models/Instruments/ND/canvas/A3XX_ND.nas index 0186fbd3..b690c788 100644 --- a/Models/Instruments/ND/canvas/A3XX_ND.nas +++ b/Models/Instruments/ND/canvas/A3XX_ND.nas @@ -29,10 +29,8 @@ var SymbolCache32x32 = canvas.SymbolCache32x32; var SymbolCache = canvas.SymbolCache; var Text = canvas.Text; -io.include("ND_config.nas"); io.include("framework/canvas.nas"); io.include("framework/navdisplay.nas"); -io.include("framework/MapDrivers.nas"); io.include("loaders.nas"); io.include("helpers.nas"); io.include("style.nas"); diff --git a/Models/Instruments/ND/canvas/ND_config.nas b/Models/Instruments/ND/canvas/ND_config.nas deleted file mode 100644 index c5f837b8..00000000 --- a/Models/Instruments/ND/canvas/ND_config.nas +++ /dev/null @@ -1,27 +0,0 @@ -# A3XX ND Canvas -# Joshua Davidson (Octal450) -# Based on work by artix - -# Copyright (c) 2020 Josh Davidson (Octal450) - -canvas.NDConfig = { - properties: { - des_apt: "/autopilot/route-manager/destination/airport", - dep_apt: "/autopilot/route-manager/departure/airport", - des_rwy: "/autopilot/route-manager/destination/runway", - dep_rwy: "/autopilot/route-manager/departure/runway", - fplan_active: "autopilot/route-manager/active", - athr: "/it-autoflight/output/athr", - cur_wp: "/autopilot/route-manager/current-wp", - vnav_node: "/autopilot/route-manager/vnav/", - spd_node: "/autopilot/route-manager/spd/", - holding: "/flight-management/hold", - holding_points: "/flight-management/hold/points", - adf1_frq: "instrumentation/adf[0]/frequencies/selected-khz", - adf2_frq: "instrumentation/adf[1]/frequencies/selected-khz", - nav1_frq: "instrumentation/nav[0]/frequencies/selected-mhz", - nav2_frq: "instrumentation/nav[1]/frequencies/selected-mhz", - lat_ctrl: "/it-autoflight/output/lat", - ver_ctrl: "/it-autoflight/output/vert", - } -}; diff --git a/Models/Instruments/ND/canvas/framework/MapDrivers.nas b/Models/Instruments/ND/canvas/framework/MapDrivers.nas deleted file mode 100644 index b6b7ecbc..00000000 --- a/Models/Instruments/ND/canvas/framework/MapDrivers.nas +++ /dev/null @@ -1,122 +0,0 @@ -# A3XX ND Canvas -# Joshua Davidson (Octal450) -# Based on work by artix - -# Copyright (c) 2020 Josh Davidson (Octal450) - -canvas.RouteDriver = { - new: func(){ - var m = { - parents: [canvas.RouteDriver], - }; - m.init(); - return m; - }, - init: func(){ - me.update(); - }, - update: func(){ - me.flightplan = flightplan(); - }, - getNumberOfFlightPlans: func(){1}, - getFlightPlanType: func(fpNum){"active"}, - getFlightPlan: func(fpNum){me.flightplan}, - getPlanSize: func(fpNum){me.flightplan.getPlanSize()}, - getWP: func(fpNum, idx){me.flightplan.getWP(idx)}, - getListeners: func(){[]}, - getPlanModeWP: func(plan_wp_idx){me.flightplan.getWP(plan_wp_idx)}, - hasDiscontinuity: func(fpNum, wpt){0}, - getHoldPattern: func(fpNum, wpt){nil}, - getHoldPatterns: func(fpNum){[]}, - shouldUpdate: func 1, - shouldDisplayWP: func(fpNum, idx) 1, - getCurrentWPIdx: func(fpNum) getprop("autopilot/route-manager/current-wp"), - getTimeConstraint: func (fpNum, wp_idx) {nil} -}; - -canvas.MultiRouteDriver = { - parents: [canvas.RouteDriver], - new: func(){ - var m = { - parents: [MultiRouteDriver], - _flightplans: [], - currentFlightPlan: 0 - }; - m.init(); - return m; - }, - addFlightPlan: func(type, plan){ - append(me._flightplans, { - type: type, - flightplan: plan - }); - }, - removeFlightPlanAtIndex: func(idx){ - var sz = size(me._flightplans); - if(idx < sz){ - if(sz == 1) - me._flightplans = []; - elsif(sz == 2 and idx == 0) - me._flightplans = [me._flightplans[1]]; - elsif(sz == 2 and idx == 1) - pop(me._flightplans); - else { - var subv_l = subvec(me._flightplans, 0, idx); - var subv_r = subvec(me._flightplans, idx + 1); - me._flightplans = subv_l ~ subv_r; - } - } - me.triggerSignal("fp-added"); - }, - removeFlightPlanOfType: func(type){ - var new_vec = []; - foreach(var fp; me._flightplans){ - if(fp["type"] != type) - append(new_vec, fp); - } - me._flightplans = new_vec; - me.triggerSignal("fp-removed"); - }, - getNumberOfFlightPlans: func(){ - size(me._flightplans); - }, - getFlightPlanType: func(fpNum){ - if(fpNum >= size(me._flightplans)) return nil; - var fp = me._flightplans[fpNum]; - return fp.type; - }, - getFlightPlan: func(fpNum){ - if(fpNum >= size(me._flightplans)) return nil; - return me._flightplans[fpNum]; - }, - getPlanSize: func(fpNum){ - if(fpNum >= size(me._flightplans)) return 0; - return me._flightplans[fpNum].getPlanSize(); - }, - getWP: func(fpNum, idx){ - if(fpNum >= size(me._flightplans)) return nil; - var fp = me._flightplans[fpNum]; - return fp.getWP(idx); - }, - getPlanModeWP: func(idx){ - if(me.currentFlightPlan >= size(me._flightplans)) return nil; - var fp = me._flightplans[me.currentFlightPlan]; - return fp.getWP(idx); - }, - triggerSignal: func(signal){ - setprop(me.signalPath(signal)); - }, - signalPath: func(signal){ - "autopilot/route-manager/signals/rd-"~ signal; - }, - getListeners: func(){[ - me.getSignal("fp-added"), - me.getSignal("fp-removed") - ]}, - getCurrentWPIdx: func(fpNum) { - var fp = me.getFlightPlan(fpNum); - var wp = fp.getWP(); - if (wp == nil) return -1; - return wp.index; - } -}; diff --git a/Models/Instruments/ND/canvas/framework/navdisplay.nas b/Models/Instruments/ND/canvas/framework/navdisplay.nas index e79d2818..3f90cf80 100644 --- a/Models/Instruments/ND/canvas/framework/navdisplay.nas +++ b/Models/Instruments/ND/canvas/framework/navdisplay.nas @@ -393,9 +393,9 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec me.symbols.vorR.setColor(0,0.6,0.85); me.symbols.dmeR.setText(""); me.symbols.dmeR.setColor(0,0.6,0.85); - if((var navident=getprop("instrumentation/adf[1]/ident")) != "") + if((var navident=getprop("/instrumentation/adf[1]/ident")) != "") me.symbols.vorRId.setText(navident); - else me.symbols.vorRId.setText(sprintf("%3d",getprop("instrumentation/adf[1]/frequencies/selected-khz"))); + else me.symbols.vorRId.setText(sprintf("%3d",getprop("/instrumentation/adf[1]/frequencies/selected-khz"))); me.symbols.vorRId.setColor(0,0.6,0.85); me.symbols.dmeRDist.setText(""); me.symbols.dmeRDist.setColor(0,0.6,0.85); @@ -407,8 +407,8 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec } # Hide heading bug 10 secs after change - var vhdg_bug = getprop("it-autoflight/input/hdg") or 0; - var hdg_bug_active = getprop("it-autoflight/custom/show-hdg"); + var vhdg_bug = getprop("/it-autoflight/input/hdg") or 0; + var hdg_bug_active = getprop("/it-autoflight/custom/show-hdg"); if (hdg_bug_active == nil) hdg_bug_active = 1; @@ -445,31 +445,31 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec var vorheading = userHdgTru; var adfheading = userHdgMag; } - if (getprop("instrumentation/nav[2]/heading-deg") != nil) { - var nav0hdg = getprop("instrumentation/nav[2]/heading-deg") - getprop("orientation/heading-deg"); + if (getprop("/instrumentation/nav[2]/heading-deg") != nil) { + var nav0hdg = getprop("/instrumentation/nav[2]/heading-deg") - getprop("orientation/heading-deg"); } else { var nav0hdg = 0; } - if (getprop("instrumentation/nav[3]/heading-deg") != nil) { - var nav1hdg = getprop("instrumentation/nav[3]/heading-deg") - getprop("orientation/heading-deg"); + if (getprop("/instrumentation/nav[3]/heading-deg") != nil) { + var nav1hdg = getprop("/instrumentation/nav[3]/heading-deg") - getprop("orientation/heading-deg"); } else { var nav1hdg = 0; } - var adf0hdg = getprop("instrumentation/adf/indicated-bearing-deg"); - var adf1hdg = getprop("instrumentation/adf[1]/indicated-bearing-deg"); + var adf0hdg = getprop("/instrumentation/adf/indicated-bearing-deg"); + var adf1hdg = getprop("/instrumentation/adf[1]/indicated-bearing-deg"); if(!me.get_switch("toggle_centered")) { if(me.in_mode("toggle_display_mode", ["PLAN"])) me.symbols.trkInd.hide(); else me.symbols.trkInd.show(); - if((getprop("instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) { + if((getprop("/instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) { me.symbols.staArrowL.setVisible(staPtrVis); me.symbols.staToL.setColor(0.195,0.96,0.097); me.symbols.staFromL.setColor(0.195,0.96,0.097); me.symbols.staArrowL.setRotation(nav0hdg*D2R); } - elsif(getprop("instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) { + elsif(getprop("/instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) { me.symbols.staArrowL.setVisible(staPtrVis); me.symbols.staToL.setColor(0,0.6,0.85); me.symbols.staFromL.setColor(0,0.6,0.85); @@ -477,12 +477,12 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec } else { me.symbols.staArrowL.hide(); } - if((getprop("instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) { + if((getprop("/instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) { me.symbols.staArrowR.setVisible(staPtrVis); me.symbols.staToR.setColor(0.195,0.96,0.097); me.symbols.staFromR.setColor(0.195,0.96,0.097); me.symbols.staArrowR.setRotation(nav1hdg*D2R); - } elsif(getprop("instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) { + } elsif(getprop("/instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) { me.symbols.staArrowR.setVisible(staPtrVis); me.symbols.staToR.setColor(0,0.6,0.85); me.symbols.staFromR.setColor(0,0.6,0.85); @@ -517,12 +517,12 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec me.symbols.selHdgLine.setVisible(staPtrVis and hdg_bug_active); } else { me.symbols.trkInd.hide(); - if((getprop("instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) { + if((getprop("/instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) { me.symbols.staArrowL2.setVisible(staPtrVis); me.symbols.staFromL2.setColor(0.195,0.96,0.097); me.symbols.staToL2.setColor(0.195,0.96,0.097); me.symbols.staArrowL2.setRotation(nav0hdg*D2R); - } elsif(getprop("instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) { + } elsif(getprop("/instrumentation/adf/in-range") and (me.get_switch("toggle_lh_vor_adf") == -1)) { me.symbols.staArrowL2.setVisible(staPtrVis); me.symbols.staFromL2.setColor(0,0.6,0.85); me.symbols.staToL2.setColor(0,0.6,0.85); @@ -530,12 +530,12 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec } else { me.symbols.staArrowL2.hide(); } - if((getprop("instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) { + if((getprop("/instrumentation/nav[3]/in-range") and me.get_switch("toggle_rh_vor_adf") == 1)) { me.symbols.staArrowR2.setVisible(staPtrVis); me.symbols.staFromR2.setColor(0.195,0.96,0.097); me.symbols.staToR2.setColor(0.195,0.96,0.097); me.symbols.staArrowR2.setRotation(nav1hdg*D2R); - } elsif(getprop("instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) { + } elsif(getprop("/instrumentation/adf[1]/in-range") and (me.get_switch("toggle_rh_vor_adf") == -1)) { me.symbols.staArrowR2.setVisible(staPtrVis); me.symbols.staFromR2.setColor(0,0.6,0.85); me.symbols.staToR2.setColor(0,0.6,0.85); diff --git a/Models/Instruments/ND/canvas/map/WPT-airbus.lcontroller b/Models/Instruments/ND/canvas/map/WPT-airbus.lcontroller index 7f510dc4..64e684ca 100644 --- a/Models/Instruments/ND/canvas/map/WPT-airbus.lcontroller +++ b/Models/Instruments/ND/canvas/map/WPT-airbus.lcontroller @@ -56,7 +56,7 @@ var new = func(layer) { layer.searcher._equals = func(a,b) a.equals(b); var driver = opt_member(m.layer.options, 'route_driver'); if(driver == nil){ - driver = RouteDriver.new(); + driver = A3XXRouteDriver.new(); } var driver_listeners = driver.getListeners(); foreach(var listener; driver_listeners){ diff --git a/Models/Instruments/ND/canvas/style.nas b/Models/Instruments/ND/canvas/style.nas index 31f10d9a..68886194 100644 --- a/Models/Instruments/ND/canvas/style.nas +++ b/Models/Instruments/ND/canvas/style.nas @@ -632,7 +632,7 @@ canvas.NDStyles["Airbus"] = { update_on: ["toggle_display_mode"], predicate: func(nd, layer){ var map_mode = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]); - var debug_actv = getprop("autopilot/route-manager/debug/active") or 0; + var debug_actv = getprop("/autopilot/route-manager/debug/active") or 0; var visible = (map_mode and debug_actv); layer.group.setVisible( visible ); if (visible) { @@ -676,7 +676,7 @@ canvas.NDStyles["Airbus"] = { id: "taOnly", # the SVG ID impl: { # implementation hash init: func(nd, symbol), # for updateCenter stuff, called during initialization in the ctor - predicate: func(nd) getprop("instrumentation/tcas/inputs/mode") == 2, # the condition + predicate: func(nd) getprop("/instrumentation/tcas/inputs/mode") == 2, # the condition is_true: func(nd) nd.symbols.taOnly.show(), # if true, run this is_false: func(nd) nd.symbols.taOnly.hide(), # if false, run this }, # end of taOnly behavior/callbacks @@ -687,7 +687,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) nd.aircraft_source.get_spd() > 100, is_true: func(nd) { - nd.symbols.tas.setText(sprintf("%3.0f",getprop("velocities/TAS") )); + nd.symbols.tas.setText(sprintf("%3.0f",getprop("/velocities/TAS") )); nd.symbols.tas.show(); }, is_false: func(nd) nd.symbols.tas.hide(), @@ -741,7 +741,7 @@ canvas.NDStyles["Airbus"] = { impl: { init: func(nd,symbol), predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and - getprop("FMGC/flightplan[2]/active") and + getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]), is_true: func(nd) { nd.symbols.wpActiveId.setText(getprop("/FMGC/flightplan[2]/current-leg")); @@ -755,10 +755,10 @@ canvas.NDStyles["Airbus"] = { impl: { init: func(nd,symbol), predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and - getprop("FMGC/flightplan[2]/active") and + getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]), is_true: func(nd) { - #var cur_wp = getprop("autopilot/route-manager/current-wp"); + #var cur_wp = getprop("/autopilot/route-manager/current-wp"); if (nd.get_switch("toggle_true_north")) { var deg = math.round(getprop("/FMGC/flightplan[2]/current-leg-course")); } else { @@ -775,7 +775,7 @@ canvas.NDStyles["Airbus"] = { impl: { init: func(nd,symbol), predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and - getprop("FMGC/flightplan[2]/active") and + getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]), is_true: func(nd) { var dst = getprop("/FMGC/flightplan[2]/current-leg-dist"); @@ -789,7 +789,7 @@ canvas.NDStyles["Airbus"] = { id: "wpActiveDistLbl", impl: { init: func(nd,symbol), - predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and getprop("FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]), + predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]), is_true: func(nd) { nd.symbols.wpActiveDistLbl.show(); if(getprop("/FMGC/flightplan[2]/current-leg-dist") > 1000) @@ -802,10 +802,10 @@ canvas.NDStyles["Airbus"] = { id: "eta", impl: { init: func(nd,symbol), - predicate: func(nd) getprop("autopilot/route-manager/wp/eta") != nil and getprop("FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]), + predicate: func(nd) getprop("/autopilot/route-manager/wp/eta") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]), is_true: func(nd) { - var etaSec = getprop("sim/time/utc/day-seconds")+ - getprop("autopilot/route-manager/wp/eta-seconds"); + var etaSec = getprop("/sim/time/utc/day-seconds")+ + getprop("/autopilot/route-manager/wp/eta-seconds"); var h = math.floor(etaSec/3600); etaSec = etaSec-3600*h; var m = math.floor(etaSec/60); @@ -1182,9 +1182,9 @@ canvas.NDStyles["Airbus"] = { is_true: func(nd) { nd.symbols.vorCrsPtr.show(); if (is_ils) { - nd.symbols.vorCrsPtr.setRotation((getprop("instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); + nd.symbols.vorCrsPtr.setRotation((getprop("/instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); } else { - nd.symbols.vorCrsPtr.setRotation((getprop("instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); + nd.symbols.vorCrsPtr.setRotation((getprop("/instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); } }, @@ -1202,9 +1202,9 @@ canvas.NDStyles["Airbus"] = { var type = (is_ils ? "ils" : "vor"); var path = nd.get_nav_path(type, 0); if (is_ils) { - nd.symbols.vorCrsPtr2.setRotation((getprop("instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); + nd.symbols.vorCrsPtr2.setRotation((getprop("/instrumentation/nav[0]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); } else { - nd.symbols.vorCrsPtr2.setRotation((getprop("instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); + nd.symbols.vorCrsPtr2.setRotation((getprop("/instrumentation/nav[2]/radials/selected-deg")-nd.aircraft_source.get_hdg_mag())*D2R); } var line = nd.symbols.vorCrsPtr2.getElementById("vorCrsPtr2_line"); if(!is_ils){ @@ -1224,8 +1224,8 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) nd.in_mode("toggle_display_mode", ["APP"]), is_true: func(nd) { - if(getprop("instrumentation/nav/gs-needle-deflection-norm") != nil) - nd.symbols.gsDiamond.setTranslation(getprop("instrumentation/nav[0]/gs-needle-deflection-norm")*150,0); + if(getprop("/instrumentation/nav/gs-needle-deflection-norm") != nil) + nd.symbols.gsDiamond.setTranslation(getprop("/instrumentation/nav[0]/gs-needle-deflection-norm")*150,0); }, is_false: func(nd) nd.symbols.gsGroup.hide(), }, @@ -1234,10 +1234,10 @@ canvas.NDStyles["Airbus"] = { id:"locPtr", impl: { init: func(nd,symbol), - predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and !nd.get_switch("toggle_centered") and getprop("instrumentation/nav/in-range")), + predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and !nd.get_switch("toggle_centered") and getprop("/instrumentation/nav/in-range")), is_true: func(nd) { nd.symbols.locPtr.show(); - var deflection = getprop("instrumentation/nav[0]/heading-needle-deflection-norm"); + var deflection = getprop("/instrumentation/nav[0]/heading-needle-deflection-norm"); nd.symbols.locPtr.setTranslation(deflection*150,0); }, is_false: func(nd) nd.symbols.locPtr.hide(), @@ -1286,15 +1286,15 @@ canvas.NDStyles["Airbus"] = { impl: { init: func(nd,symbol), predicate: func(nd) { - var nav_id = getprop("instrumentation/nav/nav-id"); - var ils_mode = getprop("flight-management/freq/ils-mode"); + var nav_id = getprop("/instrumentation/nav/nav-id"); + var ils_mode = getprop("/Flight-management/freq/ils-mode"); var has_ils = (nav_id != nil and nav_id != ""); (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered") and has_ils and ils_mode); }, is_true: func(nd) { nd.symbols.locTrkPointer.show(); - var crs = getprop("instrumentation/nav/radials/selected-deg"); + var crs = getprop("/instrumentation/nav/radials/selected-deg"); var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R; nd.symbols.locTrkPointer.setRotation(rotation); }, @@ -1306,15 +1306,15 @@ canvas.NDStyles["Airbus"] = { impl: { init: func(nd,symbol), predicate: func(nd) { - var nav_id = getprop("instrumentation/nav/nav-id"); - var ils_mode = getprop("flight-management/freq/ils-mode"); + var nav_id = getprop("/instrumentation/nav/nav-id"); + var ils_mode = getprop("/Flight-management/freq/ils-mode"); var has_ils = (nav_id != nil and nav_id != ""); (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered") and has_ils and ils_mode); }, is_true: func(nd) { nd.symbols.locTrkPointer2.show(); - var crs = getprop("instrumentation/nav/radials/selected-deg"); + var crs = getprop("/instrumentation/nav/radials/selected-deg"); var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R; nd.symbols.locTrkPointer2.setRotation(rotation); }, @@ -1365,7 +1365,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) { var path = nd.get_nav_path("vor", 0); - return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1)); + return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("/instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1)); }, is_true: func(nd) { if(nd.get_switch("toggle_lh_vor_adf") < 0){ @@ -1390,7 +1390,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) { var path = nd.get_nav_path("vor", 1); - return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1)); + return !(nd.in_mode("toggle_display_mode", ["PLAN"])) and nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("/instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1)); }, is_true: func(nd) { if(nd.get_switch("toggle_rh_vor_adf") < 0){ @@ -1415,7 +1415,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) { var path = nd.get_nav_path("vor", 0); - return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1)); + return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_lh_vor_adf") == 1) or (getprop("/instrumentation/adf/in-range") and nd.get_switch("toggle_lh_vor_adf") == -1)); }, is_true: func(nd) { if(nd.get_switch("toggle_lh_vor_adf") < 0){ @@ -1440,7 +1440,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) { var path = nd.get_nav_path("vor", 1); - return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1)); + return nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and ((getprop(path~ "in-range") and nd.get_switch("toggle_rh_vor_adf") == 1) or (getprop("/instrumentation/adf[1]/in-range") and nd.get_switch("toggle_rh_vor_adf") == -1)); }, is_true: func(nd) { if(nd.get_switch("toggle_rh_vor_adf") < 0){ @@ -1691,7 +1691,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")), is_true: func(nd){ - var active = getprop("FMGC/flightplan[2]/active"); + var active = getprop("/FMGC/flightplan[2]/active"); var lat_ctrl = getprop(nd.options.defaults.lat_ctrl); var managed_v = nd.options.defaults.managed_val; var is_managed = (lat_ctrl == managed_v); @@ -1699,7 +1699,7 @@ canvas.NDStyles["Airbus"] = { if((!active or is_managed) and !toggle_xtrk_err){ nd.symbols.legDistL.hide(); } else { - var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm"); + var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm"); if(dist == nil or dist == "" or dist > -0.1){ nd.symbols.legDistL.hide(); } else { @@ -1720,7 +1720,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")), is_true: func(nd){ - var active = getprop("FMGC/flightplan[2]/active"); + var active = getprop("/FMGC/flightplan[2]/active"); var lat_ctrl = getprop(nd.options.defaults.lat_ctrl); var managed_v = nd.options.defaults.managed_val; var is_managed = (lat_ctrl == managed_v); @@ -1728,7 +1728,7 @@ canvas.NDStyles["Airbus"] = { if((!active or is_managed) and !toggle_xtrk_err){ nd.symbols.legDistR.hide(); } else { - var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm"); + var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm"); if(dist == nil or dist == "" or dist < 0.1){ nd.symbols.legDistR.hide(); } else { @@ -1749,7 +1749,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")), is_true: func(nd){ - var active = getprop("FMGC/flightplan[2]/active"); + var active = getprop("/FMGC/flightplan[2]/active"); var lat_ctrl = getprop(nd.options.defaults.lat_ctrl); var managed_v = nd.options.defaults.managed_val; var is_managed = (lat_ctrl == managed_v); @@ -1757,7 +1757,7 @@ canvas.NDStyles["Airbus"] = { if((!active or is_managed) and !toggle_xtrk_err){ nd.symbols.legDistCtrL.hide(); } else { - var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm"); + var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm"); if(dist == nil or dist == "" or dist > -0.1){ nd.symbols.legDistCtrL.hide(); } else { @@ -1778,7 +1778,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")), is_true: func(nd){ - var active = getprop("FMGC/flightplan[2]/active"); + var active = getprop("/FMGC/flightplan[2]/active"); var lat_ctrl = getprop(nd.options.defaults.lat_ctrl); var managed_v = nd.options.defaults.managed_val; var is_managed = (lat_ctrl == managed_v); @@ -1786,7 +1786,7 @@ canvas.NDStyles["Airbus"] = { if((!active or is_managed) and !toggle_xtrk_err){ nd.symbols.legDistCtrR.hide(); } else { - var dist = getprop("instrumentation/gps/wp/wp[1]/course-error-nm"); + var dist = getprop("/instrumentation/gps/wp/wp[1]/course-error-nm"); if(dist == nil or dist == "" or dist < 0.1){ nd.symbols.legDistCtrR.hide(); } else { @@ -1807,7 +1807,7 @@ canvas.NDStyles["Airbus"] = { init: func(nd,symbol), predicate: func(nd) (nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])), is_true: func(nd){ - var active = getprop("FMGC/flightplan[2]/active"); + var active = getprop("/FMGC/flightplan[2]/active"); var lat_ctrl = getprop(nd.options.defaults.lat_ctrl); var managed_v = nd.options.defaults.managed_val; var is_managed = (lat_ctrl == managed_v); diff --git a/Models/Instruments/PFD/PFD.nas b/Models/Instruments/PFD/PFD.nas index 3fa8710f..901748fc 100644 --- a/Models/Instruments/PFD/PFD.nas +++ b/Models/Instruments/PFD/PFD.nas @@ -135,7 +135,7 @@ var vr = props.globals.getNode("/FMGC/internal/vr", 1); var vr_set = props.globals.getNode("/FMGC/internal/vr-set", 1); var v2 = props.globals.getNode("/FMGC/internal/v2", 1); var v2_set = props.globals.getNode("/FMGC/internal/v2-set", 1); -var flap_config = props.globals.getNode("/controls/flight/flap-lever", 1); +var flap_config = props.globals.getNode("/controls/flight/flaps-input", 1); var hundredAbove = props.globals.getNode("/instrumentation/pfd/hundred-above", 1); var minimum = props.globals.getNode("/instrumentation/pfd/minimums", 1); @@ -219,14 +219,14 @@ var canvas_PFD_base = { return me; }, getKeys: func() { - return ["FMA_man","FMA_manmode","FMA_flxmode","FMA_flxtemp","FMA_thrust","FMA_lvrclb","FMA_pitch","FMA_pitcharm","FMA_pitcharm2","FMA_roll","FMA_rollarm","FMA_combined","FMA_ctr_msg","FMA_catmode","FMA_cattype","FMA_nodh","FMA_dh","FMA_dhn","FMA_ap","FMA_fd","FMA_athr", - "FMA_man_box","FMA_flx_box","FMA_thrust_box","FMA_pitch_box","FMA_pitcharm_box","FMA_roll_box","FMA_rollarm_box","FMA_combined_box","FMA_catmode_box","FMA_cattype_box","FMA_cat_box","FMA_dh_box","FMA_ap_box","FMA_fd_box","FMA_athr_box","FMA_Middle1", - "FMA_Middle2","ALPHA_MAX","ALPHA_PROT","ALPHA_SW","ALPHA_clip","VLS_min","ASI_max","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_trend_up","ASI_trend_down","ASI_digit_UP","ASI_digit_DN","ASI_decimal_UP","ASI_decimal_DN","ASI_index","ASI_error","ASI_group","ASI_frame","AI_center","AI_bank", - "AI_bank_lim","AI_bank_lim_X","AI_pitch_lim","AI_pitch_lim_X","AI_slipskid","AI_horizon","AI_horizon_ground","AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading","AI_agl_g","AI_agl","AI_error","AI_group","FD_roll","FD_pitch","ALT_box_flash","ALT_box","ALT_box_amber", - "ALT_scale","ALT_target","ALT_target_digit","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_digit_UP","ALT_digit_DN","ALT_error","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting", - "QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","HDG_error","HDG_group","HDG_frame", - "TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend","ILS_HDG_R","ILS_HDG_L","ILS_right","ILS_left","outerMarker","middleMarker","innerMarker","v1_group","v1_text","vr_speed","F_target","S_target","flap_max","clean_speed", - "ground","ground_ref"]; + return ["FMA_man","FMA_manmode","FMA_flxmode","FMA_flxtemp","FMA_thrust","FMA_lvrclb","FMA_pitch","FMA_pitcharm","FMA_pitcharm2","FMA_roll","FMA_rollarm","FMA_combined","FMA_ctr_msg","FMA_catmode","FMA_cattype","FMA_nodh","FMA_dh","FMA_dhn","FMA_ap", + "FMA_fd","FMA_athr","FMA_man_box","FMA_flx_box","FMA_thrust_box","FMA_pitch_box","FMA_pitcharm_box","FMA_roll_box","FMA_rollarm_box","FMA_combined_box","FMA_catmode_box","FMA_cattype_box","FMA_cat_box","FMA_dh_box","FMA_ap_box","FMA_fd_box", + "FMA_athr_box","FMA_Middle1","FMA_Middle2","ALPHA_MAX","ALPHA_PROT","ALPHA_SW","ALPHA_bars","VLS_min","ASI_max","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_trend_up","ASI_trend_down","ASI_digit_UP","ASI_digit_DN","ASI_decimal_UP", + "ASI_decimal_DN","ASI_index","ASI_error","ASI_group","ASI_frame","AI_center","AI_bank","AI_bank_lim","AI_bank_lim_X","AI_pitch_lim","AI_pitch_lim_X","AI_slipskid","AI_horizon","AI_horizon_ground","AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading", + "AI_agl_g","AI_agl","AI_error","AI_group","FD_roll","FD_pitch","ALT_box_flash","ALT_box","ALT_box_amber","ALT_scale","ALT_target","ALT_target_digit","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_digit_UP", + "ALT_digit_DN","ALT_error","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale", + "HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","HDG_error","HDG_group","HDG_frame","TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend","ILS_HDG_R","ILS_HDG_L", + "ILS_right","ILS_left","outerMarker","middleMarker","innerMarker","v1_group","v1_text","vr_speed","F_target","S_target","FS_targets","flap_max","clean_speed","ground","ground_ref"]; }, updateDu1: func() { var elapsedtime_act = elapsedtime.getValue(); @@ -962,7 +962,7 @@ var canvas_PFD_base = { me["HDG_target"].hide(); } - me["TRK_pointer"].setTranslation((track_diff.getValue() / 10) * 98.5416, 0); + me["TRK_pointer"].setTranslation((math.clamp(track_diff.getValue(), -23.62, 23.62) / 10) * 98.5416, 0); split_ils = split("/", ils_data1.getValue()); if (ap_ils_mode.getValue() == 1 and size(split_ils) == 2) { @@ -1255,6 +1255,10 @@ var canvas_PFD_1 = { } } + tgt_ias = at_tgt_ias.getValue(); + tgt_mach = at_input_spd_mach.getValue(); + tgt_kts = at_input_spd_kts.getValue(); + if (managed_spd.getValue() == 1) { if (getprop("/FMGC/internal/decel") == 1) { vapp = getprop("/FMGC/internal/computed-speeds/vapp"); @@ -1264,10 +1268,6 @@ var canvas_PFD_1 = { clean = getprop("/FMGC/internal/computed-speeds/clean"); tgt_ias = clean; tgt_kts = clean; - } else { - tgt_ias = at_tgt_ias.getValue(); - tgt_mach = at_input_spd_mach.getValue(); - tgt_kts = at_input_spd_kts.getValue(); } me["ASI_target"].setColor(0.6901,0.3333,0.7450); @@ -1276,10 +1276,6 @@ var canvas_PFD_1 = { me["ASI_digit_DN"].setColor(0.6901,0.3333,0.7450); me["ASI_decimal_DN"].setColor(0.6901,0.3333,0.7450); } else { - tgt_ias = at_tgt_ias.getValue(); - tgt_mach = at_input_spd_mach.getValue(); - tgt_kts = at_input_spd_kts.getValue(); - me["ASI_target"].setColor(0.0901,0.6039,0.7176); me["ASI_digit_UP"].setColor(0.0901,0.6039,0.7176); me["ASI_decimal_UP"].setColor(0.0901,0.6039,0.7176); @@ -1993,6 +1989,10 @@ var canvas_PFD_2 = { } } + tgt_ias = at_tgt_ias.getValue(); + tgt_mach = at_input_spd_mach.getValue(); + tgt_kts = at_input_spd_kts.getValue(); + if (managed_spd.getValue() == 1) { if (getprop("/FMGC/internal/decel") == 1) { vapp = getprop("/FMGC/internal/computed-speeds/vapp"); @@ -2002,10 +2002,6 @@ var canvas_PFD_2 = { clean = getprop("/FMGC/internal/computed-speeds/clean"); tgt_ias = clean; tgt_kts = clean; - } else { - tgt_ias = at_tgt_ias.getValue(); - tgt_mach = at_input_spd_mach.getValue(); - tgt_kts = at_input_spd_kts.getValue(); } me["ASI_target"].setColor(0.6901,0.3333,0.7450); @@ -2014,10 +2010,6 @@ var canvas_PFD_2 = { me["ASI_digit_DN"].setColor(0.6901,0.3333,0.7450); me["ASI_decimal_DN"].setColor(0.6901,0.3333,0.7450); } else { - tgt_ias = at_tgt_ias.getValue(); - tgt_mach = at_input_spd_mach.getValue(); - tgt_kts = at_input_spd_kts.getValue(); - me["ASI_target"].setColor(0.0901,0.6039,0.7176); me["ASI_digit_UP"].setColor(0.0901,0.6039,0.7176); me["ASI_decimal_UP"].setColor(0.0901,0.6039,0.7176); diff --git a/Models/Instruments/PFD/PFD1.xml b/Models/Instruments/PFD/PFD1.xml index 5e76af6e..13feac39 100644 --- a/Models/Instruments/PFD/PFD1.xml +++ b/Models/Instruments/PFD/PFD1.xml @@ -31,12 +31,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display pfd1.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Models/Instruments/PFD/PFD2.xml b/Models/Instruments/PFD/PFD2.xml index 246cf671..56ff758d 100644 --- a/Models/Instruments/PFD/PFD2.xml +++ b/Models/Instruments/PFD/PFD2.xml @@ -31,12 +31,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display pfd2.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Models/Instruments/PFD/res/pfd.svg b/Models/Instruments/PFD/res/pfd.svg index 4d1ad3bd..5fe50384 100644 --- a/Models/Instruments/PFD/res/pfd.svg +++ b/Models/Instruments/PFD/res/pfd.svg @@ -12,7 +12,7 @@ viewBox="0 0 1024 1024" version="1.1" id="svg2" - inkscape:version="1.0beta2 (2b71d25, 2019-12-03)" + inkscape:version="0.91 r13725" sodipodi:docname="pfd.svg"> @@ -37,16 +37,16 @@ guidetolerance="10" inkscape:pageopacity="1" inkscape:pageshadow="2" - inkscape:window-width="1778" - inkscape:window-height="902" + inkscape:window-width="1920" + inkscape:window-height="1017" id="namedview371" showgrid="true" inkscape:zoom="2.5135139" - inkscape:cx="972.67291" - inkscape:cy="106.93313" - inkscape:window-x="126" - inkscape:window-y="32" - inkscape:window-maximized="0" + inkscape:cx="549.34484" + inkscape:cy="104.74255" + inkscape:window-x="-8" + inkscape:window-y="-8" + inkscape:window-maximized="1" inkscape:current-layer="svg2" showguides="true" inkscape:snap-global="false" @@ -1759,6 +1759,22 @@ + + + style="fill:#4c4c4c;fill-opacity:1;stroke:none;stroke-width:2.4000001;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" + inkscape:label="#rect4416" /> + + + + - @@ -2833,7 +2874,7 @@ id="tspan911" x="898.703" y="289.66925" - style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:95%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"> RADIO - 0250 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + id="ALPHA_bars" + inkscape:label="#g4375"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + S - - - - S + + + + F + y="601.36804" + id="f_digit" + transform="scale(0.95382559,1.0484097)" + inkscape:label="#text975">F + diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas index 22e7eef3..f731ca69 100644 --- a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas +++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas @@ -13,6 +13,8 @@ var rightmsg = "XX"; # Conversion factor pounds to kilogram LBS2KGS = 0.4535924; +var flapsPos = 0; + # Create Nodes: var fuel_1 = props.globals.initNode("/engines/engine[0]/fuel-flow_actual", 0); var fuel_2 = props.globals.initNode("/engines/engine[1]/fuel-flow_actual", 0); @@ -48,8 +50,6 @@ var eng2_n1mode = props.globals.getNode("/systems/fadec/eng2/n1", 1); var eng2_eprmode = props.globals.getNode("/systems/fadec/eng2/epr", 1); var eng1_n2mode = props.globals.getNode("/systems/fadec/eng1/n2", 1); var eng2_n2mode = props.globals.getNode("/systems/fadec/eng2/n2", 1); -var flap_text = props.globals.getNode("/controls/flight/flap-txt", 1); -var flap_pos = props.globals.getNode("/controls/flight/flap-pos", 1); var fuel = props.globals.getNode("/consumables/fuel/total-fuel-lbs", 1); var modeautobrake = props.globals.getNode("/controls/autobrake/mode", 1); var speedbrakearm = props.globals.getNode("/controls/flight/speedbrake-arm", 1); @@ -232,9 +232,22 @@ var canvas_upperECAM_base = { } # Flap Indicator - me["FlapTxt"].setText(sprintf("%s", flap_text.getValue())); + flapsPos = pts.Controls.Flight.flapsPos.getValue(); + if (flapsPos == 1) { + me["FlapTxt"].setText("1"); + } else if (flapsPos == 2) { + me["FlapTxt"].setText("1+F"); + } else if (flapsPos == 3) { + me["FlapTxt"].setText("2"); + } else if (flapsPos == 4) { + me["FlapTxt"].setText("3"); + } else if (flapsPos == 5) { + me["FlapTxt"].setText("FULL"); + } else { + me["FlapTxt"].setText(" "); # More efficient then hide/show + } - if (flap_pos.getValue() > 0) { + if (flapsPos > 0) { me["FlapDots"].show(); } else { me["FlapDots"].hide(); @@ -397,7 +410,7 @@ var canvas_upperECAM_base = { me["TO_Spoilers_B"].show(); } - if (flap_pos.getValue() > 0 and flap_pos.getValue() < 5) { + if (flapsPos > 0 and flapsPos < 5) { me["TO_Flaps"].setText("FLAPS T.O"); me["TO_Flaps_B"].hide(); } else { @@ -442,12 +455,11 @@ var canvas_upperECAM_base = { } flaps3 = flaps3_ovr.getValue(); - flaps_position = flap_pos.getValue(); - if (flaps3 != 1 and flaps_position == 5) { + if (flaps3 != 1 and flapsPos == 5) { me["LDG_Flaps"].setText("FLAPS FULL"); me["LDG_Flaps_B"].hide(); me["LDG_Flaps_B3"].hide(); - } else if (flaps3 == 1 and flaps_position >= 4) { + } else if (flaps3 == 1 and flapsPos >= 4) { me["LDG_Flaps"].setText("FLAPS 3"); me["LDG_Flaps_B"].hide(); me["LDG_Flaps_B3"].hide(); diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.xml b/Models/Instruments/Upper-ECAM/Upper-ECAM.xml index 2b8afe4a..d2faf06f 100644 --- a/Models/Instruments/Upper-ECAM/Upper-ECAM.xml +++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.xml @@ -31,12 +31,8 @@ - Effects/model-interior-display + Aircraft/A320-family/Models/Effects/display uecam.screen - - 0.7 - /maintainance/cockpit-cleaness-factor - diff --git a/Nasal/ECAM/ECAM-logic.nas b/Nasal/ECAM/ECAM-logic.nas index 525256ae..e1e6cd08 100644 --- a/Nasal/ECAM/ECAM-logic.nas +++ b/Nasal/ECAM/ECAM-logic.nas @@ -86,7 +86,7 @@ var messages_priority_3 = func { } # FCTL FLAPS NOT ZERO - if ((flap_not_zero.clearFlag == 0) and phaseVar == 6 and getprop("controls/flight/flap-lever") != 0 and getprop("instrumentation/altimeter/indicated-altitude-ft") > 22000) { + if ((flap_not_zero.clearFlag == 0) and phaseVar == 6 and getprop("controls/flight/flaps-input") != 0 and getprop("instrumentation/altimeter/indicated-altitude-ft") > 22000) { flap_not_zero.active = 1; } else { ECAM_controller.warningReset(flap_not_zero); @@ -697,7 +697,7 @@ var messages_priority_3 = func { } # CONFIG - if ((slats_config.clearFlag == 0) and (getprop("controls/flight/flap-lever") == 0 or getprop("controls/flight/flap-lever")) == 4 and phaseVar >= 3 and phaseVar <= 4) { + if ((slats_config.clearFlag == 0) and (getprop("controls/flight/flaps-input") == 0 or getprop("controls/flight/flaps-input")) == 4 and phaseVar >= 3 and phaseVar <= 4) { slats_config.active = 1; slats_config_1.active = 1; } else { @@ -705,7 +705,7 @@ var messages_priority_3 = func { ECAM_controller.warningReset(slats_config_1); } - if ((flaps_config.clearFlag == 0) and (getprop("controls/flight/flap-lever") == 0 or getprop("controls/flight/flap-lever") == 4) and phaseVar >= 3 and phaseVar <= 4) { + if ((flaps_config.clearFlag == 0) and (getprop("controls/flight/flaps-input") == 0 or getprop("controls/flight/flaps-input") == 4) and phaseVar >= 3 and phaseVar <= 4) { flaps_config.active = 1; flaps_config_1.active = 1; } else { @@ -1324,7 +1324,7 @@ var messages_priority_0 = func { var messages_config_memo = func { phaseVar = phaseNode.getValue(); - if (getprop("controls/flight/flap-lever") == 0 or getprop("controls/flight/flap-lever") == 4 or getprop("controls/flight/speedbrake") != 0 or getprop("fdm/jsbsim/hydraulics/elevator-trim/final-deg") > 1.75 or getprop("fdm/jsbsim/hydraulics/elevator-trim/final-deg") < -3.65 or getprop("fdm/jsbsim/hydraulics/rudder/trim-cmd-deg") < -3.55 or getprop("fdm/jsbsim/hydraulics/rudder/trim-cmd-deg") > 3.55) { + if (getprop("controls/flight/flaps-input") == 0 or getprop("controls/flight/flaps-input") == 4 or getprop("controls/flight/speedbrake") != 0 or getprop("fdm/jsbsim/hydraulics/elevator-trim/final-deg") > 1.75 or getprop("fdm/jsbsim/hydraulics/elevator-trim/final-deg") < -3.65 or getprop("fdm/jsbsim/hydraulics/rudder/trim-cmd-deg") < -3.55 or getprop("fdm/jsbsim/hydraulics/rudder/trim-cmd-deg") > 3.55) { setprop("ECAM/to-config-normal", 0); } else { setprop("ECAM/to-config-normal", 1); @@ -1366,7 +1366,7 @@ var messages_config_memo = func { toMemoLine3.colour = "c"; } - if (getprop("controls/flight/flap-pos") > 0 and getprop("controls/flight/flap-pos") < 5) { + if (getprop("controls/flight/flaps-pos") > 0 and getprop("controls/flight/flaps-pos") < 5) { toMemoLine4.msg = " FLAPS T.O"; toMemoLine4.colour = "g"; } else { @@ -1433,7 +1433,7 @@ var messages_config_memo = func { } if (getprop("it-fbw/law") == 1 or getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override")) { - if (getprop("controls/flight/flap-pos") == 4) { + if (getprop("controls/flight/flaps-pos") == 4) { ldgMemoLine4.msg = " FLAPS CONF 3"; ldgMemoLine4.colour = "g"; } else { @@ -1441,7 +1441,7 @@ var messages_config_memo = func { ldgMemoLine4.colour = "c"; } } else { - if (getprop("controls/flight/flap-pos") == 5) { + if (getprop("controls/flight/flaps-pos") == 5) { ldgMemoLine4.msg = " FLAPS FULL"; ldgMemoLine4.colour = "g"; } else { diff --git a/Nasal/FMGC/FMGC.nas b/Nasal/FMGC/FMGC.nas index 982fc484..6b51a390 100644 --- a/Nasal/FMGC/FMGC.nas +++ b/Nasal/FMGC/FMGC.nas @@ -150,7 +150,7 @@ setlistener("/gear/gear[0]/wow-fmgc", func { var trimReset = func { gear0 = getprop("/gear/gear[0]/wow"); - flaps = getprop("/controls/flight/flap-pos"); + flaps = getprop("/controls/flight/flaps-pos"); if (gear0 == 1 and getprop("/FMGC/status/to-state") == 0 and (flaps >= 5 or (flaps >= 4 and getprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap3-override") == 1))) { interpolate("/controls/flight/elevator-trim", 0.0, 1.5); } @@ -347,7 +347,7 @@ var updateFuel = func { var masterFMGC = maketimer(0.2, func { n1_left = getprop("/engines/engine[0]/n1-actual"); n1_right = getprop("/engines/engine[1]/n1-actual"); - flaps = getprop("/controls/flight/flap-pos"); + flaps = getprop("/controls/flight/flaps-pos"); modelat = getprop("/modes/pfd/fma/roll-mode"); mode = getprop("/modes/pfd/fma/pitch-mode"); modeI = getprop("/it-autoflight/mode/vert"); @@ -448,7 +448,7 @@ var masterFMGC = maketimer(0.2, func { } # calculate speeds - flap = getprop("/controls/flight/flap-pos"); + flap = getprop("/controls/flight/flaps-pos"); weight_lbs = getprop("/fdm/jsbsim/inertia/weight-lbs") / 1000; tow = getprop("/FMGC/internal/tow"); lw = getprop("/FMGC/internal/lw"); @@ -837,7 +837,7 @@ var ManagedSPD = maketimer(0.25, func { mach_sel = getprop("/it-autoflight/input/spd-mach"); srsSPD = getprop("/it-autoflight/settings/togaspd"); phase = getprop("/FMGC/status/phase"); # 0 is Preflight 1 is Takeoff 2 is Climb 3 is Cruise 4 is Descent 5 is Decel/Approach 6 is Go Around 7 is Done - flap = getprop("/controls/flight/flap-pos"); + flap = getprop("/controls/flight/flaps-pos"); maxspeed = getprop("/FMGC/internal/maxspeed"); minspeed = getprop("/FMGC/internal/minspeed"); mach_switchover = getprop("/FMGC/internal/mach-switchover"); diff --git a/Nasal/Libraries/libraries.nas b/Nasal/Libraries/libraries.nas index 0c5d84d8..16a9fc2f 100644 --- a/Nasal/Libraries/libraries.nas +++ b/Nasal/Libraries/libraries.nas @@ -7,33 +7,33 @@ print("------------------------------------------------"); print("Copyright (c) 2016-2020 Josh Davidson (Octal450)"); print("------------------------------------------------"); -setprop("sim/replay/was-active", 0); +setprop("/sim/replay/was-active", 0); -setprop("sim/menubar/default/menu[0]/item[0]/enabled", 0); -setprop("sim/menubar/default/menu[2]/item[0]/enabled", 0); -setprop("sim/menubar/default/menu[2]/item[2]/enabled", 0); -setprop("sim/menubar/default/menu[3]/enabled", 0); -setprop("sim/menubar/default/menu[5]/item[9]/enabled", 0); -setprop("sim/menubar/default/menu[5]/item[10]/enabled", 0); -setprop("sim/menubar/default/menu[5]/item[11]/enabled", 0); +setprop("/sim/menubar/default/menu[0]/item[0]/enabled", 0); +setprop("/sim/menubar/default/menu[2]/item[0]/enabled", 0); +setprop("/sim/menubar/default/menu[2]/item[2]/enabled", 0); +setprop("/sim/menubar/default/menu[3]/enabled", 0); +setprop("/sim/menubar/default/menu[5]/item[9]/enabled", 0); +setprop("/sim/menubar/default/menu[5]/item[10]/enabled", 0); +setprop("/sim/menubar/default/menu[5]/item[11]/enabled", 0); # Dimmers -setprop("controls/lighting/ndl-norm", 1); -setprop("controls/lighting/ndr-norm", 1); -setprop("controls/lighting/upper-norm", 1); +setprop("/controls/lighting/ndl-norm", 1); +setprop("/controls/lighting/ndr-norm", 1); +setprop("/controls/lighting/upper-norm", 1); # Lights -setprop("sim/model/lights/nose-lights", 0); -setprop("sim/model/lights/turnoffsw", 0); -setprop("controls/lighting/turnoff-light-switch", 0); -setprop("controls/lighting/leftturnoff", 0); -setprop("controls/lighting/rightturnoff", 0); +setprop("/sim/model/lights/nose-lights", 0); +setprop("/sim/model/lights/turnoffsw", 0); +setprop("/controls/lighting/turnoff-light-switch", 0); +setprop("/controls/lighting/leftturnoff", 0); +setprop("/controls/lighting/rightturnoff", 0); # Oil Qty var qty1 = math.round((rand() * 5 ) + 20, 0.1); var qty2 = math.round((rand() * 5 ) + 20, 0.1); -setprop("engines/engine[0]/oil-qt-actual", qty1); -setprop("engines/engine[1]/oil-qt-actual", qty2); +setprop("/engines/engine[0]/oil-qt-actual", qty1); +setprop("/engines/engine[1]/oil-qt-actual", qty2); ########## # Lights # @@ -46,21 +46,21 @@ var strobe_switch = props.globals.getNode("controls/switches/strobe", 1); var strobe_light = props.globals.getNode("controls/lighting/strobe", 1); var strobe = aircraft.light.new("/sim/model/lights/strobe", [0.05, 0.06, 0.05, 1], "/controls/lighting/strobe"); var tail_strobe = aircraft.light.new("/sim/model/lights/tailstrobe", [0.1, 1], "/controls/lighting/strobe"); -var logo_lights = getprop("sim/model/lights/logo-lights"); +var logo_lights = getprop("/sim/model/lights/logo-lights"); var nav_lights = props.globals.getNode("sim/model/lights/nav-lights"); var wing_switch = props.globals.getNode("controls/switches/wing-lights", 1); var wing_ctl = props.globals.getNode("controls/lighting/wing-lights", 1); var dome_light = props.globals.initNode("/sim/model/lights/dome-light", 0.0, "DOUBLE"); -var wow = getprop("gear/gear[2]/wow"); -var slats = getprop("controls/flight/slats"); -var gear = getprop("gear/gear[0]/position-norm"); -var nose_lights = getprop("sim/model/lights/nose-lights"); +var wow = getprop("/gear/gear[2]/wow"); +var slats = getprop("/controls/flight/slats"); +var gear = getprop("/gear/gear[0]/position-norm"); +var nose_lights = getprop("/sim/model/lights/nose-lights"); var left_turnoff_light = props.globals.getNode("controls/lighting/leftturnoff"); var right_turnoff_light = props.globals.getNode("controls/lighting/rightturnoff"); -var settingT = getprop("controls/lighting/taxi-light-switch"); -var settingTurnoff = getprop("controls/lighting/turnoff-light-switch"); -var setting = getprop("controls/lighting/nav-lights-switch"); -var domeSetting = getprop("controls/lighting/dome-norm"); +var settingT = getprop("/controls/lighting/taxi-light-switch"); +var settingTurnoff = getprop("/controls/lighting/turnoff-light-switch"); +var setting = getprop("/controls/lighting/nav-lights-switch"); +var domeSetting = getprop("/controls/lighting/dome-norm"); var landL = props.globals.getNode("controls/lighting/landing-lights[1]", 1); var landR = props.globals.getNode("controls/lighting/landing-lights[2]", 1); var landlSw = props.globals.getNode("controls/switches/landing-lights-l", 1); @@ -78,7 +78,7 @@ aircraft.rain.init(); ########## setlistener("/sim/sounde/btn1", func { - if (!getprop("sim/sounde/btn1")) { + if (!getprop("/sim/sounde/btn1")) { return; } settimer(func { @@ -87,7 +87,7 @@ setlistener("/sim/sounde/btn1", func { }); setlistener("/sim/sounde/oh-btn", func { - if (!getprop("sim/sounde/oh-btn")) { + if (!getprop("/sim/sounde/oh-btn")) { return; } settimer(func { @@ -96,7 +96,7 @@ setlistener("/sim/sounde/oh-btn", func { }); setlistener("/sim/sounde/btn3", func { - if (!getprop("sim/sounde/btn3")) { + if (!getprop("/sim/sounde/btn3")) { return; } settimer(func { @@ -105,7 +105,7 @@ setlistener("/sim/sounde/btn3", func { }); setlistener("/sim/sounde/knb1", func { - if (!getprop("sim/sounde/knb1")) { + if (!getprop("/sim/sounde/knb1")) { return; } settimer(func { @@ -114,7 +114,7 @@ setlistener("/sim/sounde/knb1", func { }); setlistener("/sim/sounde/switch1", func { - if (!getprop("sim/sounde/switch1")) { + if (!getprop("/sim/sounde/switch1")) { return; } settimer(func { @@ -136,12 +136,12 @@ setlistener("/controls/lighting/no-smoking-sign", func { }, 1); }, 0, 0); -setlistener("/controls/flight/flap-lever", func { +setlistener("/controls/flight/flaps-input", func { props.globals.getNode("sim/sounde/flaps-click").setBoolValue(1); }, 0, 0); setlistener("/sim/sounde/flaps-click", func { - if (!getprop("sim/sounde/flaps-click")) { + if (!getprop("/sim/sounde/flaps-click")) { return; } settimer(func { @@ -176,11 +176,11 @@ var armrests = aircraft.door.new("/sim/model/door-positions/armrests", 2); # door opener/closer var triggerDoor = func(door, doorName, doorDesc) { - if (getprop("sim/model/door-positions/" ~ doorName ~ "/position-norm") > 0) { + if (getprop("/sim/model/door-positions/" ~ doorName ~ "/position-norm") > 0) { gui.popupTip("Closing " ~ doorDesc ~ " door"); door.toggle(); } else { - if (getprop("velocities/groundspeed-kt") > 5) { + if (getprop("/velocities/groundspeed-kt") > 5) { gui.popupTip("You cannot open the doors while the aircraft is moving!"); } else { gui.popupTip("Opening " ~ doorDesc ~ " door"); @@ -244,56 +244,56 @@ var systemsLoop = maketimer(0.1, func { systems.APUController.loop(); systems.HFLoop(); - if ((getprop("controls/pneumatic/switches/groundair") or getprop("controls/electrical/ground-cart")) and ((getprop("velocities/groundspeed-kt") > 2) or (getprop("controls/gear/brake-parking") == 0 and getprop("services/chocks/nose") == 0 and getprop("services/chocks/left") == 0 and getprop("services/chocks/right") == 0))) { - setprop("controls/electrical/ground-cart", 0); - setprop("controls/pneumatic/switches/groundair", 0); + if ((getprop("/controls/pneumatic/switches/groundair") or getprop("/controls/electrical/ground-cart")) and ((getprop("/velocities/groundspeed-kt") > 2) or (getprop("/controls/gear/brake-parking") == 0 and getprop("/services/chocks/nose") == 0 and getprop("/services/chocks/left") == 0 and getprop("/services/chocks/right") == 0))) { + setprop("/controls/electrical/ground-cart", 0); + setprop("/controls/pneumatic/switches/groundair", 0); } - if (getprop("velocities/groundspeed-kt") > 15) { - setprop("systems/shake/effect", 1); + if (getprop("/velocities/groundspeed-kt") > 15) { + setprop("/systems/shake/effect", 1); } else { - setprop("systems/shake/effect", 0); + setprop("/systems/shake/effect", 0); } - if (getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override") == 1 or (getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override") == 1 and getprop("controls/flight/flap-pos") >= 4)) { - setprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-override", 1); + if (getprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override") == 1 or (getprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override") == 1 and getprop("/controls/flight/flaps-pos") >= 4)) { + setprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-override", 1); } else { - setprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-override", 0); + setprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-override", 0); } - if (getprop("instrumentation/mk-viii/inputs/discretes/gpws-inhibit") == 1) { - setprop("instrumentation/mk-viii/speaker/volume", 0); + if (getprop("/instrumentation/mk-viii/inputs/discretes/gpws-inhibit") == 1) { + setprop("/instrumentation/mk-viii/speaker/volume", 0); } else { - setprop("instrumentation/mk-viii/speaker/volume", 2); + setprop("/instrumentation/mk-viii/speaker/volume", 2); } - if (getprop("engines/engine[0]/state") == 3 and getprop("engines/engine[1]/state") == 3) { - setprop("engines/ready", 1); + if (getprop("/engines/engine[0]/state") == 3 and getprop("/engines/engine[1]/state") == 3) { + setprop("/engines/ready", 1); } else { - setprop("engines/ready", 0); + setprop("/engines/ready", 0); } - if ((getprop("engines/engine[0]/state") == 2 or getprop("engines/engine[0]/state") == 3) and getprop("fdm/jsbsim/propulsion/tank[5]/contents-lbs") < 1) { + if ((getprop("/engines/engine[0]/state") == 2 or getprop("/engines/engine[0]/state") == 3) and getprop("/fdm/jsbsim/propulsion/tank[5]/contents-lbs") < 1) { systems.cutoff_one(); } - if ((getprop("engines/engine[1]/state") == 2 or getprop("engines/engine[1]/state") == 3) and getprop("fdm/jsbsim/propulsion/tank[6]/contents-lbs") < 1) { + if ((getprop("/engines/engine[1]/state") == 2 or getprop("/engines/engine[1]/state") == 3) and getprop("/fdm/jsbsim/propulsion/tank[6]/contents-lbs") < 1) { systems.cutoff_two(); } - if (getprop("sim/replay/replay-state") == 1) { - setprop("sim/replay/was-active", 1); - } else if (getprop("sim/replay/replay-state") == 0 and getprop("sim/replay/was-active") == 1) { - setprop("sim/replay/was-active", 0); + if (getprop("/sim/replay/replay-state") == 1) { + setprop("/sim/replay/was-active", 1); + } else if (getprop("/sim/replay/replay-state") == 0 and getprop("/sim/replay/was-active") == 1) { + setprop("/sim/replay/was-active", 0); acconfig.colddark(); gui.popupTip("Replay Ended: Setting Cold and Dark state..."); } }); setlistener("/options/steep-ils", func { - if (getprop("options/steep-ils") == 1) { - setprop("instrumentation/mk-viii/inputs/discretes/steep-approach", 1); + if (getprop("/options/steep-ils") == 1) { + setprop("/instrumentation/mk-viii/inputs/discretes/steep-approach", 1); } else { - setprop("instrumentation/mk-viii/inputs/discretes/steep-approach", 0); + setprop("/instrumentation/mk-viii/inputs/discretes/steep-approach", 0); } }); @@ -320,120 +320,8 @@ canvas.Element.setVisible = func(vis) { me.setBool("visible", vis); }; - -# In air, flaps 1 is slats only. On ground, it is slats and flaps. - -setprop("controls/flight/flap-lever", 0); -setprop("controls/flight/flap-pos", 0); -setprop("controls/flight/flap-txt", " "); - -controls.flapsDown = func(step) { - if (step == 1) { - if (getprop("controls/flight/flap-lever") == 0) { - if (getprop("velocities/airspeed-kt") <= 100) { - setprop("controls/flight/flaps", 0.2857); - setprop("controls/flight/slats", 0.6666); - setprop("controls/flight/flap-lever", 1); - setprop("controls/flight/flap-pos", 2); - setprop("controls/flight/flap-txt", "1+F"); - flaptimer.start(); - return; - } else { - setprop("controls/flight/flaps", 0.000); - setprop("controls/flight/slats", 0.6666); - setprop("controls/flight/flap-lever", 1); - setprop("controls/flight/flap-pos", 1); - setprop("controls/flight/flap-txt", "1"); - flaptimer.stop(); - return; - } - } else if (getprop("controls/flight/flap-lever") == 1) { - setprop("controls/flight/flaps", 0.4286); - setprop("controls/flight/slats", 0.8148); - setprop("controls/flight/flap-lever", 2); - setprop("controls/flight/flap-pos", 3); - setprop("controls/flight/flap-txt", "2"); - flaptimer.stop(); - return; - } else if (getprop("controls/flight/flap-lever") == 2) { - setprop("controls/flight/flaps", 0.5714); - setprop("controls/flight/slats", 0.8148); - setprop("controls/flight/flap-lever", 3); - setprop("controls/flight/flap-pos", 4); - setprop("controls/flight/flap-txt", "3"); - flaptimer.stop(); - return; - } else if (getprop("controls/flight/flap-lever") == 3) { - setprop("controls/flight/flaps", 1.000); - setprop("controls/flight/slats", 1.000); - setprop("controls/flight/flap-lever", 4); - setprop("controls/flight/flap-pos", 5); - setprop("controls/flight/flap-txt", "FULL"); - flaptimer.stop(); - return; - } - } else if (step == -1) { - if (getprop("controls/flight/flap-lever") == 4) { - setprop("controls/flight/flaps", 0.5714); - setprop("controls/flight/slats", 0.8148); - setprop("controls/flight/flap-lever", 3); - setprop("controls/flight/flap-pos", 4); - setprop("controls/flight/flap-txt", "3"); - flaptimer.stop(); - return; - } else if (getprop("controls/flight/flap-lever") == 3) { - setprop("controls/flight/flaps", 0.4286); - setprop("controls/flight/slats", 0.8148); - setprop("controls/flight/flap-lever", 2); - setprop("controls/flight/flap-pos", 3); - setprop("controls/flight/flap-txt", "2"); - flaptimer.stop(); - return; - } else if (getprop("controls/flight/flap-lever") == 2) { - if (getprop("velocities/airspeed-kt") <= 100) { - setprop("controls/flight/flaps", 0.2857); - setprop("controls/flight/slats", 0.6666); - setprop("controls/flight/flap-lever", 1); - setprop("controls/flight/flap-pos", 2); - setprop("controls/flight/flap-txt", "1+F"); - flaptimer.start(); - return; - } else { - setprop("controls/flight/flaps", 0.000); - setprop("controls/flight/slats", 0.6666); - setprop("controls/flight/flap-lever", 1); - setprop("controls/flight/flap-pos", 1); - setprop("controls/flight/flap-txt", "1"); - flaptimer.stop(); - return; - } - } else if (getprop("controls/flight/flap-lever") == 1) { - setprop("controls/flight/flaps", 0.000); - setprop("controls/flight/slats", 0.000); - setprop("controls/flight/flap-lever", 0); - setprop("controls/flight/flap-pos", 0); - setprop("controls/flight/flap-txt", " "); - flaptimer.stop(); - return; - } - } else { - return 0; - } -} - -var flaptimer = maketimer(0.5, func { - if (getprop("controls/flight/flap-pos") == 2 and getprop("velocities/airspeed-kt") >= 208) { - setprop("controls/flight/flaps", 0.000); - setprop("controls/flight/slats", 0.666); - setprop("controls/flight/flap-lever", 1); - setprop("controls/flight/flap-pos", 1); - setprop("controls/flight/flap-txt", "1"); - flaptimer.stop(); - } -}); - controls.stepSpoilers = func(step) { - setprop("controls/flight/speedbrake-arm", 0); + setprop("/controls/flight/speedbrake-arm", 0); if (step == 1) { deploySpeedbrake(); } else if (step == -1) { @@ -442,100 +330,128 @@ controls.stepSpoilers = func(step) { } var deploySpeedbrake = func { - if (getprop("gear/gear[1]/wow") == 1 or getprop("gear/gear[2]/wow") == 1) { - if (getprop("controls/flight/speedbrake") < 1.0) { - setprop("controls/flight/speedbrake", 1.0); + if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) { + if (getprop("/controls/flight/speedbrake") < 1.0) { + setprop("/controls/flight/speedbrake", 1.0); } } else { - if (getprop("controls/flight/speedbrake") < 0.5) { - setprop("controls/flight/speedbrake", 0.5); - } else if (getprop("controls/flight/speedbrake") < 1.0) { - setprop("controls/flight/speedbrake", 1.0); + if (getprop("/controls/flight/speedbrake") < 0.5) { + setprop("/controls/flight/speedbrake", 0.5); + } else if (getprop("/controls/flight/speedbrake") < 1.0) { + setprop("/controls/flight/speedbrake", 1.0); } } } var retractSpeedbrake = func { - if (getprop("gear/gear[1]/wow") == 1 or getprop("gear/gear[2]/wow") == 1) { - if (getprop("controls/flight/speedbrake") > 0.0) { - setprop("controls/flight/speedbrake", 0.0); + if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) { + if (getprop("/controls/flight/speedbrake") > 0.0) { + setprop("/controls/flight/speedbrake", 0.0); } } else { - if (getprop("controls/flight/speedbrake") > 0.5) { - setprop("controls/flight/speedbrake", 0.5); - } else if (getprop("controls/flight/speedbrake") > 0.0) { - setprop("controls/flight/speedbrake", 0.0); + if (getprop("/controls/flight/speedbrake") > 0.5) { + setprop("/controls/flight/speedbrake", 0.5); + } else if (getprop("/controls/flight/speedbrake") > 0.0) { + setprop("/controls/flight/speedbrake", 0.0); } } } var slewProp = func(prop, delta) { - delta *= getprop("sim/time/delta-realtime-sec"); + delta *= getprop("/sim/time/delta-realtime-sec"); setprop(prop, getprop(prop) + delta); return getprop(prop); } +controls.flapsDown = func(step) { + pts.Controls.Flight.flapsTemp = pts.Controls.Flight.flaps.getValue(); + if (step == 1) { + if (pts.Controls.Flight.flapsTemp < 0.2) { + pts.Controls.Flight.flaps.setValue(0.2); + } else if (pts.Controls.Flight.flapsTemp < 0.4) { + pts.Controls.Flight.flaps.setValue(0.4); + } else if (pts.Controls.Flight.flapsTemp < 0.6) { + pts.Controls.Flight.flaps.setValue(0.6); + } else if (pts.Controls.Flight.flapsTemp < 0.8) { + pts.Controls.Flight.flaps.setValue(0.8); + } + } else if (step == -1) { + if (pts.Controls.Flight.flapsTemp > 0.6) { + pts.Controls.Flight.flaps.setValue(0.6); + } else if (pts.Controls.Flight.flapsTemp > 0.4) { + pts.Controls.Flight.flaps.setValue(0.4); + } else if (pts.Controls.Flight.flapsTemp > 0.2) { + pts.Controls.Flight.flaps.setValue(0.2); + } else if (pts.Controls.Flight.flapsTemp > 0) { + pts.Controls.Flight.flaps.setValue(0); + } + } +} + + controls.elevatorTrim = func(speed) { - if (getprop("systems/hydraulic/green-psi") >= 1500) { - slewProp("/controls/flight/elevator-trim", speed * 0.045); + if (getprop("/systems/hydraulic/green-psi") >= 1500) { + slewprop("/controls/flight/elevator-trim", speed * 0.0185); # Rate in JSB normalized (0.25 / 13.5) + } else { + slewprop("/controls/flight/elevator-trim", speed * 0.0092); # Rate in JSB normalized (0.125 / 13.5) } } setlistener("/controls/flight/elevator-trim", func { - if (getprop("controls/flight/elevator-trim") > 0.32) { - setprop("controls/flight/elevator-trim", 0.32); + if (getprop("/controls/flight/elevator-trim") > 0.296296) { + setprop("/controls/flight/elevator-trim", 0.296296); } }); var lightsLoop = maketimer(0.2, func { - gear = getprop("gear/gear[0]/position-norm"); - nose_lights = getprop("sim/model/lights/nose-lights"); - settingT = getprop("controls/lighting/taxi-light-switch"); - domeSetting = getprop("controls/lighting/dome-norm"); + gear = getprop("/gear/gear[0]/position-norm"); + nose_lights = getprop("/sim/model/lights/nose-lights"); + settingT = getprop("/controls/lighting/taxi-light-switch"); + domeSetting = getprop("/controls/lighting/dome-norm"); # nose lights - if (settingT == 0.5 and gear > 0.9 and (getprop("systems/electrical/bus/ac-1") > 0 or getprop("systems/electrical/bus/ac-2") > 0)) { - setprop("sim/model/lights/nose-lights", 0.85); - } else if (settingT == 1 and gear > 0.9 and (getprop("systems/electrical/bus/ac-1") > 0 or getprop("systems/electrical/bus/ac-2") > 0)) { - setprop("sim/model/lights/nose-lights", 1); + if (settingT == 0.5 and gear > 0.9 and (getprop("/systems/electrical/bus/ac-1") > 0 or getprop("/systems/electrical/bus/ac-2") > 0)) { + setprop("/sim/model/lights/nose-lights", 0.85); + } else if (settingT == 1 and gear > 0.9 and (getprop("/systems/electrical/bus/ac-1") > 0 or getprop("/systems/electrical/bus/ac-2") > 0)) { + setprop("/sim/model/lights/nose-lights", 1); } else { - setprop("sim/model/lights/nose-lights", 0); + setprop("/sim/model/lights/nose-lights", 0); } # turnoff lights - settingTurnoff = getprop("controls/lighting/turnoff-light-switch"); + settingTurnoff = getprop("/controls/lighting/turnoff-light-switch"); left_turnoff_light = props.globals.getNode("controls/lighting/leftturnoff"); right_turnoff_light = props.globals.getNode("controls/lighting/rightturnoff"); - if (settingTurnoff == 1 and gear > 0.9 and getprop("systems/electrical/bus/ac-1") > 0) { + if (settingTurnoff == 1 and gear > 0.9 and getprop("/systems/electrical/bus/ac-1") > 0) { left_turnoff_light.setBoolValue(1); } else { left_turnoff_light.setBoolValue(0); } - if (settingTurnoff == 1 and gear > 0.9 and getprop("systems/electrical/bus/ac-2") > 0) { + if (settingTurnoff == 1 and gear > 0.9 and getprop("/systems/electrical/bus/ac-2") > 0) { right_turnoff_light.setBoolValue(1); } else { right_turnoff_light.setBoolValue(0); } # logo and navigation lights - setting = getprop("controls/lighting/nav-lights-switch"); + setting = getprop("/controls/lighting/nav-lights-switch"); nav_lights = props.globals.getNode("sim/model/lights/nav-lights"); logo_lights = props.globals.getNode("sim/model/lights/logo-lights"); - wow = getprop("gear/gear[2]/wow"); - slats = getprop("controls/flight/slats"); + wow = getprop("/gear/gear[2]/wow"); + slats = getprop("/controls/flight/slats"); - if (getprop("systems/electrical/bus/ac-1") > 0 or getprop("systems/electrical/bus/ac-2") > 0 or getprop("systems/electrical/bus/dc-1") > 0 or getprop("systems/electrical/bus/dc-2") > 0) { - setprop("systems/electrical/nav-lights-power", 1); + if (getprop("/systems/electrical/bus/ac-1") > 0 or getprop("/systems/electrical/bus/ac-2") > 0 or getprop("/systems/electrical/bus/dc-1") > 0 or getprop("/systems/electrical/bus/dc-2") > 0) { + setprop("/systems/electrical/nav-lights-power", 1); } else { - setprop("systems/electrical/nav-lights-power", 0); + setprop("/systems/electrical/nav-lights-power", 0); } if (setting == 0 and logo_lights == 1) { logo_lights.setBoolValue(0); - } else if (setting == 1 or setting == 2 and (getprop("systems/electrical/bus/ac-1") > 0 or getprop("systems/electrical/bus/ac-2") > 0)) { + } else if (setting == 1 or setting == 2 and (getprop("/systems/electrical/bus/ac-1") > 0 or getprop("/systems/electrical/bus/ac-2") > 0)) { if ((wow) or (!wow and slats > 0)) { logo_lights.setBoolValue(1); } else { @@ -545,15 +461,15 @@ var lightsLoop = maketimer(0.2, func { logo_lights.setBoolValue(0); } - if (setting == 1 or setting == 2 and (getprop("systems/electrical/bus/ac-1") > 0 or getprop("systems/electrical/bus/ac-2") > 0 or getprop("systems/electrical/bus/dc-1") > 0 or getprop("systems/electrical/bus/dc-2") > 0)) { + if (setting == 1 or setting == 2 and (getprop("/systems/electrical/bus/ac-1") > 0 or getprop("/systems/electrical/bus/ac-2") > 0 or getprop("/systems/electrical/bus/dc-1") > 0 or getprop("/systems/electrical/bus/dc-2") > 0)) { nav_lights.setBoolValue(1); } else { nav_lights.setBoolValue(0); } - if (domeSetting == 0.5 and getprop("systems/electrical/bus/dc-ess") > 0) { + if (domeSetting == 0.5 and getprop("/systems/electrical/bus/dc-ess") > 0) { dome_light.setValue(0.5); - } elsif (domeSetting == 1 and getprop("systems/electrical/bus/dc-ess") > 0) { + } elsif (domeSetting == 1 and getprop("/systems/electrical/bus/dc-ess") > 0) { dome_light.setValue(1); } else { dome_light.setValue(0); @@ -562,9 +478,9 @@ var lightsLoop = maketimer(0.2, func { # strobe strobe_sw = strobe_switch.getValue(); - if (strobe_sw == 1 and getprop("systems/electrical/bus/ac-2") > 0) { + if (strobe_sw == 1 and getprop("/systems/electrical/bus/ac-2") > 0) { strobe_light.setValue(1); - } elsif (strobe_sw == 0.5 and getprop("gear/gear[1]/wow") == 0 and getprop("gear/gear[2]/wow") == 0 and getprop("systems/electrical/bus/ac-2") > 0) { + } elsif (strobe_sw == 0.5 and getprop("/gear/gear[1]/wow") == 0 and getprop("/gear/gear[2]/wow") == 0 and getprop("/systems/electrical/bus/ac-2") > 0) { # todo: use lgciu output 5 strobe_light.setValue(1); } else { @@ -573,7 +489,7 @@ var lightsLoop = maketimer(0.2, func { # beacon - if (beacon_switch.getValue() == 1 and (getprop("systems/electrical/bus/ac-1") > 0 or getprop("systems/electrical/bus/ac-2") > 0)) { + if (beacon_switch.getValue() == 1 and (getprop("/systems/electrical/bus/ac-1") > 0 or getprop("/systems/electrical/bus/ac-2") > 0)) { beacon_ctl.setValue(1); } else { beacon_ctl.setValue(0); @@ -581,7 +497,7 @@ var lightsLoop = maketimer(0.2, func { # wing - if (wing_switch.getValue() == 1 and (getprop("systems/electrical/bus/ac-1") > 0 or getprop("systems/electrical/bus/ac-2") > 0)) { + if (wing_switch.getValue() == 1 and (getprop("/systems/electrical/bus/ac-1") > 0 or getprop("/systems/electrical/bus/ac-2") > 0)) { wing_ctl.setValue(1); } else { wing_ctl.setValue(0); @@ -589,13 +505,13 @@ var lightsLoop = maketimer(0.2, func { # landL - if (landlSw.getValue() == 1 and getprop("systems/electrical/bus/ac-1") > 0) { + if (landlSw.getValue() == 1 and getprop("/systems/electrical/bus/ac-1") > 0) { landL.setValue(1); } else { landL.setValue(0); } - if (landrSw.getValue() == 1 and getprop("systems/electrical/bus/ac-2") > 0) { + if (landrSw.getValue() == 1 and getprop("/systems/electrical/bus/ac-2") > 0) { landR.setValue(1); } else { landR.setValue(0); @@ -603,48 +519,48 @@ var lightsLoop = maketimer(0.2, func { # signs - if (getprop("systems/pressurization/cabinalt-norm") > 11300) { - setprop("controls/lighting/seatbelt-sign", 1); - setprop("controls/lighting/no-smoking-sign", 1); + if (getprop("/systems/pressurization/cabinalt-norm") > 11300) { + setprop("/controls/lighting/seatbelt-sign", 1); + setprop("/controls/lighting/no-smoking-sign", 1); } else { - if (getprop("controls/switches/seatbelt-sign") == 1) { - if (getprop("controls/lighting/seatbelt-sign") == 0) { - setprop("controls/lighting/seatbelt-sign", 1); + if (getprop("/controls/switches/seatbelt-sign") == 1) { + if (getprop("/controls/lighting/seatbelt-sign") == 0) { + setprop("/controls/lighting/seatbelt-sign", 1); } - } elsif (getprop("controls/switches/seatbelt-sign") == 0) { - if (getprop("controls/lighting/seatbelt-sign") == 1) { - setprop("controls/lighting/seatbelt-sign", 0); + } elsif (getprop("/controls/switches/seatbelt-sign") == 0) { + if (getprop("/controls/lighting/seatbelt-sign") == 1) { + setprop("/controls/lighting/seatbelt-sign", 0); } } - if (getprop("controls/switches/no-smoking-sign") == 1) { - if (getprop("controls/lighting/no-smoking-sign") == 0) { - setprop("controls/lighting/no-smoking-sign", 1); + if (getprop("/controls/switches/no-smoking-sign") == 1) { + if (getprop("/controls/lighting/no-smoking-sign") == 0) { + setprop("/controls/lighting/no-smoking-sign", 1); } - } elsif (getprop("controls/switches/no-smoking-sign") == 0.5 and getprop("gear/gear[0]/position-norm") != 0) { # todo: should be when uplocks not engaged - if (getprop("controls/lighting/no-smoking-sign") == 0) { - setprop("controls/lighting/no-smoking-sign", 1); + } elsif (getprop("/controls/switches/no-smoking-sign") == 0.5 and getprop("/gear/gear[0]/position-norm") != 0) { # todo: should be when uplocks not engaged + if (getprop("/controls/lighting/no-smoking-sign") == 0) { + setprop("/controls/lighting/no-smoking-sign", 1); } } else { - setprop("controls/lighting/no-smoking-sign", 0); # sign stays on in cabin but sound still occurs + setprop("/controls/lighting/no-smoking-sign", 0); # sign stays on in cabin but sound still occurs } } - if (getprop("controls/lighting/landing-lights[1]") >= 0.5) { - setprop("fdm/jsbsim/rubbish/landL", 1); + if (getprop("/controls/lighting/landing-lights[1]") >= 0.5) { + setprop("/fdm/jsbsim/rubbish/landL", 1); } else { - setprop("fdm/jsbsim/rubbish/landL", 0); + setprop("/fdm/jsbsim/rubbish/landL", 0); } - if (getprop("controls/lighting/landing-lights[2]") >= 0.5) { - setprop("fdm/jsbsim/rubbish/landR", 1); + if (getprop("/controls/lighting/landing-lights[2]") >= 0.5) { + setprop("/fdm/jsbsim/rubbish/landR", 1); } else { - setprop("fdm/jsbsim/rubbish/landR", 0); + setprop("/fdm/jsbsim/rubbish/landR", 0); } }); var lTray = func { - var lTrayCMD = getprop("controls/tray/lefttrayext"); + var lTrayCMD = getprop("/controls/tray/lefttrayext"); if (lTrayCMD < 0.5) { interpolate("/controls/tray/lefttrayext", 0.5, 0.5); } else if (lTrayCMD == 0.5) { @@ -655,7 +571,7 @@ var lTray = func { } var rTray = func { - var rTrayCMD = getprop("controls/tray/righttrayext"); + var rTrayCMD = getprop("/controls/tray/righttrayext"); if (rTrayCMD < 0.5) { interpolate("/controls/tray/righttrayext", 0.5, 0.5); } else if (rTrayCMD == 0.5) { @@ -666,7 +582,7 @@ var rTray = func { } var l1Pedal = func { - var lPedalCMD = getprop("controls/footrest-cpt[0]"); + var lPedalCMD = getprop("/controls/footrest-cpt[0]"); if (lPedalCMD < 1.0) { interpolate("/controls/footrest-cpt[0]", 1.0, 0.5); } else { @@ -675,7 +591,7 @@ var l1Pedal = func { } var l2Pedal = func { - var l2PedalCMD = getprop("controls/footrest-cpt[1]"); + var l2PedalCMD = getprop("/controls/footrest-cpt[1]"); if (l2PedalCMD < 1.0) { interpolate("/controls/footrest-cpt[1]", 1.0, 0.5); } else { @@ -684,7 +600,7 @@ var l2Pedal = func { } var r1Pedal = func { - var rPedalCMD = getprop("controls/footrest-fo[0]"); + var rPedalCMD = getprop("/controls/footrest-fo[0]"); if (rPedalCMD < 1.0) { interpolate("/controls/footrest-fo[0]", 1.0, 0.5); } else { @@ -693,7 +609,7 @@ var r1Pedal = func { } var r2Pedal = func { - var r2PedalCMD = getprop("controls/footrest-fo[1]"); + var r2PedalCMD = getprop("/controls/footrest-fo[1]"); if (r2PedalCMD < 1.0) { interpolate("/controls/footrest-fo[1]", 1.0, 0.5); } else { @@ -701,13 +617,13 @@ var r2Pedal = func { } } -if (getprop("controls/flight/auto-coordination") == 1) { - setprop("controls/flight/auto-coordination", 0); +if (getprop("/controls/flight/auto-coordination") == 1) { + setprop("/controls/flight/auto-coordination", 0); print("System: Auto Coordination has been turned off as it is not compatible with the fly-by-wire of this aircraft."); screen.log.write("Auto Coordination has been disabled as it is not compatible with the fly-by-wire of this aircraft", 1, 0, 0); } -setprop("controls/flight/aileron-drives-tiller", 0); +setprop("/controls/flight/aileron-drives-tiller", 0); var APPanel = { APDisc: func() { @@ -719,15 +635,15 @@ var APPanel = { }; var resetView = func() { - if (getprop("sim/current-view/view-number") == 0) { - if (getprop("sim/rendering/headshake/enabled")) { + if (getprop("/sim/current-view/view-number") == 0) { + if (getprop("/sim/rendering/headshake/enabled")) { var _shakeFlag = 1; - setprop("sim/rendering/headshake/enabled", 0); + setprop("/sim/rendering/headshake/enabled", 0); } else { var _shakeFlag = 0; } - var hd = getprop("sim/current-view/heading-offset-deg"); + var hd = getprop("/sim/current-view/heading-offset-deg"); var hd_t = 360; if (hd < 180) { hd_t = hd_t - 360; @@ -742,21 +658,21 @@ var resetView = func() { interpolate("sim/current-view/z-offset-m", -13.75, 0.66); if (_shakeFlag) { - setprop("sim/rendering/headshake/enabled", 1); + setprop("/sim/rendering/headshake/enabled", 1); } } } var autopilotView = func() { - if (getprop("sim/current-view/view-number") == 0) { - if (getprop("sim/rendering/headshake/enabled")) { + if (getprop("/sim/current-view/view-number") == 0) { + if (getprop("/sim/rendering/headshake/enabled")) { var _shakeFlag = 1; - setprop("sim/rendering/headshake/enabled", 0); + setprop("/sim/rendering/headshake/enabled", 0); } else { var _shakeFlag = 0; } - var hd = getprop("sim/current-view/heading-offset-deg"); + var hd = getprop("/sim/current-view/heading-offset-deg"); var hd_t = 341.7; if (hd < 180) { hd_t = hd_t - 360; @@ -771,21 +687,21 @@ var autopilotView = func() { interpolate("sim/current-view/z-offset-m", -13.75, 0.66); if (_shakeFlag) { - setprop("sim/rendering/headshake/enabled", 1); + setprop("/sim/rendering/headshake/enabled", 1); } } } var overheadView = func() { - if (getprop("sim/current-view/view-number") == 0) { - if (getprop("sim/rendering/headshake/enabled")) { + if (getprop("/sim/current-view/view-number") == 0) { + if (getprop("/sim/rendering/headshake/enabled")) { var _shakeFlag = 1; - setprop("sim/rendering/headshake/enabled", 0); + setprop("/sim/rendering/headshake/enabled", 0); } else { var _shakeFlag = 0; } - var hd = getprop("sim/current-view/heading-offset-deg"); + var hd = getprop("/sim/current-view/heading-offset-deg"); var hd_t = 348; if (hd < 180) { hd_t = hd_t - 360; @@ -800,21 +716,21 @@ var overheadView = func() { interpolate("sim/current-view/z-offset-m", -13.75, 0.66); if (_shakeFlag) { - setprop("sim/rendering/headshake/enabled", 1); + setprop("/sim/rendering/headshake/enabled", 1); } } } var pedestalView = func() { - if (getprop("sim/current-view/view-number") == 0) { - if (getprop("sim/rendering/headshake/enabled")) { + if (getprop("/sim/current-view/view-number") == 0) { + if (getprop("/sim/rendering/headshake/enabled")) { var _shakeFlag = 1; - setprop("sim/rendering/headshake/enabled", 0); + setprop("/sim/rendering/headshake/enabled", 0); } else { var _shakeFlag = 0; } - var hd = getprop("sim/current-view/heading-offset-deg"); + var hd = getprop("/sim/current-view/heading-offset-deg"); var hd_t = 315; if (hd < 180) { hd_t = hd_t - 360; @@ -829,21 +745,21 @@ var pedestalView = func() { interpolate("sim/current-view/z-offset-m", -13.75, 0.66); if (_shakeFlag) { - setprop("sim/rendering/headshake/enabled", 1); + setprop("/sim/rendering/headshake/enabled", 1); } } } var lightsView = func() { - if (getprop("sim/current-view/view-number") == 0) { - if (getprop("sim/rendering/headshake/enabled")) { + if (getprop("/sim/current-view/view-number") == 0) { + if (getprop("/sim/rendering/headshake/enabled")) { var _shakeFlag = 1; - setprop("sim/rendering/headshake/enabled", 0); + setprop("/sim/rendering/headshake/enabled", 0); } else { var _shakeFlag = 0; } - var hd = getprop("sim/current-view/heading-offset-deg"); + var hd = getprop("/sim/current-view/heading-offset-deg"); var hd_t = 329; if (hd < 180) { hd_t = hd_t - 360; @@ -858,9 +774,9 @@ var lightsView = func() { interpolate("sim/current-view/z-offset-m", -13.75, 0.66); if (_shakeFlag) { - setprop("sim/rendering/headshake/enabled", 1); + setprop("/sim/rendering/headshake/enabled", 1); } } } -setprop("systems/acconfig/libraries-loaded", 1); +setprop("/systems/acconfig/libraries-loaded", 1); diff --git a/Nasal/Libraries/property-tree-setup.nas b/Nasal/Libraries/property-tree-setup.nas index c6fa9032..8ef19c72 100644 --- a/Nasal/Libraries/property-tree-setup.nas +++ b/Nasal/Libraries/property-tree-setup.nas @@ -26,6 +26,9 @@ var Controls = { }, Flight: { aileron: props.globals.getNode("/controls/flight/aileron"), + flaps: props.globals.getNode("/controls/flight/flaps"), + flapsTemp: 0, + flapsPos: props.globals.getNode("/controls/flight/flaps-pos"), }, Gear: { gearDown: props.globals.getNode("/controls/gear/gear-down"), diff --git a/Nasal/MCDU/ARRIVAL.nas b/Nasal/MCDU/ARRIVAL.nas index 7cbea4ba..517ed64b 100644 --- a/Nasal/MCDU/ARRIVAL.nas +++ b/Nasal/MCDU/ARRIVAL.nas @@ -330,7 +330,7 @@ var arrivalPage = { } me.R5 = ["CRS" ~ math.round(me._approaches[me.approaches[2 + me.scrollApproach]].heading), nil, "blu"]; if (me._approaches[me.approaches[2 + me.scrollApproach]].ils != nil) { - me.C6[1] = me._approaches[me.approaches[1 + me.scrollApproach]].ils.id ~ "/" ~ sprintf("%7.2f", me._approaches[me.approaches[1 + me.scrollApproach]].ils_frequency_mhz); + me.C6[1] = me._approaches[me.approaches[2 + me.scrollApproach]].ils.id ~ "/" ~ sprintf("%7.2f", me._approaches[me.approaches[2 + me.scrollApproach]].ils_frequency_mhz); } if (me.approaches[2 + me.scrollApproach] != me.selectedApproach) { me.arrowsMatrix[0][4] = 1; @@ -513,7 +513,7 @@ var arrivalPage = { if (me.activePage == 0) { if (me.enableScrollApproach) { me.scrollApproach += 1; - if (me.scrollApproach > size(me.approaches) - 4) { + if (me.scrollApproach > size(me.approaches) - 3) { me.scrollApproach = 0; } me.updateApproaches(); @@ -539,7 +539,7 @@ var arrivalPage = { if (me.enableScrollApproach) { me.scrollApproach -= 1; if (me.scrollApproach < 0) { - me.scrollApproach = size(me.approaches) - 4; + me.scrollApproach = size(me.approaches) - 3; } me.updateApproaches(); } diff --git a/Nasal/MCDU/F-PLN.nas b/Nasal/MCDU/F-PLN.nas index d27d2dae..bd367f3a 100644 --- a/Nasal/MCDU/F-PLN.nas +++ b/Nasal/MCDU/F-PLN.nas @@ -342,23 +342,31 @@ var fplnPage = { # this one is only created once, and then updated - remember th #me.basePage(); }, scrollUp: func() { - if (size(me.planList) > 5) { + if (size(me.planList) > 1) { me.scroll += 1; - if (me.scroll > size(me.planList) - 5) { + if (me.scroll > size(me.planList) - 3) { me.scroll = 0; } + if (me.scroll < me.plan.getPlanSize()) { + setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", me.scroll); + } } else { me.scroll = 0; + setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", -1); } }, scrollDn: func() { - if (size(me.planList) > 5) { + if (size(me.planList) > 1) { me.scroll -= 1; if (me.scroll < 0) { - me.scroll = size(me.planList) - 5; + me.scroll = size(me.planList) - 3; + } + if (me.scroll < me.plan.getPlanSize()) { + setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", me.scroll); } } else { me.scroll = 0; + setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", -1); } }, pushButtonLeft: func(index) { diff --git a/Nasal/Systems/FADEC/fadec-common.nas b/Nasal/Systems/FADEC/fadec-common.nas index d4f082ab..6efdbc83 100644 --- a/Nasal/Systems/FADEC/fadec-common.nas +++ b/Nasal/Systems/FADEC/fadec-common.nas @@ -271,7 +271,7 @@ var thrust_loop = maketimer(0.04, func { } alpha = getprop("fdm/jsbsim/aero/alpha-deg"); - flaps = getprop("controls/flight/flap-pos"); + flaps = getprop("controls/flight/flaps-pos"); if (flaps == 0) { alphaProt = 9.5; } else if (flaps == 1 or flaps == 2 or flaps == 3) { diff --git a/README.md b/README.md index 54c70cf5..96d909f6 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ You can find a Checklist to download and print [here](https://raw.githubusercont ## Navdata It is highly reccomended to purchase a NAVIGRAPH subscription and download their level d FMSDATA / waypoint / navaid data! If you do not wish to do that, there is older data linked below. But it won't have most of the newer procedures, and is only for a limited number of airports, as naturally it is not possible to distribute commercial data. If runway numbering changed, it is quite possible that it will not work due to FlightGear limitations in the routing code. -To install navdata, create a folder FMSDATA, and add it to your additional scenery folders, at the top of the list. Inside that folder, place all the XXXX.procedures.xml files, in the format FMSDATA/X/X/X/XXXX.procedures.xml. For instance, FMSDATA/E/G/K/EGKK.procedures.xml. +To install navdata, create a folder FMSDATA, and add it to your additional scenery folders, at the top of the list. Inside that folder, place all the XXXX.procedures.xml files, in the format FMSDATA/X/X/X/XXXX.procedures.xml. For instance, FMSDATA/Airports/E/G/K/EGKK.procedures.xml. ## External tools Some external tools you might want to checkout and use with this Model. diff --git a/Sounds/A320-common-sound.xml b/Sounds/A320-common-sound.xml index d9553cc8..8611d4c2 100644 --- a/Sounds/A320-common-sound.xml +++ b/Sounds/A320-common-sound.xml @@ -44,17 +44,12 @@ looped Aircraft/A320-family/Sounds/yellowHydPump.wav - - - /sim/current-view/internal - 1 - - - controls/hydraulic/elec-pump-yellow - 1 - - + controls/hydraulic/elec-pump-yellow + + /sim/current-view/internal + 0.8 + @@ -68,7 +63,8 @@ - 0.8 + /sim/current-view/internal + 0.8 20.0 100.0 @@ -85,7 +81,8 @@ - 0.8 + /sim/current-view/internal + 0.8 20.0 100.0 @@ -102,7 +99,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -119,7 +117,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -136,7 +135,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -171,7 +171,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -215,7 +216,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -257,7 +259,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -299,7 +302,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -341,7 +345,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -383,7 +388,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -425,7 +431,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -467,7 +474,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -509,7 +517,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -547,7 +556,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -585,7 +595,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -623,7 +634,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -661,7 +673,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -713,7 +726,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -763,7 +777,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -797,7 +812,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -831,7 +847,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -911,7 +928,8 @@ - 8 + /sim/current-view/internal + 8.0 20.0 100.0 @@ -942,6 +960,7 @@ + /sim/current-view/internal 40.0 @@ -971,6 +990,7 @@ + /sim/current-view/internal 40.0 @@ -1163,6 +1183,9 @@ IDLE + + /sim/current-view/internal + @@ -1175,6 +1198,9 @@ IDLE + + /sim/current-view/internal + @@ -1187,6 +1213,9 @@ MAN + + /sim/current-view/internal + @@ -1199,6 +1228,9 @@ MAN + + /sim/current-view/internal + @@ -1211,6 +1243,9 @@ CL + + /sim/current-view/internal + @@ -1223,6 +1258,9 @@ CL + + /sim/current-view/internal + @@ -1235,6 +1273,9 @@ MAN THR + + /sim/current-view/internal + @@ -1247,6 +1288,9 @@ MAN THR + + /sim/current-view/internal + @@ -1259,6 +1303,9 @@ MCT + + /sim/current-view/internal + @@ -1271,6 +1318,9 @@ MCT + + /sim/current-view/internal + @@ -1283,6 +1333,9 @@ TOGA + + /sim/current-view/internal + @@ -1295,6 +1348,9 @@ TOGA + + /sim/current-view/internal + @@ -1307,6 +1363,9 @@ 0 + + /sim/current-view/internal + @@ -1319,6 +1378,9 @@ 0 + + /sim/current-view/internal + @@ -1331,6 +1393,9 @@ 1 + + /sim/current-view/internal + @@ -1343,6 +1408,9 @@ 1 + + /sim/current-view/internal + @@ -1358,7 +1426,11 @@ /sim/sounde/seatbelt-sign + + /sim/current-view/internal + + once ns @@ -1372,6 +1444,9 @@ /sim/sounde/no-smoking-sign + + /sim/current-view/internal + @@ -1382,6 +1457,7 @@ /sim/sounde/btn1 + /sim/current-view/internal 0.75 @@ -1394,6 +1470,7 @@ /sim/sounde/apdiscbtn + /sim/current-view/internal 0.75 @@ -1406,6 +1483,7 @@ /sim/sounde/oh-btn + /sim/current-view/internal 0.75 @@ -1418,6 +1496,7 @@ /sim/sounde/btn3 + /sim/current-view/internal 0.75 @@ -1430,6 +1509,7 @@ /sim/sounde/knb1 + /sim/current-view/internal 0.6 @@ -1442,6 +1522,7 @@ /sim/sounde/switch1 + /sim/current-view/internal 0.75 @@ -1453,10 +1534,10 @@ /sim/sounde/flaps-click - /sim/current-view/internal + /sim/current-view/internal 0.75 @@ -1565,6 +1646,7 @@ Aircraft/A320-family/Sounds/Cockpit/relay-battery.wav /systems/electrical/sources/bat-1/contact + /sim/current-view/internal 0.8 @@ -1575,6 +1657,7 @@ Aircraft/A320-family/Sounds/Cockpit/relay-battery.wav /systems/electrical/sources/bat-2/contact + /sim/current-view/internal 0.8 @@ -1585,7 +1668,8 @@ Aircraft/A320-family/Sounds/Cockpit/relay-external.wav /systems/electrical/relay/ext-epc/contact-pos - 0.6 + /sim/current-view/internal + 0.8 @@ -1595,7 +1679,8 @@ Aircraft/A320-family/Sounds/Cockpit/relay-apu.wav /systems/electrical/relay/apu-glc/contact-pos - 0.6 + /sim/current-view/internal + 0.8 @@ -1634,6 +1719,7 @@ + /sim/current-view/internal 0.6 @@ -1649,6 +1735,7 @@ + /sim/current-view/internal 0.6 @@ -1664,6 +1751,7 @@ + /sim/current-view/internal 0.6 @@ -1679,6 +1767,7 @@ + /sim/current-view/internal 0.6 @@ -1694,6 +1783,7 @@ + /sim/current-view/internal 0.6 @@ -1709,6 +1799,7 @@ + /sim/current-view/internal 0.6 @@ -1913,9 +2004,7 @@ /sim/model/autopush/enabled - - 0.35 - + 0.15 @@ -1928,9 +2017,7 @@ /sim/model/autopush/enabled - - 0.15 - + 0.05 \ No newline at end of file diff --git a/Sounds/SASA/CFM56B/external/cfm-idleRear.wav b/Sounds/SASA/CFM56B/external/cfm-idleRear.wav index c30465ac..b83cc435 100644 Binary files a/Sounds/SASA/CFM56B/external/cfm-idleRear.wav and b/Sounds/SASA/CFM56B/external/cfm-idleRear.wav differ diff --git a/Systems/a320-fbw.xml b/Systems/a320-fbw.xml new file mode 100644 index 00000000..7dd5c0ba --- /dev/null +++ b/Systems/a320-fbw.xml @@ -0,0 +1,1346 @@ + + + + + + + + fbw/roll/pid + fbw/pitch/g-pi + fbw/pitch/pid + fbw/yaw/tc-pd + fbw/spoiler-output + fbw/mixer/sidestick-gain-feedback + + + fbw/roll/p-gain + fbw/roll/i-gain + fbw/roll/d-gain + fbw/pitch/p-gain + fbw/pitch/i-gain + fbw/pitch/d-gain + fbw/yaw/yd-p-gain + fbw/yaw/tc-p-gain + fbw/yaw/tc-d-gain + + + fbw/fmgc/roll-cmd + fbw/fmgc/pitch-cmd + fbw/fmgc/yaw-cmd + + + + + + + gear/unit[0]/WOW eq 1 + gear/unit[1]/WOW eq 1 + gear/unit[2]/WOW eq 1 + + + + + + + position/wow eq 1 + /it-fbw/law ne 0 + + + + + + + position/wow eq 1 + /it-fbw/law eq 2 + /it-fbw/law eq 3 + + + + + + + position/wow eq 1 + /it-fbw/law eq 2 + /it-fbw/law eq 3 + + + + + + + /it-autoflight/output/ap1 eq 1 + /it-autoflight/output/ap2 eq 1 + + + + + + + velocities/vc-kts + fbw/roll/gain-switch + + 0 1 + 140 -20.0 0.0 + 350 -5.0 0.0 + +
+
+
+ + + + + velocities/vc-kts + fbw/roll/gain-switch + + 0 1 + 140 -35.0 0.0 + 350 -10.0 0.0 + +
+
+
+ + + + + velocities/vc-kts + fbw/roll/gain-switch + + 0 1 + 140 -2.5 0.0 + 350 -0.5 0.0 + +
+
+
+ + + + + velocities/vc-kts + fbw/pitch/gain-switch + + 0 1 + 140 28 0 + 350 20 0 + +
+
+
+ + + + + velocities/vc-kts + fbw/pitch/gain-switch + + 0 1 + 140 60 0 + 350 40 0 + +
+
+
+ + + + + velocities/vc-kts + fbw/pitch/gain-switch + + 0 1 + 140 2.0 0.0 + 350 0.4 0.0 + +
+
+
+ + + + + velocities/vc-kts + fbw/yaw/gain-switch + + 0 1 + 140 -7.0 0.0 + 350 -1.2 0.0 + +
+
+
+ + + + + velocities/vc-kts + fbw/yaw/gain-switch + + 0 1 + 140 3.0 0.0 + 350 1.5 0.0 + +
+
+
+ + + + + velocities/vc-kts + fbw/yaw/gain-switch + + 0 1 + 140 6.0 0.0 + 350 3.0 0.0 + +
+
+
+ + + Use D only to calculate rate of IAS + velocities/vc-kts + 0.0 + 0.0 + 1.0 + + + + fbw/pitch/vc-kts-rate + 1.0 + + + + + + position/wow eq 1 + fbw/mixer/sidestick-gain-feedback eq 1 + + + position/wow eq 1 + fbw/mixer/sidestick-gain-feedback ne 1 + + + position/wow eq 0 + fbw/mixer/sidestick-gain-feedback eq 0 + + + + + position/wow + fbw/mixer/rate-limit + fbw/mixer/sidestick-gain-feedback + + + + + + fbw/mixer/sidestick-gain + + 0 1 + 1 0 + +
+
+
+ +
+ + + + + + + fbw/fmgc/enabled eq 1 + + + + + fbw/roll/a-i-f + + + -1 + + + + 1 + + + + /controls/flight/aileron-input-fast + + + + + + /controls/flight/aileron + + -1.00 -1 + -0.04 0 + 0.04 0 + 1.00 1 + +
+
+
+ + + + + fbw/fmgc/enabled eq 0 + + + position/wow eq 0 + fbw/fmgc/enabled eq 1 + + + + + fbw/roll/a-i-s + + + -1 + + + + 1 + + + + /controls/flight/aileron-input + + + + + + + fbw/roll/a-i + 0.261799 + + + attitude/roll-rad + fbw/roll/a-i + + -1 0 1 + -0.575959 0.261799 0.000000 0.000000 + -0.488692 0.000000 0.000000 0.000000 + 0.488692 0.000000 0.000000 0.000000 + 0.575959 0.000000 0.000000 -0.261799 + +
+ + attitude/roll-rad + + -0.750492 0.261799 + -0.575959 0.000000 + 0.575959 0.000000 + 0.750492 -0.261799 + +
+
+
+
+ + + + + + fbw/roll/a-i + 0.261799 + + + attitude/roll-rad + fbw/roll/a-i + + -1.0 0.0 1.0 + -1.169370 0.261799 0.000000 0.000000 + -1.082100 0.000000 0.000000 0.000000 + 1.082100 0.000000 0.000000 0.000000 + 1.169370 0.000000 0.000000 -0.261799 + +
+ + attitude/roll-rad + + -1.343900 0.261799 + -1.169370 0.000000 + 1.169370 0.000000 + 1.343900 -0.261799 + +
+
+
+
+ + + + + attitude/roll-rad + + -1.169370 0.436332 + -0.698132 0.174533 + -0.575959 0.000000 + 0.575959 0.000000 + 0.698132 -0.174533 + 1.169370 -0.436332 + +
+
+
+ + + + + attitude/roll-rad lt 0 + fbw/roll/r-r-33 ge fbw/roll/r-r-rb-f + + + attitude/roll-rad gt 0 + fbw/roll/r-r-33 le fbw/roll/r-r-rb-f + + + + + + + + fbw/roll/a-i + 0.261799 + + + attitude/roll-rad + fbw/roll/a-i + + -1 0 1 + -0.698132 0.261799 0.000000 0.000000 + -0.610865 0.000000 0.000000 0.000000 + 0.610865 0.000000 0.000000 0.000000 + 0.698132 0.000000 0.000000 -0.261799 + +
+
+
+
+ + + + + attitude/roll-rad + + -0.698132 0.436332 + -0.261799 0.174533 + 0.000000 0.000000 + 0.261799 -0.174533 + 0.698132 -0.436332 + +
+
+
+ + + + + /it-fbw/roll-lim eq 33 + /it-fbw/roll-back ne 1 + /it-fbw/protections/overspeed ne 1 + + + /it-fbw/roll-lim eq 67 + /it-fbw/protections/overspeed ne 1 + + + /it-fbw/roll-back eq 1 + /it-fbw/protections/overspeed ne 1 + + + /it-fbw/protections/overspeed eq 1 + /it-fbw/protections/overspeed-roll-back ne 1 + + + /it-fbw/protections/overspeed eq 1 + /it-fbw/protections/overspeed-roll-back eq 1 + + + + + fbw/roll/rate-demand + 16.4 + + + + + + /orientation/roll-rate-degps + + + + + + + + gear/unit[0]/WOW eq 1 + + + + + fbw/roll/p-r_s-s + -fbw/roll/rate-demand-lag + + + + + + fbw/roll/gain-switch gt 0 + + + fbw/roll/pid le -0.999 + fbw/roll/pid ge 0.999 + + + + + fbw/roll/rate-error + fbw/roll/p-gain + fbw/roll/i-gain + fbw/roll/d-gain + fbw/roll/trigger + + -1.0 + 1.0 + + fbw/roll/pid + + + + + + position/wow eq 1 + /it-fbw/law eq 1 + /it-fbw/law eq 2 + + + + + + + /orientation/roll-deg + -0.1 + + + + + + fbw/roll/pid + fbw/mixer/computer-gain + + + + fbw/roll/a-i-f + fbw/mixer/sidestick-gain + + + + fbw/mixer/roll/computer-demand + fbw/mixer/roll/sidestick-demand + + -1.0 + 1.0 + + + + + + + position/wow eq 0 + /it-fbw/law eq 0 + + + fbw/fmgc/enabled eq 0 + fbw/roll/gear-law-switch eq 1 + + + fbw/fmgc/enabled eq 1 + position/wow eq 1 + /it-fbw/law eq 0 + + + /it-fbw/law eq 3 + + + + + + + position/wow eq 0 + /it-fbw/law eq 0 + + + fbw/roll/gear-law-switch eq 1 + + + /it-fbw/law eq 3 + + + + + + + + fbw/roll/s-i-f-i + + -1.0 -1.0 + -0.2 0.0 + 0.2 0.0 + 1.0 1.0 + +
+ + velocities/vc-kts + position/wow + + 0 1 + 140 0.5 1.0 + 350 0.1 1.0 + +
+
+
+
+ + + + + /it-fbw/roll-back eq 0 + + + + + + + /it-fbw/law ne 3 + /systems/failures/aileron-left eq 0 + + + /it-fbw/law ne 3 + /systems/failures/aileron-left eq 1 + + + + + + + /it-fbw/law ne 3 + /systems/failures/aileron-right eq 0 + + + /it-fbw/law ne 3 + /systems/failures/aileron-right eq 1 + + + + + /controls/flight/aileron + 20 + + +
+ + + + + + + /it-fbw/law eq 0 + /it-fbw/protections/overspeed eq 1 + + + + + + + fbw/fmgc/enabled eq 1 + + + -1.0 + fbw/pitch/elevator-max + + + + + fbw/pitch/e-i-f + + + -1 + + + + 1 + + + + /controls/flight/elevator-input-fast + + + + + + /controls/flight/elevator + + -1.00 -1 + -0.04 0 + 0.04 0 + 1.00 1 + +
+
+
+ + + + + fbw/pitch/elevator-nul + + /position/gear-agl-ft + + 5 0.2 + 30 0.1 + +
+
+
+
+ + + + + fbw/pitch/elevator-nul + -0.15 + + + + + + + + gear/unit[1]/WOW eq 1 + gear/unit[2]/WOW eq 1 + + + + + + + fbw/fmgc/enabled eq 0 + /position/gear-agl-ft le 30 + /controls/flight/flaps-pos ge 4 + /controls/engines/engine[0]/throttle lt 0.65 + /controls/engines/engine[1]/throttle lt 0.65 + /FMGC/status/to-state eq 0 + /it-fbw/law eq 0 + position/wow eq 0 + + + fbw/fmgc/enabled eq 0 + /position/gear-agl-ft le 30 + /controls/flight/flaps-pos ge 4 + /controls/engines/engine[0]/throttle lt 0.65 + /controls/engines/engine[1]/throttle lt 0.65 + /FMGC/status/to-state eq 0 + /it-fbw/law eq 0 + gear/unit[0]/WOW eq 0 + fbw/pitch/flare-gear-switch eq 1 + + + fbw/fmgc/enabled eq 1 + position/wow eq 0 + + + fbw/fmgc/enabled eq 1 + position/wow eq 1 + + + -1.0 + fbw/pitch/elevator-max + + + + + fbw/pitch/e-i-s + + + -1 + + + + 1 + + + + /controls/flight/elevator-input + + + + + + /controls/flight/flaps-pos ne 0 + + + + + + + /controls/flight/flaps-pos ne 0 + + + + + + + fbw/pitch/e-i + + -1.0 2.5 + 0.0 1.0 + 1.0 -0.5 + +
+
+ + fbw/pitch/g-min + fbw/pitch/g-max + +
+ + + /accelerations/pilot-g + 1.0 + + + + + + fbw/pitch/g-instrumented + + -1 + + attitude/roll-rad + + + 1 + + + + + + fbw/pitch/g-computed + -fbw/pitch/g-demand + + + + + + fbw/pitch/g-pi + -1.0 + + + + + + attitude/roll-rad lt -1.5708 + attitude/roll-rad gt 1.5708 + + + + + + + + + + fbw/pitch/g-pi-switched + -0.087266 + + + attitude/pitch-rad + fbw/pitch/g-pi-switched + + -1 0 1 + -0.261799 0.000000 0.000000 0.087266 + -0.174533 0.000000 0.000000 0.000000 + 0.436332 0.000000 0.000000 0.000000 + 0.523599 -0.087266 0.000000 0.000000 + +
+ + attitude/pitch-rad + + -0.436332 0.087266 + -0.261799 0.000000 + 0.523599 0.000000 + 0.698132 -0.087266 + +
+
+
+
+ + + fbw/pitch/g-pi-switched + -0.087266 + + + + + + + fbw/pitch/g-pi-switched + fbw/pitch/vc-kts-rate-lag + + -2 -1 + -1.0 0.087266 0.087266 + 0.0 0.000000 0.026180 + +
+ + attitude/pitch-rad + fbw/pitch/g-pi-switched + + -1 0 + 0.436332 -0.026180 0.000000 + 0.523599 -0.087266 0.000000 + +
+ + attitude/pitch-rad + + 0.523599 0.000000 + 0.698132 -0.087266 + +
+
+
+
+ + + + + fbw/pitch/g-pi-switched + fbw/pitch/vc-kts-rate-lag + + -2 -1 + -1.0 0.087266 0.087266 + 0.0 0.000000 0.026180 + 1.0 -0.061086 -0.087266 + +
+
+
+ + + + + /it-fbw/law eq 0 + /it-fbw/protections/overspeed ne 1 + + + /it-fbw/law ne 0 + /it-fbw/protections/overspeed ne 1 + + + /it-fbw/law eq 0 + /it-fbw/protections/overspeed eq 1 + + + /it-fbw/law ne 0 + /it-fbw/protections/overspeed eq 1 + + + + + fbw/pitch/rate-demand + 10.1 + + + + + + /orientation/pitch-rate-degps + + + + + + + + gear/unit[0]/WOW eq 1 + + + + + fbw/pitch/t-r_s-s + -fbw/pitch/rate-demand-lag + + + + + + fbw/pitch/gain-switch gt 0 + + + fbw/pitch/pid le -0.999 + fbw/pitch/pid ge 0.999 + + + + + fbw/pitch/rate-error + fbw/pitch/p-gain + fbw/pitch/i-gain + fbw/pitch/d-gain + fbw/pitch/trigger + + -1.0 + 1.0 + + fbw/pitch/pid + + + + fbw/pitch/pid + -1.0 + + + + + + attitude/roll-rad lt -1.5708 + attitude/roll-rad gt 1.5708 + + + + + + + /it-fbw/law eq 0 + /it-fbw/law eq 1 + + + + + + + gear/unit[1]/WOW eq 1 + gear/unit[2]/WOW eq 1 + /it-fbw/law eq 2 + + + + + fbw/pitch/pid-switched + fbw/mixer/computer-gain + + + + fbw/pitch/e-i-f + fbw/mixer/sidestick-gain + + + + fbw/mixer/pitch/computer-demand + fbw/mixer/pitch/sidestick-demand + + -1.0 + 1.0 + + + + + + + position/wow eq 0 + fbw/pitch/law-switch eq 1 + + + fbw/fmgc/enabled eq 0 + fbw/pitch/law-gear-switch eq 1 + + + fbw/fmgc/enabled eq 1 + position/wow eq 1 + gear/unit[0]/WOW eq 0 + + + fbw/fmgc/enabled eq 1 + position/wow eq 1 + + + /it-fbw/law eq 3 + + + + + /controls/flight/elevator + 20 + + + + + + fbw/fmgc/enabled eq 1 + + + + + + + fbw/pitch/gain-switch eq 0 + /position/gear-agl-ft ge fbw/pitch/autotrim-height + attitude/roll-rad lt 0.628319 + attitude/roll-rad gt -0.628319 + fbw/pitch/pid-switched ge 0.01 + fbw/pitch/g-instrumented ge 0.5 + /it-fbw/protections/overspeed ne 1 + /controls/flight/elevator-trim le 0.32 + position/wow eq 0 + + + fbw/pitch/gain-switch eq 0 + /position/gear-agl-ft ge fbw/pitch/autotrim-height + attitude/roll-rad lt 0.628319 + attitude/roll-rad gt -0.628319 + fbw/pitch/pid-switched le -0.01 + fbw/pitch/g-instrumented ge 0.5 + /it-fbw/protections/overspeed ne 1 + /controls/flight/elevator-trim ge -1.0 + position/wow eq 0 + + + + + + + + + fbw/pitch/autotrim-switch + 1 + + + fbw/pitch/pid-switched + + 0.05 0.00001 + 0.30 0.00015 + +
+ 0.0 +
+ + + fbw/pitch/autotrim-switch + 2 + + + fbw/pitch/pid-switched + + -0.30 -0.00015 + -0.05 -0.00001 + +
+ 0.0 +
+
+
+
+ + + + + /controls/flight/elevator-trim + fbw/pitch/autotrim-offset + + + + -1.0 + 0.32 + + /controls/flight/elevator-trim + + +
+ + + + + + + velocities/vc-kts + + 160 25.0 + 410 3.5 + +
+
+
+ + + + + /systems/fctl/fac1 eq 1 + /systems/fctl/fac2 eq 1 + /gear/gear[1]/wow eq 0 + /gear/gear[2]/wow eq 0 + + + /controls/flight/flaps eq 0 + /gear/gear[1]/wow eq 0 + /gear/gear[2]/wow eq 0 + + + + + fbw/yaw/max-deg-switch + + -25 + 25 + + + -1 + 1 + + + + + fbw/yaw/max-deg-scale + -1.0 + + + + + + /controls/flight/rudder + fbw/fmgc/enabled + + 0 1 + -1.00 -1 0 + -0.04 0 0 + 0.04 0 0 + 1.00 1 0 + +
+
+
+ + + + + + fbw/yaw/rudder-nul + fbw/yaw/max-deg-switch + + 25.0 + + + + + + + + fbw/fmgc/enabled eq 1 + /it-autoflight/output/lat eq 4 + + + + + velocities/r-rad_sec + 0.5 + + + + + + position/wow eq 1 + /position/gear-agl-ft lt 50 + fbw/yaw/autoland-switch eq 1 + + + + + fbw/yaw/r-r_s-s + fbw/yaw/yd-p-gain + + -0.5 + 0.5 + + + + + + + position/wow eq 1 + fbw/yaw/rudder-nul gt 0 + fbw/yaw/rudder-nul lt 0 + + + + + fbw/yaw/slip-skid + fbw/yaw/tc-p-gain + 0.0 + fbw/yaw/tc-d-gain + + -0.4 + 0.4 + + fbw/yaw/tc-pd + + + + + + position/wow eq 1 + fbw/yaw/rudder-nul gt 0 + fbw/yaw/rudder-nul lt 0 + + + + + + + fbw/yaw/autoland-switch eq 1 + + + + + fbw/yaw/yd-f + fbw/yaw/tc-pd-s + fbw/yaw/fmgc-cmd + + + + + + /it-fbw/law eq 0 + /it-fbw/law eq 1 + + + + + + + fbw/yaw/law-switch eq 1 + fbw/yaw/rudder-nul eq 0 + + /controls/flight/rudder-fbw + + + + /controls/flight/rudder + 20 + + +
+ +
diff --git a/Systems/a320-fcs.xml b/Systems/a320-fcs.xml index 04b03cfa..2d9efa85 100644 --- a/Systems/a320-fcs.xml +++ b/Systems/a320-fcs.xml @@ -1,1372 +1,11 @@ - + + - fbw/roll/pid - fbw/pitch/g-pi - fbw/pitch/pid - fbw/yaw/tc-pd - fbw/spoiler-output - fbw/mixer/sidestick-gain-feedback - - - fbw/roll/p-gain - fbw/roll/i-gain - fbw/roll/d-gain - fbw/pitch/p-gain - fbw/pitch/i-gain - fbw/pitch/d-gain - fbw/yaw/yd-p-gain - fbw/yaw/tc-p-gain - fbw/yaw/tc-d-gain - - - fbw/fmgc/roll-cmd - fbw/fmgc/pitch-cmd - fbw/fmgc/yaw-cmd - - - - - - - gear/unit[0]/WOW eq 1 - gear/unit[1]/WOW eq 1 - gear/unit[2]/WOW eq 1 - - - - - - - position/wow eq 1 - /it-fbw/law ne 0 - - - - - - - position/wow eq 1 - /it-fbw/law eq 2 - /it-fbw/law eq 3 - - - - - - - position/wow eq 1 - /it-fbw/law eq 2 - /it-fbw/law eq 3 - - - - - - - /it-autoflight/output/ap1 eq 1 - /it-autoflight/output/ap2 eq 1 - - - - - - - velocities/vc-kts - fbw/roll/gain-switch - - 0 1 - 140 -20.0 0.0 - 350 -5.0 0.0 - -
-
-
- - - - - velocities/vc-kts - fbw/roll/gain-switch - - 0 1 - 140 -35.0 0.0 - 350 -10.0 0.0 - -
-
-
- - - - - velocities/vc-kts - fbw/roll/gain-switch - - 0 1 - 140 -2.5 0.0 - 350 -0.5 0.0 - -
-
-
- - - - - velocities/vc-kts - fbw/pitch/gain-switch - - 0 1 - 140 28 0 - 350 20 0 - -
-
-
- - - - - velocities/vc-kts - fbw/pitch/gain-switch - - 0 1 - 140 60 0 - 350 40 0 - -
-
-
- - - - - velocities/vc-kts - fbw/pitch/gain-switch - - 0 1 - 140 2.0 0.0 - 350 0.4 0.0 - -
-
-
- - - - - velocities/vc-kts - fbw/yaw/gain-switch - - 0 1 - 140 -7.0 0.0 - 350 -1.2 0.0 - -
-
-
- - - - - velocities/vc-kts - fbw/yaw/gain-switch - - 0 1 - 140 3.0 0.0 - 350 1.5 0.0 - -
-
-
- - - - - velocities/vc-kts - fbw/yaw/gain-switch - - 0 1 - 140 6.0 0.0 - 350 3.0 0.0 - -
-
-
- - - Use D only to calculate rate of IAS - velocities/vc-kts - 0.0 - 0.0 - 1.0 - - - - fbw/pitch/vc-kts-rate - 1.0 - - - - - - position/wow eq 1 - fbw/mixer/sidestick-gain-feedback eq 1 - - - position/wow eq 1 - fbw/mixer/sidestick-gain-feedback ne 1 - - - position/wow eq 0 - fbw/mixer/sidestick-gain-feedback eq 0 - - - - - position/wow - fbw/mixer/rate-limit - fbw/mixer/sidestick-gain-feedback - - - - - - fbw/mixer/sidestick-gain - - 0 1 - 1 0 - -
-
-
- -
- - - - - - - fbw/fmgc/enabled eq 1 - - - - - fbw/roll/a-i-f - - - -1 - - - - 1 - - - - /controls/flight/aileron-input-fast - - - - - - /controls/flight/aileron - - -1.00 -1 - -0.04 0 - 0.04 0 - 1.00 1 - -
-
-
- - - - - fbw/fmgc/enabled eq 0 - - - position/wow eq 0 - fbw/fmgc/enabled eq 1 - - - - - fbw/roll/a-i-s - - - -1 - - - - 1 - - - - /controls/flight/aileron-input - - - - - - - fbw/roll/a-i - 0.261799 - - - attitude/roll-rad - fbw/roll/a-i - - -1 0 1 - -0.575959 0.261799 0.000000 0.000000 - -0.488692 0.000000 0.000000 0.000000 - 0.488692 0.000000 0.000000 0.000000 - 0.575959 0.000000 0.000000 -0.261799 - -
- - attitude/roll-rad - - -0.750492 0.261799 - -0.575959 0.000000 - 0.575959 0.000000 - 0.750492 -0.261799 - -
-
-
-
- - - - - - fbw/roll/a-i - 0.261799 - - - attitude/roll-rad - fbw/roll/a-i - - -1.0 0.0 1.0 - -1.169370 0.261799 0.000000 0.000000 - -1.082100 0.000000 0.000000 0.000000 - 1.082100 0.000000 0.000000 0.000000 - 1.169370 0.000000 0.000000 -0.261799 - -
- - attitude/roll-rad - - -1.343900 0.261799 - -1.169370 0.000000 - 1.169370 0.000000 - 1.343900 -0.261799 - -
-
-
-
- - - - - attitude/roll-rad - - -1.169370 0.436332 - -0.698132 0.174533 - -0.575959 0.000000 - 0.575959 0.000000 - 0.698132 -0.174533 - 1.169370 -0.436332 - -
-
-
- - - - - attitude/roll-rad lt 0 - fbw/roll/r-r-33 ge fbw/roll/r-r-rb-f - - - attitude/roll-rad gt 0 - fbw/roll/r-r-33 le fbw/roll/r-r-rb-f - - - - - - - - fbw/roll/a-i - 0.261799 - - - attitude/roll-rad - fbw/roll/a-i - - -1 0 1 - -0.698132 0.261799 0.000000 0.000000 - -0.610865 0.000000 0.000000 0.000000 - 0.610865 0.000000 0.000000 0.000000 - 0.698132 0.000000 0.000000 -0.261799 - -
-
-
-
- - - - - attitude/roll-rad - - -0.698132 0.436332 - -0.261799 0.174533 - 0.000000 0.000000 - 0.261799 -0.174533 - 0.698132 -0.436332 - -
-
-
- - - - - /it-fbw/roll-lim eq 33 - /it-fbw/roll-back ne 1 - /it-fbw/protections/overspeed ne 1 - - - /it-fbw/roll-lim eq 67 - /it-fbw/protections/overspeed ne 1 - - - /it-fbw/roll-back eq 1 - /it-fbw/protections/overspeed ne 1 - - - /it-fbw/protections/overspeed eq 1 - /it-fbw/protections/overspeed-roll-back ne 1 - - - /it-fbw/protections/overspeed eq 1 - /it-fbw/protections/overspeed-roll-back eq 1 - - - - - fbw/roll/rate-demand - 16.4 - - - - - - /orientation/roll-rate-degps - - - - - - - - gear/unit[0]/WOW eq 1 - - - - - fbw/roll/p-r_s-s - -fbw/roll/rate-demand-lag - - - - - - fbw/roll/gain-switch gt 0 - - - fbw/roll/pid le -0.999 - fbw/roll/pid ge 0.999 - - - - - fbw/roll/rate-error - fbw/roll/p-gain - fbw/roll/i-gain - fbw/roll/d-gain - fbw/roll/trigger - - -1.0 - 1.0 - - fbw/roll/pid - - - - - - position/wow eq 1 - /it-fbw/law eq 1 - /it-fbw/law eq 2 - - - - - - - /orientation/roll-deg - -0.1 - - - - - - fbw/roll/pid - fbw/mixer/computer-gain - - - - fbw/roll/a-i-f - fbw/mixer/sidestick-gain - - - - fbw/mixer/roll/computer-demand - fbw/mixer/roll/sidestick-demand - - -1.0 - 1.0 - - - - - - - position/wow eq 0 - /it-fbw/law eq 0 - - - fbw/fmgc/enabled eq 0 - fbw/roll/gear-law-switch eq 1 - - - fbw/fmgc/enabled eq 1 - position/wow eq 1 - /it-fbw/law eq 0 - - - /it-fbw/law eq 3 - - - - - - - position/wow eq 0 - /it-fbw/law eq 0 - - - fbw/roll/gear-law-switch eq 1 - - - /it-fbw/law eq 3 - - - - - - - - fbw/roll/s-i-f-i - - -1.0 -1.0 - -0.2 0.0 - 0.2 0.0 - 1.0 1.0 - -
- - velocities/vc-kts - position/wow - - 0 1 - 140 0.5 1.0 - 350 0.1 1.0 - -
-
-
-
- - - - - /it-fbw/roll-back eq 0 - - - - - - - /it-fbw/law ne 3 - /systems/failures/aileron-left eq 0 - - - /it-fbw/law ne 3 - /systems/failures/aileron-left eq 1 - - - - - - - /it-fbw/law ne 3 - /systems/failures/aileron-right eq 0 - - - /it-fbw/law ne 3 - /systems/failures/aileron-right eq 1 - - - - - /controls/flight/aileron - 20 - - -
- - - - - - - /it-fbw/law eq 0 - /it-fbw/protections/overspeed eq 1 - - - - - - - fbw/fmgc/enabled eq 1 - - - -1.0 - fbw/pitch/elevator-max - - - - - fbw/pitch/e-i-f - - - -1 - - - - 1 - - - - /controls/flight/elevator-input-fast - - - - - - /controls/flight/elevator - - -1.00 -1 - -0.04 0 - 0.04 0 - 1.00 1 - -
-
-
- - - - - fbw/pitch/elevator-nul - - /position/gear-agl-ft - - 5 0.2 - 30 0.1 - -
-
-
-
- - - - - fbw/pitch/elevator-nul - -0.15 - - - - - - - - gear/unit[1]/WOW eq 1 - gear/unit[2]/WOW eq 1 - - - - - - - fbw/fmgc/enabled eq 0 - /position/gear-agl-ft le 30 - /controls/flight/flap-pos ge 4 - /controls/engines/engine[0]/throttle lt 0.65 - /controls/engines/engine[1]/throttle lt 0.65 - /FMGC/status/to-state eq 0 - /it-fbw/law eq 0 - position/wow eq 0 - - - fbw/fmgc/enabled eq 0 - /position/gear-agl-ft le 30 - /controls/flight/flap-pos ge 4 - /controls/engines/engine[0]/throttle lt 0.65 - /controls/engines/engine[1]/throttle lt 0.65 - /FMGC/status/to-state eq 0 - /it-fbw/law eq 0 - gear/unit[0]/WOW eq 0 - fbw/pitch/flare-gear-switch eq 1 - - - fbw/fmgc/enabled eq 1 - position/wow eq 0 - - - fbw/fmgc/enabled eq 1 - position/wow eq 1 - - - -1.0 - fbw/pitch/elevator-max - - - - - fbw/pitch/e-i-s - - - -1 - - - - 1 - - - - /controls/flight/elevator-input - - - - - - /controls/flight/flap-pos ne 0 - - - - - - - /controls/flight/flap-pos ne 0 - - - - - - - fbw/pitch/e-i - - -1.0 2.5 - 0.0 1.0 - 1.0 -0.5 - -
-
- - fbw/pitch/g-min - fbw/pitch/g-max - -
- - - /accelerations/pilot-g - 1.0 - - - - - - fbw/pitch/g-instrumented - - -1 - - attitude/roll-rad - - - 1 - - - - - - fbw/pitch/g-computed - -fbw/pitch/g-demand - - - - - - fbw/pitch/g-pi - -1.0 - - - - - - attitude/roll-rad lt -1.5708 - attitude/roll-rad gt 1.5708 - - - - - - - - - - fbw/pitch/g-pi-switched - -0.087266 - - - attitude/pitch-rad - fbw/pitch/g-pi-switched - - -1 0 1 - -0.261799 0.000000 0.000000 0.087266 - -0.174533 0.000000 0.000000 0.000000 - 0.436332 0.000000 0.000000 0.000000 - 0.523599 -0.087266 0.000000 0.000000 - -
- - attitude/pitch-rad - - -0.436332 0.087266 - -0.261799 0.000000 - 0.523599 0.000000 - 0.698132 -0.087266 - -
-
-
-
- - - fbw/pitch/g-pi-switched - -0.087266 - - - - - - - fbw/pitch/g-pi-switched - fbw/pitch/vc-kts-rate-lag - - -2 -1 - -1.0 0.087266 0.087266 - 0.0 0.000000 0.026180 - -
- - attitude/pitch-rad - fbw/pitch/g-pi-switched - - -1 0 - 0.436332 -0.026180 0.000000 - 0.523599 -0.087266 0.000000 - -
- - attitude/pitch-rad - - 0.523599 0.000000 - 0.698132 -0.087266 - -
-
-
-
- - - - - fbw/pitch/g-pi-switched - fbw/pitch/vc-kts-rate-lag - - -2 -1 - -1.0 0.087266 0.087266 - 0.0 0.000000 0.026180 - 1.0 -0.061086 -0.087266 - -
-
-
- - - - - /it-fbw/law eq 0 - /it-fbw/protections/overspeed ne 1 - - - /it-fbw/law ne 0 - /it-fbw/protections/overspeed ne 1 - - - /it-fbw/law eq 0 - /it-fbw/protections/overspeed eq 1 - - - /it-fbw/law ne 0 - /it-fbw/protections/overspeed eq 1 - - - - - fbw/pitch/rate-demand - 10.1 - - - - - - /orientation/pitch-rate-degps - - - - - - - - gear/unit[0]/WOW eq 1 - - - - - fbw/pitch/t-r_s-s - -fbw/pitch/rate-demand-lag - - - - - - fbw/pitch/gain-switch gt 0 - - - fbw/pitch/pid le -0.999 - fbw/pitch/pid ge 0.999 - - - - - fbw/pitch/rate-error - fbw/pitch/p-gain - fbw/pitch/i-gain - fbw/pitch/d-gain - fbw/pitch/trigger - - -1.0 - 1.0 - - fbw/pitch/pid - - - - fbw/pitch/pid - -1.0 - - - - - - attitude/roll-rad lt -1.5708 - attitude/roll-rad gt 1.5708 - - - - - - - /it-fbw/law eq 0 - /it-fbw/law eq 1 - - - - - - - gear/unit[1]/WOW eq 1 - gear/unit[2]/WOW eq 1 - /it-fbw/law eq 2 - - - - - fbw/pitch/pid-switched - fbw/mixer/computer-gain - - - - fbw/pitch/e-i-f - fbw/mixer/sidestick-gain - - - - fbw/mixer/pitch/computer-demand - fbw/mixer/pitch/sidestick-demand - - -1.0 - 1.0 - - - - - - - position/wow eq 0 - fbw/pitch/law-switch eq 1 - - - fbw/fmgc/enabled eq 0 - fbw/pitch/law-gear-switch eq 1 - - - fbw/fmgc/enabled eq 1 - position/wow eq 1 - gear/unit[0]/WOW eq 0 - - - fbw/fmgc/enabled eq 1 - position/wow eq 1 - - - /it-fbw/law eq 3 - - - - - /controls/flight/elevator - 20 - - - - - - fbw/fmgc/enabled eq 1 - - - - - - - fbw/pitch/gain-switch eq 0 - /position/gear-agl-ft ge fbw/pitch/autotrim-height - attitude/roll-rad lt 0.628319 - attitude/roll-rad gt -0.628319 - fbw/pitch/pid-switched ge 0.01 - fbw/pitch/g-instrumented ge 0.5 - /it-fbw/protections/overspeed ne 1 - /controls/flight/elevator-trim le 0.32 - position/wow eq 0 - - - fbw/pitch/gain-switch eq 0 - /position/gear-agl-ft ge fbw/pitch/autotrim-height - attitude/roll-rad lt 0.628319 - attitude/roll-rad gt -0.628319 - fbw/pitch/pid-switched le -0.01 - fbw/pitch/g-instrumented ge 0.5 - /it-fbw/protections/overspeed ne 1 - /controls/flight/elevator-trim ge -1.0 - position/wow eq 0 - - - - - - - - - fbw/pitch/autotrim-switch - 1 - - - fbw/pitch/pid-switched - - 0.05 0.00001 - 0.30 0.00015 - -
- 0.0 -
- - - fbw/pitch/autotrim-switch - 2 - - - fbw/pitch/pid-switched - - -0.30 -0.00015 - -0.05 -0.00001 - -
- 0.0 -
-
-
-
- - - - - /controls/flight/elevator-trim - fbw/pitch/autotrim-offset - - - - -1.0 - 0.32 - - /controls/flight/elevator-trim - - -
- - - - - - - velocities/vc-kts - - 160.00 25.000 - 162.15 23.649 - 165.02 22.226 - 168.64 21.015 - 172.25 19.734 - 176.59 18.595 - 181.67 17.525 - 186.75 16.385 - 191.83 15.316 - 197.65 14.318 - 205.65 13.247 - 212.93 12.318 - 219.48 11.462 - 227.48 10.533 - 236.96 9.7450 - 246.43 8.8863 - 255.18 8.0990 - 266.12 7.4525 - 277.06 6.7704 - 288.00 6.0884 - 299.67 5.5124 - 311.35 5.0075 - 323.03 4.5736 - 335.44 4.2104 - 347.13 3.9186 - 358.81 3.6979 - 370.50 3.5482 - 380.00 3.4000 - -
-
-
- - - - - /systems/fctl/fac1 eq 1 - /systems/fctl/fac2 eq 1 - /gear/gear[1]/wow eq 0 - /gear/gear[2]/wow eq 0 - - - /controls/flight/slats eq 0 - /gear/gear[1]/wow eq 0 - /gear/gear[2]/wow eq 0 - - - - - fbw/yaw/max-deg-switch - - -25 - 25 - - - -1 - 1 - - - - - fbw/yaw/max-deg-scale - -1.0 - - - - - - /controls/flight/rudder - fbw/fmgc/enabled - - 0 1 - -1.00 -1 0 - -0.04 0 0 - 0.04 0 0 - 1.00 1 0 - -
-
-
- - - - - - fbw/yaw/rudder-nul - fbw/yaw/max-deg-switch - - 25.0 - - - - - - - - fbw/fmgc/enabled eq 1 - /it-autoflight/output/lat eq 4 - - - - - velocities/r-rad_sec - 0.5 - - - - - - position/wow eq 1 - /position/gear-agl-ft lt 50 - fbw/yaw/autoland-switch eq 1 - - - - - fbw/yaw/r-r_s-s - fbw/yaw/yd-p-gain - - -0.5 - 0.5 - - - - - - - position/wow eq 1 - fbw/yaw/rudder-nul gt 0 - fbw/yaw/rudder-nul lt 0 - - - - - fbw/yaw/slip-skid - fbw/yaw/tc-p-gain - 0.0 - fbw/yaw/tc-d-gain - - -0.4 - 0.4 - - fbw/yaw/tc-pd - - - - - - position/wow eq 1 - fbw/yaw/rudder-nul gt 0 - fbw/yaw/rudder-nul lt 0 - - - - - - - fbw/yaw/autoland-switch eq 1 - - - - - fbw/yaw/yd-f - fbw/yaw/tc-pd-s - fbw/yaw/fmgc-cmd - - - - - - /it-fbw/law eq 0 - /it-fbw/law eq 1 - - - - - - - fbw/yaw/law-switch eq 1 - fbw/yaw/rudder-nul eq 0 - - /controls/flight/rudder-fbw - - - - /controls/flight/rudder - 20 - - -
+ /controls/flight/flaps-input-last @@ -1467,13 +106,10 @@ - + hydraulics/aileron-l/switch - - -25 - 25 - - + 25 + hydraulics/aileron-l/cmd-deg @@ -1543,13 +179,10 @@ - + hydraulics/aileron-r/switch - - -25 - 25 - - + 25 + hydraulics/aileron-r/cmd-deg @@ -1565,8 +198,8 @@ fbw/elevator-output - -0.6666666666666666666666666666666 - 1.0 + -0.6666666666666666666666666666666 + 0.5 @@ -1601,13 +234,14 @@ - + hydraulics/elevator-l/switch - + 30 + -30 - 17 - - + 15 + + hydraulics/elevator-l/cmd-deg @@ -1640,13 +274,14 @@ - + hydraulics/elevator-r/switch - + 30 + -30 - 17 - - + 15 + + hydraulics/elevator-r/cmd-deg @@ -1670,10 +305,10 @@ /controls/flight/elevator-trim -1.00 - 0.32 + 0.296296 - -12.5 + -13.5 4.0 @@ -1698,17 +333,10 @@ - + /controls/flight/rudder-trim - - -1.0 - 1.0 - - - -20.0 - 20.0 - - + 20 + /controls/flight/rudder-trim @@ -1739,13 +367,10 @@ - + hydraulics/rudder/switch - - -25 - 25 - - + 25 + hydraulics/rudder/cmd-deg @@ -1840,10 +465,112 @@ - + + + + + + /controls/flight/flaps ge 0.2 + /controls/flight/flaps lt 0.4 + + + /controls/flight/flaps ge 0.4 + /controls/flight/flaps lt 0.6 + + + /controls/flight/flaps ge 0.6 + /controls/flight/flaps lt 0.8 + + + /controls/flight/flaps ge 0.8 + + /controls/flight/flaps-input-out + + + + + + /controls/flight/flaps-input ne 1 + /instrumentation/airspeed-indicator/indicated-speed-kt ge 210 + + + /controls/flight/flaps-input eq 1 + /controls/flight/flaps-input-last eq 0 + /instrumentation/airspeed-indicator/indicated-speed-kt le 100 + + + /controls/flight/flaps-input eq 1 + /controls/flight/flaps-input-last ge 2 + /instrumentation/airspeed-indicator/indicated-speed-kt lt 210 + + + + + /controls/flight/flaps-input + 1.0 + + + + + + /controls/flight/flaps ge 0.2 + /controls/flight/flaps lt 0.4 + /controls/flight/flaps-1f-enable ne 1 + + + /controls/flight/flaps ge 0.2 + /controls/flight/flaps lt 0.4 + /controls/flight/flaps-1f-enable eq 1 + + + /controls/flight/flaps ge 0.4 + /controls/flight/flaps lt 0.6 + + + /controls/flight/flaps ge 0.6 + /controls/flight/flaps lt 0.8 + + + /controls/flight/flaps ge 0.8 + + /controls/flight/flaps-input-out + + + + + + /controls/flight/flaps-pos eq 2 + + + /controls/flight/flaps-pos eq 3 + + + /controls/flight/flaps-pos eq 4 + + + /controls/flight/flaps-pos eq 5 + + + 0 + /options/maxflap + + + + + + + /controls/flight/flaps-input eq 4 + + + /controls/flight/flaps-input ge 2 + + + /controls/flight/flaps-input eq 1 + + - /controls/flight/flap-lever + /controls/flight/flaps-input 20 @@ -1863,12 +590,7 @@ - - - - /controls/flight/flaps - 35.0 - + @@ -1902,7 +624,7 @@ - fcs/flap-pos-gain + /controls/flight/flaps-cmd fcs/flap-pos-rate fcs/flap-pos-deg @@ -1911,7 +633,7 @@ fcs/flap-pos-deg 0 - 35 + 40 0 @@ -1924,11 +646,6 @@ - - /controls/flight/slats - 27.0 - - @@ -1961,7 +678,7 @@ - fcs/slat-pos-gain + /controls/flight/slats-cmd fcs/slat-pos-rate fcs/slat-pos-deg diff --git a/Systems/cfm56-sound.xml b/Systems/cfm56-sound.xml index b1e31433..ca57a9a1 100644 --- a/Systems/cfm56-sound.xml +++ b/Systems/cfm56-sound.xml @@ -13,14 +13,14 @@ /engines/engine[0]/n2-actual - 60.9 + 59.4 /engines/engine[0]/n2-actual 0.0 0.0 - 60.9 60.9 + 59.4 59.4
@@ -28,14 +28,14 @@ /engines/engine[0]/n2-actual - 60.9 + 59.4 /engines/engine[0]/n1-actual 0.0 0.0 - 22.4 60.9 + 18.9 59.4103.8101.4
@@ -57,7 +57,7 @@ /engines/engine[1]/n2-actual 0.0 0.0 - 60.9 60.9 + 59.4 59.4
@@ -72,7 +72,7 @@ /engines/engine[1]/n1-actual 0.0 0.0 - 22.4 60.9 + 18.9 59.4103.8101.4
@@ -852,7 +852,7 @@ - /sim/sound/fake-n2[0] + /engines/engine[0]/n1-actual14.0 0.00015.0 0.01019.0 0.900 @@ -875,7 +875,7 @@
- /sim/sound/fake-n2[0] + /engines/engine[0]/n1-actual19.0 1.0042.5 1.50
@@ -894,11 +894,11 @@ - /sim/sound/fake-n2[0] + /engines/engine[0]/n1-actual14.0 0.00015.0 0.010 - 19.0 0.900 - 41.7 0.310 + 19.0 1.000 + 41.7 0.41055.0 0.24057.2 0.10070.0 0.018 @@ -919,7 +919,7 @@
- /sim/sound/fake-n2[0] + /engines/engine[0]/n1-actual14.0 0.00015.0 0.01019.0 1.000 @@ -1132,7 +1132,7 @@
- /sim/sound/fake-n2[1] + /engines/engine[1]/n1-actual14.0 0.00015.0 0.01019.0 0.900 @@ -1155,7 +1155,7 @@
- /sim/sound/fake-n2[1] + /engines/engine[1]/n1-actual19.0 1.0042.5 1.50
@@ -1174,11 +1174,11 @@ - /sim/sound/fake-n2[1] + /engines/engine[1]/n1-actual14.0 0.00015.0 0.010 - 19.0 0.900 - 41.7 0.310 + 19.0 1.000 + 41.7 0.41055.0 0.24057.2 0.10070.0 0.018 @@ -1199,7 +1199,7 @@
- /sim/sound/fake-n2[1] + /engines/engine[1]/n1-actual14.0 0.00015.0 0.01019.0 1.000 diff --git a/Systems/fadec-cfm.xml b/Systems/fadec-cfm.xml index 019fe028..40447f9a 100644 --- a/Systems/fadec-cfm.xml +++ b/Systems/fadec-cfm.xml @@ -51,7 +51,7 @@ - /controls/flight/flap-lever + /controls/flight/flaps-input 0 @@ -199,7 +199,7 @@ 0.99 /engines/flx-throttle - 0.00 19.7 + 0.00 18.9 1.00103.8
@@ -208,7 +208,7 @@ /controls/engines/engine[0]/throttle-cmd-man - 0.00 19.7 + 0.00 18.91.00103.8
@@ -240,7 +240,7 @@ 0.99 /engines/flx-throttle - 0.00 19.7 + 0.00 18.9 1.00103.8
@@ -249,7 +249,7 @@ /controls/engines/engine[1]/throttle-cmd-man - 0.00 19.7 + 0.00 18.91.00103.8
@@ -1065,7 +1065,7 @@ 0.99 /controls/engines/throttle-scale - 0.00 19.7 + 0.00 18.9 1.00103.8
@@ -1085,7 +1085,7 @@ 0.95 /controls/engines/throttle-scale - 0.00 19.7 + 0.00 18.9 1.00103.8 @@ -1105,7 +1105,7 @@ 0.99 /engines/flx-throttle - 0.00 19.7 + 0.00 18.9 1.00103.8 @@ -1125,7 +1125,7 @@ 0.91 /controls/engines/throttle-scale - 0.00 19.7 + 0.00 18.9 1.00103.8 @@ -1258,10 +1258,10 @@ /engines/engine[0]/state 3 - - /engines/engine[0]/n1-actual - 19 - + + /engines/engine[1]/n1-actual + 18.9 + @@ -1269,7 +1269,7 @@ /engines/engine[0]/n1-actual - 19.7434 + 18.9434110.0620
@@ -1288,10 +1288,10 @@ /engines/engine[1]/state 3 - + /engines/engine[1]/n1-actual - 19 - + 18.9 + @@ -1299,7 +1299,7 @@ /engines/engine[1]/n1-actual - 19.7434 + 18.9434110.0620
diff --git a/Systems/fadec-iae.xml b/Systems/fadec-iae.xml index a3dab683..d6275615 100644 --- a/Systems/fadec-iae.xml +++ b/Systems/fadec-iae.xml @@ -51,7 +51,7 @@ - /controls/flight/flap-lever + /controls/flight/flaps-input 0 diff --git a/Systems/fmgc-drivers.xml b/Systems/fmgc-drivers.xml index aa9f80b2..4642cdc8 100644 --- a/Systems/fmgc-drivers.xml +++ b/Systems/fmgc-drivers.xml @@ -290,7 +290,7 @@ - + @@ -315,7 +315,7 @@ - +
@@ -885,5 +885,18 @@ 30 10 - + + + + + + /controls/flight/flaps + 0.8 + + + /instrumentation/mk-viii/inputs/discretes/landing-flaps + + diff --git a/Systems/lower-ecam.xml b/Systems/lower-ecam.xml index 95285ec1..09ae6ad5 100644 --- a/Systems/lower-ecam.xml +++ b/Systems/lower-ecam.xml @@ -151,7 +151,7 @@ /fdm/jsbsim/hydraulics/elevator-l/final-deg -30-1.03 0 0.00 - 17 0.63 + 15 0.63 @@ -168,7 +168,7 @@ /fdm/jsbsim/hydraulics/elevator-r/final-deg -30-1.03 0 0.00 - 17 0.63 + 15 0.63 diff --git a/revision.txt b/revision.txt index b74e882a..3e932fe8 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -31 \ No newline at end of file +34 \ No newline at end of file