1
0
Fork 0

Merge branch 'dev' into fuel-prediction

This commit is contained in:
Matthew Maring 2020-05-13 17:03:43 -04:00
commit bb25e00230
57 changed files with 4287 additions and 4327 deletions

View file

@ -5,11 +5,6 @@
<PropertyList include="A320-main.xml"> <PropertyList include="A320-main.xml">
<sim> <sim>
<sound>
<path>Aircraft/A320-family/Sounds/cfm56-sound.xml</path>
</sound>
<checklists include="A32X-Checklists.xml"/>
<description>Airbus A320-111 (CFM56-5A1)</description> <description>Airbus A320-111 (CFM56-5A1)</description>
<flight-model>jsb</flight-model> <flight-model>jsb</flight-model>
<aero>A320-100-CFM</aero> <aero>A320-100-CFM</aero>
@ -28,6 +23,10 @@
<model type="int">4</model> <model type="int">4</model>
</rating> </rating>
<sound>
<path>Aircraft/A320-family/Sounds/cfm56-sound.xml</path>
</sound>
<previews> <previews>
<preview> <preview>
<type>exterior</type> <type>exterior</type>
@ -163,25 +162,17 @@
</config> </config>
</view> </view>
<systems>
<wingflexer include="Systems/wingflexer-params.xml"/>
<property-rule n="100">
<name>wing flexer property rule</name>
<path>Aircraft/Generic/wingflexer.xml</path>
</property-rule>
</systems>
<systems n="0"> <systems n="0">
<autopilot n="0"> <autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path> <path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot> </autopilot>
<autopilot n="10"> <autopilot n="10">
<path>Aircraft/A320-family/Systems/cfm56-sound.xml</path> <path>Aircraft/A320-family/Systems/cfm56-sound.xml</path>
</autopilot> </autopilot>
</systems> </systems>
</sim> </sim>
<limits> <limits>
<mass-and-balance> <!--Data source: TCDS WV 002 (Issue 12) --> <mass-and-balance> <!--Data source: TCDS WV 002 (Issue 12) -->
<maximum-takeoff-mass-lbs>150000</maximum-takeoff-mass-lbs> <maximum-takeoff-mass-lbs>150000</maximum-takeoff-mass-lbs>
@ -192,8 +183,9 @@
<options n="0"> <options n="0">
<EIS2 type="bool">0</EIS2> <EIS2 type="bool">0</EIS2>
<eng>CFM</eng> <eng type="string">CFM</eng>
<maxblock>52.3</maxblock> <maxblock type="double">52.3</maxblock>
<maxflap type="int">35</maxflap>
</options> </options>
<sharklet type="bool">0</sharklet> <sharklet type="bool">0</sharklet>

View file

@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</engine> </engine>
<engine file="APS3200"> <engine file="APS3200">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
<feed>7</feed> <feed>7</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- Outer Left Wing Tank --> <tank type="FUEL"> <!-- Outer Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank --> <tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -123,7 +123,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank - wing box may be modified to center fuel tank on the -100 so we have a center tank. Or mostly because its easier... --> <tank type="FUEL"> <!-- Center Tank - wing box may be modified to center fuel tank on the -100 so we have a center tank. Or mostly because its easier... -->
<location unit="M"> <location unit="M">
<x> 18.9731 </x> <x> 18.9731 </x>
<y> 0 </y> <y> 0 </y>
@ -136,7 +136,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Right Wing Tank --> <tank type="FUEL"> <!-- Inner Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -149,7 +149,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank --> <tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -162,7 +162,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -173,7 +173,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -184,7 +184,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- APU Pipes --> <tank type="FUEL"> <!-- APU Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -198,6 +198,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</propulsion> </propulsion>
<system file="glass-effect"/> <system file="glass-effect"/>
<system file="a320-fbw"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-fuel"/> <system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>

View file

@ -5,11 +5,6 @@
<PropertyList include="A320-main.xml"> <PropertyList include="A320-main.xml">
<sim> <sim>
<sound>
<path>Aircraft/A320-family/Sounds/cfm56-sound.xml</path>
</sound>
<checklists include="A32X-Checklists.xml"/>
<description>Airbus A320-214 (CFM56-5B4)</description> <description>Airbus A320-214 (CFM56-5B4)</description>
<flight-model>jsb</flight-model> <flight-model>jsb</flight-model>
<aero>A320-200-CFM</aero> <aero>A320-200-CFM</aero>
@ -28,6 +23,10 @@
<model type="int">4</model> <model type="int">4</model>
</rating> </rating>
<sound>
<path>Aircraft/A320-family/Sounds/cfm56-sound.xml</path>
</sound>
<previews> <previews>
<preview> <preview>
<type>exterior</type> <type>exterior</type>
@ -163,25 +162,17 @@
</config> </config>
</view> </view>
<systems>
<wingflexer include="Systems/wingflexer-params.xml"/>
<property-rule n="100">
<name>wing flexer property rule</name>
<path>Aircraft/Generic/wingflexer.xml</path>
</property-rule>
</systems>
<systems n="0"> <systems n="0">
<autopilot n="0"> <autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path> <path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot> </autopilot>
<autopilot n="10"> <autopilot n="10">
<path>Aircraft/A320-family/Systems/cfm56-sound.xml</path> <path>Aircraft/A320-family/Systems/cfm56-sound.xml</path>
</autopilot> </autopilot>
</systems> </systems>
</sim> </sim>
<limits> <limits>
<mass-and-balance> <!--Data source: TCDS WV 017--> <mass-and-balance> <!--Data source: TCDS WV 017-->
<maximum-takeoff-mass-lbs>172000</maximum-takeoff-mass-lbs> <maximum-takeoff-mass-lbs>172000</maximum-takeoff-mass-lbs>
@ -192,8 +183,9 @@
<options n="0"> <options n="0">
<EIS2 type="bool">0</EIS2> <EIS2 type="bool">0</EIS2>
<eng>CFM</eng> <eng type="string">CFM</eng>
<maxblock>52.3</maxblock> <maxblock type="double">52.3</maxblock>
<maxflap type="int">35</maxflap>
</options> </options>
<sharklet type="bool">0</sharklet> <sharklet type="bool">0</sharklet>

View file

@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</engine> </engine>
<engine file="APS3200"> <engine file="APS3200">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
<feed>7</feed> <feed>7</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- Outer Left Wing Tank --> <tank type="FUEL"> <!-- Outer Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank --> <tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -122,7 +122,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
<location unit="M"> <location unit="M">
<x> 18.9731 </x> <x> 18.9731 </x>
<y> 0 </y> <y> 0 </y>
@ -135,7 +135,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Right Wing Tank --> <tank type="FUEL"> <!-- Inner Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -148,7 +148,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank --> <tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -161,7 +161,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -172,7 +172,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -183,7 +183,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- APU Pipes --> <tank type="FUEL"> <!-- APU Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -197,6 +197,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</propulsion> </propulsion>
<system file="glass-effect"/> <system file="glass-effect"/>
<system file="a320-fbw"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-fuel"/> <system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>

View file

@ -5,11 +5,6 @@
<PropertyList include="A320-main.xml"> <PropertyList include="A320-main.xml">
<sim> <sim>
<sound>
<path>Aircraft/A320-family/Sounds/v2500-sound.xml</path>
</sound>
<checklists include="A32X-Checklists.xml"/>
<description>Airbus A320-232 (IAE V2527-A5)</description> <description>Airbus A320-232 (IAE V2527-A5)</description>
<flight-model>jsb</flight-model> <flight-model>jsb</flight-model>
<aero>A320-200-IAE</aero> <aero>A320-200-IAE</aero>
@ -28,6 +23,10 @@
<model type="int">4</model> <model type="int">4</model>
</rating> </rating>
<sound>
<path>Aircraft/A320-family/Sounds/v2500-sound.xml</path>
</sound>
<previews> <previews>
<preview> <preview>
<type>exterior</type> <type>exterior</type>
@ -163,25 +162,17 @@
</config> </config>
</view> </view>
<systems>
<wingflexer include="Systems/wingflexer-params.xml"/>
<property-rule n="100">
<name>wing flexer property rule</name>
<path>Aircraft/Generic/wingflexer.xml</path>
</property-rule>
</systems>
<systems n="0"> <systems n="0">
<autopilot n="0"> <autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-iae.xml</path> <path>Aircraft/A320-family/Systems/fadec-iae.xml</path>
</autopilot> </autopilot>
<autopilot n="10"> <autopilot n="10">
<path>Aircraft/A320-family/Systems/v2500-sound.xml</path> <path>Aircraft/A320-family/Systems/v2500-sound.xml</path>
</autopilot> </autopilot>
</systems> </systems>
</sim> </sim>
<limits> <limits>
<mass-and-balance> <!--Data source: TCDS WV 017--> <mass-and-balance> <!--Data source: TCDS WV 017-->
<maximum-takeoff-mass-lbs>172000</maximum-takeoff-mass-lbs> <maximum-takeoff-mass-lbs>172000</maximum-takeoff-mass-lbs>
@ -192,8 +183,9 @@
<options n="0"> <options n="0">
<EIS2 type="bool">0</EIS2> <EIS2 type="bool">0</EIS2>
<eng>IAE</eng> <eng type="string">IAE</eng>
<maxblock>52.3</maxblock> <maxblock type="double">52.3</maxblock>
<maxflap type="int">40</maxflap>
</options> </options>
<sharklet type="bool">0</sharklet> <sharklet type="bool">0</sharklet>

View file

@ -7,183 +7,161 @@
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd"> xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<fileheader> <fileheader>
<author>Joshua Davidson (Octal450)</author> <author>Joshua Davidson (Octal450)</author>
<version>Pre V1.0</version> <version>Pre V1.0</version>
<description>A32X FDE</description> <description>A32X FDE</description>
</fileheader> </fileheader>
<metrics file="Systems/a320-metrics"/> <metrics file="Systems/a320-metrics"/>
<mass_balance file="Systems/a320-mass-balance"/> <mass_balance file="Systems/a320-mass-balance"/>
<ground_reactions file="Systems/a320-ground-reactions"/> <ground_reactions file="Systems/a320-ground-reactions"/>
<propulsion> <propulsion>
<engine file="v2527_a5_1"> <engine file="v2527_a5_1">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
<y> -5.755 </y> <y> -5.755 </y>
<z> -1.04768 </z> <z> -1.04768 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> 1 </yaw> <yaw> 1 </yaw>
</orient> </orient>
<feed>5</feed> <feed>5</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
<y> -5.755 </y> <y> -5.755 </y>
<z> -1.04768 </z> <z> -1.04768 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> 1 </yaw> <yaw> 1 </yaw>
</orient> </orient>
</thruster> </thruster>
</engine> </engine>
<engine file="v2527_a5_2"> <engine file="v2527_a5_2">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
<y> 5.755 </y> <y> 5.755 </y>
<z> -1.04768 </z> <z> -1.04768 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> -1 </yaw> <yaw> -1 </yaw>
</orient> </orient>
<feed>6</feed> <feed>6</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
<y> 5.755 </y> <y> 5.755 </y>
<z> -1.04768 </z> <z> -1.04768 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> -1 </yaw> <yaw> -1 </yaw>
</orient> </orient>
</thruster> </thruster>
</engine> </engine>
<engine file="APS3200"> <engine file="APS3200">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
<feed>7</feed> <feed>7</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- Outer Left Wing Tank --> <tank type="FUEL"> <!-- Outer Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 1523.00 </capacity> <capacity unit="LBS"> 1523.00 </capacity>
<contents unit="LBS"> 1523.00 </contents> <contents unit="LBS"> 1523.00 </contents>
<unusable-volume unit="LTR"> 4.0 </unusable-volume> <unusable-volume unit="LTR"> 4.0 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank --> <tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 12272.90 </capacity> <capacity unit="LBS"> 12272.90 </capacity>
<contents unit="LBS"> 6000.00 </contents> <contents unit="LBS"> 6000.00 </contents>
<unusable-volume unit="LTR"> 28.0 </unusable-volume> <unusable-volume unit="LTR"> 28.0 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
<location unit="M"> <location unit="M">
<x> 18.9731 </x> <x> 18.9731 </x>
<y> 0 </y> <y> 0 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 14623.00 </capacity> <capacity unit="LBS"> 14623.00 </capacity>
<contents unit="LBS"> 42 </contents> <contents unit="LBS"> 42 </contents>
<unusable-volume unit="LTR"> 23.20 </unusable-volume> <unusable-volume unit="LTR"> 23.20 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Right Wing Tank --> <tank type="FUEL"> <!-- Inner Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 12272.90 </capacity> <capacity unit="LBS"> 12272.90 </capacity>
<contents unit="LBS"> 6000.00 </contents> <contents unit="LBS"> 6000.00 </contents>
<unusable-volume unit="LTR"> 28.0 </unusable-volume> <unusable-volume unit="LTR"> 28.0 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank --> <tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 1523.00 </capacity> <capacity unit="LBS"> 1523.00 </capacity>
<contents unit="LBS"> 1523.00 </contents> <contents unit="LBS"> 1523.00 </contents>
<unusable-volume unit="LTR"> 4.0 </unusable-volume> <unusable-volume unit="LTR"> 4.0 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
<location unit="M">
<x> 18.8231 </x>
<y> 0 </y>
<z> 0.19249 </z>
</location>
<capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
</tank>
<tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M">
<x> 18.8231 </x>
<y> 0 </y>
<z> 0.19249 </z>
</location>
<capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
</tank>
<tank type="FUEL"> <!-- APU Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -194,23 +172,46 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
</propulsion> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M">
<system file="glass-effect"/> <x> 18.8231 </x>
<system file="a320-fcs"/> <y> 0 </y>
<system file="a320-fuel"/> <z> 0.19249 </z>
<system file="a320-fwc"/> </location>
<system file="a320-spoiler"/> <capacity unit="LBS">10</capacity>
<system file="a320-electrical"/> <contents unit="LBS">0</contents>
<system file="a320-hydraulic"/> <priority>1</priority>
<system file="a320-lights"/> <density unit="LBS/GAL">6.71</density>
<system file="a320-engine-fire"/> </tank>
<system file="a320-adr"/> <tank type="FUEL"> <!-- APU Pipes -->
<location unit="M">
<x> 18.8231 </x>
<y> 0 </y>
<z> 0.19249 </z>
</location>
<capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
</tank>
</propulsion>
<system file="glass-effect"/>
<system file="a320-fbw"/>
<system file="a320-fcs"/>
<system file="a320-fuel"/>
<system file="a320-fwc"/>
<system file="a320-spoiler"/>
<system file="a320-electrical"/>
<system file="a320-hydraulic"/>
<system file="a320-lights"/>
<system file="a320-engine-fire"/>
<system file="a320-adr"/>
<system file="a320-apu"/> <system file="a320-apu"/>
<system file="a320-fmgc"/> <system file="a320-fmgc"/>
<flight_control name="none"/> <flight_control name="none"/>
<aerodynamics file="Systems/a320-aerodynamics.xml"/> <aerodynamics file="Systems/a320-aerodynamics.xml"/>
<external_reactions file="Systems/a320-external-reactions"/> <external_reactions file="Systems/a320-external-reactions"/>
</fdm_config> </fdm_config>

View file

