1
0
Fork 0

Merge branch 'master' into ADIRS

t add Systems/:w
This commit is contained in:
legoboyvdlp R 2019-11-08 19:19:18 +00:00
commit 67091ed35d
17 changed files with 1445 additions and 229 deletions

View file

@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> 1 </yaw> <yaw> 1 </yaw>
</orient> </orient>
<feed>3</feed> <feed>4</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> -1 </yaw> <yaw> -1 </yaw>
</orient> </orient>
<feed>4</feed> <feed>5</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -70,43 +70,70 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 1552.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> -5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 12212.50 </capacity>
<contents unit="LBS"> 6000.00 </contents>
<unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</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"> 14281 </capacity> <capacity unit="LBS"> 14550.50 </capacity>
<contents unit="LBS"> 0 </contents> <contents unit="LBS"> 40.88 </contents>
<standpipe unit="LBS">43</standpipe> <unusable-volume unit="LTR"> 23.20 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 12212.50 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 6000.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> 5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 1552.00 </contents>
<unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
@ -118,7 +145,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
@ -129,13 +156,14 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
</propulsion> </propulsion>
<system file="fuel"/> <system file="fuel"/>
<system file="glass-effect1"/> <system file="glass-effect1"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-100-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>
<system file="a320-spoiler"/> <system file="a320-spoiler"/>
<system file="a320-electrical"/> <system file="a320-electrical"/>

View file

@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> 1 </yaw> <yaw> 1 </yaw>
</orient> </orient>
<feed>3</feed> <feed>5</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> -1 </yaw> <yaw> -1 </yaw>
</orient> </orient>
<feed>4</feed> <feed>6</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -70,17 +70,30 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 1552.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> -5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 12520.50 </capacity>
<contents unit="LBS"> 6000.00 </contents>
<unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
@ -89,24 +102,37 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<y> 0 </y> <y> 0 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 14281 </capacity> <capacity unit="LBS"> 14550.50 </capacity>
<contents unit="LBS"> 0 </contents> <contents unit="LBS"> 40.88 </contents>
<standpipe unit="LBS">43</standpipe> <unusable-volume unit="LTR"> 23.20 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 12520.50 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 6000.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> 5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 1552.00 </contents>
<unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
@ -118,7 +144,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
@ -129,7 +155,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
</propulsion> </propulsion>
@ -137,6 +163,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<system file="glass-effect1"/> <system file="glass-effect1"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-adr"/> <system file="a320-adr"/>
<system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>
<system file="a320-spoiler"/> <system file="a320-spoiler"/>
<system file="a320-electrical"/> <system file="a320-electrical"/>

View file

@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> 1 </yaw> <yaw> 1 </yaw>
</orient> </orient>
<feed>3</feed> <feed>5</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> -1 </yaw> <yaw> -1 </yaw>
</orient> </orient>
<feed>4</feed> <feed>6</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -70,17 +70,30 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 1552.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> -5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 12212.50 </capacity>
<contents unit="LBS"> 6000.00 </contents>
<unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
@ -89,24 +102,37 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<y> 0 </y> <y> 0 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 14281 </capacity> <capacity unit="LBS"> 14550.50 </capacity>
<contents unit="LBS"> 0 </contents> <contents unit="LBS"> 40.88 </contents>
<standpipe unit="LBS">43</standpipe> <unusable-volume unit="LTR"> 23.20 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 12212.50 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 6000.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> 5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 1552.00 </contents>
<unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
@ -118,7 +144,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
@ -129,13 +155,14 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
</propulsion> </propulsion>
<system file="fuel"/> <system file="fuel"/>
<system file="glass-effect1"/> <system file="glass-effect1"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>
<system file="a320-spoiler"/> <system file="a320-spoiler"/>
<system file="a320-electrical"/> <system file="a320-electrical"/>

View file

@ -392,18 +392,24 @@
<consumables> <consumables>
<fuel> <fuel>
<tank n="0"> <tank n="0">
<name>Left Wing</name> <name>Outer Left Wing</name>
</tank> </tank>
<tank n="1"> <tank n="1">
<name>Center</name> <name>Inner Left Wing</name>
</tank> </tank>
<tank n="2"> <tank n="2">
<name>Right Wing</name> <name>Center</name>
</tank> </tank>
<tank n="3"> <tank n="3">
<name>Engine 1 Pipes</name> <name>Inner Right Wing</name>
</tank> </tank>
<tank n="4"> <tank n="4">
<name>Outer Right Wing</name>
</tank>
<tank n="5">
<name>Engine 1 Pipes</name>
</tank>
<tank n="6">
<name>Engine 2 Pipes</name> <name>Engine 2 Pipes</name>
</tank> </tank>
</fuel> </fuel>
@ -635,6 +641,18 @@
<speedbrake-arm>0</speedbrake-arm> <speedbrake-arm>0</speedbrake-arm>
<slats>0</slats> <slats>0</slats>
</flight> </flight>
<fuel>
<switches>
<center-mode type="bool">1</center-mode>
<crossfeed type="bool">0</crossfeed>
<pump-left-1 type="bool">0</pump-left-1>
<pump-left-2 type="bool">0</pump-left-2>
<pump-center-1 type="bool">0</pump-center-1>
<pump-center-2 type="bool">0</pump-center-2>
<pump-right-1 type="bool">0</pump-right-1>
<pump-right-2 type="bool">0</pump-right-2>
</switches>
</fuel>
<gear> <gear>
<brake-parking type="bool">0</brake-parking> <brake-parking type="bool">0</brake-parking>
<tiller-cmd-norm type="double">0</tiller-cmd-norm> <tiller-cmd-norm type="double">0</tiller-cmd-norm>
@ -950,7 +968,12 @@
<tank n="2"> <tank n="2">
<feed type="bool">0</feed> <feed type="bool">0</feed>
</tank> </tank>
<x-feed type="bool">0</x-feed> <ctr-pump-cmd-on-eng-start type="bool">0</ctr-pump-cmd-on-eng-start>
<refuel>
<refuelling type="bool">0</refuelling>
</refuel>
<fuel-used-1 type="double">0</fuel-used-1>
<fuel-used-2 type="double">0</fuel-used-2>
</fuel> </fuel>
<hydraulic n="0"> <hydraulic n="0">
<blue-psi>0</blue-psi> <blue-psi>0</blue-psi>

View file

@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> 1 </yaw> <yaw> 1 </yaw>
</orient> </orient>
<feed>3</feed> <feed>5</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> -1 </yaw> <yaw> -1 </yaw>
</orient> </orient>
<feed>4</feed> <feed>6</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -70,17 +70,30 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 1552.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> -5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 12147.00 </capacity>
<contents unit="LBS"> 6000.00 </contents>
<unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
@ -89,24 +102,37 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<y> 0 </y> <y> 0 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 14281 </capacity> <capacity unit="LBS"> 14601.44 </capacity>
<contents unit="LBS"> 0 </contents> <contents unit="LBS"> 40.88 </contents>
<standpipe unit="LBS">43</standpipe> <unusable-volume unit="LTR"> 23.20 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 12147.00 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 6000.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> 5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 1552.00 </contents>
<unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
@ -118,7 +144,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
@ -129,13 +155,14 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
</propulsion> </propulsion>
<system file="fuel"/> <system file="fuel"/>
<system file="glass-effect1"/> <system file="glass-effect1"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>
<system file="a320-spoiler"/> <system file="a320-spoiler"/>
<system file="a320-electrical"/> <system file="a320-electrical"/>

View file

@ -29,7 +29,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> 1 </yaw> <yaw> 1 </yaw>
</orient> </orient>
<feed>3</feed> <feed>5</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -55,7 +55,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<pitch> 2.2 </pitch> <pitch> 2.2 </pitch>
<yaw> -1 </yaw> <yaw> -1 </yaw>
</orient> </orient>
<feed>4</feed> <feed>6</feed>
<thruster file="direct"> <thruster file="direct">
<location unit="M"> <location unit="M">
<x> 14.3962788 </x> <x> 14.3962788 </x>
@ -70,17 +70,30 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
</thruster> </thruster>
</engine> </engine>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 1552.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> -5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 12147.00 </capacity>
<contents unit="LBS"> 6000.00 </contents>
<unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Center Tank --> <tank type="FUEL"> <!-- Center Tank -->
@ -89,24 +102,37 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<y> 0 </y> <y> 0 </y>
<z> -0.61182 </z> <z> -0.61182 </z>
</location> </location>
<capacity unit="LBS"> 14281 </capacity> <capacity unit="LBS"> 14601.44 </capacity>
<contents unit="LBS"> 0 </contents> <contents unit="LBS"> 40.88 </contents>
<standpipe unit="LBS">43</standpipe> <unusable-volume unit="LTR"> 23.20 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- 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"> 13914 </capacity> <capacity unit="LBS"> 12147.00 </capacity>
<contents unit="LBS"> 6000 </contents> <contents unit="LBS"> 6000.00 </contents>
<standpipe unit="LBS">31</standpipe> <unusable-volume unit="LTR"> 11.70 </unusable-volume>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M">
<x> 18.9231 </x>
<y> 5.1104 </y>
<z> -0.61182 </z>
</location>
<capacity unit="LBS"> 1552.00 </capacity>
<contents unit="LBS"> 1552.00 </contents>
<unusable-volume unit="LTR"> 17.75 </unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.67</density>
<temperature>50</temperature> <temperature>50</temperature>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 1 Pipes --> <tank type="FUEL"> <!-- Engine 1 Pipes -->
@ -118,7 +144,7 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
<tank type="FUEL"> <!-- Engine 2 Pipes --> <tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M"> <location unit="M">
@ -129,13 +155,14 @@ xsi:noNamespaceSchemaLocation="http://jsbsim.sourceforge.net/JSBSim.xsd">
<capacity unit="LBS">10</capacity> <capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents> <contents unit="LBS">0</contents>
<priority>1</priority> <priority>1</priority>
<type>JET-A1</type> <density unit="LBS/GAL">6.67</density>
</tank> </tank>
</propulsion> </propulsion>
<system file="fuel"/> <system file="fuel"/>
<system file="glass-effect1"/> <system file="glass-effect1"/>
<system file="a320-fcs"/> <system file="a320-fcs"/>
<system file="a320-fuel"/>
<system file="a320-fwc"/> <system file="a320-fwc"/>
<system file="a320-spoiler"/> <system file="a320-spoiler"/>
<system file="a320-electrical"/> <system file="a320-electrical"/>

View file

@ -111,11 +111,8 @@ var switch_pack1 = props.globals.getNode("/controls/pneumatic/switches/pack1", 1
var switch_pack2 = props.globals.getNode("/controls/pneumatic/switches/pack2", 1); var switch_pack2 = props.globals.getNode("/controls/pneumatic/switches/pack2", 1);
var oil_qt1_actual = props.globals.getNode("/engines/engine[0]/oil-qt-actual", 1); var oil_qt1_actual = props.globals.getNode("/engines/engine[0]/oil-qt-actual", 1);
var oil_qt2_actual = props.globals.getNode("/engines/engine[1]/oil-qt-actual", 1); var oil_qt2_actual = props.globals.getNode("/engines/engine[1]/oil-qt-actual", 1);
var fuel_used_lbs1 = props.globals.getNode("/fdm/jsbsim/propulsion/engine[0]/fuel-used-lbs", 1); var fuel_used_lbs1 = props.globals.getNode("/systems/fuel/fuel-used-1", 1);
var fuel_used_lbs2 = props.globals.getNode("/fdm/jsbsim/propulsion/engine[1]/fuel-used-lbs", 1); var fuel_used_lbs2 = props.globals.getNode("/systems/fuel/fuel-used-2", 1);
var fuel_left_quantity = props.globals.getNode("/consumables/fuel/tank[0]/level-lbs", 1);
var fuel_center_quantity = props.globals.getNode("/consumables/fuel/tank[1]/level-lbs", 1);
var fuel_right_quantity = props.globals.getNode("/consumables/fuel/tank[2]/level-lbs", 1);
var doorL1_pos = props.globals.getNode("sim/model/door-positions/doorl1/position-norm", 1); var doorL1_pos = props.globals.getNode("sim/model/door-positions/doorl1/position-norm", 1);
var doorR1_pos = props.globals.getNode("sim/model/door-positions/doorr1/position-norm", 1); var doorR1_pos = props.globals.getNode("sim/model/door-positions/doorr1/position-norm", 1);
var doorL4_pos = props.globals.getNode("sim/model/door-positions/doorl4/position-norm", 1); var doorL4_pos = props.globals.getNode("sim/model/door-positions/doorl4/position-norm", 1);
@ -2241,17 +2238,21 @@ var canvas_lowerECAM_fuel = {
update: func() { update: func() {
# if (getprop("engines/engine[0]/n1-actual") < getprop("/controls/engines/idle-limit")) { # if (getprop("engines/engine[0]/n1-actual") < getprop("/controls/engines/idle-limit")) {
if (eng1_n1.getValue() <= 18.9) { if (eng1_n1.getValue() <= 18.8) {
me["ENG1idFFlow"].setColor(0.7333,0.3803,0); me["ENG1idFFlow"].setColor(0.7333,0.3803,0);
me["FUEL-ENG-1-label"].setColor(0.7333,0.3803,0);
} else { } else {
me["ENG1idFFlow"].setColor(0.8078,0.8039,0.8078); me["ENG1idFFlow"].setColor(0.8078,0.8039,0.8078);
me["FUEL-ENG-1-label"].setColor(0.8078,0.8039,0.8078);
} }
# if (getprop("engines/engine[1]/n1-actual") < getprop("/controls/engines/idle-limit")) { # if (getprop("engines/engine[1]/n1-actual") < getprop("/controls/engines/idle-limit")) {
if (eng2_n1.getValue() <= 18.9) { if (eng2_n1.getValue() <= 18.5) {
me["ENG2idFFlow"].setColor(0.7333,0.3803,0); me["ENG2idFFlow"].setColor(0.7333,0.3803,0);
me["FUEL-ENG-2-label"].setColor(0.7333,0.3803,0);
} else { } else {
me["ENG2idFFlow"].setColor(0.8078,0.8039,0.8078); me["ENG2idFFlow"].setColor(0.8078,0.8039,0.8078);
me["FUEL-ENG-2-label"].setColor(0.8078,0.8039,0.8078);
} }
# TODO add FOB half-boxed amber if some fuel is blocked # TODO add FOB half-boxed amber if some fuel is blocked
@ -2265,31 +2266,31 @@ var canvas_lowerECAM_fuel = {
me["FUEL-Flow-per-min"].setText("XX"); me["FUEL-Flow-per-min"].setText("XX");
} }
# this is now bound to the ENG master switch
# TODO use the valve prop and add amber if difference between eng master and valve # TODO use the valve prop and add amber if difference between eng master and valve
# TODO add transition state # TODO add transition state
# TODO fix amber/green at the same time when closed if (systems.FUEL.Valves.lpValve1.getValue() == 1) {
if (cutoff_switch1.getValue() == 0) {
me["FUEL-ENG-Master-1"].setRotation(0); me["FUEL-ENG-Master-1"].setRotation(0);
me["FUEL-ENG-Master-1"].setColor(0.0509,0.7529,0.2941); me["FUEL-ENG-Master-1"].setColor(0.0509,0.7529,0.2941);
me["FUEL-ENG-Master-1"].setColorFill(0.0509,0.7529,0.2941);
me["FUEL-ENG-1-pipe"].setColor(0.0509,0.7529,0.2941); me["FUEL-ENG-1-pipe"].setColor(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-ENG-Master-1"].setRotation(90 * D2R); me["FUEL-ENG-Master-1"].setRotation(90 * D2R);
me["FUEL-ENG-Master-1"].setColor(0.7333,0.3803,0); me["FUEL-ENG-Master-1"].setColor(0.7333,0.3803,0);
me["FUEL-ENG-Master-1"].setColorFill(0.7333,0.3803,0);
me["FUEL-ENG-1-pipe"].setColor(0.7333,0.3803,0); me["FUEL-ENG-1-pipe"].setColor(0.7333,0.3803,0);
} }
# this is now bound to the ENG master switch
# TODO use the valve prop and add amber if difference between eng master and valve # TODO use the valve prop and add amber if difference between eng master and valve
# TODO add transition state # TODO add transition state
# TODO fix amber/green at the same time when closed if (systems.FUEL.Valves.lpValve2.getValue() == 1) {
if (cutoff_switch2.getValue() == 0) {
me["FUEL-ENG-Master-2"].setRotation(0); me["FUEL-ENG-Master-2"].setRotation(0);
me["FUEL-ENG-Master-2"].setColor(0.0509,0.7529,0.2941); me["FUEL-ENG-Master-2"].setColor(0.0509,0.7529,0.2941);
me["FUEL-ENG-Master-2"].setColorFill(0.0509,0.7529,0.2941);
me["FUEL-ENG-2-pipe"].setColor(0.0509,0.7529,0.2941); me["FUEL-ENG-2-pipe"].setColor(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-ENG-Master-2"].setRotation(90 * D2R); me["FUEL-ENG-Master-2"].setRotation(90 * D2R);
me["FUEL-ENG-Master-2"].setColor(0.7333,0.3803,0); me["FUEL-ENG-Master-2"].setColor(0.7333,0.3803,0);
me["FUEL-ENG-Master-2"].setColorFill(0.7333,0.3803,0);
me["FUEL-ENG-2-pipe"].setColor(0.7333,0.3803,0); me["FUEL-ENG-2-pipe"].setColor(0.7333,0.3803,0);
} }
@ -2297,7 +2298,7 @@ var canvas_lowerECAM_fuel = {
# TODO use the valve prop # TODO use the valve prop
# TODO add amber when disagree between switch and btn # TODO add amber when disagree between switch and btn
# TODO add transition state # TODO add transition state
if (fuel_xfeed.getValue() == 1) { if (systems.FUEL.Valves.crossfeed.getValue() == 1) {
me["FUEL-XFEED"].setRotation(0); me["FUEL-XFEED"].setRotation(0);
me["FUEL-XFEED-pipes"].show(); me["FUEL-XFEED-pipes"].show();
} else { } else {
@ -2306,75 +2307,81 @@ var canvas_lowerECAM_fuel = {
} }
# TODO add LO indication # TODO add LO indication
# TODO fix amber/green at the same time when closed if (systems.FUEL.Switches.pumpLeft1.getValue() == 1) {
if (tank0pump1.getValue() == 1) {
me["FUEL-Pump-Left-1-Open"].show(); me["FUEL-Pump-Left-1-Open"].show();
me["FUEL-Pump-Left-1-Closed"].hide(); me["FUEL-Pump-Left-1-Closed"].hide();
me["FUEL-Pump-Left-1"].setColor(0.0509,0.7529,0.2941); me["FUEL-Pump-Left-1"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Pump-Left-1"].setColorFill(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-Pump-Left-1-Open"].hide(); me["FUEL-Pump-Left-1-Open"].hide();
me["FUEL-Pump-Left-1-Closed"].show(); me["FUEL-Pump-Left-1-Closed"].show();
me["FUEL-Pump-Left-1"].setColor(0.7333,0.3803,0); me["FUEL-Pump-Left-1"].setColor(0.7333,0.3803,0);
me["FUEL-Pump-Left-1"].setColorFill(0.7333,0.3803,0);
} }
# TODO add LO indication # TODO add LO indication
# TODO fix amber/green at the same time when closed if (systems.FUEL.Switches.pumpLeft2.getValue() == 1) {
if (tank0pump2.getValue() == 1) {
me["FUEL-Pump-Left-2-Open"].show(); me["FUEL-Pump-Left-2-Open"].show();
me["FUEL-Pump-Left-2-Closed"].hide(); me["FUEL-Pump-Left-2-Closed"].hide();
me["FUEL-Pump-Left-2"].setColor(0.0509,0.7529,0.2941); me["FUEL-Pump-Left-2"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Pump-Left-2"].setColorFill(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-Pump-Left-2-Open"].hide(); me["FUEL-Pump-Left-2-Open"].hide();
me["FUEL-Pump-Left-2-Closed"].show(); me["FUEL-Pump-Left-2-Closed"].show();
me["FUEL-Pump-Left-2"].setColor(0.7333,0.3803,0); me["FUEL-Pump-Left-2"].setColor(0.7333,0.3803,0);
me["FUEL-Pump-Left-2"].setColorFill(0.7333,0.3803,0);
} }
# TODO fix amber/green at the same time when closed
# TODO add functionality to match FCOM 1.28.20 "Amber: Transfer valve is open, whereas commanded closed in automatic or manual mode" # TODO add functionality to match FCOM 1.28.20 "Amber: Transfer valve is open, whereas commanded closed in automatic or manual mode"
if (tank1pump1.getValue() == 1) { if (systems.FUEL.Switches.pumpCenter1.getValue() == 1) {
me["FUEL-Pump-Center-1-Open"].show(); me["FUEL-Pump-Center-1-Open"].show();
me["FUEL-Pump-Center-1-Closed"].hide(); me["FUEL-Pump-Center-1-Closed"].hide();
me["FUEL-Pump-Center-1"].setColor(0.0509,0.7529,0.2941); me["FUEL-Pump-Center-1"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Pump-Center-1"].setColorFill(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-Pump-Center-1-Open"].hide(); me["FUEL-Pump-Center-1-Open"].hide();
me["FUEL-Pump-Center-1-Closed"].show(); me["FUEL-Pump-Center-1-Closed"].show();
me["FUEL-Pump-Center-1"].setColor(0.7333,0.3803,0); me["FUEL-Pump-Center-1"].setColor(0.7333,0.3803,0);
me["FUEL-Pump-Center-1"].setColorFill(0.7333,0.3803,0);
} }
# TODO add LO indication # TODO add LO indication
# TODO fix amber/green at the same time when closed if (systems.FUEL.Switches.pumpCenter2.getValue() == 1) {
if (tank1pump2.getValue() == 1) {
me["FUEL-Pump-Center-2-Open"].show(); me["FUEL-Pump-Center-2-Open"].show();
me["FUEL-Pump-Center-2-Closed"].hide(); me["FUEL-Pump-Center-2-Closed"].hide();
me["FUEL-Pump-Center-2"].setColor(0.0509,0.7529,0.2941); me["FUEL-Pump-Center-2"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Pump-Center-2"].setColorFill(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-Pump-Center-2-Open"].hide(); me["FUEL-Pump-Center-2-Open"].hide();
me["FUEL-Pump-Center-2-Closed"].show(); me["FUEL-Pump-Center-2-Closed"].show();
me["FUEL-Pump-Center-2"].setColor(0.7333,0.3803,0); me["FUEL-Pump-Center-2"].setColor(0.7333,0.3803,0);
me["FUEL-Pump-Center-2"].setColorFill(0.7333,0.3803,0);
} }
# TODO add LO indication # TODO add LO indication
# TODO fix amber/green at the same time when closed if (systems.FUEL.Switches.pumpRight1.getValue() == 1) {
if (tank2pump1.getValue() == 1) {
me["FUEL-Pump-Right-1-Open"].show(); me["FUEL-Pump-Right-1-Open"].show();
me["FUEL-Pump-Right-1-Closed"].hide(); me["FUEL-Pump-Right-1-Closed"].hide();
me["FUEL-Pump-Right-1"].setColor(0.0509,0.7529,0.2941); me["FUEL-Pump-Right-1"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Pump-Right-1"].setColorFill(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-Pump-Right-1-Open"].hide(); me["FUEL-Pump-Right-1-Open"].hide();
me["FUEL-Pump-Right-1-Closed"].show(); me["FUEL-Pump-Right-1-Closed"].show();
me["FUEL-Pump-Right-1"].setColor(0.7333,0.3803,0); me["FUEL-Pump-Right-1"].setColor(0.7333,0.3803,0);
me["FUEL-Pump-Right-1"].setColorFill(0.7333,0.3803,0);
} }
# TODO add LO indication # TODO add LO indication
# TODO fix amber/green at the same time when closed if (systems.FUEL.Switches.pumpRight2.getValue() == 1) {
if (tank2pump2.getValue() == 1) {
me["FUEL-Pump-Right-2-Open"].show(); me["FUEL-Pump-Right-2-Open"].show();
me["FUEL-Pump-Right-2-Closed"].hide(); me["FUEL-Pump-Right-2-Closed"].hide();
me["FUEL-Pump-Right-2"].setColor(0.0509,0.7529,0.2941); me["FUEL-Pump-Right-2"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Pump-Right-2"].setColorFill(0.0509,0.7529,0.2941);
} else { } else {
me["FUEL-Pump-Right-2-Open"].hide(); me["FUEL-Pump-Right-2-Open"].hide();
me["FUEL-Pump-Right-2-Closed"].show(); me["FUEL-Pump-Right-2-Closed"].show();
me["FUEL-Pump-Right-2"].setColor(0.7333,0.3803,0); me["FUEL-Pump-Right-2"].setColor(0.7333,0.3803,0);
me["FUEL-Pump-Right-2"].setColorFill(0.7333,0.3803,0);
} }
# Fuel Used # Fuel Used
@ -2390,41 +2397,44 @@ var canvas_lowerECAM_fuel = {
# Fuel Quantity # Fuel Quantity
# TODO add LO indication # TODO add LO indication
if (fuel_left_quantity.getValue() >= 3170) { me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.leftOuter.getValue(), 10)));
me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", math.round(fuel_left_quantity.getValue() - 1520, 10))); me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.leftInner.getValue(), 10)));
me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", 1520)); me["FUEL-Center-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.center.getValue(), 10)));
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.rightInner.getValue(), 10)));
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", math.round(systems.FUEL.Quantity.rightOuter.getValue(), 10)));
if (systems.FUEL.Valves.transfer1.getValue() == 0) {
me["FUEL-Left-Transfer"].hide(); me["FUEL-Left-Transfer"].hide();
} else if (fuel_left_quantity.getValue() >= 1650) { } else {
me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", 1650)); if (systems.FUEL.Valves.transfer1.getValue() == 1) {
me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", math.round(fuel_left_quantity.getValue() - 1650, 10))); me["FUEL-Left-Transfer"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Left-Transfer"].setColor(0.7333,0.3803,0); } else {
me["FUEL-Left-Transfer"].setColor(0.7333,0.3803,0);
}
me["FUEL-Left-Transfer"].show(); me["FUEL-Left-Transfer"].show();
} else {
me["FUEL-Left-Inner-quantity"].setText(sprintf("%s", math.round(fuel_left_quantity.getValue())));
me["FUEL-Left-Outer-quantity"].setText(sprintf("%s", 0));
me["FUEL-Left-Transfer"].hide();
} }
me["FUEL-Center-quantity"].setText(sprintf("%s", math.round(fuel_center_quantity.getValue())));
if (fuel_right_quantity.getValue() >= 3170) { if (systems.FUEL.Valves.transfer2.getValue() == 0) {
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", math.round(fuel_right_quantity.getValue() - 1520, 10)));
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", 1520));
me["FUEL-Right-Transfer"].hide(); me["FUEL-Right-Transfer"].hide();
} else if (fuel_right_quantity.getValue() >= 1650) {
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", 1650));
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", math.round(fuel_right_quantity.getValue() - 1650, 10)));
me["FUEL-Right-Transfer"].show();
me["FUEL-Right-Transfer"].setColor(0.7333,0.3803,0);
} else { } else {
me["FUEL-Right-Inner-quantity"].setText(sprintf("%s", math.round(fuel_right_quantity.getValue(), 10))); if (systems.FUEL.Valves.transfer2.getValue() == 1) {
me["FUEL-Right-Outer-quantity"].setText(sprintf("%s", 0)); me["FUEL-Right-Transfer"].setColor(0.0509,0.7529,0.2941);
me["FUEL-Right-Transfer"].hide(); } else {
} me["FUEL-Right-Transfer"].setColor(0.7333,0.3803,0);
}
me["FUEL-Right-Transfer"].show();
}
if (!systems.FUEL.Switches.pumpCenter1.getValue() and !systems.FUEL.Switches.pumpCenter2.getValue()) {
me["FUEL-Center-blocked"].show();
} else {
me["FUEL-Center-blocked"].hide();
}
# Hide not yet implemented features # Hide not yet implemented features
# TODO add them # TODO add them
me["FUEL-Left-blocked"].hide(); me["FUEL-Left-blocked"].hide();
me["FUEL-Right-blocked"].hide(); me["FUEL-Right-blocked"].hide();
me["FUEL-Center-blocked"].hide();
me["FUEL-Left-Outer-Inacc"].hide(); me["FUEL-Left-Outer-Inacc"].hide();
me["FUEL-Left-Inner-Inacc"].hide(); me["FUEL-Left-Inner-Inacc"].hide();
me["FUEL-Right-Outer-Inacc"].hide(); me["FUEL-Right-Outer-Inacc"].hide();