@ -8,6 +8,8 @@
<author>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)</author> <author>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)</author>
<checklists include="A32X-Checklists.xml"/>
<status>Pre V1.0</status> <status>Pre V1.0</status>
<hud n="0"> <hud n="0">
@ -19,6 +21,7 @@
<fallback-model-index>212</fallback-model-index> <fallback-model-index>212</fallback-model-index>
<autopush include="AircraftConfig/autopush-config.xml"/> <autopush include="AircraftConfig/autopush-config.xml"/>
<display-contrast type="double">0.7</display-contrast>
<icing> <icing>
<iceable> <iceable>
<name>Wing</name> <name>Wing</name>
@ -96,14 +99,6 @@
<tag>2-engine</tag> <tag>2-engine</tag>
</tags> </tags>
<flaps>
<setting>0.000</setting>
<setting>0.290</setting>
<setting>0.596</setting>
<setting>0.645</setting>
<setting>1.000</setting>
</flaps>
<systems n="0"> <systems n="0">
<electrical> <electrical>
<path></path> <path></path>
@ -146,6 +141,11 @@
<autopilot n="13"> <autopilot n="13">
<path>Aircraft/A320-family/Systems/ecam-proprules.xml</path> <path>Aircraft/A320-family/Systems/ecam-proprules.xml</path>
</autopilot> </autopilot>
<wingflexer include="Systems/wingflexer-params.xml"/>
<property-rule n="100">
<name>Generic Wing Flexer</name>
<path>Aircraft/Generic/wingflexer.xml</path>
</property-rule>
<path>Aircraft/A320-family/Systems/pitot-static.xml</path> <path>Aircraft/A320-family/Systems/pitot-static.xml</path>
</systems> </systems>
@ -158,7 +158,7 @@
<no-smoking-sign type="bool">0</no-smoking-sign> <no-smoking-sign type="bool">0</no-smoking-sign>
<btn1 type="bool">0</btn1> <btn1 type="bool">0</btn1>
<btn3 type="bool">0</btn3> <btn3 type="bool">0</btn3>
<gear-vol type="double">0.25</gear-vol> <gear-vol type="double">0.40</gear-vol>
<knb1 type="bool">0</knb1> <knb1 type="bool">0</knb1>
<oh-btn type="bool">0</oh-btn> <oh-btn type="bool">0</oh-btn>
<switch1 type="bool">0</switch1> <switch1 type="bool">0</switch1>
@ -696,11 +696,10 @@
</fire> </fire>
<flight> <flight>
<aileron-drives-tiller type="bool">0</aileron-drives-tiller> <aileron-drives-tiller type="bool">0</aileron-drives-tiller>
<aileron-input>0</aileron-input> <aileron-input type="double">0</aileron-input>
<elevator-input>0</elevator-input> <elevator-input type="double">0</elevator-input>
<flap-pos type="int">0</flap-pos> <speedbrake-arm type="bool">0</speedbrake-arm>
<speedbrake-arm>0</speedbrake-arm> <slats type="double">0</slats>
<slats>0</slats>
</flight> </flight>
<fuel> <fuel>
<switches> <switches>
@ -1361,6 +1360,12 @@
<category-13 type="int">7</category-13> <category-13 type="int">7</category-13>
<category-14 type="int">0</category-14> <category-14 type="int">0</category-14>
</configuration-module> </configuration-module>
<input-feeders>
<discretes>
<!-- disable the built-in input feeder -->
<landing-flaps type="bool">false</landing-flaps>
</discretes>
</input-feeders>
<inputs> <inputs>
<arinc429> <arinc429>
<decision-height-ncd type="bool">0</decision-height-ncd> <decision-height-ncd type="bool">0</decision-height-ncd>
@ -1369,7 +1374,7 @@
</inputs> </inputs>
<speaker> <speaker>
<max-dist type="double">2</max-dist> <max-dist type="double">2</max-dist>
<reference-dist type="double">1</reference-dist> <reference-dist type="double">5</reference-dist>
<volume type="double">2</volume> <volume type="double">2</volume>
</speaker> </speaker>
<voice> <voice>
@ -1386,8 +1391,8 @@
<antenna> <antenna>
<x-offset-m type="double">-1</x-offset-m> <x-offset-m type="double">-1</x-offset-m>
<y-offset-m type="double">0</y-offset-m> <y-offset-m type="double">0</y-offset-m>
<z-offset-m type="double">2.52</z-offset-m> <z-offset-m type="double">2.52</z-offset-m>
</antenna> </antenna>
<az-step-deg type="int">10</az-step-deg> <az-step-deg type="int">10</az-step-deg>
<az-limit-deg type="int">30</az-limit-deg> <az-limit-deg type="int">30</az-limit-deg>
<elev-step-deg type="int">10</elev-step-deg> <elev-step-deg type="int">10</elev-step-deg>
@ -1400,8 +1405,8 @@
<antenna> <antenna>
<x-offset-m type="double">-1</x-offset-m> <x-offset-m type="double">-1</x-offset-m>
<y-offset-m type="double">0</y-offset-m> <y-offset-m type="double">0</y-offset-m>
<z-offset-m type="double">2.52</z-offset-m> <z-offset-m type="double">2.52</z-offset-m>
</antenna> </antenna>
<az-step-deg type="int">10</az-step-deg> <az-step-deg type="int">10</az-step-deg>
<az-limit-deg type="int">30</az-limit-deg> <az-limit-deg type="int">30</az-limit-deg>
<elev-step-deg type="int">10</elev-step-deg> <elev-step-deg type="int">10</elev-step-deg>
@ -2179,19 +2184,19 @@
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>nasal</command> <command>nasal</command>
<script>controls.applyParkingBrake(1)</script> <script>controls.applyParkingBrake(1)</script>
</binding> </binding>
<mod-up> <mod-up>
<binding> <binding>
<condition> <condition>
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>nasal</command> <command>nasal</command>
<script>controls.applyParkingBrake(0)</script> <script>controls.applyParkingBrake(0)</script>
</binding> </binding>
</mod-up> </mod-up>
</key> </key>
<key n="67"> <key n="67">
<name>SHIFT-c</name> <name>SHIFT-c</name>
@ -2307,9 +2312,9 @@
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>nasal</command> <command>nasal</command>
<script>controls.gearDown(1)</script> <script>controls.gearDown(1)</script>
</binding> </binding>
<mod-up> <mod-up>
<binding> <binding>
<condition> <condition>
@ -2343,9 +2348,9 @@
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>nasal</command> <command>nasal</command>
<script>aircraft.HUD.cycle_brightness()</script> <script>aircraft.HUD.cycle_brightness()</script>
</binding> </binding>
</key> </key>
<key n="73"> <key n="73">
<name>SHIFT-i</name> <name>SHIFT-i</name>
@ -2369,9 +2374,9 @@
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>nasal</command> <command>nasal</command>
<script>aircraft.HUD.cycle_type()</script> <script>aircraft.HUD.cycle_type()</script>
</binding> </binding>
</key> </key>
<key n="74"> <key n="74">
<name>SHIFT-j</name> <name>SHIFT-j</name>
@ -2503,9 +2508,9 @@
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>/sim/panel/visibility</property> <property>/sim/panel/visibility</property>
</binding> </binding>
</key> </key>
<key n="81"> <key n="81">
<name>SHIFT-q</name> <name>SHIFT-q</name>
@ -2619,9 +2624,9 @@
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>nasal</command> <command>nasal</command>
<script>view.stepView(-1)</script> <script>view.stepView(-1)</script>
</binding> </binding>
</key> </key>
<key n="87"> <key n="87">
<name>SHIFT-w</name> <name>SHIFT-w</name>
@ -2708,9 +2713,9 @@
<not><property>/FMGC/keyboard-left</property></not> <not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not> <not><property>/FMGC/keyboard-right</property></not>
</condition> </condition>
<command>nasal</command> <command>nasal</command>
<script>environment.decreaseVisibility()</script> <script>environment.decreaseVisibility()</script>
</binding> </binding>
</key> </key>
<key n="97"> <key n="97">
<name>a</name> <name>a</name>

View file

@ -4,12 +4,7 @@
<PropertyList include="A320-main.xml"> <PropertyList include="A320-main.xml">
<sim> <sim>
<sound>
<path>Aircraft/A320-family/Sounds/leapx-sound.xml</path>
</sound>
<checklists include="A32X-Checklists.xml"/>
<description>Airbus A320-251N (LEAP-1A26)</description> <description>Airbus A320-251N (LEAP-1A26)</description>
<flight-model>jsb</flight-model> <flight-model>jsb</flight-model>
<aero>A320neo-CFM</aero> <aero>A320neo-CFM</aero>
@ -26,7 +21,11 @@
<systems type="int">5</systems> <systems type="int">5</systems>
<cockpit type="int">5</cockpit> <cockpit type="int">5</cockpit>
<model type="int">4</model> <model type="int">4</model>
</rating> </rating>
<sound>
<path>Aircraft/A320-family/Sounds/leapx-sound.xml</path>
</sound>
<previews> <previews>
<preview> <preview>
@ -163,25 +162,17 @@
</config> </config>
</view> </view>
<systems>
<wingflexer include="Systems/wingflexer-params.xml"/>
<property-rule n="100">
<name>wing flexer property rule</name>
<path>Aircraft/Generic/wingflexer.xml</path>
</property-rule>
</systems>
<systems n="0"> <systems n="0">
<autopilot n="0"> <autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path> <path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot> </autopilot>
<autopilot n="10"> <autopilot n="10">
<path>Aircraft/A320-family/Systems/leapx-sound.xml</path> <path>Aircraft/A320-family/Systems/leapx-sound.xml</path>
</autopilot> </autopilot>
</systems> </systems>
</sim> </sim>
<limits> <limits>
<mass-and-balance> <!--Data source: TCDS WV 55 --> <mass-and-balance> <!--Data source: TCDS WV 55 -->
<maximum-takeoff-mass-lbs>174200</maximum-takeoff-mass-lbs> <maximum-takeoff-mass-lbs>174200</maximum-takeoff-mass-lbs>
@ -192,8 +183,9 @@
<options n="0"> <options n="0">
<EIS2 type="bool">1</EIS2> <EIS2 type="bool">1</EIS2>
<eng>CFM</eng> <eng type="string">CFM</eng>
<maxblock>52.3</maxblock> <maxblock type="double">52.3</maxblock>
<maxflap type="int">35</maxflap>
</options> </options>
<sharklet type="bool">1</sharklet> <sharklet type="bool">1</sharklet>

View file

@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</engine> </engine>
<engine file="APS3200"> <engine file="APS3200">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
<feed>7</feed> <feed>7</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- Outer Left Wing Tank --> <tank type="FUEL"> <!-- Outer Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank --> <tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -122,7 +122,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
<location unit="M"> <location unit="M">
<x> 18.9731 </x> <x> 18.9731 </x>
<y> 0 </y> <y> 0 </y>
@ -135,7 +135,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Right Wing Tank --> <tank type="FUEL"> <!-- Inner Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -148,7 +148,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank --> <tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -161,7 +161,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -172,7 +172,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -183,7 +183,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- APU Pipes --> <tank type="FUEL"> <!-- APU Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -197,6 +197,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</propulsion> </propulsion>
<system file="glass-effect"/> <system file="glass-effect"/>
<system file="a320-fbw"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-fuel"/> <system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>

View file

@ -5,11 +5,6 @@
<PropertyList include="A320-main.xml"> <PropertyList include="A320-main.xml">
<sim> <sim>
<sound>
<path>Aircraft/A320-family/Sounds/leapx-sound.xml</path>
</sound>
<checklists include="A32X-Checklists.xml"/>
<description>Airbus A320-271N (PurePower 1127G)</description> <description>Airbus A320-271N (PurePower 1127G)</description>
<flight-model>jsb</flight-model> <flight-model>jsb</flight-model>
<aero>A320neo-PW</aero> <aero>A320neo-PW</aero>
@ -28,6 +23,10 @@
<model type="int">4</model> <model type="int">4</model>
</rating> </rating>
<sound>
<path>Aircraft/A320-family/Sounds/leapx-sound.xml</path>
</sound>
<previews> <previews>
<preview> <preview>
<type>exterior</type> <type>exterior</type>
@ -163,25 +162,17 @@
</config> </config>
</view> </view>
<systems>
<wingflexer include="Systems/wingflexer-params.xml"/>
<property-rule n="100">
<name>wing flexer property rule</name>
<path>Aircraft/Generic/wingflexer.xml</path>
</property-rule>
</systems>
<systems n="0"> <systems n="0">
<autopilot n="0"> <!-- Apparently PW PurePower uses N1, not EPR.... sooo I use CFM FADEC --> <autopilot n="0"> <!-- Apparently PW PurePower uses N1, not EPR.... sooo I use CFM FADEC -->
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path> <path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot> </autopilot>
<autopilot n="10"> <autopilot n="10">
<path>Aircraft/A320-family/Systems/leapx-sound.xml</path> <path>Aircraft/A320-family/Systems/leapx-sound.xml</path>
</autopilot> </autopilot>
</systems> </systems>
</sim> </sim>
<limits> <limits>
<mass-and-balance> <!--Data source: TCDS WV 55 --> <mass-and-balance> <!--Data source: TCDS WV 55 -->
<maximum-takeoff-mass-lbs>174200</maximum-takeoff-mass-lbs> <maximum-takeoff-mass-lbs>174200</maximum-takeoff-mass-lbs>
@ -192,8 +183,9 @@
<options n="0"> <options n="0">
<EIS2 type="bool">1</EIS2> <EIS2 type="bool">1</EIS2>
<eng>CFM</eng> <!-- Apparently PW PurePower uses N1, not EPR.... sooo I use CFM ECAM, and no N1 mode switches --> <eng type="string">CFM</eng> <!-- Apparently PW PurePower uses N1, not EPR.... sooo I use CFM ECAM, and no N1 mode switches -->
<maxblock>52.3</maxblock> <maxblock type="double">52.3</maxblock>
<maxflap type="int">35</maxflap>
</options> </options>
<sharklet type="bool">1</sharklet> <sharklet type="bool">1</sharklet>

View file

@ -71,32 +71,32 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</engine> </engine>
<engine file="APS3200"> <engine file="APS3200">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
<feed>7</feed> <feed>7</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 38.9 </x> <x> 38.9 </x>
<y> 0 </y> <y> 0 </y>
<z> 0.95 </z> <z> 0.95 </z>
</location> </location>
<orient unit="DEG"> <orient unit="DEG">
<roll> 0.0 </roll> <roll> 0.0 </roll>
<pitch> 0.0 </pitch> <pitch> 0.0 </pitch>
<yaw> 0.0 </yaw> <yaw> 0.0 </yaw>
</orient> </orient>
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- Outer Left Wing Tank --> <tank type="FUEL"> <!-- Outer Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -109,7 +109,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank --> <tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> -5.1104 </y> <y> -5.1104 </y>
@ -122,7 +122,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
<location unit="M"> <location unit="M">
<x> 18.9731 </x> <x> 18.9731 </x>
<y> 0 </y> <y> 0 </y>
@ -135,7 +135,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Right Wing Tank --> <tank type="FUEL"> <!-- Inner Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -148,7 +148,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank --> <tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M"> <location unit="M">
<x> 18.9231 </x> <x> 18.9231 </x>
<y> 5.1104 </y> <y> 5.1104 </y>
@ -161,7 +161,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -172,7 +172,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -183,7 +183,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<priority>1</priority> <priority>1</priority>
<density unit="LBS/GAL">6.71</density> <density unit="LBS/GAL">6.71</density>
</tank> </tank>
<tank type="FUEL"> <!-- APU Pipes --> <tank type="FUEL"> <!-- APU Pipes -->
<location unit="M"> <location unit="M">
<x> 18.8231 </x> <x> 18.8231 </x>
<y> 0 </y> <y> 0 </y>
@ -197,6 +197,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</propulsion> </propulsion>
<system file="glass-effect"/> <system file="glass-effect"/>
<system file="a320-fbw"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-fuel"/> <system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>

View file

@ -12,7 +12,7 @@
<value>COMPLETED(BOTH)</value> <value>COMPLETED(BOTH)</value>
</item> </item>
<item> <item>
<name>PINS AND COVERS</name> <name>GEAR PINS AND COVERS</name>
<value>REMOVED</value> <value>REMOVED</value>
</item> </item>
<item> <item>
@ -66,7 +66,7 @@
</marker> </marker>
</item> </item>
<item> <item>
<name>WINDOWS and DOORS</name> <name>WINDOWS and DOORS</name>
<value>CLOSED(BOTH)</value> <value>CLOSED(BOTH)</value>
<marker> <marker>
<x-m>4.4658</x-m> <x-m>4.4658</x-m>
@ -86,7 +86,7 @@
</marker> </marker>
</item> </item>
<item> <item>
<name>THR LEVERS</name> <name>THRUST LEVERS</name>
<value>IDLE</value> <value>IDLE</value>
<marker> <marker>
<x-m>4.7200</x-m> <x-m>4.7200</x-m>

View file