View file

@ -12,7 +12,7 @@
viewBox="0 0 1024 1024" viewBox="0 0 1024 1024"
version="1.1" version="1.1"
id="svg2" id="svg2"
inkscape:version="0.92.2 (5c3e80d, 2017-08-06)" inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="fuel.svg"> sodipodi:docname="fuel.svg">
<metadata <metadata
id="metadata375"> id="metadata375">
@ -49,9 +49,9 @@
inkscape:window-height="705" inkscape:window-height="705"
id="namedview371" id="namedview371"
showgrid="false" showgrid="false"
inkscape:zoom="2.0852713" inkscape:zoom="0.68"
inkscape:cx="56" inkscape:cx="817.73616"
inkscape:cy="255" inkscape:cy="1022.6281"
inkscape:window-x="-8" inkscape:window-x="-8"
inkscape:window-y="-8" inkscape:window-y="-8"
inkscape:window-maximized="1" inkscape:window-maximized="1"
@ -413,8 +413,9 @@
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#cecdce;fill-opacity:1;stroke:none;stroke-width:1.12171543" style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:sans-serif;-inkscape-font-specification:'sans-serif, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;fill:#cecdce;fill-opacity:1;stroke:none;stroke-width:1.12171543"
x="768.26727" x="768.26727"
y="57.18037" y="57.18037"
id="text5073-0" id="FUEL-ENG-2-label"
transform="scale(0.95537765,1.0467065)"><tspan transform="scale(0.95537765,1.0467065)"
inkscape:label="#text5073-0"><tspan
sodipodi:role="line" sodipodi:role="line"
id="tspan5093" id="tspan5093"
x="768.26727" x="768.26727"

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 69 KiB

View file

@ -2355,7 +2355,7 @@
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/x-feed</property> <property>controls/fuel/switches/crossfeed</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
@ -2370,7 +2370,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>systems/fuel/x-feed</property> <property>systems/fuel/valves/crossfeed-valve</property>
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
@ -2386,7 +2386,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/x-feed</property> <property>controls/fuel/switches/crossfeed</property>
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
@ -2409,12 +2409,12 @@
<binding> <binding>
<condition> <condition>
<greater-than-equals> <greater-than-equals>
<property>systems/electrical/bus/dc-ess</property> <property>systems/electrical/bus/dc-1</property>
<value>25</value> <value>25</value>
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/tank0pump1</property> <property>controls/fuel/switches/pump-left-1</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
@ -2434,7 +2434,7 @@
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
<property>controls/fuel/tank0pump1</property> <property>controls/fuel/switches/pump-left-1</property>
<value>1</value> <value>1</value>
</equals> </equals>
</and> </and>
@ -2451,7 +2451,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/tank0pump1</property> <property>controls/fuel/switches/pump-left-1</property>
<value>0</value> <value>0</value>
</equals> </equals>
<equals> <equals>
@ -2474,12 +2474,12 @@
<binding> <binding>
<condition> <condition>
<greater-than-equals> <greater-than-equals>
<property>systems/electrical/bus/dc-ess</property> <property>systems/electrical/bus/dc-1</property>
<value>25</value> <value>25</value>
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/tank0pump2</property> <property>controls/fuel/switches/pump-left-2</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
@ -2499,7 +2499,7 @@
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
<property>controls/fuel/tank0pump2</property> <property>controls/fuel/switches/pump-left-2</property>
<value>1</value> <value>1</value>
</equals> </equals>
</and> </and>
@ -2516,7 +2516,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/tank0pump2</property> <property>controls/fuel/switches/pump-left-2</property>
<value>0</value> <value>0</value>
</equals> </equals>
<equals> <equals>
@ -2539,12 +2539,12 @@
<binding> <binding>
<condition> <condition>
<greater-than-equals> <greater-than-equals>
<property>systems/electrical/bus/dc-ess</property> <property>systems/electrical/bus/dc-1</property>
<value>25</value> <value>25</value>
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/tank1pump1</property> <property>controls/fuel/switches/pump-center-1</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
@ -2564,7 +2564,7 @@
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
<property>controls/fuel/tank1pump1</property> <property>controls/fuel/switches/pump-center-1</property>
<value>1</value> <value>1</value>
</equals> </equals>
</and> </and>
@ -2581,7 +2581,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/tank1pump1</property> <property>controls/fuel/switches/pump-center-1</property>
<value>0</value> <value>0</value>
</equals> </equals>
<equals> <equals>
@ -2592,7 +2592,7 @@
</condition> </condition>
</animation> </animation>
<!--animation> <animation>
<type>pick</type> <type>pick</type>
<object-name>FuelModeBtn</object-name> <object-name>FuelModeBtn</object-name>
<object-name>FuelModeBtn1F</object-name> <object-name>FuelModeBtn1F</object-name>
@ -2608,14 +2608,14 @@
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/mode</property> <property>controls/fuel/switches/center-mode</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
<script>setprop("/sim/sounde/oh-btn", 1);</script> <script>setprop("/sim/sounde/oh-btn", 1);</script>
</binding> </binding>
</action> </action>
</animation--> </animation>
<animation> <animation>
<type>select</type> <type>select</type>
@ -2628,7 +2628,7 @@
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
<property>controls/fuel/mode</property> <property>controls/fuel/switches/center-mode</property>
<value>1</value> <value>1</value>
</equals> </equals>
</and> </and>
@ -2645,7 +2645,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/mode</property> <property>controls/fuel/switches/center-mode</property>
<value>0</value> <value>0</value>
</equals> </equals>
<equals> <equals>
@ -2668,12 +2668,12 @@
<binding> <binding>
<condition> <condition>
<greater-than-equals> <greater-than-equals>
<property>systems/electrical/bus/dc-ess</property> <property>systems/electrical/bus/dc-2</property>
<value>25</value> <value>25</value>
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/tank1pump2</property> <property>controls/fuel/switches/pump-center-2</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
@ -2693,7 +2693,7 @@
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
<property>controls/fuel/tank1pump2</property> <property>controls/fuel/switches/pump-center-2</property>
<value>1</value> <value>1</value>
</equals> </equals>
</and> </and>
@ -2710,7 +2710,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/tank1pump2</property> <property>controls/fuel/switches/pump-center-2</property>
<value>0</value> <value>0</value>
</equals> </equals>
<equals> <equals>
@ -2733,12 +2733,12 @@
<binding> <binding>
<condition> <condition>
<greater-than-equals> <greater-than-equals>
<property>systems/electrical/bus/dc-ess</property> <property>systems/electrical/bus/dc-2</property>
<value>25</value> <value>25</value>
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/tank2pump1</property> <property>controls/fuel/switches/pump-right-1</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
@ -2758,7 +2758,7 @@
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
<property>controls/fuel/tank2pump1</property> <property>controls/fuel/switches/pump-right-1</property>
<value>1</value> <value>1</value>
</equals> </equals>
</and> </and>
@ -2775,7 +2775,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/tank2pump1</property> <property>controls/fuel/switches/pump-right-1</property>
<value>0</value> <value>0</value>
</equals> </equals>
<equals> <equals>
@ -2798,12 +2798,12 @@
<binding> <binding>
<condition> <condition>
<greater-than-equals> <greater-than-equals>
<property>systems/electrical/bus/dc-ess</property> <property>systems/electrical/bus/dc-2</property>
<value>25</value> <value>25</value>
</greater-than-equals> </greater-than-equals>
</condition> </condition>
<command>property-toggle</command> <command>property-toggle</command>
<property>controls/fuel/tank2pump2</property> <property>controls/fuel/switches/pump-right-2</property>
</binding> </binding>
<binding> <binding>
<command>nasal</command> <command>nasal</command>
@ -2823,7 +2823,7 @@
<value>1</value> <value>1</value>
</equals> </equals>
<equals> <equals>
<property>controls/fuel/tank2pump2</property> <property>controls/fuel/switches/pump-right-2</property>
<value>1</value> <value>1</value>
</equals> </equals>
</and> </and>
@ -2840,7 +2840,7 @@
<condition> <condition>
<or> <or>
<equals> <equals>
<property>controls/fuel/tank2pump2</property> <property>controls/fuel/switches/pump-right-2</property>
<value>0</value> <value>0</value>
</equals> </equals>
<equals> <equals>

View file