@ -277,12 +277,7 @@ var colddark = func {
setprop("/controls/engines/engine-start-switch", 1); setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/engines/engine[0]/cutoff-switch", 1); setprop("/controls/engines/engine[0]/cutoff-switch", 1);
setprop("/controls/engines/engine[1]/cutoff-switch", 1); setprop("/controls/engines/engine[1]/cutoff-switch", 1);
setprop("/controls/flight/slats", 0.000); setprop("/controls/flight/flaps", 0);
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/speedbrake-arm", 0); setprop("/controls/flight/speedbrake-arm", 0);
setprop("/controls/flight/speedbrake", 0); setprop("/controls/flight/speedbrake", 0);
setprop("/controls/gear/gear-down", 1); setprop("/controls/gear/gear-down", 1);
@ -340,12 +335,7 @@ var beforestart = func {
setprop("/controls/engines/engine-start-switch", 1); setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/engines/engine[0]/cutoff-switch", 1); setprop("/controls/engines/engine[0]/cutoff-switch", 1);
setprop("/controls/engines/engine[1]/cutoff-switch", 1); setprop("/controls/engines/engine[1]/cutoff-switch", 1);
setprop("/controls/flight/slats", 0.000); setprop("/controls/flight/flaps", 0);
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/speedbrake-arm", 0); setprop("/controls/flight/speedbrake-arm", 0);
setprop("/controls/flight/speedbrake", 0); setprop("/controls/flight/speedbrake", 0);
setprop("/controls/gear/gear-down", 1); setprop("/controls/gear/gear-down", 1);
@ -432,12 +422,7 @@ var taxi = func {
setprop("/controls/engines/engine-start-switch", 1); setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/engines/engine[0]/cutoff-switch", 1); setprop("/controls/engines/engine[0]/cutoff-switch", 1);
setprop("/controls/engines/engine[1]/cutoff-switch", 1); setprop("/controls/engines/engine[1]/cutoff-switch", 1);
setprop("/controls/flight/slats", 0.000); setprop("/controls/flight/flaps", 0);
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/speedbrake-arm", 0); setprop("/controls/flight/speedbrake-arm", 0);
setprop("/controls/flight/speedbrake", 0); setprop("/controls/flight/speedbrake", 0);
setprop("/controls/gear/gear-down", 1); 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-l", 1);
setprop("/controls/switches/landing-lights-r", 1); setprop("/controls/switches/landing-lights-r", 1);
setprop("/controls/flight/speedbrake-arm", 1); setprop("/controls/flight/speedbrake-arm", 1);
setprop("/controls/flight/flaps", 0.290); setprop("/controls/flight/flaps", 0.2);
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/atc/mode-knob", 4); setprop("/controls/atc/mode-knob", 4);
atc.transponderPanel.modeSwitch(5); atc.transponderPanel.modeSwitch(5);
libraries.flaptimer.start();
setprop("/controls/flight/elevator-trim", -0.07); setprop("/controls/flight/elevator-trim", -0.07);
systems.arm_autobrake(3); systems.arm_autobrake(3);
setprop("/ECAM/to-config-test", 1); setprop("/ECAM/to-config-test", 1);

View file

@ -307,8 +307,8 @@
<!-- Tire smoke and spray effects --> <!-- Tire smoke and spray effects -->
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path>
<name>tyre-smoke-n</name> <name>tyre-smoke-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -317,8 +317,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path>
<name>tyre-smoke-p</name> <name>tyre-smoke-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -327,8 +327,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path>
<name>tyre-smoke-s</name> <name>tyre-smoke-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -337,8 +337,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-nose.xml</path> <path>Aircraft/Generic/Effects/rain-nose.xml</path>
<name>rain-splash-n</name> <name>rain-splash-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -347,8 +347,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-port.xml</path> <path>Aircraft/Generic/Effects/rain-port.xml</path>
<name>rain-splash-p</name> <name>rain-splash-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -357,8 +357,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-stbd.xml</path> <path>Aircraft/Generic/Effects/rain-stbd.xml</path>
<name>rain-splash-s</name> <name>rain-splash-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -367,33 +367,34 @@
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path>
<name>tire-smoke-l</name> <name>tire-smoke-l</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path>
<name>tire-smoke-r</name> <name>tire-smoke-r</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<!-- wing condensation effect --> <!-- wing condensation effect -->
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<!-- Other non-aircraft models --> <!-- Other non-aircraft models -->
@ -407,41 +408,45 @@
</offsets> </offsets>
</model> </model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- Firetruck --> <!-- Firetruck -->
<model> <model>
<name>Firetruck1</name> <name>Firetruck1</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>60.0</x-m> <x-m>60.0</x-m>
<y-m>10.0</y-m> <y-m>10.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<name>Firetruck2</name> <name>Firetruck2</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>80.0</x-m> <x-m>80.0</x-m>
<y-m>-8.0</y-m> <y-m>-8.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<animation> <animation>
<type>select</type> <type>select</type>
<object-name>Firetruck1</object-name> <object-name>Firetruck1</object-name>
<object-name>Firetruck2</object-name> <object-name>Firetruck2</object-name>
<condition> <condition>
<and> <and>
<property>sim/animation/fire-services</property> <property>sim/animation/fire-services</property>
<less-than> <less-than>
<property>velocities/groundspeed-kt</property> <property>velocities/groundspeed-kt</property>
<value>40</value> <value>40</value>
</less-than> </less-than>
</and> </and>
</condition> </condition>
</animation> </animation>
<!-- LIVERY SELECT --> <!-- LIVERY SELECT -->
@ -474,7 +479,7 @@
</unload> </unload>
</nasal> </nasal>
<!-- Ground Services --> <!-- Ground Services -->
<model> <model>
<name>ground_services</name> <name>ground_services</name>
<path>Aircraft/A320-family/Models/A320-groundservices.xml</path> <path>Aircraft/A320-family/Models/A320-groundservices.xml</path>

View file

@ -337,8 +337,8 @@
<!-- Tire smoke and spray effects --> <!-- Tire smoke and spray effects -->
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path>
<name>tyre-smoke-n</name> <name>tyre-smoke-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -347,8 +347,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path>
<name>tyre-smoke-p</name> <name>tyre-smoke-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -357,8 +357,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path>
<name>tyre-smoke-s</name> <name>tyre-smoke-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -367,8 +367,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-nose.xml</path> <path>Aircraft/Generic/Effects/rain-nose.xml</path>
<name>rain-splash-n</name> <name>rain-splash-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -377,8 +377,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-port.xml</path> <path>Aircraft/Generic/Effects/rain-port.xml</path>
<name>rain-splash-p</name> <name>rain-splash-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -387,8 +387,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-stbd.xml</path> <path>Aircraft/Generic/Effects/rain-stbd.xml</path>
<name>rain-splash-s</name> <name>rain-splash-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -397,33 +397,34 @@
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path>
<name>tire-smoke-l</name> <name>tire-smoke-l</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path>
<name>tire-smoke-r</name> <name>tire-smoke-r</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<!-- wing condensation effect --> <!-- wing condensation effect -->
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<!-- Other non-aircraft models --> <!-- Other non-aircraft models -->
@ -437,41 +438,45 @@
</offsets> </offsets>
</model> </model>
<!--Firetruck--> <model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- Firetruck -->
<model> <model>
<name>Firetruck1</name> <name>Firetruck1</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>60.0</x-m> <x-m>60.0</x-m>
<y-m>10.0</y-m> <y-m>10.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<name>Firetruck2</name> <name>Firetruck2</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>80.0</x-m> <x-m>80.0</x-m>
<y-m>-8.0</y-m> <y-m>-8.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<animation> <animation>
<type>select</type> <type>select</type>
<object-name>Firetruck1</object-name> <object-name>Firetruck1</object-name>
<object-name>Firetruck2</object-name> <object-name>Firetruck2</object-name>
<condition> <condition>
<and> <and>
<property>sim/animation/fire-services</property> <property>sim/animation/fire-services</property>
<less-than> <less-than>
<property>velocities/groundspeed-kt</property> <property>velocities/groundspeed-kt</property>
<value>40</value> <value>40</value>
</less-than> </less-than>
</and> </and>
</condition> </condition>
</animation> </animation>
<!-- LIVERY SELECT --> <!-- LIVERY SELECT -->
@ -504,7 +509,7 @@
</unload> </unload>
</nasal> </nasal>
<!-- Ground Services --> <!-- Ground Services -->
<model> <model>
<name>ground_services</name> <name>ground_services</name>
<path>Aircraft/A320-family/Models/A320-groundservices.xml</path> <path>Aircraft/A320-family/Models/A320-groundservices.xml</path>

View file

@ -337,8 +337,8 @@
<!-- Tire smoke and spray effects --> <!-- Tire smoke and spray effects -->
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path>
<name>tyre-smoke-n</name> <name>tyre-smoke-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -347,8 +347,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path>
<name>tyre-smoke-p</name> <name>tyre-smoke-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -357,8 +357,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path>
<name>tyre-smoke-s</name> <name>tyre-smoke-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -367,8 +367,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-nose.xml</path> <path>Aircraft/Generic/Effects/rain-nose.xml</path>
<name>rain-splash-n</name> <name>rain-splash-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -377,8 +377,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-port.xml</path> <path>Aircraft/Generic/Effects/rain-port.xml</path>
<name>rain-splash-p</name> <name>rain-splash-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -387,8 +387,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-stbd.xml</path> <path>Aircraft/Generic/Effects/rain-stbd.xml</path>
<name>rain-splash-s</name> <name>rain-splash-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -397,35 +397,36 @@
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path>
<name>tire-smoke-l</name> <name>tire-smoke-l</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path>
<name>tire-smoke-r</name> <name>tire-smoke-r</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<!-- wing condensation effect --> <!-- wing condensation effect -->
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model>
<model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path>
<name>wing-condensation</name>
</model> </model>
<model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path>
<name>wing-condensation</name>
</model>
<!-- Other non-aircraft models --> <!-- Other non-aircraft models -->
<model> <model>
<name>Pushback</name> <name>Pushback</name>
@ -436,42 +437,46 @@
<z-m>-4.24</z-m> <z-m>-4.24</z-m>
</offsets> </offsets>
</model> </model>
<!-- Firetruck -->
<model> <model>
<name>Firetruck1</name> <path>Aircraft/Generic/marker.xml</path>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> </model>
<offsets>
<x-m>60.0</x-m> <!-- Firetruck -->
<y-m>10.0</y-m>
<z-m>-4.4</z-m> <model>
</offsets> <name>Firetruck1</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets>
<x-m>60.0</x-m>
<y-m>10.0</y-m>
<z-m>-4.4</z-m>
</offsets>
</model> </model>
<model> <model>
<name>Firetruck2</name> <name>Firetruck2</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>80.0</x-m> <x-m>80.0</x-m>
<y-m>-8.0</y-m> <y-m>-8.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<animation> <animation>
<type>select</type> <type>select</type>
<object-name>Firetruck1</object-name> <object-name>Firetruck1</object-name>
<object-name>Firetruck2</object-name> <object-name>Firetruck2</object-name>
<condition> <condition>
<and> <and>
<property>sim/animation/fire-services</property> <property>sim/animation/fire-services</property>
<less-than> <less-than>
<property>velocities/groundspeed-kt</property> <property>velocities/groundspeed-kt</property>
<value>40</value> <value>40</value>
</less-than> </less-than>
</and> </and>
</condition> </condition>
</animation> </animation>
<!-- LIVERY SELECT --> <!-- LIVERY SELECT -->
@ -504,7 +509,7 @@
</unload> </unload>
</nasal> </nasal>
<!-- Ground Services --> <!-- Ground Services -->
<model> <model>
<name>ground_services</name> <name>ground_services</name>
<path>Aircraft/A320-family/Models/A320-groundservices.xml</path> <path>Aircraft/A320-family/Models/A320-groundservices.xml</path>

View file

@ -314,20 +314,20 @@
</offsets> </offsets>
</model> </model>
<!-- Tire smoke and spray effects --> <!-- Tire smoke and spray effects -->
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path>
<name>tyre-smoke-n</name> <name>tyre-smoke-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path>
<name>tyre-smoke-p</name> <name>tyre-smoke-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -336,8 +336,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path>
<name>tyre-smoke-s</name> <name>tyre-smoke-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -346,8 +346,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-nose.xml</path> <path>Aircraft/Generic/Effects/rain-nose.xml</path>
<name>rain-splash-n</name> <name>rain-splash-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -356,8 +356,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-port.xml</path> <path>Aircraft/Generic/Effects/rain-port.xml</path>
<name>rain-splash-p</name> <name>rain-splash-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -366,8 +366,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-stbd.xml</path> <path>Aircraft/Generic/Effects/rain-stbd.xml</path>
<name>rain-splash-s</name> <name>rain-splash-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -376,33 +376,34 @@
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path>
<name>tire-smoke-l</name> <name>tire-smoke-l</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path>
<name>tire-smoke-r</name> <name>tire-smoke-r</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<!-- wing condensation effect --> <!-- wing condensation effect -->
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<!-- Other non-aircraft models --> <!-- Other non-aircraft models -->
@ -416,41 +417,45 @@
</offsets> </offsets>
</model> </model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- Firetruck --> <!-- Firetruck -->
<model> <model>
<name>Firetruck1</name> <name>Firetruck1</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>60.0</x-m> <x-m>60.0</x-m>
<y-m>10.0</y-m> <y-m>10.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<name>Firetruck2</name> <name>Firetruck2</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>80.0</x-m> <x-m>80.0</x-m>
<y-m>-8.0</y-m> <y-m>-8.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<animation> <animation>
<type>select</type> <type>select</type>
<object-name>Firetruck1</object-name> <object-name>Firetruck1</object-name>
<object-name>Firetruck2</object-name> <object-name>Firetruck2</object-name>
<condition> <condition>
<and> <and>
<property>sim/animation/fire-services</property> <property>sim/animation/fire-services</property>
<less-than> <less-than>
<property>velocities/groundspeed-kt</property> <property>velocities/groundspeed-kt</property>
<value>40</value> <value>40</value>
</less-than> </less-than>
</and> </and>
</condition> </condition>
</animation> </animation>
<!-- LIVERY SELECT --> <!-- LIVERY SELECT -->
@ -483,7 +488,7 @@
</unload> </unload>
</nasal> </nasal>
<!-- Ground Services --> <!-- Ground Services -->
<model> <model>
<name>ground_services</name> <name>ground_services</name>
<path>Aircraft/A320-family/Models/A320-groundservices.xml</path> <path>Aircraft/A320-family/Models/A320-groundservices.xml</path>

View file

@ -316,8 +316,8 @@
<!-- Tire smoke and spray effects --> <!-- Tire smoke and spray effects -->
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path>
<name>tyre-smoke-n</name> <name>tyre-smoke-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -326,8 +326,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path>
<name>tyre-smoke-p</name> <name>tyre-smoke-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -336,8 +336,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path> <path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path>
<name>tyre-smoke-s</name> <name>tyre-smoke-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -346,8 +346,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-nose.xml</path> <path>Aircraft/Generic/Effects/rain-nose.xml</path>
<name>rain-splash-n</name> <name>rain-splash-n</name>
<offsets> <offsets>
<x-m>7.83</x-m> <x-m>7.83</x-m>
<y-m>0</y-m> <y-m>0</y-m>
@ -356,8 +356,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-port.xml</path> <path>Aircraft/Generic/Effects/rain-port.xml</path>
<name>rain-splash-p</name> <name>rain-splash-p</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
@ -366,8 +366,8 @@
</model> </model>
<model> <model>
<path>Aircraft/Generic/Effects/rain-stbd.xml</path> <path>Aircraft/Generic/Effects/rain-stbd.xml</path>
<name>rain-splash-s</name> <name>rain-splash-s</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
@ -376,33 +376,34 @@
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-left.xml</path>
<name>tire-smoke-l</name> <name>tire-smoke-l</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>-3.795</y-m> <y-m>-3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path> <path>Aircraft/A320-family/Models/Effects/tire-smoke-right.xml</path>
<name>tire-smoke-r</name> <name>tire-smoke-r</name>
<offsets> <offsets>
<x-m>20.3180764</x-m> <x-m>20.3180764</x-m>
<y-m>3.795</y-m> <y-m>3.795</y-m>
<z-m>-3.9669424</z-m> <z-m>-3.9669424</z-m>
</offsets> </offsets>
</model> </model>
<!-- wing condensation effect --> <!-- wing condensation effect -->
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-L.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<model> <model>
<path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path> <path>Aircraft/A320-family/Models/Effects/wing-condensation-R.xml</path>
<name>wing-condensation</name> <name>wing-condensation</name>
</model> </model>
<!-- Other non-aircraft models --> <!-- Other non-aircraft models -->
@ -416,41 +417,45 @@
</offsets> </offsets>
</model> </model>
<model>
<path>Aircraft/Generic/marker.xml</path>
</model>
<!-- Firetruck --> <!-- Firetruck -->
<model> <model>
<name>Firetruck1</name> <name>Firetruck1</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>60.0</x-m> <x-m>60.0</x-m>
<y-m>10.0</y-m> <y-m>10.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<model> <model>
<name>Firetruck2</name> <name>Firetruck2</name>
<path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path> <path>Models/Airport/Vehicle/hoskosh-ti-1500.ac</path>
<offsets> <offsets>
<x-m>80.0</x-m> <x-m>80.0</x-m>
<y-m>-8.0</y-m> <y-m>-8.0</y-m>
<z-m>-4.4</z-m> <z-m>-4.4</z-m>
</offsets> </offsets>
</model> </model>
<animation> <animation>
<type>select</type> <type>select</type>
<object-name>Firetruck1</object-name> <object-name>Firetruck1</object-name>
<object-name>Firetruck2</object-name> <object-name>Firetruck2</object-name>
<condition> <condition>
<and> <and>
<property>sim/animation/fire-services</property> <property>sim/animation/fire-services</property>
<less-than> <less-than>
<property>velocities/groundspeed-kt</property> <property>velocities/groundspeed-kt</property>
<value>40</value> <value>40</value>
</less-than> </less-than>
</and> </and>
</condition> </condition>
</animation> </animation>
<!-- LIVERY SELECT --> <!-- LIVERY SELECT -->
@ -490,7 +495,7 @@
</unload> </unload>
</nasal> </nasal>
<!-- Ground Services --> <!-- Ground Services -->
<model> <model>
<name>ground_services</name> <name>ground_services</name>
<path>Aircraft/A320-family/Models/A320-groundservices.xml</path> <path>Aircraft/A320-family/Models/A320-groundservices.xml</path>

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<PropertyList>
<name>display</name>
<inherits-from>Effects/model-interior-display</inherits-from>
<parameters>
<texture n="4">
<type>cubemap</type>
<images>
<positive-x>Models/Effects/res/white.png</positive-x>
<negative-x>Models/Effects/res/white.png</negative-x>
<positive-y>Models/Effects/res/white.png</positive-y>
<negative-y>Models/Effects/res/white.png</negative-y>
<positive-z>Models/Effects/res/white.png</positive-z>
<negative-z>Models/Effects/res/white.png</negative-z>
</images>
</texture>
<texture n="5">
<type>2d</type>
<filter>linear-mipmap-linear</filter>
<wrap-s>clamp</wrap-s>
<wrap-t>clamp</wrap-t>
<internal-format>normalized</internal-format>
<image>Aircraft/Generic/Effects/dust-effect-overlay.png</image>
</texture>
<sample-res>0.0007</sample-res>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
<contrast><use>/sim/model/display-contrast</use></contrast>
</parameters>
</PropertyList>

View file

@ -7519,6 +7519,7 @@
<object-name>wall_1</object-name> <object-name>wall_1</object-name>
<object-name>wall_2</object-name> <object-name>wall_2</object-name>
<object-name>window_frame</object-name> <object-name>window_frame</object-name>
<object-name>WindowCpt</object-name>
<object-name>HeadsetCpt</object-name> <object-name>HeadsetCpt</object-name>
<object-name>WindowGlassCpt</object-name> <object-name>WindowGlassCpt</object-name>
<object-name>WindowOpenerCpt</object-name> <object-name>WindowOpenerCpt</object-name>

View file

@ -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_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_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_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_outer_temp = props.globals.getNode("/consumables/fuel/tank[4]/temperature_degC", 1);
var fuel_right_inner_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_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 cutoff_switch2 = props.globals.getNode("/controls/engines/engine[1]/cutoff-switch", 1);
var fuel_xfeed = props.globals.getNode("/controls/fuel/x-feed", 1); var fuel_xfeed = props.globals.getNode("/controls/fuel/x-feed", 1);

View file

@ -31,12 +31,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>lecam.screen</object-name> <object-name>lecam.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
</PropertyList> </PropertyList>

View file

@ -2987,7 +2987,7 @@ var canvas_MCDU_base = {
me["Simple_L3S"].setText("MAG WIND"); me["Simple_L3S"].setText("MAG WIND");
if (dest_mag.getValue() != -1 and dest_wind.getValue() != -1) { 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 { } else {
me["Simple_L3"].setText("---g/---");; me["Simple_L3"].setText("---g/---");;
} }

View file

@ -49,12 +49,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>mcdu1.screen</object-name> <object-name>mcdu1.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
<animation> <animation>

View file

@ -49,12 +49,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>mcdu2.screen</object-name> <object-name>mcdu2.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
<animation> <animation>

View file

@ -31,12 +31,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>ND.screen</object-name> <object-name>ND.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
</PropertyList> </PropertyList>

View file

@ -31,12 +31,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>ND_R.screen</object-name> <object-name>ND_R.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
</PropertyList> </PropertyList>

View file

@ -29,10 +29,8 @@ var SymbolCache32x32 = canvas.SymbolCache32x32;
var SymbolCache = canvas.SymbolCache; var SymbolCache = canvas.SymbolCache;
var Text = canvas.Text; var Text = canvas.Text;
io.include("ND_config.nas");
io.include("framework/canvas.nas"); io.include("framework/canvas.nas");
io.include("framework/navdisplay.nas"); io.include("framework/navdisplay.nas");
io.include("framework/MapDrivers.nas");
io.include("loaders.nas"); io.include("loaders.nas");
io.include("helpers.nas"); io.include("helpers.nas");
io.include("style.nas"); io.include("style.nas");

View file

@ -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",
}
};

View file

@ -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;
}
};