@ -1384,43 +1384,49 @@ var messages_config_memo = func {
var messages_memo = func { var messages_memo = func {
phaseVar = phaseNode.getValue(); phaseVar = phaseNode.getValue();
if (getprop("/services/fuel-truck/enable") == 1) { if (getprop("/services/fuel-truck/enable") == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
refuelg.active = 1; refuelg.active = 1;
} else { } else {
refuelg.active = 0; refuelg.active = 0;
} }
if (getprop("/controls/flight/speedbrake-arm") == 1) { if (getprop("/controls/flight/speedbrake-arm") == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
gnd_splrs.active = 1; gnd_splrs.active = 1;
} else { } else {
gnd_splrs.active = 0; gnd_splrs.active = 0;
} }
if (getprop("/controls/lighting/seatbelt-sign") == 1) { if (getprop("/controls/lighting/seatbelt-sign") == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
seatbelts.active = 1; seatbelts.active = 1;
} else { } else {
seatbelts.active = 0; seatbelts.active = 0;
} }
if (getprop("/controls/lighting/no-smoking-sign") == 1) { # should go off after takeoff assuming switch is in auto due to old logic from the days when smoking was allowed! if (getprop("/controls/lighting/no-smoking-sign") == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) { # should go off after takeoff assuming switch is in auto due to old logic from the days when smoking was allowed!
nosmoke.active = 1; nosmoke.active = 1;
} else { } else {
nosmoke.active = 0; nosmoke.active = 0;
} }
if (getprop("/controls/lighting/strobe") == 0 and getprop("/gear/gear[1]/wow") == 0) { # todo: use gear branch properties if (getprop("/controls/lighting/strobe") == 0 and getprop("/gear/gear[1]/wow") == 0 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) { # todo: use gear branch properties
strobe_lt_off.active = 1; strobe_lt_off.active = 1;
} else { } else {
strobe_lt_off.active = 0; strobe_lt_off.active = 0;
} }
if (systems.FUEL.Valves.transfer1.getValue() == 1 or systems.FUEL.Valves.transfer2.getValue() == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
outr_tk_fuel_xfrd.active = 1;
} else {
outr_tk_fuel_xfrd.active = 0;
}
if (getprop("/consumables/fuel/total-fuel-lbs") < 6000) { # assuming US short ton 2000lb if (getprop("/consumables/fuel/total-fuel-lbs") < 6000 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) { # assuming US short ton 2000lb
fob_3T.active = 1; fob_3T.active = 1;
} else { } else {
fob_3T.active = 0; fob_3T.active = 0;
} }
if (getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override") == 1) { if (getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-all-override") == 1 and toMemoLine1.active != 1 and ldgMemoLine1.active != 1) {
gpws_flap_mode_off.active = 1; gpws_flap_mode_off.active = 1;
} else { } else {
gpws_flap_mode_off.active = 0; gpws_flap_mode_off.active = 0;
@ -1591,7 +1597,7 @@ var messages_right_memo = func {
auto_brk_max.active = 0; auto_brk_max.active = 0;
} }
if (getprop("/systems/fuel/x-feed") == 1 and getprop("controls/fuel/x-feed") == 1) { if (getprop("/systems/fuel/valves/crossfeed-valve") != 0 and getprop("/controls/fuel/switches/crossfeed") == 1) {
fuelx.active = 1; fuelx.active = 1;
} else { } else {
fuelx.active = 0; fuelx.active = 0;
@ -1609,7 +1615,7 @@ var messages_right_memo = func {
gpws_flap3.active = 0; gpws_flap3.active = 0;
} }
if (phaseVar >= 2 and phaseVar <= 9 and getprop("/systems/fuel/only-use-ctr-tank") == 1 and getprop("/systems/electrical/bus/ac-1") >= 115 and getprop("/systems/electrical/bus/ac-2") >= 115) { if (phaseVar >= 2 and phaseVar <= 9 and systems.ELEC.Bus.ac1.getValue() >= 110 and systems.ELEC.Bus.ac2.getValue() >= 110 and (getprop("/systems/fuel/feed-center-1") or getprop("/systems/fuel/feed-center-2"))) {
ctr_tk_feedg.active = 1; ctr_tk_feedg.active = 1;
} else { } else {
ctr_tk_feedg.active = 0; ctr_tk_feedg.active = 0;

View file

@ -275,7 +275,7 @@ var leftmemos = std.Vector.new([
var seatbelts = warning.new(msg: "SEAT BELTS" ), var seatbelts = warning.new(msg: "SEAT BELTS" ),
var nosmoke = warning.new(msg: "NO SMOKING" ), var nosmoke = warning.new(msg: "NO SMOKING" ),
var strobe_lt_off = warning.new(msg: "STROBE LT OFF" ), var strobe_lt_off = warning.new(msg: "STROBE LT OFF" ),
var outr_tk_fuel_xfrd = warning.new(msg: "OUTR TK FUEL XFRD" ), # Not yet implemented var outr_tk_fuel_xfrd = warning.new(msg: "OUTR TK FUEL XFRD" ),
var fob_3T = warning.new(msg: "FOB BELOW 3T" ), var fob_3T = warning.new(msg: "FOB BELOW 3T" ),
var gpws_flap_mode_off = warning.new(msg: "GPWS FLAP MODE OFF" ), var gpws_flap_mode_off = warning.new(msg: "GPWS FLAP MODE OFF" ),
var atc_datalink_stby = warning.new(msg: "ATC DATALINK STBY" ), # Not yet implemented var atc_datalink_stby = warning.new(msg: "ATC DATALINK STBY" ), # Not yet implemented

View file

@ -3,35 +3,73 @@
# Copyright (c) 2019 Joshua Davidson (Octal450) # Copyright (c) 2019 Joshua Davidson (Octal450)
var xfeed_sw = getprop("/controls/fuel/x-feed");
var tank0pump1_sw = 0;
var tank0pump2_sw = 0;
var tank1pump1_sw = 0;
var tank1pump2_sw = 0;
var tank2pump1_sw = 0;
var tank2pump2_sw = 0;
var mode_sw = 0;
var xfeed = 0;
var ac1 = 0;
var ac2 = 0;
var gravityfeedL = 0;
var gravityfeedR = 0;
var gload = 0;
var gravityfeedL_output = 0;
var gravityfeedR_output = 0;
var tank0 = 0;
var tank1 = 0;
var tank2 = 0;
var gravityfeedL = 0;
var gravityfeedR = 0;
var tank0pump1_fail = 0;
var tank0pump2_fail = 0;
var tank1pump1_fail = 0;
var tank1pump2_fail = 0;
var tank2pump1_fail = 0;
var tank2pump2_fail = 0;
var FUEL = { var FUEL = {
offset1: 0,
offset2: 0,
timeEngStart: 0,
cmdCtrOn: props.globals.getNode("/systems/fuel/ctr-pump-cmd-on-eng-start"),
Fail: {
},
Switches: {
centerTkMode: props.globals.getNode("/controls/fuel/switches/center-mode"),
crossfeed: props.globals.getNode("/controls/fuel/switches/crossfeed"),
pumpLeft1: props.globals.getNode("/controls/fuel/switches/pump-left-1"),
pumpLeft2: props.globals.getNode("/controls/fuel/switches/pump-left-2"),
pumpCenter1: props.globals.getNode("/controls/fuel/switches/pump-center-1"),
pumpCenter2: props.globals.getNode("/controls/fuel/switches/pump-center-2"),
pumpRight1: props.globals.getNode("/controls/fuel/switches/pump-right-1"),
pumpRight2: props.globals.getNode("/controls/fuel/switches/pump-right-2"),
},
Valves: {
crossfeed: props.globals.getNode("/systems/fuel/valves/crossfeed-valve"),
lpValve1: props.globals.getNode("/systems/fuel/valves/engine-1-lp-valve"),
lpValve2: props.globals.getNode("/systems/fuel/valves/engine-2-lp-valve"),
transfer1: props.globals.getNode("/systems/fuel/valves/outer-inner-transfer-valve-1"),
transfer2: props.globals.getNode("/systems/fuel/valves/outer-inner-transfer-valve-2"),
},
Quantity: {
leftOuter: props.globals.getNode("/consumables/fuel/tank[0]/level-lbs"),
leftInner: props.globals.getNode("/consumables/fuel/tank[1]/level-lbs"),
center: props.globals.getNode("/consumables/fuel/tank[2]/level-lbs"),
rightInner: props.globals.getNode("/consumables/fuel/tank[3]/level-lbs"),
rightOuter: props.globals.getNode("/consumables/fuel/tank[4]/level-lbs"),
usedLeft: props.globals.getNode("/systems/fuel/fuel-used-1"),
usedRight: props.globals.getNode("/systems/fuel/fuel-used-2"),
},
resetFail: func() {
},
init: func() {
},
loop: func() {
systems.FUEL.Quantity.usedLeft.setValue(pts.JSBSim.Propulsion.Engine1.fuelUsed.getValue() + me.offset1);
systems.FUEL.Quantity.usedRight.setValue(pts.JSBSim.Propulsion.Engine2.fuelUsed.getValue() + me.offset2);
},
setOffset: func() {
me.offset1 = me.offset1 -(pts.JSBSim.Propulsion.Engine1.fuelUsed.getValue());
me.offset2 = me.offset2 -(pts.JSBSim.Propulsion.Engine2.fuelUsed.getValue());
}
};
setlistener("/engines/engine[0]/state", func() {
if (pts.Engines.Engine1.state.getValue() == 3) {
FUEL.timeEngStart = pts.Sim.Time.elapsedSec.getValue();
FUEL.cmdCtrOn.setValue(1);
ctrTkTimer.start();
}
}, 0, 0);
setlistener("/engines/engine[1]/state", func() {
if (pts.Engines.Engine2.state.getValue() == 3) {
FUEL.timeEngStart = pts.Sim.Time.elapsedSec.getValue();
FUEL.cmdCtrOn.setValue(1);
ctrTkTimer.start();
}
}, 0, 0);
var FUELx = {
init: func() { init: func() {
setprop("/systems/fuel/gravityfeedL", 0); setprop("/systems/fuel/gravityfeedL", 0);
setprop("/systems/fuel/gravityfeedR", 0); setprop("/systems/fuel/gravityfeedR", 0);
@ -45,7 +83,7 @@ var FUEL = {
setprop("/controls/fuel/tank2pump1", 0); setprop("/controls/fuel/tank2pump1", 0);
setprop("/controls/fuel/tank2pump2", 0); setprop("/controls/fuel/tank2pump2", 0);
setprop("/controls/fuel/mode", 1); setprop("/controls/fuel/mode", 1);
setprop("/systems/fuel/x-feed", 0); setprop("/systems/fuel/valves/crossfeed-valve", 0);
setprop("/systems/fuel/tank[0]/feed", 0); setprop("/systems/fuel/tank[0]/feed", 0);
setprop("/systems/fuel/tank[1]/feed", 0); setprop("/systems/fuel/tank[1]/feed", 0);
setprop("/systems/fuel/tank[2]/feed", 0); setprop("/systems/fuel/tank[2]/feed", 0);
@ -67,7 +105,7 @@ var FUEL = {
tank2pump1_sw = getprop("/controls/fuel/tank2pump1"); tank2pump1_sw = getprop("/controls/fuel/tank2pump1");
tank2pump2_sw = getprop("/controls/fuel/tank2pump2"); tank2pump2_sw = getprop("/controls/fuel/tank2pump2");
mode_sw = getprop("/controls/fuel/mode"); mode_sw = getprop("/controls/fuel/mode");
xfeed = getprop("/systems/fuel/x-feed"); xfeed = getprop("/systems/fuel/valves/crossfeed-valve");
ac1 = getprop("/systems/electrical/bus/ac-1"); ac1 = getprop("/systems/electrical/bus/ac-1");
ac2 = getprop("/systems/electrical/bus/ac-2"); ac2 = getprop("/systems/electrical/bus/ac-2");
gravityfeedL = getprop("/systems/fuel/gravityfeedL"); gravityfeedL = getprop("/systems/fuel/gravityfeedL");
@ -124,9 +162,9 @@ var FUEL = {
} }
if ((ac1 >= 110 or ac2 >= 110) and xfeed_sw) { if ((ac1 >= 110 or ac2 >= 110) and xfeed_sw) {
setprop("/systems/fuel/x-feed", 1); setprop("/systems/fuel/valves/crossfeed-valve", 1);
} else { } else {
setprop("/systems/fuel/x-feed", 0); setprop("/systems/fuel/valves/crossfeed-valve", 0);
} }
tank0 = getprop("/systems/fuel/tank[0]/feed"); tank0 = getprop("/systems/fuel/tank[0]/feed");
@ -192,3 +230,10 @@ var FUEL = {
} }
}, },
}; };
var ctrTkTimer = maketimer(0.5, func() {
if (pts.Sim.Time.elapsedSec.getValue() > (FUEL.timeEngStart + 120)) {
FUEL.cmdCtrOn.setValue(0);
ctrTkTimer.stop()
}
});

View file

@ -29,11 +29,13 @@ var Engines = {
epractual: props.globals.getNode("/engines/engine[0]/epr-actual"), epractual: props.globals.getNode("/engines/engine[0]/epr-actual"),
n1actual: props.globals.getNode("/engines/engine[0]/n1-actual"), n1actual: props.globals.getNode("/engines/engine[0]/n1-actual"),
n2actual: props.globals.getNode("/engines/engine[0]/n2-actual"), n2actual: props.globals.getNode("/engines/engine[0]/n2-actual"),
state: props.globals.getNode("/engines/engine[0]/state"),
}, },
Engine2: { Engine2: {
epractual: props.globals.getNode("/engines/engine[1]/epr-actual"), epractual: props.globals.getNode("/engines/engine[1]/epr-actual"),
n1actual: props.globals.getNode("/engines/engine[1]/n1-actual"), n1actual: props.globals.getNode("/engines/engine[1]/n1-actual"),
n2actual: props.globals.getNode("/engines/engine[1]/n2-actual"), n2actual: props.globals.getNode("/engines/engine[1]/n2-actual"),
state: props.globals.getNode("/engines/engine[1]/state"),
}, },
}; };
@ -59,6 +61,17 @@ var JSBSIM = {
}, },
}; };
var JSBSim = {
Propulsion: {
Engine1: {
fuelUsed: props.globals.getNode("/fdm/jsbsim/propulsion/engine[0]/fuel-used-lbs"),
},
Engine2: {
fuelUsed: props.globals.getNode("/fdm/jsbsim/propulsion/engine[1]/fuel-used-lbs"),
},
},
};
var Options = { var Options = {
eng: props.globals.getNode("/options/eng"), eng: props.globals.getNode("/options/eng"),
}; };

417
Systems/a320-100-fuel.xml Normal file
View file

@ -0,0 +1,417 @@
<!-- Airbus A320 Fuel (-100) -->
<!-- Copyright (c) 2019 Jonathan Redpath -->
<system name="A320: Fuel:">
<channel name="Fuel Pumps and Valves">
<!-- Pumps -->
<switch name="/systems/fuel/pumps/apu-operate">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/pumps/all-eng-pump-off eq 1
<test logic="OR">
/systems/electrical/bus/ac-ess-shed ge 110
/systems/electrical/bus/ac-si-bus ge 110
</test>
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-left-1-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-left-1 eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/idg-1/pmg-volt ge 110
/controls/electrical/switches/gen-1-line-contactor eq 1
</test>
/systems/electrical/bus/ac-1 ge 110
</test>
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-left-2-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-left-2 eq 1
/systems/electrical/bus/ac-2 ge 110
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-right-1-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-right-1 eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/idg-1/pmg-volt ge 110
/controls/electrical/switches/gen-1-line-contactor eq 1
</test>
/systems/electrical/bus/ac-1 ge 110
</test>
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-right-2-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-right-2 eq 1
/systems/electrical/bus/ac-2 ge 110
</test>
</switch>
<switch name="/systems/fuel/left-inner-full">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/left-inner-full eq 1
propulsion/tank[1]/contents-lbs lt 11420
propulsion/tank[1]/contents-lbs ge 10300
</test>
<test value="1">
propulsion/tank[1]/contents-lbs eq 11420
</test>
</switch>
<switch name="/systems/fuel/right-inner-full">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/right-inner-full eq 1
propulsion/tank[2]/contents-lbs lt 11420
propulsion/tank[2]/contents-lbs ge 10300
</test>
<test value="1">
propulsion/tank[2]/contents-lbs eq 11420
</test>
</switch>
<switch name="/systems/fuel/pumps/all-eng-pump-off">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/pumps/wing-pump-left-1-operate eq 0
/systems/fuel/pumps/wing-pump-left-2-operate eq 0
/systems/fuel/pumps/wing-pump-right-1-operate eq 0
/systems/fuel/pumps/wing-pump-right-2-operate eq 0
</test>
</switch>
<switch name="/systems/fuel/quantity/left-wing-inner-low">
<default value="0"/>
<test value="1">
propulsion/tank[1]/contents-lbs le 1650
</test>
</switch>
<switch name="/systems/fuel/quantity/right-wing-inner-low">
<default value="0"/>
<test value="1">
propulsion/tank[2]/contents-lbs le 1650
</test>
</switch>
<!-- Valves -->
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-1-cmd">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/valves/outer-inner-transfer-valve-1-cmd eq 1
/systems/fuel/refuel/refuelling eq 0
</test>
<test value="1">
/systems/fuel/quantity/left-wing-inner-low eq 1
</test>
</switch>
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-1-power">
<default value="0"/>
<test value="0.333">
/systems/electrical/bus/dc-ess-shed ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/outer-inner-transfer-valve-1">
<input>/systems/fuel/valves/outer-inner-transfer-valve-1-cmd</input>
<rate_limit>/systems/fuel/valves/outer-inner-transfer-valve-1-power</rate_limit>
</actuator>
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-2-cmd">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/valves/outer-inner-transfer-valve-2-cmd eq 1
/systems/fuel/refuel/refuelling eq 0
</test>
<test value="1">
/systems/fuel/quantity/right-wing-inner-low eq 1
</test>
</switch>
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-2-power">
<default value="0"/>
<test value="0.333">
/systems/electrical/bus/dc-ess-shed ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/outer-inner-transfer-valve-2">
<input>/systems/fuel/valves/outer-inner-transfer-valve-2-cmd</input>
<rate_limit>/systems/fuel/valves/outer-inner-transfer-valve-2-power</rate_limit>
</actuator>
<!-- XFeed Valve -->
<switch name="/systems/fuel/valves/crossfeed-valve-cmd">
<default value="0"/>
<test value="1">
/controls/fuel/switches/crossfeed eq 1
</test>
</switch>
<switch name="/systems/fuel/valves/crossfeed-valve-power">
<default value="0"/>
<test logic="OR" value="0.5">
/systems/electrical/bus/dc-2 ge 25
/systems/electrical/bus/dc-ess-shed ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/crossfeed-valve">
<input>/systems/fuel/valves/crossfeed-valve-cmd</input>
<rate_limit>/systems/fuel/valves/crossfeed-valve-power</rate_limit>
</actuator>
<!-- Engine LP Valves -->
<switch name="/systems/fuel/valves/engine-1-lp-valve-cmd">
<default value="0"/>
<test logic="AND" value="1">
/controls/engines/engine[0]/fire-btn eq 0
/controls/engines/engine[0]/cutoff-switch eq 0
</test>
</switch>
<switch name="/systems/fuel/valves/engine-1-lp-valve-power">
<default value="0"/>
<test logic="OR" value="1.0">
/systems/electrical/bus/dc-ess-shed ge 25
/systems/electrical/bus/dc-2 ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/engine-1-lp-valve">
<input>/systems/fuel/valves/engine-1-lp-valve-cmd</input>
<rate_limit>/systems/fuel/valves/engine-1-lp-valve-power</rate_limit>
</actuator>
<switch name="/systems/fuel/valves/engine-2-lp-valve-cmd">
<default value="0"/>
<test logic="AND" value="1">
/controls/engines/engine[1]/fire-btn eq 0
/controls/engines/engine[1]/cutoff-switch eq 0
</test>
</switch>
<switch name="/systems/fuel/valves/engine-2-lp-valve-power">
<default value="0"/>
<test logic="OR" value="1.0">
/systems/electrical/bus/dc-ess-shed ge 25
/systems/electrical/bus/dc-2 ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/engine-2-lp-valve">
<input>/systems/fuel/valves/engine-2-lp-valve-cmd</input>
<rate_limit>/systems/fuel/valves/engine-2-lp-valve-power</rate_limit>
</actuator>
<switch name="/systems/fuel/valves/apu-lp-valve-cmd">
<default value="0"/>
<test logic="AND" value="1">
/controls/APU/master eq 1
/controls/APU/fire-btn eq 0
</test>
</switch>
<switch name="/systems/fuel/valves/apu-lp-valve-power">
<default value="0"/>
<test logic="OR" value="1.0">
/systems/electrical/bus/dc-bat ge 25
/systems/electrical/bus/dc-hot-1 ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/apu-lp-valve">
<input>/systems/fuel/valves/apu-lp-valve-cmd</input>
<rate_limit>/systems/fuel/valves/apu-lp-valve-power</rate_limit>
</actuator>
<!-- Pump PSI -->
<pure_gain name="/systems/fuel/pumps/apu-psi-cmd">
<input>/systems/fuel/pumps/apu-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/apu-psi">
<input>/systems/fuel/pumps/apu-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-left-1-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-left-1-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-left-1-psi">
<input>/systems/fuel/pumps/wing-pump-left-1-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-left-2-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-left-2-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-left-2-psi">
<input>/systems/fuel/pumps/wing-pump-left-2-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-right-1-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-right-1-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-right-1-psi">
<input>/systems/fuel/pumps/wing-pump-right-1-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-right-2-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-right-2-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-right-2-psi">
<input>/systems/fuel/pumps/wing-pump-right-2-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
</channel>
<channel name="Flow Rates">
<switch name="/systems/fuel/feed-left-inner">
<default value="0"/>
<test logic="OR" value="1">
/systems/fuel/pumps/wing-pump-left-1-operate eq 1
/systems/fuel/pumps/wing-pump-left-2-operate eq 1
</test>
<test logic="AND" value="1"> <!-- Suction/Gravity feed if G is not to far below 1 -->
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<switch name="/systems/fuel/feed-right-inner">
<default value="0"/>
<test logic="OR" value="1">
/systems/fuel/pumps/wing-pump-right-1-operate eq 1
/systems/fuel/pumps/wing-pump-right-2-operate eq 1
</test>
<test logic="AND" value="1"> <!-- Suction/Gravity feed if G is not to far below 1 -->
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<switch name="/systems/fuel/internal/left-wing-tank-eng-1">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/feed-left-inner eq 1
propulsion/tank[1]/contents-lbs gt 31.24
propulsion/tank[4]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/right-wing-tank-eng-1">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/valves/crossfeed-valve eq 1
propulsion/tank[2]/contents-lbs gt 31.24
propulsion/tank[4]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/left-wing-tank-eng-2">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/valves/crossfeed-valve eq 1
/systems/fuel/feed-left-inner eq 1
propulsion/tank[1]/contents-lbs gt 31.24
propulsion/tank[5]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/right-wing-tank-eng-2">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/feed-right-inner eq 1
propulsion/tank[2]/contents-lbs gt 31.24
propulsion/tank[5]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/left-wing-outer-to-inner-tank">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/valves/outer-inner-transfer-valve-1 eq 1
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<switch name="/systems/fuel/internal/right-wing-outer-to-inner-tank">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/valves/outer-inner-transfer-valve-2 eq 1
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<summer name="/systems/fuel/internal/left-outer-flow-rate">
<input>-/systems/fuel/internal/left-wing-outer-to-inner-tank</input>
<output>propulsion/tank[0]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/left-inner-flow-rate">
<input>/systems/fuel/internal/left-wing-outer-to-inner-tank</input>
<input>-/systems/fuel/internal/left-wing-tank-eng-1</input>
<input>-/systems/fuel/internal/left-wing-tank-eng-2</input>
<output>propulsion/tank[1]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/right-inner-flow-rate">
<input>/systems/fuel/internal/right-wing-outer-to-inner-tank</input>
<input>-/systems/fuel/internal/right-wing-tank-eng-1</input>
<input>-/systems/fuel/internal/right-wing-tank-eng-2</input>
<output>propulsion/tank[2]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/right-outer-flow-rate">
<input>-/systems/fuel/internal/right-wing-outer-to-inner-tank</input>
<output>propulsion/tank[3]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/eng-1-flow-rate">
<input>/systems/fuel/internal/left-wing-tank-eng-1</input>
<input>/systems/fuel/internal/right-wing-tank-eng-1</input>
<output>propulsion/tank[4]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/eng-2-flow-rate">
<input>/systems/fuel/internal/left-wing-tank-eng-2</input>
<input>/systems/fuel/internal/right-wing-tank-eng-2</input>
<output>propulsion/tank[5]/external-flow-rate-pps</output>
</summer>
</channel>
</system>