View file

@ -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.vorR.setColor(0,0.6,0.85);
me.symbols.dmeR.setText(""); me.symbols.dmeR.setText("");
me.symbols.dmeR.setColor(0,0.6,0.85); 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); 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.vorRId.setColor(0,0.6,0.85);
me.symbols.dmeRDist.setText(""); me.symbols.dmeRDist.setText("");
me.symbols.dmeRDist.setColor(0,0.6,0.85); 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 # Hide heading bug 10 secs after change
var vhdg_bug = getprop("it-autoflight/input/hdg") or 0; var vhdg_bug = getprop("/it-autoflight/input/hdg") or 0;
var hdg_bug_active = getprop("it-autoflight/custom/show-hdg"); var hdg_bug_active = getprop("/it-autoflight/custom/show-hdg");
if (hdg_bug_active == nil) if (hdg_bug_active == nil)
hdg_bug_active = 1; hdg_bug_active = 1;
@ -445,31 +445,31 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
var vorheading = userHdgTru; var vorheading = userHdgTru;
var adfheading = userHdgMag; var adfheading = userHdgMag;
} }
if (getprop("instrumentation/nav[2]/heading-deg") != nil) { if (getprop("/instrumentation/nav[2]/heading-deg") != nil) {
var nav0hdg = getprop("instrumentation/nav[2]/heading-deg") - getprop("orientation/heading-deg"); var nav0hdg = getprop("/instrumentation/nav[2]/heading-deg") - getprop("orientation/heading-deg");
} else { } else {
var nav0hdg = 0; var nav0hdg = 0;
} }
if (getprop("instrumentation/nav[3]/heading-deg") != nil) { if (getprop("/instrumentation/nav[3]/heading-deg") != nil) {
var nav1hdg = getprop("instrumentation/nav[3]/heading-deg") - getprop("orientation/heading-deg"); var nav1hdg = getprop("/instrumentation/nav[3]/heading-deg") - getprop("orientation/heading-deg");
} else { } else {
var nav1hdg = 0; var nav1hdg = 0;
} }
var adf0hdg = getprop("instrumentation/adf/indicated-bearing-deg"); var adf0hdg = getprop("/instrumentation/adf/indicated-bearing-deg");
var adf1hdg = getprop("instrumentation/adf[1]/indicated-bearing-deg"); var adf1hdg = getprop("/instrumentation/adf[1]/indicated-bearing-deg");
if(!me.get_switch("toggle_centered")) if(!me.get_switch("toggle_centered"))
{ {
if(me.in_mode("toggle_display_mode", ["PLAN"])) if(me.in_mode("toggle_display_mode", ["PLAN"]))
me.symbols.trkInd.hide(); me.symbols.trkInd.hide();
else else
me.symbols.trkInd.show(); 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.staArrowL.setVisible(staPtrVis);
me.symbols.staToL.setColor(0.195,0.96,0.097); me.symbols.staToL.setColor(0.195,0.96,0.097);
me.symbols.staFromL.setColor(0.195,0.96,0.097); me.symbols.staFromL.setColor(0.195,0.96,0.097);
me.symbols.staArrowL.setRotation(nav0hdg*D2R); 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.staArrowL.setVisible(staPtrVis);
me.symbols.staToL.setColor(0,0.6,0.85); me.symbols.staToL.setColor(0,0.6,0.85);
me.symbols.staFromL.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 { } else {
me.symbols.staArrowL.hide(); 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.staArrowR.setVisible(staPtrVis);
me.symbols.staToR.setColor(0.195,0.96,0.097); me.symbols.staToR.setColor(0.195,0.96,0.097);
me.symbols.staFromR.setColor(0.195,0.96,0.097); me.symbols.staFromR.setColor(0.195,0.96,0.097);
me.symbols.staArrowR.setRotation(nav1hdg*D2R); 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.staArrowR.setVisible(staPtrVis);
me.symbols.staToR.setColor(0,0.6,0.85); me.symbols.staToR.setColor(0,0.6,0.85);
me.symbols.staFromR.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); me.symbols.selHdgLine.setVisible(staPtrVis and hdg_bug_active);
} else { } else {
me.symbols.trkInd.hide(); 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.staArrowL2.setVisible(staPtrVis);
me.symbols.staFromL2.setColor(0.195,0.96,0.097); me.symbols.staFromL2.setColor(0.195,0.96,0.097);
me.symbols.staToL2.setColor(0.195,0.96,0.097); me.symbols.staToL2.setColor(0.195,0.96,0.097);
me.symbols.staArrowL2.setRotation(nav0hdg*D2R); 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.staArrowL2.setVisible(staPtrVis);
me.symbols.staFromL2.setColor(0,0.6,0.85); me.symbols.staFromL2.setColor(0,0.6,0.85);
me.symbols.staToL2.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 { } else {
me.symbols.staArrowL2.hide(); 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.staArrowR2.setVisible(staPtrVis);
me.symbols.staFromR2.setColor(0.195,0.96,0.097); me.symbols.staFromR2.setColor(0.195,0.96,0.097);
me.symbols.staToR2.setColor(0.195,0.96,0.097); me.symbols.staToR2.setColor(0.195,0.96,0.097);
me.symbols.staArrowR2.setRotation(nav1hdg*D2R); 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.staArrowR2.setVisible(staPtrVis);
me.symbols.staFromR2.setColor(0,0.6,0.85); me.symbols.staFromR2.setColor(0,0.6,0.85);
me.symbols.staToR2.setColor(0,0.6,0.85); me.symbols.staToR2.setColor(0,0.6,0.85);

View file

@ -56,7 +56,7 @@ var new = func(layer) {
layer.searcher._equals = func(a,b) a.equals(b); layer.searcher._equals = func(a,b) a.equals(b);
var driver = opt_member(m.layer.options, 'route_driver'); var driver = opt_member(m.layer.options, 'route_driver');
if(driver == nil){ if(driver == nil){
driver = RouteDriver.new(); driver = A3XXRouteDriver.new();
} }
var driver_listeners = driver.getListeners(); var driver_listeners = driver.getListeners();
foreach(var listener; driver_listeners){ foreach(var listener; driver_listeners){

View file

@ -632,7 +632,7 @@ canvas.NDStyles["Airbus"] = {
update_on: ["toggle_display_mode"], update_on: ["toggle_display_mode"],
predicate: func(nd, layer){ predicate: func(nd, layer){
var map_mode = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]); 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); var visible = (map_mode and debug_actv);
layer.group.setVisible( visible ); layer.group.setVisible( visible );
if (visible) { if (visible) {
@ -676,7 +676,7 @@ canvas.NDStyles["Airbus"] = {
id: "taOnly", # the SVG ID id: "taOnly", # the SVG ID
impl: { # implementation hash impl: { # implementation hash
init: func(nd, symbol), # for updateCenter stuff, called during initialization in the ctor 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_true: func(nd) nd.symbols.taOnly.show(), # if true, run this
is_false: func(nd) nd.symbols.taOnly.hide(), # if false, run this is_false: func(nd) nd.symbols.taOnly.hide(), # if false, run this
}, # end of taOnly behavior/callbacks }, # end of taOnly behavior/callbacks
@ -687,7 +687,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) nd.aircraft_source.get_spd() > 100, predicate: func(nd) nd.aircraft_source.get_spd() > 100,
is_true: func(nd) { 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(); nd.symbols.tas.show();
}, },
is_false: func(nd) nd.symbols.tas.hide(), is_false: func(nd) nd.symbols.tas.hide(),
@ -741,7 +741,7 @@ canvas.NDStyles["Airbus"] = {
impl: { impl: {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and 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"]), nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
is_true: func(nd) { is_true: func(nd) {
nd.symbols.wpActiveId.setText(getprop("/FMGC/flightplan[2]/current-leg")); nd.symbols.wpActiveId.setText(getprop("/FMGC/flightplan[2]/current-leg"));
@ -755,10 +755,10 @@ canvas.NDStyles["Airbus"] = {
impl: { impl: {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and 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"]), nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
is_true: func(nd) { 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")) { if (nd.get_switch("toggle_true_north")) {
var deg = math.round(getprop("/FMGC/flightplan[2]/current-leg-course")); var deg = math.round(getprop("/FMGC/flightplan[2]/current-leg-course"));
} else { } else {
@ -775,7 +775,7 @@ canvas.NDStyles["Airbus"] = {
impl: { impl: {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and 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"]), nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
is_true: func(nd) { is_true: func(nd) {
var dst = getprop("/FMGC/flightplan[2]/current-leg-dist"); var dst = getprop("/FMGC/flightplan[2]/current-leg-dist");
@ -789,7 +789,7 @@ canvas.NDStyles["Airbus"] = {
id: "wpActiveDistLbl", id: "wpActiveDistLbl",
impl: { impl: {
init: func(nd,symbol), 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) { is_true: func(nd) {
nd.symbols.wpActiveDistLbl.show(); nd.symbols.wpActiveDistLbl.show();
if(getprop("/FMGC/flightplan[2]/current-leg-dist") > 1000) if(getprop("/FMGC/flightplan[2]/current-leg-dist") > 1000)
@ -802,10 +802,10 @@ canvas.NDStyles["Airbus"] = {
id: "eta", id: "eta",
impl: { impl: {
init: func(nd,symbol), 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) { is_true: func(nd) {
var etaSec = getprop("sim/time/utc/day-seconds")+ var etaSec = getprop("/sim/time/utc/day-seconds")+
getprop("autopilot/route-manager/wp/eta-seconds"); getprop("/autopilot/route-manager/wp/eta-seconds");
var h = math.floor(etaSec/3600); var h = math.floor(etaSec/3600);
etaSec = etaSec-3600*h; etaSec = etaSec-3600*h;
var m = math.floor(etaSec/60); var m = math.floor(etaSec/60);
@ -1182,9 +1182,9 @@ canvas.NDStyles["Airbus"] = {
is_true: func(nd) { is_true: func(nd) {
nd.symbols.vorCrsPtr.show(); nd.symbols.vorCrsPtr.show();
if (is_ils) { 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 { } 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 type = (is_ils ? "ils" : "vor");
var path = nd.get_nav_path(type, 0); var path = nd.get_nav_path(type, 0);
if (is_ils) { 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 { } 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"); var line = nd.symbols.vorCrsPtr2.getElementById("vorCrsPtr2_line");
if(!is_ils){ if(!is_ils){
@ -1224,8 +1224,8 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) nd.in_mode("toggle_display_mode", ["APP"]), predicate: func(nd) nd.in_mode("toggle_display_mode", ["APP"]),
is_true: func(nd) { is_true: func(nd) {
if(getprop("instrumentation/nav/gs-needle-deflection-norm") != nil) if(getprop("/instrumentation/nav/gs-needle-deflection-norm") != nil)
nd.symbols.gsDiamond.setTranslation(getprop("instrumentation/nav[0]/gs-needle-deflection-norm")*150,0); nd.symbols.gsDiamond.setTranslation(getprop("/instrumentation/nav[0]/gs-needle-deflection-norm")*150,0);
}, },
is_false: func(nd) nd.symbols.gsGroup.hide(), is_false: func(nd) nd.symbols.gsGroup.hide(),
}, },
@ -1234,10 +1234,10 @@ canvas.NDStyles["Airbus"] = {
id:"locPtr", id:"locPtr",
impl: { impl: {
init: func(nd,symbol), 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) { is_true: func(nd) {
nd.symbols.locPtr.show(); 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); nd.symbols.locPtr.setTranslation(deflection*150,0);
}, },
is_false: func(nd) nd.symbols.locPtr.hide(), is_false: func(nd) nd.symbols.locPtr.hide(),
@ -1286,15 +1286,15 @@ canvas.NDStyles["Airbus"] = {
impl: { impl: {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) { predicate: func(nd) {
var nav_id = getprop("instrumentation/nav/nav-id"); var nav_id = getprop("/instrumentation/nav/nav-id");
var ils_mode = getprop("flight-management/freq/ils-mode"); var ils_mode = getprop("/Flight-management/freq/ils-mode");
var has_ils = (nav_id != nil and nav_id != ""); var has_ils = (nav_id != nil and nav_id != "");
(nd.get_switch("toggle_display_mode") == "MAP" and (nd.get_switch("toggle_display_mode") == "MAP" and
!nd.get_switch("toggle_centered") and has_ils and ils_mode); !nd.get_switch("toggle_centered") and has_ils and ils_mode);
}, },
is_true: func(nd) { is_true: func(nd) {
nd.symbols.locTrkPointer.show(); 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; var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R;
nd.symbols.locTrkPointer.setRotation(rotation); nd.symbols.locTrkPointer.setRotation(rotation);
}, },
@ -1306,15 +1306,15 @@ canvas.NDStyles["Airbus"] = {
impl: { impl: {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) { predicate: func(nd) {
var nav_id = getprop("instrumentation/nav/nav-id"); var nav_id = getprop("/instrumentation/nav/nav-id");
var ils_mode = getprop("flight-management/freq/ils-mode"); var ils_mode = getprop("/Flight-management/freq/ils-mode");
var has_ils = (nav_id != nil and nav_id != ""); var has_ils = (nav_id != nil and nav_id != "");
(nd.get_switch("toggle_display_mode") == "MAP" and (nd.get_switch("toggle_display_mode") == "MAP" and
nd.get_switch("toggle_centered") and has_ils and ils_mode); nd.get_switch("toggle_centered") and has_ils and ils_mode);
}, },
is_true: func(nd) { is_true: func(nd) {
nd.symbols.locTrkPointer2.show(); 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; var rotation = (crs - nd.aircraft_source.get_hdg_tru())*D2R;
nd.symbols.locTrkPointer2.setRotation(rotation); nd.symbols.locTrkPointer2.setRotation(rotation);
}, },
@ -1365,7 +1365,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) { predicate: func(nd) {
var path = nd.get_nav_path("vor", 0); 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) { is_true: func(nd) {
if(nd.get_switch("toggle_lh_vor_adf") < 0){ if(nd.get_switch("toggle_lh_vor_adf") < 0){
@ -1390,7 +1390,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) { predicate: func(nd) {
var path = nd.get_nav_path("vor", 1); 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) { is_true: func(nd) {
if(nd.get_switch("toggle_rh_vor_adf") < 0){ if(nd.get_switch("toggle_rh_vor_adf") < 0){
@ -1415,7 +1415,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) { predicate: func(nd) {
var path = nd.get_nav_path("vor", 0); 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) { is_true: func(nd) {
if(nd.get_switch("toggle_lh_vor_adf") < 0){ if(nd.get_switch("toggle_lh_vor_adf") < 0){
@ -1440,7 +1440,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) { predicate: func(nd) {
var path = nd.get_nav_path("vor", 1); 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) { is_true: func(nd) {
if(nd.get_switch("toggle_rh_vor_adf") < 0){ if(nd.get_switch("toggle_rh_vor_adf") < 0){
@ -1691,7 +1691,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")),
is_true: func(nd){ 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 lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
var managed_v = nd.options.defaults.managed_val; var managed_v = nd.options.defaults.managed_val;
var is_managed = (lat_ctrl == managed_v); var is_managed = (lat_ctrl == managed_v);
@ -1699,7 +1699,7 @@ canvas.NDStyles["Airbus"] = {
if((!active or is_managed) and !toggle_xtrk_err){ if((!active or is_managed) and !toggle_xtrk_err){
nd.symbols.legDistL.hide(); nd.symbols.legDistL.hide();
} else { } 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){ if(dist == nil or dist == "" or dist > -0.1){
nd.symbols.legDistL.hide(); nd.symbols.legDistL.hide();
} else { } else {
@ -1720,7 +1720,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")),
is_true: func(nd){ 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 lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
var managed_v = nd.options.defaults.managed_val; var managed_v = nd.options.defaults.managed_val;
var is_managed = (lat_ctrl == managed_v); var is_managed = (lat_ctrl == managed_v);
@ -1728,7 +1728,7 @@ canvas.NDStyles["Airbus"] = {
if((!active or is_managed) and !toggle_xtrk_err){ if((!active or is_managed) and !toggle_xtrk_err){
nd.symbols.legDistR.hide(); nd.symbols.legDistR.hide();
} else { } 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){ if(dist == nil or dist == "" or dist < 0.1){
nd.symbols.legDistR.hide(); nd.symbols.legDistR.hide();
} else { } else {
@ -1749,7 +1749,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")),
is_true: func(nd){ 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 lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
var managed_v = nd.options.defaults.managed_val; var managed_v = nd.options.defaults.managed_val;
var is_managed = (lat_ctrl == managed_v); var is_managed = (lat_ctrl == managed_v);
@ -1757,7 +1757,7 @@ canvas.NDStyles["Airbus"] = {
if((!active or is_managed) and !toggle_xtrk_err){ if((!active or is_managed) and !toggle_xtrk_err){
nd.symbols.legDistCtrL.hide(); nd.symbols.legDistCtrL.hide();
} else { } 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){ if(dist == nil or dist == "" or dist > -0.1){
nd.symbols.legDistCtrL.hide(); nd.symbols.legDistCtrL.hide();
} else { } else {
@ -1778,7 +1778,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")), predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")),
is_true: func(nd){ 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 lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
var managed_v = nd.options.defaults.managed_val; var managed_v = nd.options.defaults.managed_val;
var is_managed = (lat_ctrl == managed_v); var is_managed = (lat_ctrl == managed_v);
@ -1786,7 +1786,7 @@ canvas.NDStyles["Airbus"] = {
if((!active or is_managed) and !toggle_xtrk_err){ if((!active or is_managed) and !toggle_xtrk_err){
nd.symbols.legDistCtrR.hide(); nd.symbols.legDistCtrR.hide();
} else { } 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){ if(dist == nil or dist == "" or dist < 0.1){
nd.symbols.legDistCtrR.hide(); nd.symbols.legDistCtrR.hide();
} else { } else {
@ -1807,7 +1807,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol), init: func(nd,symbol),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])), predicate: func(nd) (nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])),
is_true: func(nd){ 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 lat_ctrl = getprop(nd.options.defaults.lat_ctrl);
var managed_v = nd.options.defaults.managed_val; var managed_v = nd.options.defaults.managed_val;
var is_managed = (lat_ctrl == managed_v); var is_managed = (lat_ctrl == managed_v);

View file

@ -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 vr_set = props.globals.getNode("/FMGC/internal/vr-set", 1);
var v2 = props.globals.getNode("/FMGC/internal/v2", 1); var v2 = props.globals.getNode("/FMGC/internal/v2", 1);
var v2_set = props.globals.getNode("/FMGC/internal/v2-set", 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 hundredAbove = props.globals.getNode("/instrumentation/pfd/hundred-above", 1);
var minimum = props.globals.getNode("/instrumentation/pfd/minimums", 1); var minimum = props.globals.getNode("/instrumentation/pfd/minimums", 1);
@ -219,14 +219,14 @@ var canvas_PFD_base = {
return me; return me;
}, },
getKeys: func() { 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", 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_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_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_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", "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",
"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", "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",
"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", "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",
"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", "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",
"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", "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",
"ground","ground_ref"]; "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() { updateDu1: func() {
var elapsedtime_act = elapsedtime.getValue(); var elapsedtime_act = elapsedtime.getValue();
@ -962,7 +962,7 @@ var canvas_PFD_base = {
me["HDG_target"].hide(); 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()); split_ils = split("/", ils_data1.getValue());
if (ap_ils_mode.getValue() == 1 and size(split_ils) == 2) { 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 (managed_spd.getValue() == 1) {
if (getprop("/FMGC/internal/decel") == 1) { if (getprop("/FMGC/internal/decel") == 1) {
vapp = getprop("/FMGC/internal/computed-speeds/vapp"); vapp = getprop("/FMGC/internal/computed-speeds/vapp");
@ -1264,10 +1268,6 @@ var canvas_PFD_1 = {
clean = getprop("/FMGC/internal/computed-speeds/clean"); clean = getprop("/FMGC/internal/computed-speeds/clean");
tgt_ias = clean; tgt_ias = clean;
tgt_kts = 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); 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_digit_DN"].setColor(0.6901,0.3333,0.7450);
me["ASI_decimal_DN"].setColor(0.6901,0.3333,0.7450); me["ASI_decimal_DN"].setColor(0.6901,0.3333,0.7450);
} else { } 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_target"].setColor(0.0901,0.6039,0.7176);
me["ASI_digit_UP"].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); 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 (managed_spd.getValue() == 1) {
if (getprop("/FMGC/internal/decel") == 1) { if (getprop("/FMGC/internal/decel") == 1) {
vapp = getprop("/FMGC/internal/computed-speeds/vapp"); vapp = getprop("/FMGC/internal/computed-speeds/vapp");
@ -2002,10 +2002,6 @@ var canvas_PFD_2 = {
clean = getprop("/FMGC/internal/computed-speeds/clean"); clean = getprop("/FMGC/internal/computed-speeds/clean");
tgt_ias = clean; tgt_ias = clean;
tgt_kts = 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); 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_digit_DN"].setColor(0.6901,0.3333,0.7450);
me["ASI_decimal_DN"].setColor(0.6901,0.3333,0.7450); me["ASI_decimal_DN"].setColor(0.6901,0.3333,0.7450);
} else { } 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_target"].setColor(0.0901,0.6039,0.7176);
me["ASI_digit_UP"].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); me["ASI_decimal_UP"].setColor(0.0901,0.6039,0.7176);

View file

@ -31,12 +31,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>pfd1.screen</object-name> <object-name>pfd1.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
</PropertyList> </PropertyList>

View file

@ -31,12 +31,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>pfd2.screen</object-name> <object-name>pfd2.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
</PropertyList> </PropertyList>

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 362 KiB

After

Width:  |  Height:  |  Size: 366 KiB

View file

@ -13,6 +13,8 @@ var rightmsg = "XX";
# Conversion factor pounds to kilogram # Conversion factor pounds to kilogram
LBS2KGS = 0.4535924; LBS2KGS = 0.4535924;
var flapsPos = 0;
# Create Nodes: # Create Nodes:
var fuel_1 = props.globals.initNode("/engines/engine[0]/fuel-flow_actual", 0); 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); 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 eng2_eprmode = props.globals.getNode("/systems/fadec/eng2/epr", 1);
var eng1_n2mode = props.globals.getNode("/systems/fadec/eng1/n2", 1); var eng1_n2mode = props.globals.getNode("/systems/fadec/eng1/n2", 1);
var eng2_n2mode = props.globals.getNode("/systems/fadec/eng2/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 fuel = props.globals.getNode("/consumables/fuel/total-fuel-lbs", 1);
var modeautobrake = props.globals.getNode("/controls/autobrake/mode", 1); var modeautobrake = props.globals.getNode("/controls/autobrake/mode", 1);
var speedbrakearm = props.globals.getNode("/controls/flight/speedbrake-arm", 1); var speedbrakearm = props.globals.getNode("/controls/flight/speedbrake-arm", 1);
@ -232,9 +232,22 @@ var canvas_upperECAM_base = {
} }
# Flap Indicator # 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(); me["FlapDots"].show();
} else { } else {
me["FlapDots"].hide(); me["FlapDots"].hide();
@ -397,7 +410,7 @@ var canvas_upperECAM_base = {
me["TO_Spoilers_B"].show(); 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"].setText("FLAPS T.O");
me["TO_Flaps_B"].hide(); me["TO_Flaps_B"].hide();
} else { } else {
@ -442,12 +455,11 @@ var canvas_upperECAM_base = {
} }
flaps3 = flaps3_ovr.getValue(); flaps3 = flaps3_ovr.getValue();
flaps_position = flap_pos.getValue(); if (flaps3 != 1 and flapsPos == 5) {
if (flaps3 != 1 and flaps_position == 5) {
me["LDG_Flaps"].setText("FLAPS FULL"); me["LDG_Flaps"].setText("FLAPS FULL");
me["LDG_Flaps_B"].hide(); me["LDG_Flaps_B"].hide();
me["LDG_Flaps_B3"].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"].setText("FLAPS 3");
me["LDG_Flaps_B"].hide(); me["LDG_Flaps_B"].hide();
me["LDG_Flaps_B3"].hide(); me["LDG_Flaps_B3"].hide();

View file

@ -31,12 +31,8 @@
</animation> </animation>
<effect> <effect>
<inherits-from>Effects/model-interior-display</inherits-from> <inherits-from>Aircraft/A320-family/Models/Effects/display</inherits-from>
<object-name>uecam.screen</object-name> <object-name>uecam.screen</object-name>
<parameters>
<contrast>0.7</contrast>
<dirt-factor><use>/maintainance/cockpit-cleaness-factor</use></dirt-factor>
</parameters>
</effect> </effect>
</PropertyList> </PropertyList>

View file

@ -86,7 +86,7 @@ var messages_priority_3 = func {
} }
# FCTL FLAPS NOT ZERO # 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; flap_not_zero.active = 1;
} else { } else {
ECAM_controller.warningReset(flap_not_zero); ECAM_controller.warningReset(flap_not_zero);
@ -697,7 +697,7 @@ var messages_priority_3 = func {
} }
# CONFIG # 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.active = 1;
slats_config_1.active = 1; slats_config_1.active = 1;
} else { } else {
@ -705,7 +705,7 @@ var messages_priority_3 = func {
ECAM_controller.warningReset(slats_config_1); 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.active = 1;
flaps_config_1.active = 1; flaps_config_1.active = 1;
} else { } else {
@ -1324,7 +1324,7 @@ var messages_priority_0 = func {
var messages_config_memo = func { var messages_config_memo = func {
phaseVar = phaseNode.getValue(); 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); setprop("ECAM/to-config-normal", 0);
} else { } else {
setprop("ECAM/to-config-normal", 1); setprop("ECAM/to-config-normal", 1);
@ -1366,7 +1366,7 @@ var messages_config_memo = func {
toMemoLine3.colour = "c"; 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.msg = " FLAPS T.O";
toMemoLine4.colour = "g"; toMemoLine4.colour = "g";
} else { } 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("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.msg = " FLAPS CONF 3";
ldgMemoLine4.colour = "g"; ldgMemoLine4.colour = "g";
} else { } else {
@ -1441,7 +1441,7 @@ var messages_config_memo = func {
ldgMemoLine4.colour = "c"; ldgMemoLine4.colour = "c";
} }
} else { } else {
if (getprop("controls/flight/flap-pos") == 5) { if (getprop("controls/flight/flaps-pos") == 5) {
ldgMemoLine4.msg = " FLAPS FULL"; ldgMemoLine4.msg = " FLAPS FULL";
ldgMemoLine4.colour = "g"; ldgMemoLine4.colour = "g";
} else { } else {

View file

@ -150,7 +150,7 @@ setlistener("/gear/gear[0]/wow-fmgc", func {
var trimReset = func { var trimReset = func {
gear0 = getprop("/gear/gear[0]/wow"); 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))) { 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); interpolate("/controls/flight/elevator-trim", 0.0, 1.5);
} }
@ -347,7 +347,7 @@ var updateFuel = func {
var masterFMGC = maketimer(0.2, func { var masterFMGC = maketimer(0.2, func {
n1_left = getprop("/engines/engine[0]/n1-actual"); n1_left = getprop("/engines/engine[0]/n1-actual");
n1_right = getprop("/engines/engine[1]/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"); modelat = getprop("/modes/pfd/fma/roll-mode");
mode = getprop("/modes/pfd/fma/pitch-mode"); mode = getprop("/modes/pfd/fma/pitch-mode");
modeI = getprop("/it-autoflight/mode/vert"); modeI = getprop("/it-autoflight/mode/vert");
@ -448,7 +448,7 @@ var masterFMGC = maketimer(0.2, func {
} }
# calculate speeds # calculate speeds
flap = getprop("/controls/flight/flap-pos"); flap = getprop("/controls/flight/flaps-pos");
weight_lbs = getprop("/fdm/jsbsim/inertia/weight-lbs") / 1000; weight_lbs = getprop("/fdm/jsbsim/inertia/weight-lbs") / 1000;
tow = getprop("/FMGC/internal/tow"); tow = getprop("/FMGC/internal/tow");
lw = getprop("/FMGC/internal/lw"); lw = getprop("/FMGC/internal/lw");
@ -837,7 +837,7 @@ var ManagedSPD = maketimer(0.25, func {
mach_sel = getprop("/it-autoflight/input/spd-mach"); mach_sel = getprop("/it-autoflight/input/spd-mach");
srsSPD = getprop("/it-autoflight/settings/togaspd"); 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 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"); maxspeed = getprop("/FMGC/internal/maxspeed");
minspeed = getprop("/FMGC/internal/minspeed"); minspeed = getprop("/FMGC/internal/minspeed");
mach_switchover = getprop("/FMGC/internal/mach-switchover"); mach_switchover = getprop("/FMGC/internal/mach-switchover");

View file

@ -7,33 +7,33 @@ print("------------------------------------------------");
print("Copyright (c) 2016-2020 Josh Davidson (Octal450)"); print("Copyright (c) 2016-2020 Josh Davidson (Octal450)");
print("------------------------------------------------"); 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[0]/item[0]/enabled", 0);
setprop("sim/menubar/default/menu[2]/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[2]/item[2]/enabled", 0);
setprop("sim/menubar/default/menu[3]/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[9]/enabled", 0);
setprop("sim/menubar/default/menu[5]/item[10]/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[5]/item[11]/enabled", 0);
# Dimmers # Dimmers
setprop("controls/lighting/ndl-norm", 1); setprop("/controls/lighting/ndl-norm", 1);
setprop("controls/lighting/ndr-norm", 1); setprop("/controls/lighting/ndr-norm", 1);
setprop("controls/lighting/upper-norm", 1); setprop("/controls/lighting/upper-norm", 1);
# Lights # Lights
setprop("sim/model/lights/nose-lights", 0); setprop("/sim/model/lights/nose-lights", 0);
setprop("sim/model/lights/turnoffsw", 0); setprop("/sim/model/lights/turnoffsw", 0);
setprop("controls/lighting/turnoff-light-switch", 0); setprop("/controls/lighting/turnoff-light-switch", 0);
setprop("controls/lighting/leftturnoff", 0); setprop("/controls/lighting/leftturnoff", 0);
setprop("controls/lighting/rightturnoff", 0); setprop("/controls/lighting/rightturnoff", 0);
# Oil Qty # Oil Qty
var qty1 = math.round((rand() * 5 ) + 20, 0.1); var qty1 = math.round((rand() * 5 ) + 20, 0.1);
var qty2 = 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[0]/oil-qt-actual", qty1);
setprop("engines/engine[1]/oil-qt-actual", qty2); setprop("/engines/engine[1]/oil-qt-actual", qty2);
########## ##########
# Lights # # 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_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 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 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 nav_lights = props.globals.getNode("sim/model/lights/nav-lights");
var wing_switch = props.globals.getNode("controls/switches/wing-lights", 1); var wing_switch = props.globals.getNode("controls/switches/wing-lights", 1);
var wing_ctl = props.globals.getNode("controls/lighting/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 dome_light = props.globals.initNode("/sim/model/lights/dome-light", 0.0, "DOUBLE");
var wow = getprop("gear/gear[2]/wow"); var wow = getprop("/gear/gear[2]/wow");
var slats = getprop("controls/flight/slats"); var slats = getprop("/controls/flight/slats");
var gear = getprop("gear/gear[0]/position-norm"); var gear = getprop("/gear/gear[0]/position-norm");
var nose_lights = getprop("sim/model/lights/nose-lights"); var nose_lights = getprop("/sim/model/lights/nose-lights");
var left_turnoff_light = props.globals.getNode("controls/lighting/leftturnoff"); var left_turnoff_light = props.globals.getNode("controls/lighting/leftturnoff");
var right_turnoff_light = props.globals.getNode("controls/lighting/rightturnoff"); var right_turnoff_light = props.globals.getNode("controls/lighting/rightturnoff");
var settingT = getprop("controls/lighting/taxi-light-switch"); var settingT = getprop("/controls/lighting/taxi-light-switch");
var settingTurnoff = getprop("controls/lighting/turnoff-light-switch"); var settingTurnoff = getprop("/controls/lighting/turnoff-light-switch");
var setting = getprop("controls/lighting/nav-lights-switch"); var setting = getprop("/controls/lighting/nav-lights-switch");
var domeSetting = getprop("controls/lighting/dome-norm"); var domeSetting = getprop("/controls/lighting/dome-norm");
var landL = props.globals.getNode("controls/lighting/landing-lights[1]", 1); var landL = props.globals.getNode("controls/lighting/landing-lights[1]", 1);
var landR = props.globals.getNode("controls/lighting/landing-lights[2]", 1); var landR = props.globals.getNode("controls/lighting/landing-lights[2]", 1);
var landlSw = props.globals.getNode("controls/switches/landing-lights-l", 1); var landlSw = props.globals.getNode("controls/switches/landing-lights-l", 1);
@ -78,7 +78,7 @@ aircraft.rain.init();
########## ##########
setlistener("/sim/sounde/btn1", func { setlistener("/sim/sounde/btn1", func {
if (!getprop("sim/sounde/btn1")) { if (!getprop("/sim/sounde/btn1")) {
return; return;
} }
settimer(func { settimer(func {
@ -87,7 +87,7 @@ setlistener("/sim/sounde/btn1", func {
}); });
setlistener("/sim/sounde/oh-btn", func { setlistener("/sim/sounde/oh-btn", func {
if (!getprop("sim/sounde/oh-btn")) { if (!getprop("/sim/sounde/oh-btn")) {
return; return;
} }
settimer(func { settimer(func {
@ -96,7 +96,7 @@ setlistener("/sim/sounde/oh-btn", func {
}); });
setlistener("/sim/sounde/btn3", func { setlistener("/sim/sounde/btn3", func {
if (!getprop("sim/sounde/btn3")) { if (!getprop("/sim/sounde/btn3")) {
return; return;
} }
settimer(func { settimer(func {
@ -105,7 +105,7 @@ setlistener("/sim/sounde/btn3", func {
}); });
setlistener("/sim/sounde/knb1", func { setlistener("/sim/sounde/knb1", func {
if (!getprop("sim/sounde/knb1")) { if (!getprop("/sim/sounde/knb1")) {
return; return;
} }
settimer(func { settimer(func {
@ -114,7 +114,7 @@ setlistener("/sim/sounde/knb1", func {
}); });
setlistener("/sim/sounde/switch1", func { setlistener("/sim/sounde/switch1", func {
if (!getprop("sim/sounde/switch1")) { if (!getprop("/sim/sounde/switch1")) {
return; return;
} }
settimer(func { settimer(func {
@ -136,12 +136,12 @@ setlistener("/controls/lighting/no-smoking-sign", func {
}, 1); }, 1);
}, 0, 0); }, 0, 0);
setlistener("/controls/flight/flap-lever", func { setlistener("/controls/flight/flaps-input", func {
props.globals.getNode("sim/sounde/flaps-click").setBoolValue(1); props.globals.getNode("sim/sounde/flaps-click").setBoolValue(1);
}, 0, 0); }, 0, 0);
setlistener("/sim/sounde/flaps-click", func { setlistener("/sim/sounde/flaps-click", func {
if (!getprop("sim/sounde/flaps-click")) { if (!getprop("/sim/sounde/flaps-click")) {
return; return;
} }
settimer(func { settimer(func {
@ -176,11 +176,11 @@ var armrests = aircraft.door.new("/sim/model/door-positions/armrests", 2);
# door opener/closer # door opener/closer
var triggerDoor = func(door, doorName, doorDesc) { 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"); gui.popupTip("Closing " ~ doorDesc ~ " door");
door.toggle(); door.toggle();
} else { } 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!"); gui.popupTip("You cannot open the doors while the aircraft is moving!");
} else { } else {
gui.popupTip("Opening " ~ doorDesc ~ " door"); gui.popupTip("Opening " ~ doorDesc ~ " door");
@ -244,56 +244,56 @@ var systemsLoop = maketimer(0.1, func {
systems.APUController.loop(); systems.APUController.loop();
systems.HFLoop(); 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))) { 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/electrical/ground-cart", 0);
setprop("controls/pneumatic/switches/groundair", 0); setprop("/controls/pneumatic/switches/groundair", 0);
} }
if (getprop("velocities/groundspeed-kt") > 15) { if (getprop("/velocities/groundspeed-kt") > 15) {
setprop("systems/shake/effect", 1); setprop("/systems/shake/effect", 1);
} else { } 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)) { 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); setprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap-override", 1);
} else { } 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) { if (getprop("/instrumentation/mk-viii/inputs/discretes/gpws-inhibit") == 1) {
setprop("instrumentation/mk-viii/speaker/volume", 0); setprop("/instrumentation/mk-viii/speaker/volume", 0);
} else { } 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) { if (getprop("/engines/engine[0]/state") == 3 and getprop("/engines/engine[1]/state") == 3) {
setprop("engines/ready", 1); setprop("/engines/ready", 1);
} else { } 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(); 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(); systems.cutoff_two();
} }
if (getprop("sim/replay/replay-state") == 1) { if (getprop("/sim/replay/replay-state") == 1) {
setprop("sim/replay/was-active", 1); setprop("/sim/replay/was-active", 1);
} else if (getprop("sim/replay/replay-state") == 0 and getprop("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); setprop("/sim/replay/was-active", 0);
acconfig.colddark(); acconfig.colddark();
gui.popupTip("Replay Ended: Setting Cold and Dark state..."); gui.popupTip("Replay Ended: Setting Cold and Dark state...");
} }
}); });
setlistener("/options/steep-ils", func { setlistener("/options/steep-ils", func {
if (getprop("options/steep-ils") == 1) { if (getprop("/options/steep-ils") == 1) {
setprop("instrumentation/mk-viii/inputs/discretes/steep-approach", 1); setprop("/instrumentation/mk-viii/inputs/discretes/steep-approach", 1);
} else { } 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); 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) { controls.stepSpoilers = func(step) {
setprop("controls/flight/speedbrake-arm", 0); setprop("/controls/flight/speedbrake-arm", 0);
if (step == 1) { if (step == 1) {
deploySpeedbrake(); deploySpeedbrake();
} else if (step == -1) { } else if (step == -1) {
@ -442,100 +330,128 @@ controls.stepSpoilers = func(step) {
} }
var deploySpeedbrake = func { var deploySpeedbrake = func {
if (getprop("gear/gear[1]/wow") == 1 or getprop("gear/gear[2]/wow") == 1) { if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) {
if (getprop("controls/flight/speedbrake") < 1.0) { if (getprop("/controls/flight/speedbrake") < 1.0) {
setprop("controls/flight/speedbrake", 1.0); setprop("/controls/flight/speedbrake", 1.0);
} }
} else { } else {
if (getprop("controls/flight/speedbrake") < 0.5) { if (getprop("/controls/flight/speedbrake") < 0.5) {
setprop("controls/flight/speedbrake", 0.5); setprop("/controls/flight/speedbrake", 0.5);
} else if (getprop("controls/flight/speedbrake") < 1.0) { } else if (getprop("/controls/flight/speedbrake") < 1.0) {
setprop("controls/flight/speedbrake", 1.0); setprop("/controls/flight/speedbrake", 1.0);
} }
} }
} }
var retractSpeedbrake = func { var retractSpeedbrake = func {
if (getprop("gear/gear[1]/wow") == 1 or getprop("gear/gear[2]/wow") == 1) { if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) {
if (getprop("controls/flight/speedbrake") > 0.0) { if (getprop("/controls/flight/speedbrake") > 0.0) {
setprop("controls/flight/speedbrake", 0.0); setprop("/controls/flight/speedbrake", 0.0);
} }
} else { } else {
if (getprop("controls/flight/speedbrake") > 0.5) { if (getprop("/controls/flight/speedbrake") > 0.5) {
setprop("controls/flight/speedbrake", 0.5); setprop("/controls/flight/speedbrake", 0.5);
} else if (getprop("controls/flight/speedbrake") > 0.0) { } else if (getprop("/controls/flight/speedbrake") > 0.0) {
setprop("controls/flight/speedbrake", 0.0); setprop("/controls/flight/speedbrake", 0.0);
} }
} }
} }
var slewProp = func(prop, delta) { var slewProp = func(prop, delta) {
delta *= getprop("sim/time/delta-realtime-sec"); delta *= getprop("/sim/time/delta-realtime-sec");
setprop(prop, getprop(prop) + delta); setprop(prop, getprop(prop) + delta);
return getprop(prop); 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) { controls.elevatorTrim = func(speed) {
if (getprop("systems/hydraulic/green-psi") >= 1500) { if (getprop("/systems/hydraulic/green-psi") >= 1500) {
slewProp("/controls/flight/elevator-trim", speed * 0.045); 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 { setlistener("/controls/flight/elevator-trim", func {
if (getprop("controls/flight/elevator-trim") > 0.32) { if (getprop("/controls/flight/elevator-trim") > 0.296296) {
setprop("controls/flight/elevator-trim", 0.32); setprop("/controls/flight/elevator-trim", 0.296296);
} }
}); });
var lightsLoop = maketimer(0.2, func { var lightsLoop = maketimer(0.2, func {
gear = getprop("gear/gear[0]/position-norm"); gear = getprop("/gear/gear[0]/position-norm");
nose_lights = getprop("sim/model/lights/nose-lights"); nose_lights = getprop("/sim/model/lights/nose-lights");
settingT = getprop("controls/lighting/taxi-light-switch"); settingT = getprop("/controls/lighting/taxi-light-switch");
domeSetting = getprop("controls/lighting/dome-norm"); domeSetting = getprop("/controls/lighting/dome-norm");
# nose lights # 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)) { 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); 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)) { } 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); setprop("/sim/model/lights/nose-lights", 1);
} else { } else {
setprop("sim/model/lights/nose-lights", 0); setprop("/sim/model/lights/nose-lights", 0);
} }
# turnoff lights # 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"); left_turnoff_light = props.globals.getNode("controls/lighting/leftturnoff");
right_turnoff_light = props.globals.getNode("controls/lighting/rightturnoff"); 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); left_turnoff_light.setBoolValue(1);
} else { } else {
left_turnoff_light.setBoolValue(0); 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); right_turnoff_light.setBoolValue(1);
} else { } else {
right_turnoff_light.setBoolValue(0); right_turnoff_light.setBoolValue(0);
} }
# logo and navigation lights # 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"); nav_lights = props.globals.getNode("sim/model/lights/nav-lights");
logo_lights = props.globals.getNode("sim/model/lights/logo-lights"); logo_lights = props.globals.getNode("sim/model/lights/logo-lights");
wow = getprop("gear/gear[2]/wow"); wow = getprop("/gear/gear[2]/wow");
slats = getprop("controls/flight/slats"); 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) { 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); setprop("/systems/electrical/nav-lights-power", 1);
} else { } else {
setprop("systems/electrical/nav-lights-power", 0); setprop("/systems/electrical/nav-lights-power", 0);
} }
if (setting == 0 and logo_lights == 1) { if (setting == 0 and logo_lights == 1) {
logo_lights.setBoolValue(0); 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)) { if ((wow) or (!wow and slats > 0)) {
logo_lights.setBoolValue(1); logo_lights.setBoolValue(1);
} else { } else {
@ -545,15 +461,15 @@ var lightsLoop = maketimer(0.2, func {
logo_lights.setBoolValue(0); 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); nav_lights.setBoolValue(1);
} else { } else {
nav_lights.setBoolValue(0); 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); 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); dome_light.setValue(1);
} else { } else {
dome_light.setValue(0); dome_light.setValue(0);
@ -562,9 +478,9 @@ var lightsLoop = maketimer(0.2, func {
# strobe # strobe
strobe_sw = strobe_switch.getValue(); 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); 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 # todo: use lgciu output 5
strobe_light.setValue(1); strobe_light.setValue(1);
} else { } else {
@ -573,7 +489,7 @@ var lightsLoop = maketimer(0.2, func {
# beacon # 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); beacon_ctl.setValue(1);
} else { } else {
beacon_ctl.setValue(0); beacon_ctl.setValue(0);
@ -581,7 +497,7 @@ var lightsLoop = maketimer(0.2, func {
# wing # 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); wing_ctl.setValue(1);
} else { } else {
wing_ctl.setValue(0); wing_ctl.setValue(0);
@ -589,13 +505,13 @@ var lightsLoop = maketimer(0.2, func {
# landL # 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); landL.setValue(1);
} else { } else {
landL.setValue(0); 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); landR.setValue(1);
} else { } else {
landR.setValue(0); landR.setValue(0);
@ -603,48 +519,48 @@ var lightsLoop = maketimer(0.2, func {
# signs # signs
if (getprop("systems/pressurization/cabinalt-norm") > 11300) { if (getprop("/systems/pressurization/cabinalt-norm") > 11300) {
setprop("controls/lighting/seatbelt-sign", 1); setprop("/controls/lighting/seatbelt-sign", 1);
setprop("controls/lighting/no-smoking-sign", 1); setprop("/controls/lighting/no-smoking-sign", 1);
} else { } else {
if (getprop("controls/switches/seatbelt-sign") == 1) { if (getprop("/controls/switches/seatbelt-sign") == 1) {
if (getprop("controls/lighting/seatbelt-sign") == 0) { if (getprop("/controls/lighting/seatbelt-sign") == 0) {
setprop("controls/lighting/seatbelt-sign", 1); setprop("/controls/lighting/seatbelt-sign", 1);
} }
} elsif (getprop("controls/switches/seatbelt-sign") == 0) { } elsif (getprop("/controls/switches/seatbelt-sign") == 0) {
if (getprop("controls/lighting/seatbelt-sign") == 1) { if (getprop("/controls/lighting/seatbelt-sign") == 1) {
setprop("controls/lighting/seatbelt-sign", 0); setprop("/controls/lighting/seatbelt-sign", 0);
} }
} }
if (getprop("controls/switches/no-smoking-sign") == 1) { if (getprop("/controls/switches/no-smoking-sign") == 1) {
if (getprop("controls/lighting/no-smoking-sign") == 0) { if (getprop("/controls/lighting/no-smoking-sign") == 0) {
setprop("controls/lighting/no-smoking-sign", 1); 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 } 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) { if (getprop("/controls/lighting/no-smoking-sign") == 0) {
setprop("controls/lighting/no-smoking-sign", 1); setprop("/controls/lighting/no-smoking-sign", 1);
} }
} else { } 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) { if (getprop("/controls/lighting/landing-lights[1]") >= 0.5) {
setprop("fdm/jsbsim/rubbish/landL", 1); setprop("/fdm/jsbsim/rubbish/landL", 1);
} else { } else {
setprop("fdm/jsbsim/rubbish/landL", 0); setprop("/fdm/jsbsim/rubbish/landL", 0);
} }
if (getprop("controls/lighting/landing-lights[2]") >= 0.5) { if (getprop("/controls/lighting/landing-lights[2]") >= 0.5) {
setprop("fdm/jsbsim/rubbish/landR", 1); setprop("/fdm/jsbsim/rubbish/landR", 1);
} else { } else {
setprop("fdm/jsbsim/rubbish/landR", 0); setprop("/fdm/jsbsim/rubbish/landR", 0);
} }
}); });
var lTray = func { var lTray = func {
var lTrayCMD = getprop("controls/tray/lefttrayext"); var lTrayCMD = getprop("/controls/tray/lefttrayext");
if (lTrayCMD < 0.5) { if (lTrayCMD < 0.5) {
interpolate("/controls/tray/lefttrayext", 0.5, 0.5); interpolate("/controls/tray/lefttrayext", 0.5, 0.5);
} else if (lTrayCMD == 0.5) { } else if (lTrayCMD == 0.5) {
@ -655,7 +571,7 @@ var lTray = func {
} }
var rTray = func { var rTray = func {
var rTrayCMD = getprop("controls/tray/righttrayext"); var rTrayCMD = getprop("/controls/tray/righttrayext");
if (rTrayCMD < 0.5) { if (rTrayCMD < 0.5) {
interpolate("/controls/tray/righttrayext", 0.5, 0.5); interpolate("/controls/tray/righttrayext", 0.5, 0.5);
} else if (rTrayCMD == 0.5) { } else if (rTrayCMD == 0.5) {
@ -666,7 +582,7 @@ var rTray = func {
} }
var l1Pedal = func { var l1Pedal = func {
var lPedalCMD = getprop("controls/footrest-cpt[0]"); var lPedalCMD = getprop("/controls/footrest-cpt[0]");
if (lPedalCMD < 1.0) { if (lPedalCMD < 1.0) {
interpolate("/controls/footrest-cpt[0]", 1.0, 0.5); interpolate("/controls/footrest-cpt[0]", 1.0, 0.5);
} else { } else {
@ -675,7 +591,7 @@ var l1Pedal = func {
} }
var l2Pedal = func { var l2Pedal = func {
var l2PedalCMD = getprop("controls/footrest-cpt[1]"); var l2PedalCMD = getprop("/controls/footrest-cpt[1]");
if (l2PedalCMD < 1.0) { if (l2PedalCMD < 1.0) {
interpolate("/controls/footrest-cpt[1]", 1.0, 0.5); interpolate("/controls/footrest-cpt[1]", 1.0, 0.5);
} else { } else {
@ -684,7 +600,7 @@ var l2Pedal = func {
} }
var r1Pedal = func { var r1Pedal = func {
var rPedalCMD = getprop("controls/footrest-fo[0]"); var rPedalCMD = getprop("/controls/footrest-fo[0]");
if (rPedalCMD < 1.0) { if (rPedalCMD < 1.0) {
interpolate("/controls/footrest-fo[0]", 1.0, 0.5); interpolate("/controls/footrest-fo[0]", 1.0, 0.5);
} else { } else {
@ -693,7 +609,7 @@ var r1Pedal = func {
} }
var r2Pedal = func { var r2Pedal = func {
var r2PedalCMD = getprop("controls/footrest-fo[1]"); var r2PedalCMD = getprop("/controls/footrest-fo[1]");
if (r2PedalCMD < 1.0) { if (r2PedalCMD < 1.0) {
interpolate("/controls/footrest-fo[1]", 1.0, 0.5); interpolate("/controls/footrest-fo[1]", 1.0, 0.5);
} else { } else {
@ -701,13 +617,13 @@ var r2Pedal = func {
} }
} }
if (getprop("controls/flight/auto-coordination") == 1) { if (getprop("/controls/flight/auto-coordination") == 1) {
setprop("controls/flight/auto-coordination", 0); 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."); 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); 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 = { var APPanel = {
APDisc: func() { APDisc: func() {
@ -719,15 +635,15 @@ var APPanel = {
}; };
var resetView = func() { var resetView = func() {
if (getprop("sim/current-view/view-number") == 0) { if (getprop("/sim/current-view/view-number") == 0) {
if (getprop("sim/rendering/headshake/enabled")) { if (getprop("/sim/rendering/headshake/enabled")) {
var _shakeFlag = 1; var _shakeFlag = 1;
setprop("sim/rendering/headshake/enabled", 0); setprop("/sim/rendering/headshake/enabled", 0);
} else { } else {
var _shakeFlag = 0; 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; var hd_t = 360;
if (hd < 180) { if (hd < 180) {
hd_t = hd_t - 360; hd_t = hd_t - 360;
@ -742,21 +658,21 @@ var resetView = func() {
interpolate("sim/current-view/z-offset-m", -13.75, 0.66); interpolate("sim/current-view/z-offset-m", -13.75, 0.66);
if (_shakeFlag) { if (_shakeFlag) {
setprop("sim/rendering/headshake/enabled", 1); setprop("/sim/rendering/headshake/enabled", 1);
} }
} }
} }
var autopilotView = func() { var autopilotView = func() {
if (getprop("sim/current-view/view-number") == 0) { if (getprop("/sim/current-view/view-number") == 0) {
if (getprop("sim/rendering/headshake/enabled")) { if (getprop("/sim/rendering/headshake/enabled")) {
var _shakeFlag = 1; var _shakeFlag = 1;
setprop("sim/rendering/headshake/enabled", 0); setprop("/sim/rendering/headshake/enabled", 0);
} else { } else {
var _shakeFlag = 0; 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; var hd_t = 341.7;
if (hd < 180) { if (hd < 180) {
hd_t = hd_t - 360; hd_t = hd_t - 360;
@ -771,21 +687,21 @@ var autopilotView = func() {
interpolate("sim/current-view/z-offset-m", -13.75, 0.66); interpolate("sim/current-view/z-offset-m", -13.75, 0.66);
if (_shakeFlag) { if (_shakeFlag) {
setprop("sim/rendering/headshake/enabled", 1); setprop("/sim/rendering/headshake/enabled", 1);
} }
} }
} }
var overheadView = func() { var overheadView = func() {
if (getprop("sim/current-view/view-number") == 0) { if (getprop("/sim/current-view/view-number") == 0) {
if (getprop("sim/rendering/headshake/enabled")) { if (getprop("/sim/rendering/headshake/enabled")) {
var _shakeFlag = 1; var _shakeFlag = 1;
setprop("sim/rendering/headshake/enabled", 0); setprop("/sim/rendering/headshake/enabled", 0);
} else { } else {
var _shakeFlag = 0; 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; var hd_t = 348;
if (hd < 180) { if (hd < 180) {
hd_t = hd_t - 360; hd_t = hd_t - 360;
@ -800,21 +716,21 @@ var overheadView = func() {
interpolate("sim/current-view/z-offset-m", -13.75, 0.66); interpolate("sim/current-view/z-offset-m", -13.75, 0.66);
if (_shakeFlag) { if (_shakeFlag) {
setprop("sim/rendering/headshake/enabled", 1); setprop("/sim/rendering/headshake/enabled", 1);
} }
} }
} }
var pedestalView = func() { var pedestalView = func() {
if (getprop("sim/current-view/view-number") == 0) { if (getprop("/sim/current-view/view-number") == 0) {
if (getprop("sim/rendering/headshake/enabled")) { if (getprop("/sim/rendering/headshake/enabled")) {
var _shakeFlag = 1; var _shakeFlag = 1;
setprop("sim/rendering/headshake/enabled", 0); setprop("/sim/rendering/headshake/enabled", 0);
} else { } else {
var _shakeFlag = 0; 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; var hd_t = 315;
if (hd < 180) { if (hd < 180) {
hd_t = hd_t - 360; hd_t = hd_t - 360;
@ -829,21 +745,21 @@ var pedestalView = func() {
interpolate("sim/current-view/z-offset-m", -13.75, 0.66); interpolate("sim/current-view/z-offset-m", -13.75, 0.66);
if (_shakeFlag) { if (_shakeFlag) {
setprop("sim/rendering/headshake/enabled", 1); setprop("/sim/rendering/headshake/enabled", 1);
} }
} }
} }
var lightsView = func() { var lightsView = func() {
if (getprop("sim/current-view/view-number") == 0) { if (getprop("/sim/current-view/view-number") == 0) {
if (getprop("sim/rendering/headshake/enabled")) { if (getprop("/sim/rendering/headshake/enabled")) {
var _shakeFlag = 1; var _shakeFlag = 1;
setprop("sim/rendering/headshake/enabled", 0); setprop("/sim/rendering/headshake/enabled", 0);
} else { } else {
var _shakeFlag = 0; 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; var hd_t = 329;
if (hd < 180) { if (hd < 180) {
hd_t = hd_t - 360; hd_t = hd_t - 360;
@ -858,9 +774,9 @@ var lightsView = func() {
interpolate("sim/current-view/z-offset-m", -13.75, 0.66); interpolate("sim/current-view/z-offset-m", -13.75, 0.66);
if (_shakeFlag) { 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);

View file

@ -26,6 +26,9 @@ var Controls = {
}, },
Flight: { Flight: {
aileron: props.globals.getNode("/controls/flight/aileron"), 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: { Gear: {
gearDown: props.globals.getNode("/controls/gear/gear-down"), gearDown: props.globals.getNode("/controls/gear/gear-down"),

View file

@ -330,7 +330,7 @@ var arrivalPage = {
} }
me.R5 = ["CRS" ~ math.round(me._approaches[me.approaches[2 + me.scrollApproach]].heading), nil, "blu"]; 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) { 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) { if (me.approaches[2 + me.scrollApproach] != me.selectedApproach) {
me.arrowsMatrix[0][4] = 1; me.arrowsMatrix[0][4] = 1;
@ -513,7 +513,7 @@ var arrivalPage = {
if (me.activePage == 0) { if (me.activePage == 0) {
if (me.enableScrollApproach) { if (me.enableScrollApproach) {
me.scrollApproach += 1; me.scrollApproach += 1;
if (me.scrollApproach > size(me.approaches) - 4) { if (me.scrollApproach > size(me.approaches) - 3) {
me.scrollApproach = 0; me.scrollApproach = 0;
} }
me.updateApproaches(); me.updateApproaches();
@ -539,7 +539,7 @@ var arrivalPage = {
if (me.enableScrollApproach) { if (me.enableScrollApproach) {
me.scrollApproach -= 1; me.scrollApproach -= 1;
if (me.scrollApproach < 0) { if (me.scrollApproach < 0) {
me.scrollApproach = size(me.approaches) - 4; me.scrollApproach = size(me.approaches) - 3;
} }
me.updateApproaches(); me.updateApproaches();
} }

View file

@ -342,23 +342,31 @@ var fplnPage = { # this one is only created once, and then updated - remember th
#me.basePage(); #me.basePage();
}, },
scrollUp: func() { scrollUp: func() {
if (size(me.planList) > 5) { if (size(me.planList) > 1) {
me.scroll += 1; me.scroll += 1;
if (me.scroll > size(me.planList) - 5) { if (me.scroll > size(me.planList) - 3) {
me.scroll = 0; me.scroll = 0;
} }
if (me.scroll < me.plan.getPlanSize()) {
setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", me.scroll);
}
} else { } else {
me.scroll = 0; me.scroll = 0;
setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", -1);
} }
}, },
scrollDn: func() { scrollDn: func() {
if (size(me.planList) > 5) { if (size(me.planList) > 1) {
me.scroll -= 1; me.scroll -= 1;
if (me.scroll < 0) { 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 { } else {
me.scroll = 0; me.scroll = 0;
setprop("/instrumentation/efis[" ~ me.computer ~ "]/inputs/plan-wpt-index", -1);
} }
}, },
pushButtonLeft: func(index) { pushButtonLeft: func(index) {

View file

@ -271,7 +271,7 @@ var thrust_loop = maketimer(0.04, func {
} }
alpha = getprop("fdm/jsbsim/aero/alpha-deg"); alpha = getprop("fdm/jsbsim/aero/alpha-deg");
flaps = getprop("controls/flight/flap-pos"); flaps = getprop("controls/flight/flaps-pos");
if (flaps == 0) { if (flaps == 0) {
alphaProt = 9.5; alphaProt = 9.5;
} else if (flaps == 1 or flaps == 2 or flaps == 3) { } else if (flaps == 1 or flaps == 2 or flaps == 3) {

View file

@ -19,7 +19,7 @@ You can find a Checklist to download and print [here](https://raw.githubusercont
## Navdata ## 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. 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 ## External tools
Some external tools you might want to checkout and use with this Model. Some external tools you might want to checkout and use with this Model.

View file

@ -44,17 +44,12 @@
<mode>looped</mode> <mode>looped</mode>
<path>Aircraft/A320-family/Sounds/yellowHydPump.wav</path> <path>Aircraft/A320-family/Sounds/yellowHydPump.wav</path>
<condition> <condition>
<and> <property>controls/hydraulic/elec-pump-yellow</property>
<equals>
<property>/sim/current-view/internal</property>
<value>1</value>
</equals>
<equals>
<property>controls/hydraulic/elec-pump-yellow</property>
<value>1</value>
</equals>
</and>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
<factor>0.8</factor>
</volume>
</hyd-yellow> </hyd-yellow>
<hyd> <hyd>
@ -68,7 +63,8 @@
</or> </or>
</condition> </condition>
<volume> <volume>
<value>0.8</value> <property>/sim/current-view/internal</property>
<factor>0.8</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -85,7 +81,8 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<value>0.8</value> <property>/sim/current-view/internal</property>
<factor>0.8</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -102,7 +99,8 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -119,7 +117,8 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -136,7 +135,8 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -171,7 +171,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -215,7 +216,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -257,7 +259,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -299,7 +302,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -341,7 +345,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -383,7 +388,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -425,7 +431,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -467,7 +474,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -509,7 +517,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -547,7 +556,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -585,7 +595,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -623,7 +634,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -661,7 +673,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -713,7 +726,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -763,7 +777,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -797,7 +812,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -831,7 +847,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -911,7 +928,8 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<factor>8</factor> <property>/sim/current-view/internal</property>
<factor>8.0</factor>
</volume> </volume>
<reference-dist>20.0</reference-dist> <reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist> <max-dist>100.0</max-dist>
@ -942,6 +960,7 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>40.0</factor> <factor>40.0</factor>
</volume> </volume>
</apoff> </apoff>
@ -971,6 +990,7 @@
</and> </and>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>40.0</factor> <factor>40.0</factor>
</volume> </volume>
</apoff> </apoff>
@ -1163,6 +1183,9 @@
<value>IDLE</value> <value>IDLE</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1175,6 +1198,9 @@
<value>IDLE</value> <value>IDLE</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<detenta> <detenta>
@ -1187,6 +1213,9 @@
<value>MAN</value> <value>MAN</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1199,6 +1228,9 @@
<value>MAN</value> <value>MAN</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<detenta> <detenta>
@ -1211,6 +1243,9 @@
<value>CL</value> <value>CL</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1223,6 +1258,9 @@
<value>CL</value> <value>CL</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<detenta> <detenta>
@ -1235,6 +1273,9 @@
<value>MAN THR</value> <value>MAN THR</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1247,6 +1288,9 @@
<value>MAN THR</value> <value>MAN THR</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<detenta> <detenta>
@ -1259,6 +1303,9 @@
<value>MCT</value> <value>MCT</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1271,6 +1318,9 @@
<value>MCT</value> <value>MCT</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<detenta> <detenta>
@ -1283,6 +1333,9 @@
<value>TOGA</value> <value>TOGA</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1295,6 +1348,9 @@
<value>TOGA</value> <value>TOGA</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<detenta> <detenta>
@ -1307,6 +1363,9 @@
<value>0</value> <value>0</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1319,6 +1378,9 @@
<value>0</value> <value>0</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<detenta> <detenta>
@ -1331,6 +1393,9 @@
<value>1</value> <value>1</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detenta> </detenta>
<detentb> <detentb>
@ -1343,6 +1408,9 @@
<value>1</value> <value>1</value>
</equals> </equals>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</detentb> </detentb>
<sb> <sb>
@ -1358,7 +1426,11 @@
<property>/sim/sounde/seatbelt-sign</property> <property>/sim/sounde/seatbelt-sign</property>
</and> </and>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</sb> </sb>
<ns> <ns>
<mode>once</mode> <mode>once</mode>
<name>ns</name> <name>ns</name>
@ -1372,6 +1444,9 @@
<property>/sim/sounde/no-smoking-sign</property> <property>/sim/sounde/no-smoking-sign</property>
</and> </and>
</condition> </condition>
<volume>
<property>/sim/current-view/internal</property>
</volume>
</ns> </ns>
<switch> <switch>
@ -1382,6 +1457,7 @@
<property>/sim/sounde/btn1</property> <property>/sim/sounde/btn1</property>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.75</factor> <factor>0.75</factor>
</volume> </volume>
</switch> </switch>
@ -1394,6 +1470,7 @@
<property>/sim/sounde/apdiscbtn</property> <property>/sim/sounde/apdiscbtn</property>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.75</factor> <factor>0.75</factor>
</volume> </volume>
</switch> </switch>
@ -1406,6 +1483,7 @@
<property>/sim/sounde/oh-btn</property> <property>/sim/sounde/oh-btn</property>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.75</factor> <factor>0.75</factor>
</volume> </volume>
</switch> </switch>
@ -1418,6 +1496,7 @@
<property>/sim/sounde/btn3</property> <property>/sim/sounde/btn3</property>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.75</factor> <factor>0.75</factor>
</volume> </volume>
</switch> </switch>
@ -1430,6 +1509,7 @@
<property>/sim/sounde/knb1</property> <property>/sim/sounde/knb1</property>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.6</factor> <factor>0.6</factor>
</volume> </volume>
</switch> </switch>
@ -1442,6 +1522,7 @@
<property>/sim/sounde/switch1</property> <property>/sim/sounde/switch1</property>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.75</factor> <factor>0.75</factor>
</volume> </volume>
</switch> </switch>
@ -1453,10 +1534,10 @@
<condition> <condition>
<and> <and>
<property>/sim/sounde/flaps-click</property> <property>/sim/sounde/flaps-click</property>
<property>/sim/current-view/internal</property>
</and> </and>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.75</factor> <factor>0.75</factor>
</volume> </volume>
</switch> </switch>
@ -1565,6 +1646,7 @@
<path>Aircraft/A320-family/Sounds/Cockpit/relay-battery.wav</path> <path>Aircraft/A320-family/Sounds/Cockpit/relay-battery.wav</path>
<property>/systems/electrical/sources/bat-1/contact</property> <property>/systems/electrical/sources/bat-1/contact</property>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.8</factor> <factor>0.8</factor>
</volume> </volume>
</relay> </relay>
@ -1575,6 +1657,7 @@
<path>Aircraft/A320-family/Sounds/Cockpit/relay-battery.wav</path> <path>Aircraft/A320-family/Sounds/Cockpit/relay-battery.wav</path>
<property>/systems/electrical/sources/bat-2/contact</property> <property>/systems/electrical/sources/bat-2/contact</property>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.8</factor> <factor>0.8</factor>
</volume> </volume>
</relay> </relay>
@ -1585,7 +1668,8 @@
<path>Aircraft/A320-family/Sounds/Cockpit/relay-external.wav</path> <path>Aircraft/A320-family/Sounds/Cockpit/relay-external.wav</path>
<property>/systems/electrical/relay/ext-epc/contact-pos</property> <property>/systems/electrical/relay/ext-epc/contact-pos</property>
<volume> <volume>
<factor>0.6</factor> <property>/sim/current-view/internal</property>
<factor>0.8</factor>
</volume> </volume>
</relay> </relay>
@ -1595,7 +1679,8 @@
<path>Aircraft/A320-family/Sounds/Cockpit/relay-apu.wav</path> <path>Aircraft/A320-family/Sounds/Cockpit/relay-apu.wav</path>
<property>/systems/electrical/relay/apu-glc/contact-pos</property> <property>/systems/electrical/relay/apu-glc/contact-pos</property>
<volume> <volume>
<factor>0.6</factor> <property>/sim/current-view/internal</property>
<factor>0.8</factor>
</volume> </volume>
</relay> </relay>
@ -1634,6 +1719,7 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.6</factor> <factor>0.6</factor>
</volume> </volume>
</announcements> </announcements>
@ -1649,6 +1735,7 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.6</factor> <factor>0.6</factor>
</volume> </volume>
</announcements> </announcements>
@ -1664,6 +1751,7 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.6</factor> <factor>0.6</factor>
</volume> </volume>
</announcements> </announcements>
@ -1679,6 +1767,7 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.6</factor> <factor>0.6</factor>
</volume> </volume>
</announcements> </announcements>
@ -1694,6 +1783,7 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.6</factor> <factor>0.6</factor>
</volume> </volume>
</announcements> </announcements>
@ -1709,6 +1799,7 @@
</equals> </equals>
</condition> </condition>
<volume> <volume>
<property>/sim/current-view/internal</property>
<factor>0.6</factor> <factor>0.6</factor>
</volume> </volume>
</announcements> </announcements>
@ -1913,9 +2004,7 @@
<property>/sim/model/autopush/enabled</property> <property>/sim/model/autopush/enabled</property>
</and> </and>
</condition> </condition>
<volume> <volume>0.15</volume>
<value>0.35</value>
</volume>
</pushback> </pushback>
<pushback> <pushback>
@ -1928,9 +2017,7 @@
<property>/sim/model/autopush/enabled</property> <property>/sim/model/autopush/enabled</property>
</and> </and>
</condition> </condition>
<volume> <volume>0.05</volume>
<value>0.15</value>
</volume>
</pushback> </pushback>
</fx> </fx>
</PropertyList> </PropertyList>

Binary file not shown.

1346
Systems/a320-fbw.xml Normal file

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -13,14 +13,14 @@
<condition> <condition>
<less-than> <less-than>
<property>/engines/engine[0]/n2-actual</property> <property>/engines/engine[0]/n2-actual</property>
<value>60.9</value> <value>59.4</value>
</less-than> </less-than>
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/engines/engine[0]/n2-actual</property> <property>/engines/engine[0]/n2-actual</property>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry> <entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 60.9</ind><dep> 60.9</dep></entry> <entry><ind> 59.4</ind><dep> 59.4</dep></entry>
</table> </table>
</expression> </expression>
</input> </input>
@ -28,14 +28,14 @@
<condition> <condition>
<greater-than-equals> <greater-than-equals>
<property>/engines/engine[0]/n2-actual</property> <property>/engines/engine[0]/n2-actual</property>
<value>60.9</value> <value>59.4</value>
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/engines/engine[0]/n1-actual</property> <property>/engines/engine[0]/n1-actual</property>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry> <entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 22.4</ind><dep> 60.9</dep></entry> <entry><ind> 18.9</ind><dep> 59.4</dep></entry>
<entry><ind>103.8</ind><dep>101.4</dep></entry> <entry><ind>103.8</ind><dep>101.4</dep></entry>
</table> </table>
</expression> </expression>
@ -57,7 +57,7 @@
<table> <table>
<property>/engines/engine[1]/n2-actual</property> <property>/engines/engine[1]/n2-actual</property>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry> <entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 60.9</ind><dep> 60.9</dep></entry> <entry><ind> 59.4</ind><dep> 59.4</dep></entry>
</table> </table>
</expression> </expression>
</input> </input>
@ -72,7 +72,7 @@
<table> <table>
<property>/engines/engine[1]/n1-actual</property> <property>/engines/engine[1]/n1-actual</property>
<entry><ind> 0.0</ind><dep> 0.0</dep></entry> <entry><ind> 0.0</ind><dep> 0.0</dep></entry>
<entry><ind> 22.4</ind><dep> 60.9</dep></entry> <entry><ind> 18.9</ind><dep> 59.4</dep></entry>
<entry><ind>103.8</ind><dep>101.4</dep></entry> <entry><ind>103.8</ind><dep>101.4</dep></entry>
</table> </table>
</expression> </expression>
@ -852,7 +852,7 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[0]</property> <property>/engines/engine[0]/n1-actual</property>
<entry><ind>14.0</ind> <dep>0.000</dep></entry> <entry><ind>14.0</ind> <dep>0.000</dep></entry>
<entry><ind>15.0</ind> <dep>0.010</dep></entry> <entry><ind>15.0</ind> <dep>0.010</dep></entry>
<entry><ind>19.0</ind> <dep>0.900</dep></entry> <entry><ind>19.0</ind> <dep>0.900</dep></entry>
@ -875,7 +875,7 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[0]</property> <property>/engines/engine[0]/n1-actual</property>
<entry><ind>19.0</ind> <dep>1.00</dep></entry> <entry><ind>19.0</ind> <dep>1.00</dep></entry>
<entry><ind>42.5</ind> <dep>1.50</dep></entry> <entry><ind>42.5</ind> <dep>1.50</dep></entry>
</table> </table>
@ -894,11 +894,11 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[0]</property> <property>/engines/engine[0]/n1-actual</property>
<entry><ind>14.0</ind> <dep>0.000</dep></entry> <entry><ind>14.0</ind> <dep>0.000</dep></entry>
<entry><ind>15.0</ind> <dep>0.010</dep></entry> <entry><ind>15.0</ind> <dep>0.010</dep></entry>
<entry><ind>19.0</ind> <dep>0.900</dep></entry> <entry><ind>19.0</ind> <dep>1.000</dep></entry>
<entry><ind>41.7</ind> <dep>0.310</dep></entry> <entry><ind>41.7</ind> <dep>0.410</dep></entry>
<entry><ind>55.0</ind> <dep>0.240</dep></entry> <entry><ind>55.0</ind> <dep>0.240</dep></entry>
<entry><ind>57.2</ind> <dep>0.100</dep></entry> <entry><ind>57.2</ind> <dep>0.100</dep></entry>
<entry><ind>70.0</ind> <dep>0.018</dep></entry> <entry><ind>70.0</ind> <dep>0.018</dep></entry>
@ -919,7 +919,7 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[0]</property> <property>/engines/engine[0]/n1-actual</property>
<entry><ind>14.0</ind> <dep>0.000</dep></entry> <entry><ind>14.0</ind> <dep>0.000</dep></entry>
<entry><ind>15.0</ind> <dep>0.010</dep></entry> <entry><ind>15.0</ind> <dep>0.010</dep></entry>
<entry><ind>19.0</ind> <dep>1.000</dep></entry> <entry><ind>19.0</ind> <dep>1.000</dep></entry>
@ -1132,7 +1132,7 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[1]</property> <property>/engines/engine[1]/n1-actual</property>
<entry><ind>14.0</ind> <dep>0.000</dep></entry> <entry><ind>14.0</ind> <dep>0.000</dep></entry>
<entry><ind>15.0</ind> <dep>0.010</dep></entry> <entry><ind>15.0</ind> <dep>0.010</dep></entry>
<entry><ind>19.0</ind> <dep>0.900</dep></entry> <entry><ind>19.0</ind> <dep>0.900</dep></entry>
@ -1155,7 +1155,7 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[1]</property> <property>/engines/engine[1]/n1-actual</property>
<entry><ind>19.0</ind> <dep>1.00</dep></entry> <entry><ind>19.0</ind> <dep>1.00</dep></entry>
<entry><ind>42.5</ind> <dep>1.50</dep></entry> <entry><ind>42.5</ind> <dep>1.50</dep></entry>
</table> </table>
@ -1174,11 +1174,11 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[1]</property> <property>/engines/engine[1]/n1-actual</property>
<entry><ind>14.0</ind> <dep>0.000</dep></entry> <entry><ind>14.0</ind> <dep>0.000</dep></entry>
<entry><ind>15.0</ind> <dep>0.010</dep></entry> <entry><ind>15.0</ind> <dep>0.010</dep></entry>
<entry><ind>19.0</ind> <dep>0.900</dep></entry> <entry><ind>19.0</ind> <dep>1.000</dep></entry>
<entry><ind>41.7</ind> <dep>0.310</dep></entry> <entry><ind>41.7</ind> <dep>0.410</dep></entry>
<entry><ind>55.0</ind> <dep>0.240</dep></entry> <entry><ind>55.0</ind> <dep>0.240</dep></entry>
<entry><ind>57.2</ind> <dep>0.100</dep></entry> <entry><ind>57.2</ind> <dep>0.100</dep></entry>
<entry><ind>70.0</ind> <dep>0.018</dep></entry> <entry><ind>70.0</ind> <dep>0.018</dep></entry>
@ -1199,7 +1199,7 @@
</condition> </condition>
<expression> <expression>
<table> <table>
<property>/sim/sound/fake-n2[1]</property> <property>/engines/engine[1]/n1-actual</property>
<entry><ind>14.0</ind> <dep>0.000</dep></entry> <entry><ind>14.0</ind> <dep>0.000</dep></entry>
<entry><ind>15.0</ind> <dep>0.010</dep></entry> <entry><ind>15.0</ind> <dep>0.010</dep></entry>
<entry><ind>19.0</ind> <dep>1.000</dep></entry> <entry><ind>19.0</ind> <dep>1.000</dep></entry>

View file

@ -51,7 +51,7 @@
<condition> <condition>
<and> <and>
<not-equals> <not-equals>
<property>/controls/flight/flap-lever</property> <property>/controls/flight/flaps-input</property>
<value>0</value> <value>0</value>
</not-equals> </not-equals>
<equals> <equals>
@ -199,7 +199,7 @@
<value>0.99</value> <value>0.99</value>
<property>/engines/flx-throttle</property> <property>/engines/flx-throttle</property>
</product> </product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -208,7 +208,7 @@
<expression> <expression>
<table> <table>
<property>/controls/engines/engine[0]/throttle-cmd-man</property> <property>/controls/engines/engine[0]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -240,7 +240,7 @@
<value>0.99</value> <value>0.99</value>
<property>/engines/flx-throttle</property> <property>/engines/flx-throttle</property>
</product> </product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -249,7 +249,7 @@
<expression> <expression>
<table> <table>
<property>/controls/engines/engine[1]/throttle-cmd-man</property> <property>/controls/engines/engine[1]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -1065,7 +1065,7 @@
<value>0.99</value> <value>0.99</value>
<property>/controls/engines/throttle-scale</property> <property>/controls/engines/throttle-scale</property>
</product> </product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -1085,7 +1085,7 @@
<value>0.95</value> <value>0.95</value>
<property>/controls/engines/throttle-scale</property> <property>/controls/engines/throttle-scale</property>
</product> </product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -1105,7 +1105,7 @@
<value>0.99</value> <value>0.99</value>
<property>/engines/flx-throttle</property> <property>/engines/flx-throttle</property>
</product> </product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -1125,7 +1125,7 @@
<value>0.91</value> <value>0.91</value>
<property>/controls/engines/throttle-scale</property> <property>/controls/engines/throttle-scale</property>
</product> </product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry> <entry><ind>0.00</ind><dep> 18.9</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry> <entry><ind>1.00</ind><dep>103.8</dep></entry>
</table> </table>
</expression> </expression>
@ -1258,10 +1258,10 @@
<property>/engines/engine[0]/state</property> <property>/engines/engine[0]/state</property>
<value>3</value> <value>3</value>
</equals> </equals>
<greater-than> <greater-than-equals>
<property>/engines/engine[0]/n1-actual</property> <property>/engines/engine[1]/n1-actual</property>
<value>19</value> <value>18.9</value>
</greater-than> </greater-than-equals>
</and> </and>
</condition> </condition>
</enable> </enable>
@ -1269,7 +1269,7 @@
<expression> <expression>
<table> <table>
<property>/engines/engine[0]/n1-actual</property> <property>/engines/engine[0]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry> <entry><ind> 18.9</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry> <entry><ind>110.0</ind><dep>620</dep></entry>
</table> </table>
</expression> </expression>
@ -1288,10 +1288,10 @@
<property>/engines/engine[1]/state</property> <property>/engines/engine[1]/state</property>
<value>3</value> <value>3</value>
</equals> </equals>
<greater-than> <greater-than-equals>
<property>/engines/engine[1]/n1-actual</property> <property>/engines/engine[1]/n1-actual</property>
<value>19</value> <value>18.9</value>
</greater-than> </greater-than-equals>
</and> </and>
</condition> </condition>
</enable> </enable>
@ -1299,7 +1299,7 @@
<expression> <expression>
<table> <table>
<property>/engines/engine[1]/n1-actual</property> <property>/engines/engine[1]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry> <entry><ind> 18.9</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry> <entry><ind>110.0</ind><dep>620</dep></entry>
</table> </table>
</expression> </expression>

View file

@ -51,7 +51,7 @@
<condition> <condition>
<and> <and>
<not-equals> <not-equals>
<property>/controls/flight/flap-lever</property> <property>/controls/flight/flaps-input</property>
<value>0</value> <value>0</value>
</not-equals> </not-equals>
<equals> <equals>

View file

@ -290,7 +290,7 @@
</equals> </equals>
</condition> </condition>
</enable> </enable>
<input> <input>
<expression> <expression>
<floor> <floor>
<sum> <sum>
@ -315,7 +315,7 @@
</equals> </equals>
</condition> </condition>
</enable> </enable>
<input> <input>
<expression> <expression>
<div> <div>
<floor> <floor>
@ -885,5 +885,18 @@
<max>30</max> <max>30</max>
<max-rate-of-change>10</max-rate-of-change> <max-rate-of-change>10</max-rate-of-change>
</filter> </filter>
<logic>
<!-- somewhat confusing : this input is not 'are the flaps in landing configration', but rather,
'are the flaps NOT in a landing configuration'. There is a configuration bit to flip
the sense of this, if required. -->
<input>
<less-than>
<property>/controls/flight/flaps</property>
<value>0.8</value>
</less-than>
</input>
<output>/instrumentation/mk-viii/inputs/discretes/landing-flaps</output>
</logic>
</PropertyList> </PropertyList>

View file

@ -151,7 +151,7 @@
<property>/fdm/jsbsim/hydraulics/elevator-l/final-deg</property> <property>/fdm/jsbsim/hydraulics/elevator-l/final-deg</property>
<entry><ind>-30</ind><dep>-1.03</dep></entry> <entry><ind>-30</ind><dep>-1.03</dep></entry>
<entry><ind> 0</ind><dep> 0.00</dep></entry> <entry><ind> 0</ind><dep> 0.00</dep></entry>
<entry><ind> 17</ind><dep> 0.63</dep></entry> <entry><ind> 15</ind><dep> 0.63</dep></entry>
</table> </table>
</expression> </expression>
</input> </input>
@ -168,7 +168,7 @@
<property>/fdm/jsbsim/hydraulics/elevator-r/final-deg</property> <property>/fdm/jsbsim/hydraulics/elevator-r/final-deg</property>
<entry><ind>-30</ind><dep>-1.03</dep></entry> <entry><ind>-30</ind><dep>-1.03</dep></entry>
<entry><ind> 0</ind><dep> 0.00</dep></entry> <entry><ind> 0</ind><dep> 0.00</dep></entry>
<entry><ind> 17</ind><dep> 0.63</dep></entry> <entry><ind> 15</ind><dep> 0.63</dep></entry>
</table> </table>
</expression> </expression>
</input> </input>

View file

@ -1 +1 @@
31 34