565
Systems/a320-fuel.xml Normal file
View file

@ -0,0 +1,565 @@
<!-- Airbus A320 Fuel -->
<!-- Copyright (c) 2019 Jonathan Redpath -->
<system name="A320: Fuel:">
<channel name="Fuel Pumps and Valves">
<!-- Pumps -->
<switch name="/systems/fuel/pumps/apu-operate">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/pumps/all-eng-pump-off eq 1
<test logic="OR">
/systems/electrical/bus/ac-ess-shed ge 110
/systems/electrical/bus/ac-si-bus ge 110
</test>
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-left-1-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-left-1 eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/idg-1/pmg-volt ge 110
/controls/electrical/switches/gen-1-line-contactor eq 1
</test>
/systems/electrical/bus/ac-1 ge 110
</test>
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-left-2-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-left-2 eq 1
/systems/electrical/bus/ac-2 ge 110
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-right-1-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-right-1 eq 1
<test logic="OR">
<test logic="AND">
/systems/electrical/sources/idg-1/pmg-volt ge 110
/controls/electrical/switches/gen-1-line-contactor eq 1
</test>
/systems/electrical/bus/ac-1 ge 110
</test>
</test>
</switch>
<switch name="/systems/fuel/pumps/wing-pump-right-2-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-right-2 eq 1
/systems/electrical/bus/ac-2 ge 110
</test>
</switch>
<switch name="/systems/fuel/left-inner-full">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/left-inner-full eq 1
propulsion/tank[1]/contents-lbs lt 11420
propulsion/tank[1]/contents-lbs ge 10300
</test>
<test value="1">
propulsion/tank[1]/contents-lbs eq 11420
</test>
</switch>
<switch name="/systems/fuel/right-inner-full">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/right-inner-full eq 1
propulsion/tank[3]/contents-lbs lt 11420
propulsion/tank[3]/contents-lbs ge 10300
</test>
<test value="1">
propulsion/tank[3]/contents-lbs eq 11420
</test>
</switch>
<switch name="/systems/fuel/pumps/center-pump-1-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-center-1 eq 1
<test logic="OR">
/controls/fuel/switches/center-mode eq 0
<test logic="OR">
/systems/fuel/pumps/center-control-low-level ne 1
/systems/fuel/ctr-pump-cmd-on-eng-start eq 1
<test logic="AND">
fcs/slat-pos-deg lt 16
/systems/fuel/left-inner-full ne 1
</test>
</test>
</test>
/systems/electrical/bus/ac-1 ge 110
</test>
</switch>
<switch name="/systems/fuel/pumps/center-pump-2-operate">
<default value="0"/>
<test logic="AND" value="1">
/controls/fuel/switches/pump-center-2 eq 1
<test logic="OR">
/controls/fuel/switches/center-mode eq 0
<test logic="OR">
/systems/fuel/pumps/center-control-low-level ne 1
/systems/fuel/ctr-pump-cmd-on-eng-start eq 1
<test logic="AND">
fcs/slat-pos-deg lt 16
/systems/fuel/pumps/center-control-low-level ne 1
/systems/fuel/right-inner-full ne 1
</test>
</test>
</test>
/systems/electrical/bus/ac-2 ge 110
</test>
</switch>
<switch name="/systems/fuel/pumps/all-eng-pump-off">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/pumps/wing-pump-left-1-operate eq 0
/systems/fuel/pumps/wing-pump-left-2-operate eq 0
/systems/fuel/pumps/wing-pump-right-1-operate eq 0
/systems/fuel/pumps/wing-pump-right-2-operate eq 0
/systems/fuel/pumps/center-pump-1-operate eq 0
/systems/fuel/pumps/center-pump-2-operate eq 0
</test>
</switch>
<switch name="/systems/fuel/quantity/left-wing-inner-low">
<default value="0"/>
<test value="1">
propulsion/tank[1]/contents-lbs le 1650
</test>
</switch>
<switch name="/systems/fuel/quantity/center-low">
<default value="0"/>
<test value="1">
propulsion/tank[2]/contents-lbs le 220
</test>
</switch>
<switch name="/systems/fuel/quantity/right-wing-inner-low">
<default value="0"/>
<test value="1">
propulsion/tank[3]/contents-lbs le 1650
</test>
</switch>
<actuator name="/systems/fuel/pumps/center-control-low-level">
<description>Timer for the Fuel Center pumps</description>
<input>/systems/fuel/quantity/center-low</input>
<rate_limit sense="decr">100</rate_limit> <!-- Instant -->
<rate_limit sense="incr">0.00333</rate_limit> <!-- 300 seconds -->
</actuator>
<!-- Valves -->
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-1-cmd">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/valves/outer-inner-transfer-valve-1-cmd eq 1
/systems/fuel/refuel/refuelling eq 0
</test>
<test logic="OR" value="1">
/systems/fuel/quantity/left-wing-inner-low eq 1
/systems/fuel/quantity/right-wing-inner-low eq 1
</test>
</switch>
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-1-power">
<default value="0"/>
<test value="0.333">
/systems/electrical/bus/dc-ess-shed ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/outer-inner-transfer-valve-1">
<input>/systems/fuel/valves/outer-inner-transfer-valve-1-cmd</input>
<rate_limit>/systems/fuel/valves/outer-inner-transfer-valve-1-power</rate_limit>
</actuator>
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-2-cmd">
<default value="0"/>
<test logic="AND" value="1">
/systems/fuel/valves/outer-inner-transfer-valve-2-cmd eq 1
/systems/fuel/refuel/refuelling eq 0
</test>
<test logic="OR" value="1">
/systems/fuel/quantity/left-wing-inner-low eq 1
/systems/fuel/quantity/right-wing-inner-low eq 1
</test>
</switch>
<switch name="/systems/fuel/valves/outer-inner-transfer-valve-2-power">
<default value="0"/>
<test value="0.333">
/systems/electrical/bus/dc-ess-shed ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/outer-inner-transfer-valve-2">
<input>/systems/fuel/valves/outer-inner-transfer-valve-2-cmd</input>
<rate_limit>/systems/fuel/valves/outer-inner-transfer-valve-2-power</rate_limit>
</actuator>
<!-- XFeed Valve -->
<switch name="/systems/fuel/valves/crossfeed-valve-cmd">
<default value="0"/>
<test value="1">
/controls/fuel/switches/crossfeed eq 1
</test>
</switch>
<switch name="/systems/fuel/valves/crossfeed-valve-power">
<default value="0"/>
<test logic="OR" value="0.5">
/systems/electrical/bus/dc-2 ge 25
/systems/electrical/bus/dc-ess-shed ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/crossfeed-valve">
<input>/systems/fuel/valves/crossfeed-valve-cmd</input>
<rate_limit>/systems/fuel/valves/crossfeed-valve-power</rate_limit>
</actuator>
<!-- Engine LP Valves -->
<switch name="/systems/fuel/valves/engine-1-lp-valve-cmd">
<default value="0"/>
<test logic="AND" value="1">
/controls/engines/engine[0]/fire-btn eq 0
/controls/engines/engine[0]/cutoff-switch eq 0
</test>
</switch>
<switch name="/systems/fuel/valves/engine-1-lp-valve-power">
<default value="0"/>
<test logic="OR" value="1.0">
/systems/electrical/bus/dc-ess-shed ge 25
/systems/electrical/bus/dc-2 ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/engine-1-lp-valve">
<input>/systems/fuel/valves/engine-1-lp-valve-cmd</input>
<rate_limit>/systems/fuel/valves/engine-1-lp-valve-power</rate_limit>
</actuator>
<switch name="/systems/fuel/valves/engine-2-lp-valve-cmd">
<default value="0"/>
<test logic="AND" value="1">
/controls/engines/engine[1]/fire-btn eq 0
/controls/engines/engine[1]/cutoff-switch eq 0
</test>
</switch>
<switch name="/systems/fuel/valves/engine-2-lp-valve-power">
<default value="0"/>
<test logic="OR" value="1.0">
/systems/electrical/bus/dc-ess-shed ge 25
/systems/electrical/bus/dc-2 ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/engine-2-lp-valve">
<input>/systems/fuel/valves/engine-2-lp-valve-cmd</input>
<rate_limit>/systems/fuel/valves/engine-2-lp-valve-power</rate_limit>
</actuator>
<switch name="/systems/fuel/valves/apu-lp-valve-cmd">
<default value="0"/>
<test logic="AND" value="1">
/controls/APU/master eq 1
/controls/APU/fire-btn eq 0
</test>
</switch>
<switch name="/systems/fuel/valves/apu-lp-valve-power">
<default value="0"/>
<test logic="OR" value="1.0">
/systems/electrical/bus/dc-bat ge 25
/systems/electrical/bus/dc-hot-1 ge 25
</test>
</switch>
<actuator name="/systems/fuel/valves/apu-lp-valve">
<input>/systems/fuel/valves/apu-lp-valve-cmd</input>
<rate_limit>/systems/fuel/valves/apu-lp-valve-power</rate_limit>
</actuator>
<!-- Pump PSI -->
<pure_gain name="/systems/fuel/pumps/apu-psi-cmd">
<input>/systems/fuel/pumps/apu-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/apu-psi">
<input>/systems/fuel/pumps/apu-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-left-1-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-left-1-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-left-1-psi">
<input>/systems/fuel/pumps/wing-pump-left-1-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-left-2-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-left-2-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-left-2-psi">
<input>/systems/fuel/pumps/wing-pump-left-2-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/center-pump-1-psi-cmd">
<input>/systems/fuel/pumps/center-pump-1-operate</input>
<gain>30</gain> <!-- 11000 lb/h -->
</pure_gain>
<actuator name="/systems/fuel/pumps/center-pump-1-psi">
<input>/systems/fuel/pumps/center-pump-1-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/center-pump-2-psi-cmd">
<input>/systems/fuel/pumps/center-pump-2-operate</input>
<gain>30</gain> <!-- 11000 lb/h -->
</pure_gain>
<actuator name="/systems/fuel/pumps/center-pump-2-psi">
<input>/systems/fuel/pumps/center-pump-2-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-right-1-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-right-1-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-right-1-psi">
<input>/systems/fuel/pumps/wing-pump-right-1-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
<pure_gain name="/systems/fuel/pumps/wing-pump-right-2-psi-cmd">
<input>/systems/fuel/pumps/wing-pump-right-2-operate</input>
<gain>25.3</gain> <!-- 9600 lb/h (guess) -->
</pure_gain>
<actuator name="/systems/fuel/pumps/wing-pump-right-2-psi">
<input>/systems/fuel/pumps/wing-pump-right-2-psi-cmd</input>
<rate_limit sense="incr">5</rate_limit>
<rate_limit sense="decr">10</rate_limit>
</actuator>
</channel>
<channel name="Flow Rates">
<switch name="/systems/fuel/feed-left-inner">
<default value="0"/>
<test logic="OR" value="1">
/systems/fuel/pumps/wing-pump-left-1-operate eq 1
/systems/fuel/pumps/wing-pump-left-2-operate eq 1
</test>
<test logic="AND" value="1"> <!-- Suction/Gravity feed if G is not to far below 1 -->
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<switch name="/systems/fuel/feed-right-inner">
<default value="0"/>
<test logic="OR" value="1">
/systems/fuel/pumps/wing-pump-right-1-operate eq 1
/systems/fuel/pumps/wing-pump-right-2-operate eq 1
</test>
<test logic="AND" value="1"> <!-- Suction/Gravity feed if G is not to far below 1 -->
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<switch name="/systems/fuel/feed-center-1">
<default value="0"/>
<test logic="OR" value="1">
/systems/fuel/pumps/center-pump-1-operate eq 1
</test>
</switch>
<switch name="/systems/fuel/feed-center-2">
<default value="0"/>
<test logic="OR" value="1">
/systems/fuel/pumps/center-pump-2-operate eq 1
</test>
</switch>
<switch name="/systems/fuel/internal/left-wing-tank-eng-1">
<default value="0"/>
<test logic="AND" value="9">
<test logic="OR">
/systems/fuel/quantity/center-low eq 1
/systems/fuel/feed-center-1 eq 0
</test>
/systems/fuel/feed-left-inner eq 1
propulsion/tank[1]/contents-lbs gt 31.24
propulsion/tank[5]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/center-tank-eng-1">
<default value="0"/>
<test logic="AND" value="9">
<test logic="OR">
/systems/fuel/feed-center-1 eq 1
<test logic="AND">
/systems/fuel/feed-center-2 eq 1
/systems/fuel/valves/crossfeed-valve eq 1
</test>
</test>
propulsion/tank[3]/contents-lbs gt 31.24
propulsion/tank[5]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/right-wing-tank-eng-1">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/feed-right-inner eq 1
<test logic="OR">
/systems/fuel/quantity/center-low eq 1
/systems/fuel/feed-center-2 eq 0
</test>
/systems/fuel/valves/crossfeed-valve eq 1
propulsion/tank[3]/contents-lbs gt 31.24
propulsion/tank[5]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/left-wing-tank-eng-2">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/valves/crossfeed-valve eq 1
<test logic="OR">
/systems/fuel/quantity/center-low eq 1
/systems/fuel/feed-center-1 eq 0
</test>
/systems/fuel/feed-left-inner eq 1
propulsion/tank[1]/contents-lbs gt 31.24
propulsion/tank[6]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/center-tank-eng-2">
<default value="0"/>
<test logic="AND" value="9">
<test logic="OR">
/systems/fuel/feed-center-2 eq 1
<test logic="AND">
/systems/fuel/feed-center-1 eq 1
/systems/fuel/valves/crossfeed-valve eq 1
</test>
</test>
propulsion/tank[3]/contents-lbs gt 31.24
propulsion/tank[6]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/right-wing-tank-eng-2">
<default value="0"/>
<test logic="AND" value="9">
<test logic="OR">
/systems/fuel/quantity/center-low eq 1
/systems/fuel/feed-center-2 eq 0
</test>
/systems/fuel/feed-right-inner eq 1
propulsion/tank[3]/contents-lbs gt 31.24
propulsion/tank[6]/contents-lbs lt 9
</test>
</switch>
<switch name="/systems/fuel/internal/left-wing-outer-to-inner-tank">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/valves/outer-inner-transfer-valve-1 eq 1
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<switch name="/systems/fuel/internal/right-wing-outer-to-inner-tank">
<default value="0"/>
<test logic="AND" value="9">
/systems/fuel/valves/outer-inner-transfer-valve-2 eq 1
/accelerations/pilot-gdamped ge 0.5
</test>
</switch>
<summer name="/systems/fuel/internal/left-outer-flow-rate">
<input>-/systems/fuel/internal/left-wing-outer-to-inner-tank</input>
<output>propulsion/tank[0]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/left-inner-flow-rate">
<input>/systems/fuel/internal/left-wing-outer-to-inner-tank</input>
<input>-/systems/fuel/internal/left-wing-tank-eng-1</input>
<input>-/systems/fuel/internal/left-wing-tank-eng-2</input>
<output>propulsion/tank[1]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/center-flow-rate">
<input>-/systems/fuel/internal/center-tank-eng-1</input>
<input>-/systems/fuel/internal/center-tank-eng-2</input>
<output>propulsion/tank[2]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/right-inner-flow-rate">
<input>/systems/fuel/internal/right-wing-outer-to-inner-tank</input>
<input>-/systems/fuel/internal/right-wing-tank-eng-1</input>
<input>-/systems/fuel/internal/right-wing-tank-eng-2</input>
<output>propulsion/tank[3]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/right-outer-flow-rate">
<input>-/systems/fuel/internal/right-wing-outer-to-inner-tank</input>
<output>propulsion/tank[4]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/eng-1-flow-rate">
<input>/systems/fuel/internal/left-wing-tank-eng-1</input>
<input>/systems/fuel/internal/right-wing-tank-eng-1</input>
<input>/systems/fuel/internal/center-tank-eng-2</input>
<output>propulsion/tank[5]/external-flow-rate-pps</output>
</summer>
<summer name="/systems/fuel/internal/eng-2-flow-rate">
<input>/systems/fuel/internal/left-wing-tank-eng-2</input>
<input>/systems/fuel/internal/right-wing-tank-eng-2</input>
<input>/systems/fuel/internal/center-tank-eng-2</input>
<output>propulsion/tank[6]/external-flow-rate-pps</output>
</summer>
</channel>
</system>

View file

@ -29,7 +29,7 @@
<switch name="fuel/from-tank2-to-tank3"> <switch name="fuel/from-tank2-to-tank3">
<default value="0"/> <default value="0"/>
<test logic="AND" value="9"> <test logic="AND" value="9">
/systems/fuel/x-feed == 1 /systems/fuel/valves/crossfeed-valve == 1
/systems/fuel/only-use-ctr-tank == 0 /systems/fuel/only-use-ctr-tank == 0
/systems/fuel/tank[2]/feed == 1 /systems/fuel/tank[2]/feed == 1
propulsion/tank[0]/contents-lbs eq 0 propulsion/tank[0]/contents-lbs eq 0
@ -62,7 +62,7 @@
<switch name="fuel/from-tank0-to-tank4"> <switch name="fuel/from-tank0-to-tank4">
<default value="0"/> <default value="0"/>
<test logic="AND" value="9"> <test logic="AND" value="9">
/systems/fuel/x-feed == 1 /systems/fuel/valves/crossfeed-valve == 1
/systems/fuel/only-use-ctr-tank == 0 /systems/fuel/only-use-ctr-tank == 0
/systems/fuel/tank[0]/feed == 1 /systems/fuel/tank[0]/feed == 1
propulsion/tank[2]/contents-lbs eq 0 propulsion/tank[2]/contents-lbs eq 0

View file

@ -1 +1 @@
7 8