1
0
Fork 0

Merged 3D

Signed-off-by: fly <merspieler@airmail.cc>
This commit is contained in:
fly 2021-03-14 04:10:31 +11:00
commit 089fa1d992
181 changed files with 58583 additions and 38055 deletions

View file

@ -1,166 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<PropertyList include="A320-main.xml">
<sim>
<description>Airbus A320-111 (CFM56-5A1)</description>
<flight-model>jsb</flight-model>
<aero>A320-100-CFM</aero>
<variant-of>A320-200-IAE</variant-of>
<model>
<path>Aircraft/A320-family/Models/A320-100-CFM.xml</path>
<livery>
<file>Airbus</file>
</livery>
<livery-dir type="string">Aircraft/A320-family/Models/Liveries/A320/CFM-100</livery-dir>
</model>
<sound>
<path>Aircraft/A320-family/Sounds/cfm56-sound.xml</path>
</sound>
<chase-distance-m type="double" archive="y">-80.0</chase-distance-m>
<view>
<name>Pilot View</name>
<internal archive="y">true</internal>
<config>
<x-offset-m archive="y">-0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
</config>
</view>
<view n="100">
<name>Copilot View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
</config>
</view>
<view n="101">
<name>Overhead Panel View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.163</z-offset-m>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<default-field-of-view-deg type="double">115</default-field-of-view-deg>
</config>
</view>
<view n="102">
<name>Forward Pedestal View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.593</z-offset-m>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
</config>
</view>
<view n="103">
<name>Aft Pedestal View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.243</z-offset-m>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
</config>
</view>
<view n="104">
<name>FCU Panel View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">52</default-field-of-view-deg>
</config>
</view>
<view n="105">
<name>Left Front View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">-2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<heading-offset-deg>117.488</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
</config>
</view>
<view n="106">
<name>Right Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<heading-offset-deg>249</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
</config>
</view>
<view n="107">
<name>Left Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">-2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<heading-offset-deg>70</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
</config>
</view>
<systems n="0">
<autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot>
<autopilot n="10">
<path>Aircraft/A320-family/Systems/cfm56-sound.xml</path>
</autopilot>
</systems>
</sim>
<limits>
<mass-and-balance> <!--Data source: TCDS WV 002 (Issue 12) -->
<maximum-takeoff-mass-lbs>150000</maximum-takeoff-mass-lbs>
<maximum-landing-mass-lbs>138900</maximum-landing-mass-lbs>
<maximum-zero-fuel-mass-lbs>131840</maximum-zero-fuel-mass-lbs>
</mass-and-balance>
</limits>
<options n="0">
<eng type="string">CFM</eng>
<maxblock type="double">52.3</maxblock>
<maxflap type="int">35</maxflap>
</options>
</PropertyList>

View file

@ -1,298 +0,0 @@
<?xml version="1.0"?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<fdm_config name="A320" version="2.0" release="BETA">
<fileheader>
<author>Joshua Davidson (Octal450)</author>
<version>Pre V1.0</version>
<description>A32X FDE</description>
</fileheader>
<metrics file="Systems/a320-metrics"/>
<mass_balance>
<ixx unit="SLUG*FT2">611903</ixx>
<iyy unit="SLUG*FT2">1735389</iyy>
<izz unit="SLUG*FT2">1401293</izz>
<ixy unit="SLUG*FT2">0</ixy>
<ixz unit="SLUG*FT2">0</ixz>
<iyz unit="SLUG*FT2">0</iyz>
<emptywt unit="LBS">95087.5</emptywt>
<location name="CG" unit="M">
<x>-2.4335</x> <!-- 28.5% MAC -->
<y>0</y>
<z>-0.75</z>
</location>
<pointmass name="Crew">
<weight unit="LBS">320</weight>
<location name="POINTMASS" unit="M">
<x>-15.44</x>
<y>0</y>
<z>0.3</z>
</location>
</pointmass>
<pointmass name="Forward Cabin">
<weight unit="LBS">3722</weight>
<location name="POINTMASS" unit="M">
<x>-11.8</x>
<y>0</y>
<z>0.3</z>
</location>
</pointmass>
<pointmass name="Center Cabin">
<weight unit="LBS">11361</weight>
<location name="POINTMASS" unit="M">
<x>-3.3</x>
<y>0</y>
<z>0.3</z>
</location>
</pointmass>
<pointmass name="Aft Cabin">
<weight unit="LBS">8422</weight>
<location name="POINTMASS" unit="M">
<x>4.3</x>
<y>0</y>
<z>0.3</z>
</location>
</pointmass>
<pointmass name="Fwd Cargo">
<weight unit="LBS">3000</weight>
<location name="POINTMASS" unit="M">
<x>-7.8</x>
<y>0</y>
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Cargo">
<weight unit="LBS">3000</weight>
<location name="POINTMASS" unit="M">
<x>-2.1</x>
<y>0</y>
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Bulk Cargo">
<weight unit="LBS">0</weight>
<location name="POINTMASS" unit="M">
<x>7.1</x>
<y>0</y>
<z>-1</z>
</location>
</pointmass>
</mass_balance>
<ground_reactions file="Systems/a320-ground-reactions"/>
<propulsion>
<engine file="cfm56_5a1_1">
<location unit="M">
<x>-5.34904</x>
<y>-5.755</y>
<z>-1.04768</z>
</location>
<orient unit="DEG">
<roll>0.0</roll>
<pitch>2.2</pitch>
<yaw>1</yaw>
</orient>
<feed>5</feed>
<thruster file="direct">
<location unit="M">
<x>-5.34904</x>
<y>-5.755</y>
<z>-1.04768</z>
</location>
<orient unit="DEG">
<roll>0.0</roll>
<pitch>2.2</pitch>
<yaw>1</yaw>
</orient>
</thruster>
</engine>
<engine file="cfm56_5a1_2">
<location unit="M">
<x>-5.34904</x>
<y>5.755</y>
<z>-1.04768</z>
</location>
<orient unit="DEG">
<roll>0.0</roll>
<pitch>2.2</pitch>
<yaw>-1</yaw>
</orient>
<feed>6</feed>
<thruster file="direct">
<location unit="M">
<x>-5.34904</x>
<y>5.755</y>
<z>-1.04768</z>
</location>
<orient unit="DEG">
<roll>0.0</roll>
<pitch>2.2</pitch>
<yaw>-1</yaw>
</orient>
</thruster>
</engine>
<engine file="APS3200">
<location unit="M">
<x>38.9</x>
<y>0</y>
<z>0.95</z>
</location>
<orient unit="DEG">
<roll>0.0</roll>
<pitch>0.0</pitch>
<yaw>0.0</yaw>
</orient>
<feed>7</feed>
<thruster file="direct">
<location unit="M">
<x>38.9</x>
<y>0</y>
<z>0.95</z>
</location>
<orient unit="DEG">
<roll>0.0</roll>
<pitch>0.0</pitch>
<yaw>0.0</yaw>
</orient>
</thruster>
</engine>
<tank type="FUEL"> <!-- Outer Left Wing Tank -->
<location unit="M">
<x>-2.4335</x>
<y>-7.0291</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">1523</capacity>
<contents unit="LBS">1523</contents>
<unusable-volume unit="LTR">4</unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Inner Left Wing Tank -->
<location unit="M">
<x>-2.4335</x>
<y>-4.1029</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">12272.9</capacity>
<contents unit="LBS">6000</contents>
<unusable-volume unit="LTR">28</unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Center Tank - wing box may be modified to center fuel tank on the -100 so we have a center tank. Or mostly because its easier... -->
<location unit="M">
<x>-2.4335</x>
<y>0</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">14623</capacity>
<contents unit="LBS">42</contents>
<unusable-volume unit="LTR">23.2</unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Inner Right Wing Tank -->
<location unit="M">
<x>-2.4335</x>
<y>4.1029</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">12272.9</capacity>
<contents unit="LBS">6000</contents>
<unusable-volume unit="LTR">28</unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Outer Right Wing Tank -->
<location unit="M">
<x>-2.4335</x>
<y>7.0291</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">1523</capacity>
<contents unit="LBS">1523</contents>
<unusable-volume unit="LTR">4</unusable-volume>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
<temperature>50</temperature>
</tank>
<tank type="FUEL"> <!-- Engine 1 Pipes -->
<location unit="M">
<x>-2.4335</x>
<y>0</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
</tank>
<tank type="FUEL"> <!-- Engine 2 Pipes -->
<location unit="M">
<x>-2.4335</x>
<y>0</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
</tank>
<tank type="FUEL"> <!-- APU Pipes -->
<location unit="M">
<x>-2.4335</x>
<y>0</y>
<z>-0.75</z>
</location>
<capacity unit="LBS">10</capacity>
<contents unit="LBS">0</contents>
<priority>1</priority>
<density unit="LBS/GAL">6.71</density>
</tank>
</propulsion>
<system file="a320-libraries"/>
<system file="glass-effect"/>
<system file="a320-fbw"/>
<system file="a320-fcs"/>
<system file="a320-fuel"/>
<system file="a320-fwc"/>
<system file="a320-fwc-phases"/>
<system file="a320-spoiler"/>
<system file="a320-electrical"/>
<system file="a320-hydraulic"/>
<system file="a320-pneumatic"/>
<system file="a320-aircond"/> <!-- after pneu -->
<system file="a320-lights"/>
<system file="a320-engine-fire"/>
<system file="a320-adr"/>
<system file="a320-apu"/>
<system file="a320-fmgc"/>
<system file="a320-misc"/>
<flight_control name="none"/>
<aerodynamics file="Systems/a320-aerodynamics.xml"/>
<external_reactions file="Systems/a320-external-reactions"/>
</fdm_config>

View file

@ -23,20 +23,22 @@
<path>Aircraft/A320-family/Sounds/cfm56-sound.xml</path>
</sound>
<chase-distance-m type="double" archive="y">-80.0</chase-distance-m>
<view>
<name>Pilot View</name>
<chase-distance-m type="double" archive="y">-60.0</chase-distance-m>
<view n="0">
<name>Captain View</name>
<internal archive="y">true</internal>
<config>
<x-offset-m archive="y">-0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="100">
<name>Copilot View</name>
<name>First Officer View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
@ -44,8 +46,10 @@
<x-offset-m archive="y">0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="101">
@ -57,8 +61,10 @@
<x-offset-m archive="y">0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.163</z-offset-m>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<default-field-of-view-deg type="double">115</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="102">
@ -70,8 +76,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.593</z-offset-m>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="103">
@ -83,8 +91,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.243</z-offset-m>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="104">
@ -96,8 +106,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">52</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="105">
@ -109,11 +121,43 @@
<x-offset-m archive="y">-2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<heading-offset-deg>117.488</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">117.488</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="106">
<name>Right Front View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">242.512</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<name>Left Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">-2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">111</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="108">
<name>Right Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -122,11 +166,13 @@
<x-offset-m archive="y">2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<heading-offset-deg>249</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">249</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<view n="109">
<name>Left Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -135,20 +181,38 @@
<x-offset-m archive="y">-2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<heading-offset-deg>70</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">70</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<!-- Walker is 110 and 111 -->
<view n="112">
<name>Right Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">290</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<systems n="0">
<autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot>
<autopilot n="10">
<systems n="0">
<autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot>
<property-rule n="100">
<path>Aircraft/A320-family/Systems/cfm56-sound.xml</path>
</autopilot>
</property-rule>
</systems>
</sim>
<limits>

View file

@ -94,7 +94,7 @@
<ground_reactions file="Systems/a320-ground-reactions"/>
<propulsion>
<engine file="cfm56_5b4_1">
<engine file="cfm56-5b4_1">
<location unit="M">
<x>-5.34904</x>
<y>-5.755</y>
@ -120,7 +120,7 @@
</thruster>
</engine>
<engine file="cfm56_5b4_2">
<engine file="cfm56-5b4_2">
<location unit="M">
<x>-5.34904</x>
<y>5.755</y>
@ -276,6 +276,7 @@
<system file="glass-effect"/>
<system file="a320-fbw"/>
<system file="a320-fcs"/>
<system file="a320-cfm56-5b4-engine-fadec"/>
<system file="a320-fuel"/>
<system file="a320-fwc"/>
<system file="a320-fwc-phases"/>

View file

@ -23,20 +23,22 @@
<path>Aircraft/A320-family/Sounds/v2500-sound.xml</path>
</sound>
<chase-distance-m type="double" archive="y">-80.0</chase-distance-m>
<view>
<name>Pilot View</name>
<chase-distance-m type="double" archive="y">-60.0</chase-distance-m>
<view n="0">
<name>Captain View</name>
<internal archive="y">true</internal>
<config>
<x-offset-m archive="y">-0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="100">
<name>Copilot View</name>
<name>First Officer View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
@ -44,8 +46,10 @@
<x-offset-m archive="y">0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="101">
@ -57,8 +61,10 @@
<x-offset-m archive="y">0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.163</z-offset-m>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<default-field-of-view-deg type="double">115</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="102">
@ -70,8 +76,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.593</z-offset-m>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="103">
@ -83,8 +91,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.243</z-offset-m>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="104">
@ -96,8 +106,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">52</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="105">
@ -109,11 +121,43 @@
<x-offset-m archive="y">-2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<heading-offset-deg>117.488</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">117.488</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="106">
<name>Right Front View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">242.512</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<name>Left Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">-2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">111</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="108">
<name>Right Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -122,11 +166,13 @@
<x-offset-m archive="y">2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<heading-offset-deg>249</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">249</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<view n="109">
<name>Left Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -135,8 +181,26 @@
<x-offset-m archive="y">-2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<heading-offset-deg>70</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">70</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<!-- Walker is 110 and 111 -->
<view n="112">
<name>Right Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">290</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
@ -144,9 +208,9 @@
<autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-iae.xml</path>
</autopilot>
<autopilot n="10">
<property-rule n="100">
<path>Aircraft/A320-family/Systems/v2500-sound.xml</path>
</autopilot>
</property-rule>
</systems>
</sim>

View file

@ -94,7 +94,7 @@
<ground_reactions file="Systems/a320-ground-reactions"/>
<propulsion>
<engine file="v2527_a5_1">
<engine file="v2527-a5_1">
<location unit="M">
<x>-5.34904</x>
<y>-5.755</y>
@ -120,7 +120,7 @@
</thruster>
</engine>
<engine file="v2527_a5_2">
<engine file="v2527-a5_2">
<location unit="M">
<x>-5.34904</x>
<y>5.755</y>

View file

@ -253,15 +253,15 @@
<path>Aircraft/A320-family/Systems/pfd.xml</path>
</autopilot>
<!-- 10 is sound -->
<autopilot n="11">
<property-rule n="101">
<path>Aircraft/A320-family/Systems/sound-common.xml</path>
</autopilot>
<autopilot n="12">
</property-rule>
<property-rule n="110">
<path>Aircraft/A320-family/Systems/a320-lights-proprules.xml</path>
</autopilot>
<autopilot n="13">
</property-rule>
<property-rule n="111">
<path>Aircraft/A320-family/Systems/ecam-proprules.xml</path>
</autopilot>
</property-rule>
<path>Aircraft/A320-family/Systems/pitot-static.xml</path>
</systems>
@ -297,6 +297,18 @@
<menubar>
<default>
<menu n="9">
<item n="2">
<key>?</key>
<label>Aircraft Help</label>
<binding>
<command>nasal</command>
<script>
acconfig.help_dlg.open();
</script>
</binding>
</item>
</menu>
<menu n="100">
<label>|</label>
<enabled type="bool">false</enabled>
@ -519,14 +531,6 @@
</script>
</binding>
</item>
<item>
<label>Skip ADIRS</label>
<binding>
<command>property-assign</command>
<property>/controls/adirs/skip</property>
<value>1</value>
</binding>
</item>
<item>
<label>Canvas QRH</label>
<binding>
@ -552,7 +556,7 @@
<float n="6" alias="/fdm/jsbsim/hydraulics/aileron-l/final-deg"/>
<float n="7" alias="/fdm/jsbsim/hydraulics/aileron-r/final-deg"/>
<float n="8" alias="/fdm/jsbsim/hydraulics/rudder/final-deg"/>
<float n="9" alias="/fdm/jsbsim/hydraulics/elevator-trim/final-deg"/>
<float n="9" alias="/fdm/jsbsim/hydraulics/stabilizer/final-deg"/>
<float n="11" alias="/fdm/jsbsim/fcs/slat-pos-norm"/>
<float n="12" alias="/fdm/jsbsim/fcs/flap-pos-norm"/>
<int n="2" alias="/controls/lighting/landing-lights[0]"/>
@ -576,12 +580,12 @@
<gui n="0" include="gui/it-gui.xml"/>
<current-view>
<z-offset-default type="float">80.0</z-offset-default>
<z-offset-default type="float">60.0</z-offset-default>
<z-offset-min-m type="float">10.0</z-offset-min-m>
<z-offset-max-m type="float">300.0</z-offset-max-m>
</current-view>
<minimum-fg-version>2019.2.0</minimum-fg-version>
<minimum-fg-version>2019.2.0</minimum-fg-version>
<navdb>
<min-runway-length-ft>3000</min-runway-length-ft>
@ -670,6 +674,14 @@
<line8 type="string"></line8>
</rightmsg>
<warning-phase type="int">0</warning-phase>
<phases>
<timer>
<ldg-inhibit type="int">0</ldg-inhibit>
<ldg-inhibit-output type="double">0</ldg-inhibit-output>
<to-inhibit type="int">0</to-inhibit>
<to-inhibit-output type="double">0</to-inhibit-output>
</timer>
</phases>
</ECAM>
<environment>
@ -778,15 +790,13 @@
<overspeed-roll-back type="bool">0</overspeed-roll-back>
</protections>
<spd-hld type="bool">0</spd-hld>
<speeds>
<vmo-mmo type="int">350</vmo-mmo>
</speeds>
</it-fbw>
<FMGC n="0">
<active-fmgc-channel type="int">0</active-fmgc-channel>
<internal>
<internal n="0">
<cost-index type="int">0</cost-index>
<flex type="int">45</flex>
<to-state type="bool">0</to-state>
</internal>
<simbrief-username type="string"></simbrief-username>
@ -800,6 +810,8 @@
<atc>
<system-knob type="int">0</system-knob>
<mode-knob type="int">0</mode-knob>
<abv-blw type="int">0</abv-blw>
<thrt-all type="int">0</thrt-all>
</atc>
<apu>
<agent-btn type="bool">0</agent-btn>
@ -944,7 +956,7 @@
</fuel>
<gear>
<brake-fans type="bool">0</brake-fans>
<brake-parking type="bool">0</brake-parking>
<brake-parking type="bool">1</brake-parking>
<tiller-cmd-norm type="double">0</tiller-cmd-norm>
<tiller-enabled type="bool">0</tiller-enabled>
<nws-switch type="double">1</nws-switch>
@ -1318,6 +1330,7 @@
<fac2 type="bool">0</fac2>
<rtlu-1 type="bool">0</rtlu-1>
<rtlu-2 type="bool">0</rtlu-2>
<ths-jam type="bool">0</ths-jam>
<yaw-damper-1 type="bool">0</yaw-damper-1>
<yaw-damper-2 type="bool">0</yaw-damper-2>
</fctl>
@ -1377,11 +1390,14 @@
<spoiler-r4 type="bool">0</spoiler-r4>
<spoiler-r5 type="bool">0</spoiler-r5>
</spoilers>
<engine-left-fire type="bool">0</engine-left-fire>
<engine-right-fire type="bool">0</engine-right-fire>
<apu-fire type="bool">0</apu-fire>
<cargo-fwd-fire type="bool">0</cargo-fwd-fire>
<cargo-aft-fire type="bool">0</cargo-aft-fire>
<fire>
<engine-left-fire type="bool">0</engine-left-fire>
<engine-right-fire type="bool">0</engine-right-fire>
<apu-fire type="bool">0</apu-fire>
<cargo-fwd-fire type="bool">0</cargo-fwd-fire>
<cargo-aft-fire type="bool">0</cargo-aft-fire>
<lavatory-fire type="bool">0</lavatory-fire>
</fire>
</failures>
<fctl n="0">
@ -1414,6 +1430,9 @@
<temperature type="double">0</temperature>
</fwd>
</cargo>
<lavatory>
<temperature type="double">0</temperature>
</lavatory>
</fire>
<fuel n="0">
<only-use-ctr-tank type="bool">0</only-use-ctr-tank>
@ -1610,8 +1629,8 @@
<instrumentation n="0">
<altimeter n="0">
<inhg type="bool">0</inhg>
<indicated-altitude-ft tyep="double">0</indicated-altitude-ft>
<indicated-altitude-ft-pfd tyep="double">0</indicated-altitude-ft-pfd>
<indicated-altitude-ft type="double">0</indicated-altitude-ft>
<indicated-altitude-ft-pfd type="double">0</indicated-altitude-ft-pfd>
<oldqnh type="double">29.92</oldqnh>
<serviceable type="bool">true</serviceable>
<std type="bool">0</std>
@ -1673,7 +1692,7 @@
<comm n="2">
<frequencies>
<selected-mhz type="double">0</selected-mhz>
<selected-mhz type="double">121.5</selected-mhz>
<standby-mhz type="double">123.2</standby-mhz>
</frequencies>
<serviceable type="bool">true</serviceable>
@ -1861,8 +1880,9 @@
<az-limit-deg type="int">30</az-limit-deg>
<elev-step-deg type="int">10</elev-step-deg>
<elev-limit type="int">30</elev-limit>
<max-range-m type="int">1219</max-range-m>
<max-range-m type="int">1525</max-range-m>
<serviceable type="bool">true</serviceable>
<radar-altitude-ft type="double">0</radar-altitude-ft>
</radar-altimeter>
<radar-altimeter n="1">
@ -1875,8 +1895,9 @@
<az-limit-deg type="int">30</az-limit-deg>
<elev-step-deg type="int">10</elev-step-deg>
<elev-limit type="int">30</elev-limit>
<max-range-m type="int">1219</max-range-m>
<max-range-m type="int">1525</max-range-m>
<serviceable type="bool">true</serviceable>
<radar-altitude-ft type="double">0</radar-altitude-ft>
</radar-altimeter>
<wxr>
@ -1954,20 +1975,37 @@
<key n="8">
<name>Del</name>
<desc>CLR</desc>
<repeatable type="bool">true</repeatable>
<binding>
<condition>
<property>/FMGC/keyboard-left</property>
</condition>
<command>nasal</command>
<script>mcdu.button("CLR", 0);</script>
<script>mcdu.button("CLR", 0, "down");</script>
</binding>
<binding>
<condition>
<property>/FMGC/keyboard-right</property>
</condition>
<command>nasal</command>
<script>mcdu.button("CLR", 1);</script>
<script>mcdu.button("CLR", 1, "down");</script>
</binding>
<mod-up>
<binding>
<condition>
<property>/FMGC/keyboard-left</property>
</condition>
<command>nasal</command>
<script>mcdu.button("CLR", 0, "up");</script>
</binding>
<binding>
<condition>
<property>/FMGC/keyboard-right</property>
</condition>
<command>nasal</command>
<script>mcdu.button("CLR", 1, "up");</script>
</binding>
</mod-up>
</key>
<key n="11">
<name>Disable MCDU keyboard mode</name>
@ -2541,18 +2579,18 @@
<binding n="0">
<condition>
<and>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
<or>
<equals>
<property>sim/current-view/name</property>
<value>Walk View</value>
</equals>
<equals>
<property>sim/current-view/name</property>
<value>Walker Orbit View</value>
</equals>
</or>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
<or>
<equals>
<property>sim/current-view/name</property>
<value>Walk View</value>
</equals>
<equals>
<property>sim/current-view/name</property>
<value>Walker Orbit View</value>
</equals>
</or>
</and>
</condition>
<command>property-assign</command>
@ -2687,6 +2725,65 @@
<key n="68">
<name>SHIFT-d</name>
<desc>Autopilot Disconnect</desc>
<binding n="0">
<command>property-assign</command>
<condition>
<and>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
<or>
<equals>
<property>sim/current-view/name</property>
<value>Walk View</value>
</equals>
<equals>
<property>sim/current-view/name</property>
<value>Walker Orbit View</value>
</equals>
</or>
</and>
</condition>
<property>sim/walker/key-triggers/slide</property>
<value>1</value>
</binding>
<binding n="1">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<property>sim/walker/speed-mps</property>
</binding>
<binding n="2">
<command>property-multiply</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<factor>2.5</factor>
</binding>
<mod-up>
<binding n="0">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/slide</property>
<value>0</value>
</binding>
<binding n="1">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<property>sim/walker/speed-mps</property>
</binding>
</mod-up>
<binding>
<condition>
<property>/FMGC/keyboard-left</property>
@ -2703,8 +2800,22 @@
</binding>
<binding>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
<and>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
<not>
<equals>
<property>sim/current-view/name</property>
<value>Walk View</value>
</equals>
</not>
<not>
<equals>
<property>sim/current-view/name</property>
<value>Walker Orbit View</value>
</equals>
</not>
</and>
</condition>
<command>nasal</command>
<script>
@ -3019,6 +3130,65 @@
<key n="83">
<name>SHIFT-s</name>
<desc>MCDU</desc>
<binding n="0">
<command>property-assign</command>
<condition>
<and>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
<or>
<equals>
<property>sim/current-view/name</property>
<value>Walk View</value>
</equals>
<equals>
<property>sim/current-view/name</property>
<value>Walker Orbit View</value>
</equals>
</or>
</and>
</condition>
<property>sim/walker/key-triggers/forward</property>
<value>-1</value>
</binding>
<binding n="1">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<property>sim/walker/speed-mps</property>
</binding>
<binding n="2">
<command>property-multiply</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<factor>2.5</factor>
</binding>
<mod-up>
<binding n="0">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/forward</property>
<value>0</value>
</binding>
<binding n="1">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<property>sim/walker/speed-mps</property>
</binding>
</mod-up>
<binding>
<condition>
<property>/FMGC/keyboard-left</property>
@ -3099,6 +3269,65 @@
<key n="87">
<name>SHIFT-w</name>
<desc>MCDU</desc>
<binding n="0">
<command>property-assign</command>
<condition>
<and>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
<or>
<equals>
<property>sim/current-view/name</property>
<value>Walk View</value>
</equals>
<equals>
<property>sim/current-view/name</property>
<value>Walker Orbit View</value>
</equals>
</or>
</and>
</condition>
<property>sim/walker/key-triggers/forward</property>
<value>1</value>
</binding>
<binding n="1">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<property>sim/walker/speed-mps</property>
</binding>
<binding n="2">
<command>property-multiply</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<factor>5.0</factor>
</binding>
<mod-up>
<binding n="0">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/forward</property>
<value>0</value>
</binding>
<binding n="1">
<command>property-assign</command>
<condition>
<not><property>/FMGC/keyboard-left</property></not>
<not><property>/FMGC/keyboard-right</property></not>
</condition>
<property>sim/walker/key-triggers/speed</property>
<property>sim/walker/speed-mps</property>
</binding>
</mod-up>
<binding>
<condition>
<property>/FMGC/keyboard-left</property>
@ -4422,9 +4651,11 @@
<libraries>
<file>Aircraft/A320-family/Nasal/Libraries/libraries.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/buttons.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/shake.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/zoom-views.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/controls-override.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/custom-views.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/shake.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/sounds.nas</file>
<file>Aircraft/A320-family/Nasal/Libraries/zoom-views.nas</file>
</libraries>
<acconfig>
<file>Aircraft/A320-family/AircraftConfig/acconfig.nas</file>
@ -4485,7 +4716,7 @@
<file>Aircraft/A320-family/Nasal/MCDU/ARRIVAL.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/AIRWAYS.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/CLOSESTAIRPORT.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/RECEIVEDMESSAGES.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/RECEIVEDMESSAGES.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PILOTWAYPOINT.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/HOLD.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/F-PLN.nas</file>
@ -4493,17 +4724,15 @@
<file>Aircraft/A320-family/Nasal/MCDU/WINDCRZ.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/WINDDES.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/WINDHIST.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/ATIS.nas</file> <!-- Last Dynamic Page -->
<file>Aircraft/A320-family/Nasal/MCDU/ATIS.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/FLIGHTLOG.nas</file> <!-- Last Dynamic Page -->
<file>Aircraft/A320-family/Nasal/MCDU/MCDU.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/INITA.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/IRSINIT.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/ROUTESELECTION.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/INITB.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/FUELPRED.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PROGTO.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PROGCLB.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PROGCRZ.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PROGDES.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PROG.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PERFAPPR.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PERFCLB.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/PERFCRZ.nas</file>
@ -4515,6 +4744,11 @@
<file>Aircraft/A320-family/Nasal/MCDU/DATA2.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/STATUS.nas</file>
</mcdu>
<!-- Traffic layer from E-jet -->
<traffic>
<file>Aircraft/A320-family/Nasal/Displays/projection.nas</file>
<file>Aircraft/A320-family/Nasal/Displays/traffic.nas</file>
</traffic>
<!-- Canvas -->
<canvas_pfd>
<file>Aircraft/A320-family/Models/Instruments/PFD/PFD.nas</file>
@ -4571,6 +4805,7 @@
<atsu>
<file>Aircraft/A320-family/Nasal/Systems/Comm/Dictionary.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/Comm/Notification.nas</file>
<file>Aircraft/A320-family/Nasal/Systems/Comm/CPDLC.nas</file>
</atsu>
<dmc>
<file>Aircraft/A320-family/Nasal/Displays/DMC.nas</file>

View file

@ -21,20 +21,22 @@
<path>Aircraft/A320-family/Sounds/leapx-sound.xml</path>
</sound>
<chase-distance-m type="double" archive="y">-80.0</chase-distance-m>
<view>
<name>Pilot View</name>
<chase-distance-m type="double" archive="y">-60.0</chase-distance-m>
<view n="0">
<name>Captain View</name>
<internal archive="y">true</internal>
<config>
<x-offset-m archive="y">-0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="100">
<name>Copilot View</name>
<name>First Officer View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
@ -42,8 +44,10 @@
<x-offset-m archive="y">0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="101">
@ -55,8 +59,10 @@
<x-offset-m archive="y">0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.163</z-offset-m>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<default-field-of-view-deg type="double">115</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="102">
@ -68,8 +74,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.593</z-offset-m>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="103">
@ -81,8 +89,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.243</z-offset-m>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="104">
@ -94,8 +104,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">52</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="105">
@ -107,11 +119,43 @@
<x-offset-m archive="y">-2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<heading-offset-deg>117.488</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">117.488</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="106">
<name>Right Front View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">242.512</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<name>Left Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">-2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">111</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="108">
<name>Right Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -120,11 +164,13 @@
<x-offset-m archive="y">2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<heading-offset-deg>249</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">249</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<view n="109">
<name>Left Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -133,8 +179,26 @@
<x-offset-m archive="y">-2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<heading-offset-deg>70</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">70</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<!-- Walker is 110 and 111 -->
<view n="112">
<name>Right Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">290</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
@ -142,9 +206,9 @@
<autopilot n="0">
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot>
<autopilot n="10">
<property-rule n="100">
<path>Aircraft/A320-family/Systems/leapx-sound.xml</path>
</autopilot>
</property-rule>
</systems>
</sim>

View file

@ -21,20 +21,22 @@
<path>Aircraft/A320-family/Sounds/leapx-sound.xml</path>
</sound>
<chase-distance-m type="double" archive="y">-80.0</chase-distance-m>
<view>
<name>Pilot View</name>
<chase-distance-m type="double" archive="y">-60.0</chase-distance-m>
<view n="0">
<name>Captain View</name>
<internal archive="y">true</internal>
<config>
<x-offset-m archive="y">-0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="100">
<name>Copilot View</name>
<name>First Officer View</name>
<type>lookfrom</type>
<internal archive="y">true</internal>
<config>
@ -42,8 +44,10 @@
<x-offset-m archive="y">0.45</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="101">
@ -55,8 +59,10 @@
<x-offset-m archive="y">0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.163</z-offset-m>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<default-field-of-view-deg type="double">115</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">65.5</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="102">
@ -68,8 +74,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.593</z-offset-m>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-76</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="103">
@ -81,8 +89,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.243</z-offset-m>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<default-field-of-view-deg type="double">63</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-82</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="104">
@ -94,8 +104,10 @@
<x-offset-m archive="y">0.0</x-offset-m>
<y-offset-m archive="y">0.545</y-offset-m>
<z-offset-m archive="y">-16.193</z-offset-m>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<default-field-of-view-deg type="double">52</default-field-of-view-deg>
<heading-offset-deg archive="y">0</heading-offset-deg>
<pitch-offset-deg archive="y">-14.6</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="105">
@ -107,11 +119,43 @@
<x-offset-m archive="y">-2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<heading-offset-deg>117.488</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">117.488</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="106">
<name>Right Front View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.18</x-offset-m>
<y-offset-m archive="y">0.488</y-offset-m>
<z-offset-m archive="y">-6.79</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">242.512</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<name>Left Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">-2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">111</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="108">
<name>Right Mid View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -120,11 +164,13 @@
<x-offset-m archive="y">2.20</x-offset-m>
<y-offset-m archive="y">0.448</y-offset-m>
<z-offset-m archive="y">-1.69</z-offset-m>
<heading-offset-deg>249</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">249</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<view n="107">
<view n="109">
<name>Left Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
@ -133,8 +179,26 @@
<x-offset-m archive="y">-2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<heading-offset-deg>70</heading-offset-deg>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">70</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
<!-- Walker is 110 and 111 -->
<view n="112">
<name>Right Aft View</name>
<type>lookfrom</type>
<internal archive="y">false</internal>
<config>
<from-model type="bool">true</from-model>
<x-offset-m archive="y">2.13</x-offset-m>
<y-offset-m archive="y">0.450</y-offset-m>
<z-offset-m archive="y">3.2</z-offset-m>
<default-field-of-view-deg type="double">85</default-field-of-view-deg>
<heading-offset-deg archive="y">290</heading-offset-deg>
<pitch-offset-deg archive="y">0</pitch-offset-deg>
<roll-offset-deg archive="y">0</roll-offset-deg>
</config>
</view>
@ -142,9 +206,9 @@
<autopilot n="0"> <!-- Apparently PW PurePower uses N1, not EPR.... sooo I use CFM FADEC -->
<path>Aircraft/A320-family/Systems/fadec-cfm.xml</path>
</autopilot>
<autopilot n="10">
<property-rule n="100">
<path>Aircraft/A320-family/Systems/leapx-sound.xml</path>
</autopilot>
</property-rule>
</systems>
</sim>

View file

@ -56,10 +56,12 @@ var failResetOld = func {
setprop("/systems/failures/pump-green", 0);
setprop("/systems/failures/pump-yellow-eng", 0);
setprop("/systems/failures/pump-yellow-elec", 0);
setprop("/systems/failures/cargo-aft-fire", 0);
setprop("/systems/failures/cargo-fwd-fire", 0);
setprop("/systems/failures/engine-left-fire", 0);
setprop("/systems/failures/engine-right-fire", 0);
setprop("/systems/failures/fire/cargo-aft-fire", 0);
setprop("/systems/failures/fire/cargo-fwd-fire", 0);
setprop("/systems/failures/fire/engine-left-fire", 0);
setprop("/systems/failures/fire/apu-fire", 0);
setprop("/systems/failures/fire/engine-right-fire", 0);
setprop("/systems/failures/fire/lavatory-fire", 0);
}
failResetOld();
@ -80,6 +82,7 @@ setprop("/systems/acconfig/options/wxr-server", "noaa");
setprop("/systems/acconfig/options/welcome-skip", 0);
setprop("/systems/acconfig/options/no-rendering-warn", 0);
setprop("/systems/acconfig/options/save-state", 0);
setprop("/systems/acconfig/options/hide-canvas-outside", 0);
setprop("/systems/acconfig/options/seperate-tiller-axis", 0);
setprop("/systems/acconfig/options/pfd-rate", 1);
setprop("/systems/acconfig/options/nd-rate", 1);
@ -197,10 +200,10 @@ var renderingSettings = {
check: func() {
var rembrandt = getprop("/sim/rendering/rembrandt/enabled");
var ALS = getprop("/sim/rendering/shaders/skydome");
var customSettings = getprop("/sim/rendering/shaders/custom-settings") == 1;
var landmass = getprop("/sim/rendering/shaders/landmass") >= 4;
var model = getprop("/sim/rendering/shaders/model") >= 2;
if (!rembrandt and (!ALS or !customSettings or !landmass or !model)) {
if (!rembrandt and (!ALS or !landmass or !model)) {
rendering_dlg.open();
}
},
@ -235,6 +238,7 @@ var readSettings = func {
setprop("/FMGC/simbrief-username", getprop("/systems/acconfig/options/simbrief-username"));
setprop("/systems/atsu/atis-server", getprop("/systems/acconfig/options/atis-server"));
setprop("/systems/atsu/wxr-server", getprop("/systems/acconfig/options/wxr-server"));
setprop("/options/hide-canvas-outside", getprop("/systems/acconfig/options/hide-canvas-outside"));
}
var writeSettings = func {
@ -249,6 +253,7 @@ var writeSettings = func {
setprop("/systems/acconfig/options/simbrief-username", getprop("/FMGC/simbrief-username"));
setprop("/systems/acconfig/options/atis-server", getprop("/systems/atsu/atis-server"));
setprop("/systems/acconfig/options/wxr-server", getprop("/systems/atsu/wxr-server"));
setprop("/systems/acconfig/options/hide-canvas-outside", getprop("/options/hide-canvas-outside"));
io.write_properties(getprop("/sim/fg-home") ~ "/Export/A320-family-config.xml", "/systems/acconfig/options");
}
@ -256,6 +261,15 @@ var writeSettings = func {
# Panel States #
################
# Abort auto-config and close dialog
var abortPanelStates = func {
if (getprop("/systems/acconfig/autoconfig-running") == 1) {
setprop("/systems/acconfig/autoconfig-running", 0);
}
ps_load_dlg.close();
spinning.stop();
}
# Cold and Dark
var colddark = func {
if (getprop("/systems/acconfig/mismatch-code") == "0x000") {
@ -288,6 +302,7 @@ var colddark = func {
setprop("/controls/lighting/overhead-panel-knb", 0);
atc.transponderPanel.modeSwitch(1);
libraries.systemsInit();
libraries.variousReset();
failResetOld();
if (getprop("/engines/engine[1]/n2-actual") < 2) {
colddark_b();
@ -333,6 +348,7 @@ var beforestart = func {
setprop("/controls/gear/gear-down", 1);
setprop("/controls/flight/elevator-trim", 0);
libraries.systemsInit();
libraries.variousReset();
failResetOld();
# Now the Startup!
@ -352,6 +368,10 @@ var beforestart = func {
}
}
var beforestart_b = func {
if (getprop("/systems/acconfig/autoconfig-running") == 0) {
colddark();
return 0; # auto-config aborted
}
# Continue with engine start prep.
systems.FUEL.Switches.pumpLeft1.setValue(1);
systems.FUEL.Switches.pumpLeft2.setValue(1);
@ -386,6 +406,9 @@ var beforestart_b = func {
setprop("/controls/adirs/mcducbtn", 1);
setprop("/controls/switches/beacon", 1);
setprop("/controls/lighting/nav-lights-switch", 1);
setprop("/controls/switches/no-smoking-sign", 0.5);
setprop("/controls/switches/seatbelt-sign", 1);
setprop("/controls/switches/emer-lights", 0.5);
setprop("/controls/radio/rmp[0]/on", 1);
setprop("/controls/radio/rmp[1]/on", 1);
setprop("/controls/radio/rmp[2]/on", 1);
@ -420,6 +443,7 @@ var taxi = func {
setprop("/controls/gear/gear-down", 1);
setprop("/controls/flight/elevator-trim", 0);
libraries.systemsInit();
libraries.variousReset();
failResetOld();
# Now the Startup!
@ -439,6 +463,10 @@ var taxi = func {
}
}
var taxi_b = func {
if (getprop("/systems/acconfig/autoconfig-running") == 0) {
colddark();
return 0; # auto-config aborted
}
# Continue with engine start prep, and start engines.
systems.FUEL.Switches.pumpLeft1.setValue(1);
systems.FUEL.Switches.pumpLeft2.setValue(1);
@ -474,6 +502,9 @@ var taxi_b = func {
setprop("/controls/switches/beacon", 1);
setprop("/controls/switches/wing-lights", 1);
setprop("/controls/lighting/nav-lights-switch", 1);
setprop("/controls/switches/no-smoking-sign", 0.5);
setprop("/controls/switches/seatbelt-sign", 1);
setprop("/controls/switches/emer-lights", 0.5);
setprop("/controls/radio/rmp[0]/on", 1);
setprop("/controls/radio/rmp[1]/on", 1);
setprop("/controls/radio/rmp[2]/on", 1);
@ -492,6 +523,10 @@ var taxi_b = func {
settimer(taxi_c, 2);
}
var taxi_c = func {
if (getprop("/systems/acconfig/autoconfig-running") == 0) {
colddark();
return 0; # auto-config aborted
}
setprop("/controls/engines/engine-start-switch", 2);
setprop("/controls/engines/engine[0]/cutoff-switch", 0);
setprop("/controls/engines/engine[1]/cutoff-switch", 0);
@ -500,6 +535,10 @@ var taxi_c = func {
}, 10);
}
var taxi_d = func {
if (getprop("/systems/acconfig/autoconfig-running") == 0) {
colddark();
return 0; # auto-config aborted
}
# After Start items.
setprop("/controls/engines/engine-start-switch", 1);
setprop("/controls/apu/master", 0);

View file

@ -144,6 +144,16 @@
<live>true</live>
</checkbox>
<checkbox>
<label>THS</label>
<halign>left</halign>
<property>/systems/failures/fctl/ths-jam</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Yaw Damper 1</label>
<halign>left</halign>
@ -550,7 +560,7 @@
<stretch type="bool">true</stretch>
</hrule>
<text>
<label>Cargo Fire</label>
<label>Fire</label>
</text>
<hrule>
<stretch type="bool">true</stretch>
@ -558,9 +568,9 @@
</group>
<checkbox>
<label>AFT</label>
<label>AFT CRG</label>
<halign>left</halign>
<property>/systems/failures/cargo-aft-fire</property>
<property>/systems/failures/fire/cargo-aft-fire</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -568,15 +578,26 @@
</checkbox>
<checkbox>
<label>FWD</label>
<label>FWD CRG</label>
<halign>left</halign>
<property>/systems/failures/cargo-fwd-fire</property>
<property>/systems/failures/fire/cargo-fwd-fire</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<group>
<checkbox>
<label>LAV</label>
<halign>left</halign>
<property>/systems/failures/fire/lavatory-fire</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<group>
<layout>hbox</layout>
<hrule>
@ -593,7 +614,7 @@
<checkbox>
<label>Left Engine</label>
<halign>left</halign>
<property>/systems/failures/engine-left-fire</property>
<property>/systems/failures/fire/engine-left-fire</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -603,7 +624,7 @@
<checkbox>
<label>APU</label>
<halign>left</halign>
<property>/systems/failures/apu-fire</property>
<property>/systems/failures/fire/apu-fire</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -613,7 +634,7 @@
<checkbox>
<label>Right Engine</label>
<halign>left</halign>
<property>/systems/failures/engine-right-fire</property>
<property>/systems/failures/fire/engine-right-fire</property>
<binding>
<command>dialog-apply</command>
</binding>

View file

@ -198,7 +198,7 @@
<vertical>true</vertical>
<property>/fdm/jsbsim/hydraulics/elevator-l/final-deg</property>
<min>-30</min>
<max>17</max>
<max>15</max>
<step>0.003</step>
<live>true</live>
</slider>
@ -213,7 +213,7 @@
<slider>
<pref-height>150</pref-height>
<vertical>true</vertical>
<property>/fdm/jsbsim/hydraulics/elevator-trim/final-deg</property>
<property>/fdm/jsbsim/hydraulics/stabilizer/final-deg</property>
<min>-12.5</min>
<max>4</max>
<step>0.00125</step>
@ -232,7 +232,7 @@
<vertical>true</vertical>
<property>/fdm/jsbsim/hydraulics/elevator-r/final-deg</property>
<min>-30</min>
<max>17</max>
<max>15</max>
<step>0.003</step>
<live>true</live>
</slider>

View file

@ -124,16 +124,10 @@
<value>0</value>
</binding>
<enable>
<and>
<or>
<property>/controls/gear/brake-parking</property>
<property>/services/chocks/enable</property>
</or>
<less-than>
<property>/velocities/groundspeed-kt</property>
<value>2</value>
</less-than>
</and>
<less-than>
<property>/velocities/groundspeed-kt</property>
<value>2</value>
</less-than>
</enable>
<binding>
<command>dialog-apply</command>
@ -150,50 +144,10 @@
<property>/controls/pneumatics/switches/groundair</property>
</binding>
<enable>
<and>
<or>
<property>/controls/gear/brake-parking</property>
<property>/services/chocks/enable</property>
</or>
<less-than>
<property>/velocities/groundspeed-kt</property>
<value>2</value>
</less-than>
</and>
</enable>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Yellow HYD Hand Pump</label>
<halign>left</halign>
<property>/controls/hydraulic/hand-pump-yellow</property>
<binding>
<command>property-toggle</command>
<property>/controls/hydraulic/hand-pump-yellow</property>
</binding>
<enable>
<and>
<or>
<property>/controls/gear/brake-parking</property>
<property>/services/chocks/enable</property>
</or>
<less-than>
<property>/velocities/groundspeed-kt</property>
<value>2</value>
</less-than>
<less-than>
<property>/systems/electrical/bus/ac-2</property>
<value>115</value>
</less-than>
<equals>
<property>/controls/electrical/switches/ext-pwr</property>
<value>0</value>
</equals>
</and>
<less-than>
<property>/velocities/groundspeed-kt</property>
<value>2</value>
</less-than>
</enable>
<binding>
<command>dialog-apply</command>

View file

@ -343,6 +343,26 @@
<live>true</live>
</checkbox>
<checkbox>
<label>Disable Canvas in External Views</label>
<halign>left</halign>
<property>/systems/acconfig/options/hide-canvas-outside</property>
<binding>
<command>property-toggle</command>
<property>options/hide-canvas-outside</property>
</binding>
<binding>
<command>dialog-apply</command>
</binding>
<binding>
<command>nasal</command>
<script>
acconfig.writeSettings();
</script>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<!-- TODO there might be a better way to formulate this. -->
<label>Save States Between Sessions</label>

View file

@ -15,6 +15,16 @@
<halign>left</halign>
<label>Please wait...</label>
</text>
<button>
<halign>right</halign>
<legend>Abort</legend>
<pref-width>60</pref-width>
<key>Esc</key>
<binding>
<command>nasal</command>
<script>acconfig.abortPanelStates();</script>
</binding>
</button>
</group>
<hrule/>
@ -36,7 +46,7 @@
<valign>center</valign>
<property>/systems/acconfig/spin</property>
<live>1</live>
</text>
</text>
</group>

128
Engines/cfm56-5b4_1.xml Normal file
View file

@ -0,0 +1,128 @@
<?xml version="1.0"?>
<!-- Copyright (c) 2021 Josh Davidson (Octal450) -->
<turbine_engine name="CFM56-5B4">
<milthrust>27000</milthrust>
<tsfc>0.445</tsfc>
<bleed>0.03</bleed>
<ignitionn1>0.6</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.05</n1spinup>
<n2spinup>1.85</n2spinup>
<n1startrate>0.573</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<augmented>0</augmented>
<injected>0</injected>
<function name="N1SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N1SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolUp"> <!-- N1 to N2 factor 0.535840188014101 -->
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 0.6
28 1.6
46 5.2
68 8.3
80 10.5
94 11.5
103 12.6
</tableData>
</table>
</function>
<function name="N2SpoolDown"> <!-- N1 to N2 factor 0.535840188014101 -->
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 0.6
28 1.6
46 5.2
68 8.3
80 10.5
94 11.5
103 12.6
</tableData>
</table>
</function>
<function name="IdleThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 0.0430 0.0458 0.0378 0.0684 0.0819 0.0793 0.0000
0.2 0.0500 0.0291 0.0205 0.0514 0.0727 0.0729 0.0000
0.4 0.0040 0.0047 0.0012 0.0412 0.0585 0.0671 0.0000
0.6 0.0000 0.0000 0.0000 0.0000 0.0416 0.0518 0.0000
0.8 0.0000 0.0000 0.0000 0.0000 0.0354 0.0468 0.0000
1.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0352 0.0000
</tableData>
</table>
</function>
<function name="MilThrust"> <!-- If you change this, make sure you update the table in the engine system file -->
<product>
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
<property>fadec/limit/rated-thrust-factor</property>
<table> <!-- Thrust loss due to reverser angle -->
<independentVar lookup="row">/engines/engine[0]/reverser-pos-norm</independentVar>
<tableData>
0.01 1.00
1.00 0.65
</tableData>
</table>
</product>
</function>
</turbine_engine>

128
Engines/cfm56-5b4_2.xml Normal file
View file

@ -0,0 +1,128 @@
<?xml version="1.0"?>
<!-- Copyright (c) 2021 Josh Davidson (Octal450) -->
<turbine_engine name="CFM56-5B4">
<milthrust>27000</milthrust>
<tsfc>0.445</tsfc>
<bleed>0.03</bleed>
<ignitionn1>0.6</ignitionn1>
<ignitionn2>22.2</ignitionn2>
<n1spinup>0.05</n1spinup>
<n2spinup>1.85</n2spinup>
<n1startrate>0.573</n1startrate>
<n2startrate>1.127</n2startrate>
<idlen1>18.9</idlen1>
<idlen2>59.4</idlen2>
<maxn1>104.0</maxn1>
<maxn2>105.0</maxn2>
<augmented>0</augmented>
<injected>0</injected>
<function name="N1SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N1SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolUp"> <!-- N1 to N2 factor 0.535840188014101 -->
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 0.6
28 1.6
46 5.2
68 8.3
80 10.5
94 11.5
103 12.6
</tableData>
</table>
</function>
<function name="N2SpoolDown"> <!-- N1 to N2 factor 0.535840188014101 -->
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 0.6
28 1.6
46 5.2
68 8.3
80 10.5
94 11.5
103 12.6
</tableData>
</table>
</function>
<function name="IdleThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 0.0430 0.0458 0.0378 0.0684 0.0819 0.0793 0.0000
0.2 0.0500 0.0291 0.0205 0.0514 0.0727 0.0729 0.0000
0.4 0.0040 0.0047 0.0012 0.0412 0.0585 0.0671 0.0000
0.6 0.0000 0.0000 0.0000 0.0000 0.0416 0.0518 0.0000
0.8 0.0000 0.0000 0.0000 0.0000 0.0354 0.0468 0.0000
1.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0352 0.0000
</tableData>
</table>
</function>
<function name="MilThrust"> <!-- If you change this, make sure you update the table in the engine system file -->
<product>
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
<property>fadec/limit/rated-thrust-factor</property>
<table> <!-- Thrust loss due to reverser angle -->
<independentVar lookup="row">/engines/engine[1]/reverser-pos-norm</independentVar>
<tableData>
0.01 1.00
1.00 0.65
</tableData>
</table>
</product>
</function>
</turbine_engine>

View file

@ -1,119 +0,0 @@
<?xml version="1.0"?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<turbine_engine name="CFM56_5A1">
<!-- source https://www.youtube.com/watch?v=jnGfzv7Odh4 -->
<milthrust> 25000 </milthrust>
<tsfc> 0.445 </tsfc>
<bleed> 0.03 </bleed>
<ignitionn1> 0.6 </ignitionn1>
<ignitionn2> 22.2</ignitionn2>
<idlen1> 18.9 </idlen1>
<idlen2> 59.4 </idlen2>
<n1spinup> 0.05 </n1spinup>
<n2spinup> 1.85 </n2spinup>
<n1startrate> 0.573 </n1startrate>
<n2startrate> 1.127 </n2startrate>
<maxn1> 103.8 </maxn1>
<maxn2> 101.4 </maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>
<function name="N1SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N1SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="IdleThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 0.0430 0.0458 0.0378 0.0684 0.0619 0.0693 0.0000
0.2 0.0500 0.0291 0.0205 0.0514 0.0627 0.0629 0.0000
0.4 0.0040 0.0047 0.0012 0.0412 0.0485 0.0571 0.0000
0.6 0.0000 0.0000 0.0000 0.0000 0.0316 0.0418 0.0000
0.8 0.0000 0.0000 0.0000 0.0000 0.0254 0.0368 0.0000
1.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0252 0.0000
</tableData>
</table>
</function>
<function name="MilThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
</function>
</turbine_engine>

View file

@ -1,119 +0,0 @@
<?xml version="1.0"?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<turbine_engine name="CFM56_5A1">
<!-- source https://www.youtube.com/watch?v=jnGfzv7Odh4 -->
<milthrust> 25000 </milthrust>
<tsfc> 0.445 </tsfc>
<bleed> 0.03 </bleed>
<ignitionn1> 0.6 </ignitionn1>
<ignitionn2> 22.2</ignitionn2>
<idlen1> 18.9 </idlen1>
<idlen2> 59.4 </idlen2>
<n1spinup> 0.05 </n1spinup>
<n2spinup> 1.85 </n2spinup>
<n1startrate> 0.573 </n1startrate>
<n2startrate> 1.127 </n2startrate>
<maxn1> 103.8 </maxn1>
<maxn2> 101.4 </maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>
<function name="N1SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N1SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="IdleThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 0.0430 0.0458 0.0378 0.0684 0.0619 0.0693 0.0000
0.2 0.0500 0.0291 0.0205 0.0514 0.0627 0.0629 0.0000
0.4 0.0040 0.0047 0.0012 0.0412 0.0485 0.0571 0.0000
0.6 0.0000 0.0000 0.0000 0.0000 0.0316 0.0418 0.0000
0.8 0.0000 0.0000 0.0000 0.0000 0.0254 0.0368 0.0000
1.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0252 0.0000
</tableData>
</table>
</function>
<function name="MilThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
</function>
</turbine_engine>

View file

@ -1,119 +0,0 @@
<?xml version="1.0"?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<turbine_engine name="CFM56_5B4">
<!-- source https://www.youtube.com/watch?v=jnGfzv7Odh4 -->
<milthrust> 27000 </milthrust>
<tsfc> 0.445 </tsfc>
<bleed> 0.03 </bleed>
<ignitionn1> 0.6 </ignitionn1>
<ignitionn2> 22.2</ignitionn2>
<idlen1> 18.9 </idlen1>
<idlen2> 59.4 </idlen2>
<n1spinup> 0.05 </n1spinup>
<n2spinup> 1.85 </n2spinup>
<n1startrate> 0.573 </n1startrate>
<n2startrate> 1.127 </n2startrate>
<maxn1> 103.8 </maxn1>
<maxn2> 101.4 </maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>
<function name="N1SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N1SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[0]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="IdleThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 0.0430 0.0458 0.0378 0.0684 0.0619 0.0693 0.0000
0.2 0.0500 0.0291 0.0205 0.0514 0.0627 0.0629 0.0000
0.4 0.0040 0.0047 0.0012 0.0412 0.0485 0.0571 0.0000
0.6 0.0000 0.0000 0.0000 0.0000 0.0316 0.0418 0.0000
0.8 0.0000 0.0000 0.0000 0.0000 0.0254 0.0368 0.0000
1.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0252 0.0000
</tableData>
</table>
</function>
<function name="MilThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
</function>
</turbine_engine>

View file

@ -1,119 +0,0 @@
<?xml version="1.0"?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<turbine_engine name="CFM56_5B4">
<!-- source https://www.youtube.com/watch?v=jnGfzv7Odh4 -->
<milthrust> 27000 </milthrust>
<tsfc> 0.445 </tsfc>
<bleed> 0.03 </bleed>
<ignitionn1> 0.6 </ignitionn1>
<ignitionn2> 22.2</ignitionn2>
<idlen1> 18.9 </idlen1>
<idlen2> 59.4 </idlen2>
<n1spinup> 0.05 </n1spinup>
<n2spinup> 1.85 </n2spinup>
<n1startrate> 0.573 </n1startrate>
<n2startrate> 1.127 </n2startrate>
<maxn1> 103.8 </maxn1>
<maxn2> 101.4 </maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>
<function name="N1SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N1SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolUp">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="N2SpoolDown">
<table>
<independentVar lookup="row">/engines/engine[1]/n1</independentVar>
<tableData>
24 1.1
28 2.9
46 9.7
68 15.4
80 19.6
94 21.4
103 23.6
</tableData>
</table>
</function>
<function name="IdleThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 0.0430 0.0458 0.0378 0.0684 0.0619 0.0693 0.0000
0.2 0.0500 0.0291 0.0205 0.0514 0.0627 0.0629 0.0000
0.4 0.0040 0.0047 0.0012 0.0412 0.0485 0.0571 0.0000
0.6 0.0000 0.0000 0.0000 0.0000 0.0316 0.0418 0.0000
0.8 0.0000 0.0000 0.0000 0.0000 0.0254 0.0368 0.0000
1.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0252 0.0000
</tableData>
</table>
</function>
<function name="MilThrust">
<table>
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
</function>
</turbine_engine>

View file

@ -2,7 +2,7 @@
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<turbine_engine name="V2527_A5">
<turbine_engine name="V2527-A5">
<!-- data measured from https://www.youtube.com/watch?v=gPRQcYNRV_U -->
<milthrust> 24800 </milthrust>

View file

@ -2,7 +2,7 @@
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<turbine_engine name="V2527_A5">
<turbine_engine name="V2527-A5">
<!-- data measured from https://www.youtube.com/watch?v=gPRQcYNRV_U -->
<milthrust> 24800 </milthrust>

View file

@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
<PropertyList>
<name>A320-100-CFM</name>
<path>empty.ac</path> <!-- Livery system on MP multimodel -->
<model>
<name>A320</name>
<path>Aircraft/A320-family/Models/A320-common.xml</path>
</model>
<model>
<name>EnginesCFM</name>
<path>Aircraft/A320-family/Models/Engines/XMLs/a320.cfm.xml</path>
</model>
<!-- Nasal code -->
<nasal>
<load>
var livery_update = aircraft.livery_update.new("Aircraft/A320-family/Models/Liveries/A320/CFM-100");
</load>
<unload>
livery_update.stop();
</unload>
</nasal>
</PropertyList>

View file

@ -237,6 +237,33 @@
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Left nav light</object-name>
<object-name>Left nav light ALS</object-name>
<condition>
<not><property>sim/multiplay/generic/int[12]</property></not>
</condition>
</animation>
<model>
<name>Left nav light ALS sharklet</name>
<path>Aircraft/A320-family/Models/Lights/ALS/rednav.xml</path>
<offsets>
<x-m>1.54364</x-m>
<y-m>-16.38</y-m>
<z-m>0.317012</z-m>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Left nav light ALS sharklet</object-name>
<condition>
<property>sim/multiplay/generic/int[12]</property>
</condition>
</animation>
<model>
<name>Right nav light</name>
<path>Aircraft/A320-family/Models/Lights/greennav.xml</path>
@ -256,6 +283,33 @@
<z-m>0.317018</z-m>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Right nav light</object-name>
<object-name>Right nav light ALS</object-name>
<condition>
<not><property>sim/multiplay/generic/int[12]</property></not>
</condition>
</animation>
<model>
<name>Right nav light ALS sharklet</name>
<path>Aircraft/A320-family/Models/Lights/ALS/greennav.xml</path>
<offsets>
<x-m>1.54364</x-m>
<y-m>16.38</y-m>
<z-m>0.317012</z-m>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Right nav light ALS sharklet</object-name>
<condition>
<property>sim/multiplay/generic/int[12]</property>
</condition>
</animation>
<model>
<name>Tail nav light</name>
@ -297,6 +351,33 @@
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Left strobe light</object-name>
<object-name>Left strobe light ALS</object-name>
<condition>
<not><property>sim/multiplay/generic/int[12]</property></not>
</condition>
</animation>
<model>
<name>Left strobe light ALS sharklet</name>
<path>Aircraft/A320-family/Models/Lights/ALS/right-strobe.xml</path>
<offsets>
<x-m>2.31</x-m>
<y-m>-17.1</y-m>
<z-m>0.66</z-m>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Left strobe light ALS sharklet</object-name>
<condition>
<property>sim/multiplay/generic/int[12]</property>
</condition>
</animation>
<model>
<name>Right strobe light</name>
<path>Aircraft/A320-family/Models/Lights/strobe.xml</path>
@ -316,6 +397,33 @@
<z-m>0.319218</z-m>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Right strobe light</object-name>
<object-name>Right strobe light ALS</object-name>
<condition>
<not><property>sim/multiplay/generic/int[12]</property></not>
</condition>
</animation>
<model>
<name>Right strobe light ALS sharklet</name>
<path>Aircraft/A320-family/Models/Lights/ALS/right-strobe.xml</path>
<offsets>
<x-m>2.31</x-m>
<y-m>17.1</y-m>
<z-m>0.66</z-m>
</offsets>
</model>
<animation>
<type>select</type>
<object-name>Right strobe light ALS sharklet</object-name>
<condition>
<property>sim/multiplay/generic/int[12]</property>
</condition>
</animation>
<model>
<name>Tail strobe light</name>
@ -405,10 +513,10 @@
</specular>
<attenuation>
<c>1.0</c>
<l>2.25</l>
<q>12.0</q>
<l>0.7</l>
<q>1.80</q>
</attenuation>
<range-m>2.5</range-m>
<range-m>7</range-m>
</light>
<light>
@ -439,92 +547,256 @@
</specular>
<attenuation>
<c>1.0</c>
<l>2.25</l>
<q>12.0</q>
<l>0.90</l>
<q>3.00</q>
</attenuation>
<range-m>2.5</range-m>
</light>
<light>
<name>Landing Light Left Compositor</name>
<type>spot</type>
<position>
<x-m>-2.080</x-m>
<y-m>-2.22016</y-m>
<z-m>-1.69034</z-m>
</position>
<direction>
<x>-1.0</x>
<y>0</y>
<z>-0.055</z>
</direction>
<ambient>
<r>1.00</r>
<g>0.9765</g>
<b>0.9922</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.00</r>
<g>0.9765</g>
<b>0.9922</b>
<a>1</a>
</diffuse>
<specular>
<r>1.00</r>
<g>0.9765</g>
<b>0.9922</b>
<a>1</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.9</l>
<q>3.0</q>
</attenuation>
<spot-exponent>5</spot-exponent>
<spot-cutoff>10</spot-cutoff>
<range-m>5</range-m>
</light>
<light>
<name>Landing Light Right Compositor</name>
<type>spot</type>
<center>
<x-m>-2.080</x-m>
<y-m> 2.22016</y-m>
<z-m>-1.69034</z-m>
</center>
<direction>
<x>-1.0</x>
<y>0</y>
<z>-0.055</z>
</direction>
<ambient>
<r>1.00</r>
<g>0.9765</g>
<b>0.9922</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.00</r>
<g>0.9765</g>
<b>0.9922</b>
<a>1</a>
</diffuse>
<specular>
<r>1.00</r>
<g>0.9765</g>
<b>0.9922</b>
<a>1</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.9</l>
<q>3.0</q>
</attenuation>
<spot-exponent>5</spot-exponent>
<spot-cutoff>10</spot-cutoff>
<range-m>5</range-m>
<name>Landing Light Left Compositor</name>
<type>spot</type>
<position>
<x-m>-2.080</x-m>
<y-m>-2.22016</y-m>
<z-m>-1.69034</z-m>
</position>
<direction>
<x>-1.0</x>
<y>0</y>
<z>-0.055</z>
</direction>
<ambient>
<r>0.05</r>
<g>0.05</g>
<b>0.05</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</diffuse>
<specular>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.0009</l>
<q>0.000003</q>
</attenuation>
<spot-exponent>200.0</spot-exponent>
<spot-cutoff>12.0</spot-cutoff>
<range-m>5000.0</range-m>
</light>
<light>
<name>Landing Light Right Compositor</name>
<type>spot</type>
<position>
<x-m>-2.080</x-m>
<y-m> 2.22016</y-m>
<z-m>-1.69034</z-m>
</position>
<direction>
<x>-1.0</x>
<y>0</y>
<z>-0.055</z>
</direction>
<ambient>
<r>0.05</r>
<g>0.05</g>
<b>0.05</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</diffuse>
<specular>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.0009</l>
<q>0.000003</q>
</attenuation>
<spot-exponent>200.0</spot-exponent>
<spot-cutoff>12.0</spot-cutoff>
<range-m>5000.0</range-m>
</light>
<light>
<name>Taxi Light Compositor</name>
<type>spot</type>
<position>
<x-m>-13.461</x-m>
<y-m>0.20414</y-m>
<z-m>-2.28819</z-m>
</position>
<direction>
<x>-1.0</x>
<y>0</y>
<z>0</z>
</direction>
<ambient>
<r>0.05</r>
<g>0.05</g>
<b>0.05</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</diffuse>
<specular>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.0015</l>
<q>0.00000833333</q>
</attenuation>
<spot-exponent>200.0</spot-exponent>
<spot-cutoff>12.0</spot-cutoff>
<range-m>3000.0</range-m>
</light>
<light>
<name>Left Turnoff Compositor</name>
<type>spot</type>
<position>
<x-m>-13.5034</x-m>
<y-m>-0.20993</y-m>
<z-m>-2.83921</z-m>
</position>
<direction>
<x>-1.0</x>
<y>-0.571953125</y>
<z>0</z>
</direction>
<ambient>
<r>0.05</r>
<g>0.05</g>
<b>0.05</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</diffuse>
<specular>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.0015</l>
<q>0.00000833333</q>
</attenuation>
<spot-exponent>200.0</spot-exponent>
<spot-cutoff>12.0</spot-cutoff>
<range-m>3000.0</range-m>
</light>
<light>
<name>Right Turnoff Compositor</name>
<type>spot</type>
<position>
<x-m>-13.5034</x-m>
<y-m> 0.20914</y-m>
<z-m>-2.83921</z-m>
</position>
<direction>
<x>-1.0</x>
<y>0.571953125</y>
<z>0</z>
</direction>
<ambient>
<r>0.05</r>
<g>0.05</g>
<b>0.05</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</diffuse>
<specular>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.0015</l>
<q>0.00000833333</q>
</attenuation>
<spot-exponent>200.0</spot-exponent>
<spot-cutoff>12.0</spot-cutoff>
<range-m>3000.0</range-m>
</light>
<light>
<name>Nose Landing Light Compositor</name>
<type>spot</type>
<position>
<x-m>-13.5119</x-m>
<y-m>-0.185175</y-m>
<z-m>-2.30747</z-m>
</position>
<direction>
<x>-1.0</x>
<y>0</y>
<z>0</z>
</direction>
<ambient>
<r>0.05</r>
<g>0.05</g>
<b>0.05</b>
<a>1</a>
</ambient>
<diffuse>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</diffuse>
<specular>
<r>1.0</r>
<g>1.0</g>
<b>1.0</b>
<a>1.0</a>
</specular>
<attenuation>
<c>1.0</c>
<l>0.0009</l>
<q>0.000003</q>
</attenuation>
<spot-exponent>200.0</spot-exponent>
<spot-cutoff>12.0</spot-cutoff>
<range-m>5000.0</range-m>
</light>
<animation>
@ -552,6 +824,64 @@
</condition>
</animation>
<animation>
<type>select</type>
<object-name>Left Turnoff Compositor</object-name>
<condition>
<property>controls/lighting/leftturnoff</property>
</condition>
</animation>
<animation>
<type>select</type>
<object-name>Right Turnoff Compositor</object-name>
<condition>
<property>controls/lighting/rightturnoff</property>
</condition>
</animation>
<animation>
<type>select</type>
<object-name>Taxi Light Compositor</object-name>
<condition>
<and>
<not>
<equals>
<property>sim/model/lights/nose-lights</property>
<value>1.0</value>
</equals>
</not>
<not>
<equals>
<property>sim/model/lights/nose-lights</property>
<value>0.0</value>
</equals>
</not>
<greater-than>
<property>gear/gear/position-norm</property>
<value>0.1</value>
</greater-than>
</and>
</condition>
</animation>
<animation>
<type>select</type>
<object-name>Nose Landing Light Compositor</object-name>
<condition>
<and>
<equals>
<property>sim/model/lights/nose-lights</property>
<value>1.0</value>
</equals>
<greater-than>
<property>gear/gear/position-norm</property>
<value>0.1</value>
</greater-than>
</and>
</condition>
</animation>
<model>
<name>Port landing light ALS</name>
<path>Aircraft/A320-family/Models/Lights/ALS/landinglightL.xml</path>

View file

@ -0,0 +1,95 @@
<?xml version="1.0"?>
<PropertyList>
<name>reflection</name>
<inherits-from>Effects/model-combined-deferred</inherits-from>
<parameters>
<reflection-enabled type="int">1</reflection-enabled>
<reflection-dynamic type="int">1</reflection-dynamic>
<reflect_map-enabled type="int">0</reflect_map-enabled>
<reflection-correction type="float"><use>/sim/model/reflection/reflection-correction</use></reflection-correction>
<reflection-type type="int">2</reflection-type>
<ambient-correction type="float"><use>/sim/model/reflection/ambient-correction</use></ambient-correction>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-multi type="int">0</lightmap-multi>
<normalmap-enabled type="int">1</normalmap-enabled>
<texture n="2">
<image>Aircraft/A320-family/Models/Effects/res/Fuse-Main-Normal.png</image>
<filter>linear-mipmap-linear</filter>
<wrap-s>clamp</wrap-s>
<wrap-t>clamp</wrap-t>
</texture>
<lightmap-factor type="float" n="0"><use>sim/model/lights/logo-lights</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>
<texture n="3">
<image>Aircraft/A320-family/Models/Effects/res/rudder-lightmap.png</image>
<filter>linear-mipmap-linear</filter>
<wrap-s>clamp</wrap-s>
<wrap-t>clamp</wrap-t>
<internal-format>normalized</internal-format>
</texture>
<texture n="5">
<type>cubemap</type>
<images>
<positive-x>Aircraft/Generic/Effects/CubeMaps/fgfs-sky/1.png</positive-x>
<negative-x>Aircraft/Generic/Effects/CubeMaps/fgfs-sky/4.png</negative-x>
<positive-y>Aircraft/Generic/Effects/CubeMaps/fgfs-sky/2.png</positive-y>
<negative-y>Aircraft/Generic/Effects/CubeMaps/fgfs-sky/3.png</negative-y>
<positive-z>Aircraft/Generic/Effects/CubeMaps/fgfs-sky/6.png</positive-z>
<negative-z>Aircraft/Generic/Effects/CubeMaps/fgfs-sky/5.png</negative-z>
</images>
</texture>
</parameters>
<!-- ####################
### NORMALMAP INCLUDE ###
######################### -->
<generate>
<tangent type="int">6</tangent>
<binormal type="int">7</binormal>
</generate>
<technique n="4">
<pass>
<program>
<attribute>
<name>tangent</name>
<index>6</index>
</attribute>
<attribute>
<name>binormal</name>
<index>7</index>
</attribute>
</program>
</pass>
</technique>
<technique n="7">
<pass>
<program>
<attribute>
<name>tangent</name>
<index>6</index>
</attribute>
<attribute>
<name>binormal</name>
<index>7</index>
</attribute>
</program>
</pass>
</technique>
<technique n="9">
<pass>
<program>
<attribute>
<name>tangent</name>
<index>6</index>
</attribute>
<attribute>
<name>binormal</name>
<index>7</index>
</attribute>
</program>
</pass>
</technique>
<!-- ########################
### END NORMALMAP INCLUDE ###
############################# -->
</PropertyList>

View file

@ -9,7 +9,7 @@
<reflection-correction type="float"><use>/sim/model/reflection/reflection-correction</use></reflection-correction>
<reflection-type type="int">2</reflection-type>
<ambient-correction type="float"><use>/sim/model/reflection/ambient-correction</use></ambient-correction>
<lightmap-enabled type="int">0</lightmap-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-multi type="int">0</lightmap-multi>
<normalmap-enabled type="int">1</normalmap-enabled>
<texture n="2">
@ -18,6 +18,15 @@
<wrap-s>clamp</wrap-s>
<wrap-t>clamp</wrap-t>
</texture>
<lightmap-factor type="float" n="0"><use>sim/model/lights/logo-lights</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>
<texture n="3">
<image>Aircraft/A320-family/Models/Effects/res/fin-lightmap.png</image>
<filter>linear-mipmap-linear</filter>
<wrap-s>clamp</wrap-s>
<wrap-t>clamp</wrap-t>
<internal-format>normalized</internal-format>
</texture>
<texture n="5">
<type>cubemap</type>
<images>

Binary file not shown.

After

Width:  |  Height:  |  Size: 440 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 373 KiB

View file

@ -2,10 +2,11 @@ AC3Db
MATERIAL "DefaultWhite" rgb 1.000 1.000 1.000 amb 0.200 0.200 0.200 emis 0.000 0.000 0.000 spec 0.500 0.500 0.500 shi 10 trans 0.000
MATERIAL "engine-CFM56" rgb 0.720 0.720 0.720 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.873 0.873 0.900 shi 25 trans 0.000
MATERIAL "engine-CFM56-Inner" rgb 0.800 0.800 0.800 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.500 0.500 0.500 shi 5 trans 0.000
MATERIAL "Fuse-Placards" rgb 0.900 0.900 0.900 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.600 0.600 0.600 shi 25 trans 0.000
MATERIAL "engine-CFM56.fanTransparency" rgb 0.720 0.720 0.720 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.873 0.873 0.900 shi 25 trans 0.200
OBJECT world
name "Blender_exporter_v2.26__CFM56.ac"
kids 32
kids 33
OBJECT poly
name "EngineCFM56L"
data 12
@ -31039,6 +31040,132 @@ refs 4
1818 0.394894 0.143367
kids 0
OBJECT poly
name "EngineCFM56R.Placards"
data 12
Cylinder.050
crease 40.0
texture "placards.png"
texrep 1 1
numvert 32
-5.59072 -2.84045 -6.55067
-5.59072 -3.07434 -6.38327
-5.59072 -3.0743 -4.87842
-5.59072 -2.84041 -4.71102
-5.59072 -2.84047 4.71095
-5.59072 -3.07436 4.87835
-5.59072 -3.07432 6.38325
-5.59072 -2.84044 6.55065
-5.45944 -2.83717 4.7173
-5.45944 -3.06744 6.37806
-5.45944 -2.83713 6.5443
-5.45944 -2.83711 -4.71737
-5.45944 -3.06746 -6.37808
-5.45944 -3.06748 4.88354
-5.45944 -3.06742 -4.88361
-5.45944 -2.83715 -6.54432
-6.03605 -3.08474 -6.38316
-6.03605 -2.84785 4.71108
-6.03605 -3.08476 4.87846
-6.03605 -3.0847 -4.87853
-6.03605 -2.8478 -4.71115
-6.03605 -3.08473 6.38314
-6.03605 -2.84784 -6.55054
-6.03605 -2.84782 6.55052
-6.03605 -3.22944 6.2095
-6.03605 -3.22944 -5.0522
-6.03605 -3.22944 -6.20953
-5.59072 -3.22944 -5.06703
-6.03605 -3.22944 5.05207
-5.59072 -3.22944 -6.19471
-5.59072 -3.22944 6.19467
-5.59072 -3.22944 5.06689
numsurf 12
SURF 0X10
mat 3
refs 4
15 0.843104 0.878719
12 0.843104 0.821207
1 0.814886 0.821208
0 0.814886 0.878719
SURF 0X10
mat 3
refs 4
14 0.843185 0.928674
11 0.843185 0.98558
3 0.814966 0.98558
2 0.814966 0.928674
SURF 0X10
mat 3
refs 4
8 0.843103 0.878719
13 0.843103 0.821208
5 0.814886 0.821208
4 0.814886 0.878719
SURF 0X10
mat 3
refs 4
9 0.843185 0.928674
10 0.843184 0.98558
7 0.814966 0.98558
6 0.814966 0.928673
SURF 0X10
mat 3
refs 4
1 0.814886 0.821512
29 0.814886 0.771916
26 0.720004 0.775836
16 0.720004 0.821512
SURF 0X10
mat 3
refs 4
4 0.814886 0.878719
5 0.814886 0.821208
18 0.720004 0.821208
17 0.720004 0.878719
SURF 0X10
mat 3
refs 4
6 0.814966 0.928657
7 0.814966 0.985563
23 0.720085 0.985563
21 0.720085 0.928657
SURF 0X10
mat 3
refs 4
0 0.814886 0.879023
1 0.814886 0.821512
16 0.720004 0.821512
22 0.720004 0.879023
SURF 0X10
mat 3
refs 4
2 0.814966 0.928513
3 0.814966 0.98542
20 0.720085 0.98542
19 0.720085 0.928513
SURF 0X10
mat 3
refs 4
5 0.814886 0.821208
31 0.814886 0.771619
28 0.720004 0.775538
18 0.720004 0.821208
SURF 0X10
mat 3
refs 4
6 0.814966 0.928657
21 0.720085 0.928657
24 0.720085 0.883345
30 0.814966 0.879457
SURF 0X10
mat 3
refs 4
2 0.814966 0.928513
19 0.720085 0.928513
25 0.720086 0.883194
27 0.814966 0.879305
kids 0
OBJECT poly
name "ExhaustCFM56L"
data 12
Cylinder.007
@ -51786,193 +51913,193 @@ refs 32
63 0.783609 0.680814
32 0.783577 0.680817
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
130 0.767822 0.760033
131 0.752675 0.755438
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
157 0.840673 0.737934
158 0.828437 0.747976
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
144 0.767823 0.60164
145 0.783576 0.600089
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
131 0.752675 0.755438
132 0.738714 0.747976
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
158 0.828437 0.747976
159 0.814476 0.755438
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
145 0.783576 0.600089
146 0.799329 0.60164
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
132 0.738714 0.747976
133 0.726478 0.737934
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
159 0.814476 0.755438
160 0.799329 0.760033
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
146 0.799329 0.60164
147 0.814477 0.606235
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
133 0.726478 0.737934
134 0.716436 0.725698
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
160 0.799329 0.760033
129 0.783576 0.761585
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
147 0.814477 0.606235
148 0.828437 0.613697
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
134 0.716436 0.725698
135 0.708974 0.711738
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
148 0.828437 0.613697
149 0.840673 0.623739
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
135 0.708974 0.711738
136 0.704379 0.69659
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
149 0.840673 0.623739
150 0.850715 0.635975
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
136 0.704379 0.69659
137 0.702828 0.680837
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
150 0.850715 0.635975
151 0.858177 0.649936
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
137 0.702828 0.680837
138 0.704379 0.665083
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
151 0.858177 0.649936
152 0.862772 0.665084
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
138 0.704379 0.665083
139 0.708974 0.649936
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
152 0.862772 0.665084
153 0.864324 0.680837
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
139 0.708974 0.649936
140 0.716436 0.635975
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
153 0.864324 0.680837
154 0.862772 0.69659
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
140 0.716436 0.635975
141 0.726478 0.623739
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
154 0.862772 0.69659
155 0.858177 0.711738
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
141 0.726478 0.623739
142 0.738714 0.613697
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
155 0.858177 0.711738
156 0.850715 0.725698
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
142 0.738714 0.613697
143 0.752675 0.606235
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
129 0.783576 0.761585
130 0.767822 0.760033
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
156 0.850715 0.725698
157 0.840673 0.737934
SURF 0X0
mat 3
mat 4
refs 3
128 0.783576 0.680837
143 0.752675 0.606235
@ -52856,193 +52983,193 @@ refs 32
32 0.783383 0.68134
33 0.783353 0.681337
SURF 0X0
mat 3
mat 4
refs 3
130 0.76763 0.760379
131 0.752482 0.755784
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
157 0.840481 0.73828
158 0.828245 0.748322
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
144 0.76763 0.601986
145 0.783383 0.600435
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
131 0.752482 0.755784
132 0.738522 0.748322
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
158 0.828245 0.748322
159 0.814284 0.755784
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
145 0.783383 0.600435
146 0.799137 0.601986
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
132 0.738522 0.748322
133 0.726286 0.73828
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
159 0.814284 0.755784
160 0.799137 0.760379
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
146 0.799137 0.601986
147 0.814284 0.606581
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
133 0.726286 0.73828
134 0.716244 0.726044
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
160 0.799137 0.760379
129 0.783383 0.761931
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
147 0.814284 0.606581
148 0.828245 0.614043
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
134 0.716244 0.726044
135 0.708782 0.712084
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
148 0.828245 0.614043
149 0.840481 0.624085
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
135 0.708782 0.712084
136 0.704187 0.696936
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
149 0.840481 0.624085
150 0.850523 0.636321
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
136 0.704187 0.696936
137 0.702635 0.681183
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
150 0.850523 0.636321
151 0.857985 0.650282
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
137 0.702635 0.681183
138 0.704187 0.665429
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
151 0.857985 0.650282
152 0.86258 0.66543
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
138 0.704187 0.665429
139 0.708782 0.650282
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
152 0.86258 0.66543
153 0.864132 0.681183
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
139 0.708782 0.650282
140 0.716244 0.636321
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
153 0.864132 0.681183
154 0.86258 0.696936
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
140 0.716244 0.636321
141 0.726286 0.624085
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
154 0.86258 0.696936
155 0.857985 0.712084
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
141 0.726286 0.624085
142 0.738522 0.614043
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
155 0.857985 0.712084
156 0.850523 0.726044
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
142 0.738522 0.614043
143 0.752482 0.606581
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
129 0.783383 0.761931
130 0.76763 0.760379
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
156 0.850523 0.726044
157 0.840481 0.73828
128 0.783383 0.681183
SURF 0X0
mat 3
mat 4
refs 3
143 0.752482 0.606581
144 0.76763 0.601986

View file

@ -1,10 +1,11 @@
AC3Db
MATERIAL "engine-IAEV-2500" rgb 0.720 0.720 0.720 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.900 0.900 0.900 shi 25 trans 0.000
MATERIAL "engine-IAE-V2500-Inner" rgb 1.000 1.000 1.000 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.500 0.500 0.500 shi 5 trans 0.000
MATERIAL "Fuse-Placards" rgb 0.900 0.900 0.900 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.600 0.600 0.600 shi 25 trans 0.000
MATERIAL "engine-IAEV-2500.fanTransparency" rgb 0.720 0.720 0.720 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.900 0.900 0.900 shi 25 trans 0.200
OBJECT world
name "Blender_exporter_v2.26__IAEV2500.ac"
kids 16
kids 17
OBJECT poly
name "EngineIAEV2500L"
data 10
@ -10409,6 +10410,200 @@ refs 4
1545 0.51074 0.832258
kids 0
OBJECT poly
name "EngineIAEV2500L.Placards"
data 10
Circle.045
crease 40.0
texture "placards.png"
texrep 1 1
numvert 44
-6.77222 -2.84766 6.55266
-6.77222 -2.5785 6.63645
-6.44619 -2.59111 6.64387
-6.44617 -2.59111 4.61672
-6.44617 -2.86664 4.70639
-6.44619 -2.86663 6.5542
-6.7722 -2.5785 4.62414
-6.7722 -2.84767 4.70793
-6.77222 -2.84766 -4.70985
-6.77222 -2.5785 -4.62606
-6.44619 -2.59111 -4.61864
-6.44617 -2.5911 -6.64575
-6.44617 -2.86663 -6.55607
-6.44619 -2.86664 -4.70831
-6.7722 -2.57849 -6.63833
-6.7722 -2.84765 -6.55453
-6.44617 -2.51558 4.61558
-6.44619 -2.51558 -4.61732
-6.44619 -2.51558 6.64518
-6.77222 -2.51558 -4.62516
-6.77222 -2.51558 6.63735
-6.7722 -2.51558 -6.6401
-6.7722 -2.51558 4.62237
-6.44617 -2.51558 -6.64689
-6.14719 -2.86542 4.70887
-6.14719 -2.51558 6.64248
-6.14719 -2.86542 -4.71078
-6.14719 -2.59055 -4.62135
-6.14719 -2.86542 6.55173
-6.14719 -2.59055 6.64116
-6.14719 -2.51558 -6.64419
-6.14719 -2.59054 -6.64304
-6.14719 -2.51558 4.61828
-6.14719 -2.59055 4.61943
-6.14719 -2.51558 -4.62002
-6.14719 -2.86541 -6.5536
-6.7722 -2.95033 -6.46497
-6.44619 -2.95033 6.48363
-6.44619 -2.95033 -4.77888
-6.44617 -2.95033 4.77696
-6.77222 -2.95033 6.4631
-6.7722 -2.95033 4.79748
-6.77222 -2.95033 -4.7994
-6.44617 -2.95033 -6.4855
numsurf 20
SURF 0X10
mat 2
refs 4
1 0.860002 0.966189
0 0.860002 0.903776
5 0.92645 0.903776
2 0.92645 0.966189
SURF 0X10
mat 2
refs 4
0 0.860002 0.903776
40 0.860002 0.874434
37 0.92645 0.881368
5 0.92645 0.903776
SURF 0X10
mat 2
refs 4
7 0.860002 0.796589
6 0.860002 0.859002
3 0.92645 0.859002
4 0.92645 0.796589
SURF 0X10
mat 2
refs 4
6 0.860002 0.859002
22 0.860002 0.87218
16 0.92645 0.874248
3 0.92645 0.859002
SURF 0X10
mat 2
refs 4
2 0.92645 0.966189
5 0.92645 0.903776
28 0.98987 0.903776
29 0.989871 0.966189
SURF 0X10
mat 2
refs 4
4 0.92645 0.796589
3 0.92645 0.859002
33 0.989867 0.859002
24 0.989867 0.796589
SURF 0X10
mat 2
refs 4
3 0.92645 0.859002
16 0.92645 0.874248
32 0.989867 0.874169
33 0.989867 0.859002
SURF 0X10
mat 2
refs 4
9 0.860002 0.966271
8 0.860002 0.903859
13 0.92645 0.903859
10 0.92645 0.966271
SURF 0X10
mat 2
refs 4
8 0.860002 0.903859
42 0.860002 0.874517
38 0.92645 0.881452
13 0.92645 0.903859
SURF 0X10
mat 2
refs 4
15 0.860002 0.796507
14 0.860002 0.858919
11 0.92645 0.858919
12 0.92645 0.796507
SURF 0X10
mat 2
refs 4
14 0.860002 0.858919
21 0.860002 0.872094
23 0.92645 0.874163
11 0.92645 0.858919
SURF 0X10
mat 2
refs 4
10 0.92645 0.966271
13 0.92645 0.903859
26 0.98987 0.903859
27 0.989871 0.966271
SURF 0X10
mat 2
refs 4
12 0.92645 0.796507
11 0.92645 0.858919
31 0.989867 0.858919
35 0.989867 0.796507
SURF 0X10
mat 2
refs 4
11 0.92645 0.858919
23 0.92645 0.874163
30 0.989867 0.874084
31 0.989867 0.858919
SURF 0X10
mat 2
refs 4
18 0.92645 0.981434
20 0.860002 0.979474
1 0.860002 0.966189
2 0.92645 0.966189
SURF 0X10
mat 2
refs 4
17 0.92645 0.981518
19 0.860002 0.979558
9 0.860002 0.966271
10 0.92645 0.966271
SURF 0X10
mat 2
refs 4
29 0.989871 0.966189
25 0.989871 0.981355
18 0.92645 0.981434
2 0.92645 0.966189
SURF 0X10
mat 2
refs 4
27 0.989871 0.966271
34 0.989871 0.981439
17 0.92645 0.981518
10 0.92645 0.966271
SURF 0X10
mat 2
refs 4
43 0.92645 0.774096
36 0.860002 0.767161
15 0.860002 0.796507
12 0.92645 0.796507
SURF 0X10
mat 2
refs 4
39 0.92645 0.774182
41 0.860002 0.767247
7 0.860002 0.796589
4 0.92645 0.796589
kids 0
OBJECT poly
name "EngineIAEV2500R"
data 10
Circle.027
@ -32068,193 +32263,193 @@ refs 4
124 0.706685 0.67432
22 0.712145 0.672059
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
151 0.760228 0.652142
152 0.764542 0.666366
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
138 0.615807 0.666366
139 0.620122 0.652142
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
152 0.764542 0.666366
153 0.765999 0.681159
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
139 0.620122 0.652142
140 0.627129 0.639033
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
153 0.765999 0.681159
154 0.764542 0.695952
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
140 0.627129 0.639033
141 0.636559 0.627543
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
154 0.764542 0.695952
155 0.760228 0.710176
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
141 0.636559 0.627543
142 0.648049 0.618113
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
155 0.760228 0.710176
156 0.753221 0.723285
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
142 0.648049 0.618113
143 0.661158 0.611106
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
129 0.690175 0.756984
130 0.675382 0.755527
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
156 0.753221 0.723285
157 0.743791 0.734775
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
143 0.661158 0.611106
144 0.675382 0.606791
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
130 0.675382 0.755527
131 0.661158 0.751212
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
157 0.743791 0.734775
158 0.732301 0.744205
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
144 0.675382 0.606791
145 0.690175 0.605334
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
131 0.661158 0.751212
132 0.648049 0.744205
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
158 0.732301 0.744205
159 0.719191 0.751212
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
145 0.690175 0.605334
146 0.704967 0.606791
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
132 0.648049 0.744205
133 0.636559 0.734775
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
159 0.719191 0.751212
160 0.704967 0.755527
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
146 0.704967 0.606791
147 0.719192 0.611106
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
133 0.636559 0.734775
134 0.627129 0.723285
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
160 0.704967 0.755527
129 0.690175 0.756984
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
147 0.719192 0.611106
148 0.732301 0.618113
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
134 0.627129 0.723285
135 0.620122 0.710176
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
148 0.732301 0.618113
149 0.743791 0.627543
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
135 0.620122 0.710176
136 0.615807 0.695952
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
149 0.743791 0.627543
150 0.753221 0.639033
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
136 0.615807 0.695952
137 0.61435 0.681159
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
150 0.753221 0.639033
151 0.760228 0.652142
SURF 0X0
mat 2
mat 3
refs 3
128 0.690175 0.681159
137 0.61435 0.681159
@ -33103,193 +33298,193 @@ refs 4
22 0.712145 0.672059
23 0.713498 0.67652
SURF 0X0
mat 2
mat 3
refs 3
151 0.760228 0.652142
152 0.764542 0.666366
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
138 0.615807 0.666366
139 0.620122 0.652142
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
152 0.764542 0.666366
153 0.765999 0.681159
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
139 0.620122 0.652142
140 0.627129 0.639033
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
153 0.765999 0.681159
154 0.764542 0.695952
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
140 0.627129 0.639033
141 0.636559 0.627543
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
154 0.764542 0.695952
155 0.760228 0.710176
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
141 0.636559 0.627543
142 0.648049 0.618113
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
155 0.760228 0.710176
156 0.753221 0.723285
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
142 0.648049 0.618113
143 0.661158 0.611106
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
129 0.690175 0.756984
130 0.675382 0.755527
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
156 0.753221 0.723285
157 0.743791 0.734775
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
143 0.661158 0.611106
144 0.675382 0.606791
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
130 0.675382 0.755527
131 0.661158 0.751212
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
157 0.743791 0.734775
158 0.732301 0.744205
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
144 0.675382 0.606791
145 0.690175 0.605334
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
131 0.661158 0.751212
132 0.648049 0.744205
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
158 0.732301 0.744205
159 0.719191 0.751212
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
145 0.690175 0.605334
146 0.704967 0.606791
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
132 0.648049 0.744205
133 0.636559 0.734775
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
159 0.719191 0.751212
160 0.704967 0.755527
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
146 0.704967 0.606791
147 0.719192 0.611106
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
133 0.636559 0.734775
134 0.627129 0.723285
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
160 0.704967 0.755527
129 0.690175 0.756984
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
147 0.719192 0.611106
148 0.732301 0.618113
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
134 0.627129 0.723285
135 0.620122 0.710176
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
148 0.732301 0.618113
149 0.743791 0.627543
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
135 0.620122 0.710176
136 0.615807 0.695952
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
149 0.743791 0.627543
150 0.753221 0.639033
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
136 0.615807 0.695952
137 0.61435 0.681159
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
150 0.753221 0.639033
151 0.760228 0.652142
128 0.690175 0.681159
SURF 0X0
mat 2
mat 3
refs 3
137 0.61435 0.681159
138 0.615807 0.666366

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 KiB

View file

@ -8,7 +8,7 @@
<params>
<n1>engines/engine[3]/n1</n1>
<on-fire>systems/failures/engine-left-fire</on-fire>
<on-fire>systems/failures/fire/engine-left-fire</on-fire>
<contrail>engines/engine[0]/contrail</contrail>
<reverser-pos-norm>sim/multiplay/generic/float[2]</reverser-pos-norm>
</params>

View file

@ -8,7 +8,7 @@
<params>
<n1>engines/engine[4]/n1</n1>
<on-fire>systems/failures/engine-right-fire</on-fire>
<on-fire>systems/failures/fire/engine-right-fire</on-fire>
<contrail>engines/engine[1]/contrail</contrail>
<reverser-pos-norm>sim/multiplay/generic/float[3]</reverser-pos-norm>
</params>

View file

@ -13,7 +13,7 @@
<params>
<n1>engines/engine[3]/n1</n1>
<on-fire>systems/failures/engine-left-fire</on-fire>
<on-fire>systems/failures/fire/engine-left-fire</on-fire>
<contrail>engines/engine[0]/contrail</contrail>
<reverser-pos-norm>sim/multiplay/generic/float[2]</reverser-pos-norm>
</params>

View file

@ -13,7 +13,7 @@
<params>
<n1>engines/engine[4]/n1</n1>
<on-fire>systems/failures/engine-right-fire</on-fire>
<on-fire>systems/failures/fire/engine-right-fire</on-fire>
<contrail>engines/engine[1]/contrail</contrail>
<reverser-pos-norm>sim/multiplay/generic/float[3]</reverser-pos-norm>
</params>

View file

@ -246,7 +246,7 @@
<z-m>-2.22295</z-m>
</offsets>
<condition>
<property>systems/failures/engine-left-fire</property>
<property>systems/failures/fire/engine-left-fire</property>
</condition>
</model>
@ -259,7 +259,7 @@
<z-m>-2.22295</z-m>
</offsets>
<condition>
<property>systems/failures/engine-right-fire</property>
<property>systems/failures/fire/engine-right-fire</property>
</condition>
</model>

View file

@ -246,7 +246,7 @@
<z-m>-2.22295</z-m>
</offsets>
<condition>
<property>systems/failures/engine-left-fire</property>
<property>systems/failures/fire/engine-left-fire</property>
</condition>
</model>
@ -259,7 +259,7 @@
<z-m>-2.22295</z-m>
</offsets>
<condition>
<property>systems/failures/engine-right-fire</property>
<property>systems/failures/fire/engine-right-fire</property>
</condition>
</model>

View file

@ -1,4 +1,4 @@
<?xml version="1.0"?>
<?xml version="1.0"?>
<!-- Copyright (c) 2020 Josh Davidson (Octal450) -->
@ -138,86 +138,68 @@
<!-- Knobs -->
<animation>
<type>pick</type>
<type>knob</type>
<object-name>ddrmi_vor_adf_select_1</object-name>
<property>instrumentation/ddrmi/vor-adf-1</property>
<axis>
<object-name>ddrmi_vor_adf_select_1.axis</object-name>
</axis>
<action>
<button>0</button>
<repeatable type="bool">false</repeatable>
<binding>
<command>property-cycle</command>
<command>property-adjust</command>
<property>instrumentation/ddrmi/vor-adf-1</property>
<value>0</value> <!-- OFF -->
<value>1</value> <!-- VOR -->
<value>-1</value> <!-- ADF -->
</binding>
</action>
<action>
<button>1</button>
<repeatable type="bool">false</repeatable>
<binding>
<command>property-cycle</command>
<property>instrumentation/ddrmi/vor-adf-1</property>
<value>-1</value> <!-- ADF -->
<value>1</value> <!-- VOR -->
<value>0</value> <!-- OFF -->
<min>-1</min>
<max>1</max>
</binding>
</action>
</animation>
<animation>
<name>Knob 1 rotate</name>
<object-name>ddrmi_vor_adf_select_1</object-name>
<name>DDRMI vor-adf knob 1</name>
<type>rotate</type>
<object-name>ddrmi_vor_adf_select_1</object-name>
<property>instrumentation/ddrmi/vor-adf-1</property>
<interpolation>
<entry><ind>-1</ind><dep>90</dep></entry>
<entry><ind> 0</ind><dep>45</dep></entry>
<entry><ind> 1</ind><dep> 0</dep></entry>
<entry><ind>-1</ind><dep>90</dep></entry> <!-- ADF -->
<entry><ind> 0</ind><dep>45</dep></entry> <!-- OFF -->
<entry><ind> 1</ind><dep> 0</dep></entry> <!-- VOR -->
</interpolation>
<axis>
<object-name>ddrmi_vor_adf_select_1.axis</object-name>
</axis>
</animation>
<animation>
<type>pick</type>
<type>knob</type>
<object-name>ddrmi_vor_adf_select_2</object-name>
<property>instrumentation/ddrmi/vor-adf-2</property>
<axis>
<object-name>ddrmi_vor_adf_select_2.axis</object-name>
</axis>
<action>
<button>0</button>
<repeatable type="bool">false</repeatable>
<binding>
<command>property-cycle</command>
<command>property-adjust</command>
<property>instrumentation/ddrmi/vor-adf-2</property>
<value>0</value> <!-- OFF -->
<value>1</value> <!-- VOR -->
<value>-1</value> <!-- ADF -->
</binding>
</action>
<action>
<button>1</button>
<repeatable type="bool">false</repeatable>
<binding>
<command>property-cycle</command>
<property>instrumentation/ddrmi/vor-adf-2</property>
<value>-1</value> <!-- ADF -->
<value>1</value> <!-- VOR -->
<value>0</value> <!-- OFF -->
<min>-1</min>
<max>1</max>
</binding>
</action>
</animation>
<animation>
<name>Knob 2 rotate</name>
<object-name>ddrmi_vor_adf_select_2</object-name>
<name>DDRMI vor-adf knob 2</name>
<type>rotate</type>
<object-name>ddrmi_vor_adf_select_2</object-name>
<property>instrumentation/ddrmi/vor-adf-2</property>
<interpolation>
<entry><ind>-1</ind><dep>-90</dep></entry>
<entry><ind> 0</ind><dep>-45</dep></entry>
<entry><ind> 1</ind><dep> 0</dep></entry>
<entry><ind>-1</ind><dep>-90</dep></entry> <!-- ADF -->
<entry><ind> 0</ind><dep>-45</dep></entry> <!-- OFF -->
<entry><ind> 1</ind><dep> 0</dep></entry> <!-- VOR -->
</interpolation>
<axis>
<object-name>ddrmi_vor_adf_select_2.axis</object-name>
</axis>
</animation>
</animation>
<!-- Flags -->
@ -227,7 +209,7 @@
<type>rotate</type>
<property>instrumentation/ddrmi/flag-1</property>
<interpolation>
<entry><ind>0</ind><dep>45</dep></entry>
<entry><ind>0</ind><dep>-45</dep></entry>
<entry><ind>1</ind><dep> 0</dep></entry>
</interpolation>
<axis>
@ -241,7 +223,7 @@
<type>rotate</type>
<property>instrumentation/ddrmi/flag-2</property>
<interpolation>
<entry><ind>0</ind><dep>-45</dep></entry>
<entry><ind>0</ind><dep>45</dep></entry>
<entry><ind>1</ind><dep> 0</dep></entry>
</interpolation>
<axis>
@ -365,12 +347,28 @@
<type>rotate</type>
<object-name>brakes_lb_psi</object-name>
<property>systems/hydraulic/brakes/pressure-left-psi</property>
<factor>0.03</factor>
<factor>-0.03</factor>
<condition>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>2</value>
</equals>
<or>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>0</value>
</equals>
<and>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>1</value>
</equals>
<equals>
<property>systems/hydraulic/brakes/pressure-left-psi</property>
<value>0</value>
</equals>
</and>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>2</value>
</equals>
</or>
</condition>
<axis>
<object-name>brakes_lb_psi.axis</object-name>
@ -381,12 +379,28 @@
<type>rotate</type>
<object-name>brakes_rb_psi</object-name>
<property>systems/hydraulic/brakes/pressure-right-psi</property>
<factor>-0.03</factor>
<factor>0.03</factor>
<condition>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>2</value>
</equals>
<or>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>0</value>
</equals>
<and>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>1</value>
</equals>
<equals>
<property>systems/hydraulic/brakes/pressure-right-psi</property>
<value>0</value>
</equals>
</and>
<equals>
<property>systems/hydraulic/brakes/mode</property>
<value>2</value>
</equals>
</or>
</condition>
<axis>
<object-name>brakes_rb_psi.axis</object-name>
@ -396,12 +410,12 @@
<animation>
<type>rotate</type>
<object-name>brakes_accum_psi</object-name>
<property>systems/hydraulic/brakes/accumulator-pressure-psi</property>
<property>systems/hydraulic/yellow-accumulator-psi</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
<entry><ind>700</ind><dep>66</dep></entry>
<entry><ind>2000</ind><dep>78</dep></entry>
<entry><ind>3000</ind><dep>90</dep></entry>
<entry><ind>700</ind><dep>-20</dep></entry>
<entry><ind>2000</ind><dep>-44</dep></entry>
<entry><ind>3000</ind><dep>-66</dep></entry>
</interpolation>
<axis>
<object-name>brakes_accum_psi.axis</object-name>
@ -427,10 +441,12 @@
<!-- Multi-purpose Control and Display Units -->
<model>
<name>MCDU1</name>
<path>Aircraft/A320-family/Models/Instruments/MCDU/MCDU1.xml</path>
</model>
<model>
<name>MCDU2</name>
<path>Aircraft/A320-family/Models/Instruments/MCDU/MCDU2.xml</path>
</model>
@ -861,7 +877,81 @@
</and>
</condition>
</animation>
<animation>
<type>rotate</type>
<object-name>atc_abv</object-name>
<factor>35</factor>
<offset-deg>0</offset-deg>
<axis>
<object-name>atc_abv.axis</object-name>
</axis>
<property>controls/atc/abv-blw</property>
</animation>
<animation>
<type>pick</type>
<object-name>atc_abv</object-name>
<action>
<button>0</button>
<button>3</button>
<binding>
<command>property-cycle</command>
<property>controls/atc/abv-blw</property>
<value>-1</value>
<value>0</value>
<value>1</value>
</binding>
</action>
<action>
<button>1</button>
<button>4</button>
<binding>
<command>property-cycle</command>
<property>controls/atc/abv-blw</property>
<value>1</value>
<value>0</value>
<value>-1</value>
</binding>
</action>
</animation>
<animation>
<type>rotate</type>
<object-name>atc_thrt</object-name>
<factor>-30</factor>
<offset-deg>0</offset-deg>
<axis>
<object-name>atc_thrt.axis</object-name>
</axis>
<property>controls/atc/thrt-all</property>
</animation>
<animation>
<type>pick</type>
<object-name>atc_thrt</object-name>
<action>
<button>0</button>
<button>3</button>
<binding>
<command>property-cycle</command>
<property>controls/atc/thrt-all</property>
<value>0</value>
<value>1</value>
</binding>
</action>
<action>
<button>1</button>
<button>4</button>
<binding>
<command>property-cycle</command>
<property>controls/atc/thrt-all</property>
<value>0</value>
<value>1</value>
</binding>
</action>
</animation>
<!-- Primary Flight Displays -->
<model>
<name>PFD1</name>
@ -950,7 +1040,28 @@
<name>IESI</name>
<path>Aircraft/A320-family/Models/Instruments/IESI/IESI.xml</path>
</model>
<animation>
<type>select</type>
<object-name>PFD1</object-name>
<object-name>PFD2</object-name>
<object-name>ND1</object-name>
<object-name>ND2</object-name>
<object-name>UECAM</object-name>
<object-name>LECAM</object-name>
<object-name>IESI</object-name>
<object-name>MCDU1</object-name>
<object-name>MCDU2</object-name>
<object-name>dcduScreenL</object-name>
<object-name>dcduScreenR</object-name>
<condition>
<or>
<not><property>options/hide-canvas-outside</property></not>
<property>sim/current-view/internal</property>
</or>
</condition>
</animation>
<!-- No button lights without power! -->
<animation>
<type>select</type>
@ -1336,14 +1447,32 @@
<button>0</button>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
<and>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</and>
</condition>
<command>property-toggle</command>
<property>controls/switches/terr_on_nd_l</property>
</binding>
<binding>
<condition>
<and>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
<equals>
<property>instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit</property>
<value>0</value>
</equals>
</and>
</condition>
<command>property-toggle</command>
<property>instrumentation/efis/inputs/terr</property>
</binding>
</action>
</animation>
@ -1377,14 +1506,32 @@
<button>0</button>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
<and>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</and>
</condition>
<command>property-toggle</command>
<property>controls/switches/terr_on_nd_r</property>
</binding>
<binding>
<condition>
<and>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
<equals>
<property>instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit</property>
<value>0</value>
</equals>
</and>
</condition>
<command>property-toggle</command>
<property>instrumentation/efis[1]/inputs/terr</property>
</binding>
</action>
</animation>
@ -5421,18 +5568,64 @@
<type>select</type>
<object-name>gear_lever_down_arrow</object-name>
<condition>
<or>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
</equals>
<equals>
<property>systems/gear/landing-gear-warning-light</property>
<value>1</value>
</equals>
</or>
<and>
<or>
<greater-than>
<property>systems/electrical/bus/ac-ess</property>
<value>110</value>
</greater-than>
<greater-than>
<property>systems/electrical/bus/ac-2</property>
<value>110</value>
</greater-than>
</or>
<or>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
</equals>
<equals>
<property>ECAM/warnings/landing-gear-warning-light</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
</animation>
<animation>
<type>material</type>
<object-name>gear_lever_down_arrow</object-name>
<condition>
<and>
<or>
<greater-than>
<property>systems/electrical/bus/ac-ess</property>
<value>110</value>
</greater-than>
<greater-than>
<property>systems/electrical/bus/ac-2</property>
<value>110</value>
</greater-than>
</or>
<or>
<equals>
<property>controls/switches/annun-test</property>
<value>1</value>
</equals>
<equals>
<property>ECAM/warnings/landing-gear-warning-light</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
<emission>
<red>1.00</red>
<green>0.0</green>
<blue>0.0</blue>
</emission>
</animation>
<!-- Landing Gear Lights -->
<animation>
@ -6177,7 +6370,7 @@
<animation>
<type>rotate</type>
<object-name>trim_2_lts</object-name>
<property>fdm/jsbsim/hydraulics/elevator-trim/cmd-deg</property>
<property>fdm/jsbsim/hydraulics/stabilizer/cmd-deg</property>
<factor>15.55</factor>
<offset-deg>1.4</offset-deg>
<axis>
@ -8269,30 +8462,21 @@
</action>
</animation>
<animation>
<name>UTC selector rotate</name>
<type>pick</type>
<name>UTC selector animation</name>
<type>knob</type>
<object-name>clock_knob</object-name>
<property>instrumentation/clock/utc-selector</property>
<axis>
<object-name>clock_knob.axis</object-name>
</axis>
<action>
<button>0</button>
<repeatable type="bool">false</repeatable>
<binding>
<command>property-cycle</command>
<command>property-adjust</command>
<property>instrumentation/clock/utc-selector</property>
<value>0</value><!-- GPS -->
<value>1</value><!-- INT -->
<value>2</value><!-- SET -->
</binding>
</action>
<action>
<button>1</button>
<repeatable type="bool">false</repeatable>
<binding>
<command>property-cycle</command>
<property>instrumentation/clock/utc-selector</property>
<value>2</value><!-- SET -->
<value>1</value><!-- INT -->
<value>0</value><!-- GPS -->
<min>0</min>
<max>2</max>
</binding>
</action>
</animation>
@ -8303,9 +8487,9 @@
<object-name>clock_knob</object-name>
<property>instrumentation/clock/utc-selector</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
<entry><ind>1</ind><dep>45</dep></entry>
<entry><ind>2</ind><dep>90</dep></entry>
<entry><ind>2</ind><dep>90</dep></entry> <!-- SET -->
<entry><ind>1</ind><dep>45</dep></entry> <!-- INT -->
<entry><ind>0</ind><dep> 0</dep></entry> <!-- GPS -->
</interpolation>
<axis>
<object-name>clock_knob.axis</object-name>
@ -8624,6 +8808,74 @@
</and>
</condition>
</animation>
<!-- ND_L chrono -->
<animation>
<type>pick</type>
<object-name>chrono_cpt</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-cycle</command>
<property>/instrumentation/efis/inputs/CHRONO</property>
<value>0</value>
<value>1</value>
<value>2</value>
</binding>
</action>
</animation>
<!-- ND_R chrono -->
<animation>
<type>pick</type>
<object-name>chrono_fo</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-cycle</command>
<property>/instrumentation/efis[1]/inputs/CHRONO</property>
<value>0</value>
<value>1</value>
<value>2</value>
</binding>
</action>
</animation>
<!-- ND_L chrono -->
<animation>
<type>pick</type>
<object-name>chrono_cpt</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-cycle</command>
<property>/instrumentation/efis/inputs/CHRONO</property>
<value>0</value>
<value>1</value>
<value>2</value>
</binding>
</action>
</animation>
<!-- ND_R chrono -->
<animation>
<type>pick</type>
<object-name>chrono_fo</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-cycle</command>
<property>/instrumentation/efis[1]/inputs/CHRONO</property>
<value>0</value>
<value>1</value>
<value>2</value>
</binding>
</action>
</animation>
<!-- torch -->
@ -9037,3 +9289,4 @@
</animation>
</PropertyList>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 127 KiB

After

Width:  |  Height:  |  Size: 127 KiB

View file

@ -11,7 +11,6 @@
<inherits-from>Aircraft/A320-family/Models/Effects/reflection</inherits-from>
<object-name>Fuselage</object-name>
<object-name>NLGFittingPanel</object-name>
<object-name>Rudder</object-name>
<object-name>DoorL1</object-name>
<object-name>DoorL4</object-name>
<object-name>DoorR1</object-name>
@ -35,7 +34,10 @@
<object-name>OutflowValveDoor2</object-name>
<object-name>GPUServiceDoor</object-name>
</effect>
<effect>
<inherits-from>Aircraft/A320-family/Models/Effects/reflection-rudder</inherits-from>
<object-name>Rudder</object-name>
</effect>
<effect>
<inherits-from>Aircraft/A320-family/Models/Effects/reflection-matt-wing</inherits-from>
<object-name>Wings</object-name>

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 166 KiB

After

Width:  |  Height:  |  Size: 202 KiB

View file

@ -261,8 +261,6 @@ var input = {
"altitude_ind": "/instrumentation/altimeter/indicated-altitude-ft-pfd",
"altimeter_mode": "/instrumentation/altimeter[0]/std",
"attReset": "/instrumentation/iesi/att-reset",
"dcEss": "/systems/electrical/bus/dc-ess",
"dcHot1": "/systems/electrical/bus/dc-hot-1",
"iesiBrt": "/controls/lighting/DU/iesi",
"iesiInit": "/instrumentation/iesi/iesi-init",
"mach": "/instrumentation/airspeed-indicator/indicated-mach",
@ -282,8 +280,6 @@ var showIESI = func {
dlg.setCanvas(A320IESI.MainScreen.canvas);
}
setlistener("", func() { if (A320IESI.MainScreen != nil) { A320IESI.MainScreen.updateQNH(notification); } }, 0, 0);
var roundabout = func(x) {
var y = x - int(x);
return y < 0.5 ? int(x) : 1 + int(x);

View file

@ -36,6 +36,15 @@ var tr2_v = 0;
var tr2_a = 0;
var essTramps = 0;
var essTrvolts = 0;
var elac1Node = 0;
var elac2Node = 0;
var sec1Node = 0;
var sec2Node = 0;
var eng_valve_state = 0;
var bleed_valve_cur = 0;
var hp_valve_state = 0;
var xbleedcmdstate = 0;
var ramAirState = 0;
# Conversion factor pounds to kilogram
LBS2KGS = 0.4535924;
@ -69,7 +78,6 @@ var elevator_ind_right = props.globals.getNode("/ECAM/Lower/elevator-ind-right",
var elevator_trim_deg = props.globals.getNode("/ECAM/Lower/elevator-trim-deg", 1);
var final_deg = props.globals.getNode("/fdm/jsbsim/hydraulics/rudder/final-deg", 1);
var temperature_degc = props.globals.getNode("/environment/temperature-degc", 1);
var gw = props.globals.getNode("/fdm/jsbsim/inertia/weight-lbs", 1);
var tank3_content_lbs = props.globals.getNode("/fdm/jsbsim/propulsion/tank[2]/contents-lbs", 1);
var ir2_knob = props.globals.getNode("/controls/adirs/ir[1]/knob", 1);
var apuBleedNotOn = props.globals.getNode("/systems/pneumatics/warnings/apu-bleed-not-on", 1);
@ -92,6 +100,8 @@ var precooler1_ovht = props.globals.getNode("/systems/pneumatics/precooler/ovht-
var precooler2_ovht = props.globals.getNode("/systems/pneumatics/precooler/ovht-2", 1);
var bmc1working = props.globals.getNode("/systems/pneumatics/indicating/bmc1-working", 1);
var bmc2working = props.globals.getNode("/systems/pneumatics/indicating/bmc2-working", 1);
var bmc1 = 0;
var bmc2 = 0;
var gs_kt = props.globals.getNode("/velocities/groundspeed-kt", 1);
var switch_wing_aice = props.globals.getNode("/controls/ice-protection/wing", 1);
var pack1_bypass = props.globals.getNode("/systems/pneumatics/pack-1-bypass", 1);
@ -107,6 +117,7 @@ var doorR4_pos = props.globals.getNode("/sim/model/door-positions/doorr4/positio
var cargobulk_pos = props.globals.getNode("/sim/model/door-positions/cargobulk/position-norm", 1);
var cargofwd_pos = props.globals.getNode("/sim/model/door-positions/cargofwd/position-norm", 1);
var cargoaft_pos = props.globals.getNode("/sim/model/door-positions/cargoaft/position-norm", 1);
var gLoad = props.globals.getNode("/ECAM/Lower/g-force-display", 1);
# Hydraulic
var blue_psi = 0;
@ -468,6 +479,7 @@ var canvas_lowerECAM_base = {
lowerECAM_wheel.page.hide();
}
},
displayedGForce: 0,
updateBottomStatus: func() {
if (dmc.DMController.DMCs[1].outputs[4] != nil) {
me["SAT"].setText(sprintf("%2.0f", dmc.DMController.DMCs[1].outputs[4].getValue()));
@ -485,13 +497,34 @@ var canvas_lowerECAM_base = {
me["TAT"].setColor(0.7333,0.3803,0);
}
me.gloadStore = gLoad.getValue();
if ((me.gloadStore == 1 and !me.displayedGForce) or (me.gloadStore != 0 and me.displayedGForce)) {
me.displayedGForce = 1;
me["GLoad"].setText("G.LOAD " ~ sprintf("%3.1f", pts.Accelerations.pilotGDamped.getValue()));
me["GLoad"].show();
} else {
me.displayedGForce = 0;
me["GLoad"].hide();
}
me["UTCh"].setText(sprintf("%02d", hour.getValue()));
me["UTCm"].setText(sprintf("%02d", minute.getValue()));
if (fmgc.FMGCInternal.fuelRequest and fmgc.FMGCInternal.blockConfirmed and !fmgc.FMGCInternal.fuelCalculating and ecam.phaseNode.getValue() != 1) {
if (acconfig_weight_kgs.getValue()) {
me["GW"].setText(sprintf("%s", math.round(fmgc.FMGCInternal.fuelPredGw * 1000 * LBS2KGS, 100)));
} else {
me["GW"].setText(sprintf("%s", math.round(fmgc.FMGCInternal.fuelPredGw * 1000, 100)));
}
me["GW"].setColor(0.0509,0.7529,0.2941);
} else {
me["GW"].setText(sprintf("%s", "-----"));
me["GW"].setColor(0.0901,0.6039,0.7176);
}
if (acconfig_weight_kgs.getValue()) {
me["GW"].setText(sprintf("%s", math.round(math.round(gw.getValue() * LBS2KGS, 100))));
me["GW-weight-unit"].setText("KG");
} else {
me["GW"].setText(sprintf("%s", math.round(gw.getValue(), 100)));
me["GW-weight-unit"].setText("LBS");
}
},
@ -505,7 +538,7 @@ var canvas_lowerECAM_apu = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","APUN-needle","APUEGT-needle","APUN","APUEGT","APUAvail","APUFlapOpen","APUBleedValve","APUBleedOnline","APUGenOnline","APUGentext","APUGenLoad","APUGenbox","APUGenVolt","APUGenHz","APUBleedPSI","APUfuelLO","APU-low-oil",
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","APUN-needle","APUEGT-needle","APUN","APUEGT","APUAvail","APUFlapOpen","APUBleedValve","APUBleedOnline","APUGenOnline","APUGentext","APUGenLoad","APUGenbox","APUGenVolt","APUGenHz","APUBleedPSI","APUfuelLO","APU-low-oil",
"text3724","text3728","text3732"];
},
update: func() {
@ -638,7 +671,7 @@ var canvas_lowerECAM_bleed = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit", "BLEED-XFEED", "BLEED-Ram-Air", "BLEED-APU-CIRCLE", "BLEED-HP-Valve-1",
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit", "BLEED-XFEED", "BLEED-Ram-Air", "BLEED-APU-CIRCLE", "BLEED-HP-Valve-1",
"BLEED-APU-LINES","BLEED-ENG-1", "BLEED-HP-Valve-2", "BLEED-ENG-2", "BLEED-Precooler-1-Inlet-Press", "BLEED-Precooler-1-Outlet-Temp",
"BLEED-Precooler-2-Inlet-Press", "BLEED-Precooler-2-Outlet-Temp", "BLEED-ENG-1-label", "BLEED-ENG-2-label",
"BLEED-GND", "BLEED-Pack-1-Flow-Valve", "BLEED-Pack-2-Flow-Valve", "BLEED-Pack-1-Out-Temp","BLEED-APU-connectionTop",
@ -650,14 +683,15 @@ var canvas_lowerECAM_bleed = {
update: func() {
# X BLEED
xbleedstate = xbleed.getValue();
if (xbleedcmd.getBoolValue() != xbleedstate) {
xbleedcmdstate = xbleedcmd.getBoolValue();
if (xbleedcmdstate != xbleedstate) {
me["BLEED-XFEED"].setColor(0.7333,0.3803,0);
} else {
me["BLEED-XFEED"].setColor(0.0509,0.7529,0.2941);
}
if (xbleedcmd.getBoolValue() == xbleedstate) {
if (xbleedcmd.getBoolValue()) {
if (xbleedcmdstate == xbleedstate) {
if (xbleedcmdstate) {
me["BLEED-XFEED"].setRotation(0);
} else {
me["BLEED-XFEED"].setRotation(90 * D2R);
@ -675,7 +709,7 @@ var canvas_lowerECAM_bleed = {
}
# HP valve 1
var hp_valve_state = hp_valve1_state.getValue();
hp_valve_state = hp_valve1_state.getValue();
if (hp_valve_state == 1) {
me["BLEED-HP-Valve-1"].setRotation(90 * D2R);
@ -692,8 +726,8 @@ var canvas_lowerECAM_bleed = {
}
# HP valve 2
var hp_valve_state = hp_valve2_state.getValue();
hp_valve_state = hp_valve2_state.getValue();
if (hp_valve_state == 1) {
me["BLEED-HP-Valve-2"].setRotation(90 * D2R);
me["BLEED-HP-2-connection"].show();
@ -709,15 +743,16 @@ var canvas_lowerECAM_bleed = {
}
# ENG BLEED valve 1
var eng_valve_state = systems.PNEU.Switch.bleed1.getValue();
eng_valve_state = systems.PNEU.Switch.bleed1.getValue();
bleed_valve_cur = eng_valve1.getValue();
if (eng_valve1.getValue() == 0) {
if (bleed_valve_cur == 0) {
me["BLEED-ENG-1"].setRotation(0);
} else {
me["BLEED-ENG-1"].setRotation(90 * D2R);
}
if (eng_valve_state == eng_valve1.getValue()) {
if (eng_valve_state == bleed_valve_cur) {
me["BLEED-ENG-1"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-ENG-1"].setColor(0.7333,0.3803,0);
@ -758,21 +793,25 @@ var canvas_lowerECAM_bleed = {
# ENG BLEED valve 2
eng_valve_state = systems.PNEU.Switch.bleed2.getValue();
if (eng_valve2.getValue() == 0) {
bleed_valve_cur = eng_valve2.getValue();
if (bleed_valve_cur == 0) {
me["BLEED-ENG-2"].setRotation(0);
} else {
me["BLEED-ENG-2"].setRotation(90 * D2R);
}
if (eng_valve_state == eng_valve1.getValue()) {
if (eng_valve_state == bleed_valve_cur) {
me["BLEED-ENG-2"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-ENG-2"].setColor(0.7333,0.3803,0);
}
# Precooler inlet 1
if (bmc1working.getValue()) {
bmc1 = bmc1working.getValue();
bmc2 = bmc2working.getValue();
if (bmc1) {
var precooler_psi = precooler1_psi.getValue();
me["BLEED-Precooler-1-Inlet-Press"].setText(sprintf("%s", math.round(precooler_psi)));
if (precooler_psi < 4 or precooler_psi > 57) {
@ -786,7 +825,7 @@ var canvas_lowerECAM_bleed = {
}
# Precooler inlet 2
if (bmc2working.getValue()) {
if (bmc2) {
var precooler_psi = precooler2_psi.getValue();
me["BLEED-Precooler-2-Inlet-Press"].setText(sprintf("%s", math.round(precooler_psi)));
if (precooler_psi < 4 or precooler_psi > 57) {
@ -800,7 +839,7 @@ var canvas_lowerECAM_bleed = {
}
# Precooler outlet 1
if (bmc1working.getValue()) {
if (bmc1) {
var precooler_temp = precooler1_temp.getValue();
me["BLEED-Precooler-1-Outlet-Temp"].setText(sprintf("%s", math.round(precooler_temp, 5)));
if (systems.PNEU.Switch.bleed1.getValue() and (precooler_temp < 150 or precooler1_ovht.getValue())) {
@ -814,7 +853,7 @@ var canvas_lowerECAM_bleed = {
}
# Precooler outlet 2
if (bmc2working.getValue()) {
if (bmc2) {
var precooler_temp = precooler2_temp.getValue();
me["BLEED-Precooler-2-Outlet-Temp"].setText(sprintf("%s", math.round(precooler_temp, 5)));
if (systems.PNEU.Switch.bleed2.getValue() and (precooler_temp < 150 or precooler2_ovht.getValue())) {
@ -858,6 +897,7 @@ var canvas_lowerECAM_bleed = {
}
# PACK 1 -----------------------------------------
packValveState = systems.PNEU.Valves.pack1.getValue();
me["BLEED-Pack-1-Out-Temp"].setText(sprintf("%s", math.round(systems.PNEU.Packs.pack1OutTemp.getValue(), 5)));
me["BLEED-Pack-1-Comp-Out-Temp"].setText(sprintf("%s", math.round(systems.PNEU.Packs.pack1OutletTemp.getValue(), 5)));
@ -867,9 +907,8 @@ var canvas_lowerECAM_bleed = {
me["BLEED-Pack-1-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
var bypass_pos = pack1_bypass.getValue() - 50; # `-50` cause the middel position from where we move the needle is at 50
bypass_pos = bypass_pos * D2R;
me["BLEED-Pack-1-Bypass-needle"].setRotation(bypass_pos);
# `-50` cause the middel position from where we move the needle is at 50
me["BLEED-Pack-1-Bypass-needle"].setRotation((pack1_bypass.getValue() - 50) * D2R);
if (systems.PNEU.Packs.pack1OutletTemp.getValue() > 230) {
me["BLEED-Pack-1-Comp-Out-Temp"].setColor(0.7333,0.3803,0);
@ -877,29 +916,24 @@ var canvas_lowerECAM_bleed = {
me["BLEED-Pack-1-Comp-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
var flow_pos = systems.PNEU.Packs.packFlow1.getValue() * D2R;
me["BLEED-Pack-1-Packflow-needle"].setRotation(flow_pos);
me["BLEED-Pack-1-Packflow-needle"].setRotation(systems.PNEU.Packs.packFlow1.getValue() * D2R);
if (systems.PNEU.Valves.pack1.getValue() == 0) {
if (packValveState == 0) {
me["BLEED-Pack-1-Packflow-needle"].setColorFill(0.7333,0.3803,0);
me["BLEED-Pack-1-Flow-Valve"].setRotation(90 * D2R);
} else {
me["BLEED-Pack-1-Packflow-needle"].setColorFill(0.0509,0.7529,0.2941);
}
var pack_state = systems.PNEU.Valves.pack1.getValue();
if (pack_state == 1) {
me["BLEED-Pack-1-Flow-Valve"].setRotation(0);
} else {
me["BLEED-Pack-1-Flow-Valve"].setRotation(90 * D2R);
}
if (pack_state == systems.PNEU.Switch.pack1.getValue()) {
if (packValveState == systems.PNEU.Switch.pack1.getValue()) {
me["BLEED-Pack-1-Flow-Valve"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-Pack-1-Flow-Valve"].setColor(0.7333,0.3803,0);
}
# PACK 2 -----------------------------------------
packValveState = systems.PNEU.Valves.pack2.getValue();
me["BLEED-Pack-2-Out-Temp"].setText(sprintf("%s", math.round(systems.PNEU.Packs.pack2OutTemp.getValue(), 5)));
me["BLEED-Pack-2-Comp-Out-Temp"].setText(sprintf("%s", math.round(systems.PNEU.Packs.pack2OutletTemp.getValue(), 5)));
@ -909,9 +943,7 @@ var canvas_lowerECAM_bleed = {
me["BLEED-Pack-2-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
var bypass_pos = pack2_bypass.getValue() - 50; # `-50` cause the middel position from where we move the needle is at 50
bypass_pos = bypass_pos * D2R;
me["BLEED-Pack-2-Bypass-needle"].setRotation(bypass_pos);
me["BLEED-Pack-2-Bypass-needle"].setRotation((pack2_bypass.getValue() - 50) * D2R);
if (systems.PNEU.Packs.pack2OutletTemp.getValue() > 230) {
me["BLEED-Pack-2-Comp-Out-Temp"].setColor(0.7333,0.3803,0);
@ -919,35 +951,30 @@ var canvas_lowerECAM_bleed = {
me["BLEED-Pack-2-Comp-Out-Temp"].setColor(0.0509,0.7529,0.2941);
}
flow_pos = systems.PNEU.Packs.packFlow2.getValue() * D2R;
me["BLEED-Pack-2-Packflow-needle"].setRotation(flow_pos);
me["BLEED-Pack-2-Packflow-needle"].setRotation(systems.PNEU.Packs.packFlow2.getValue() * D2R);
if (systems.PNEU.Valves.pack2.getValue() == 0) {
if (packValveState == 0) {
me["BLEED-Pack-2-Packflow-needle"].setColorFill(0.7333,0.3803,0);
me["BLEED-Pack-2-Flow-Valve"].setRotation(90 * D2R);
} else {
me["BLEED-Pack-2-Packflow-needle"].setColorFill(0.0509,0.7529,0.2941);
}
var pack_state = systems.PNEU.Valves.pack2.getValue();
if (pack_state == 1) {
me["BLEED-Pack-2-Flow-Valve"].setRotation(0);
} else {
me["BLEED-Pack-2-Flow-Valve"].setRotation(90 * D2R);
}
if (pack_state == systems.PNEU.Switch.pack2.getValue()) {
if (packValveState == systems.PNEU.Switch.pack2.getValue()) {
me["BLEED-Pack-2-Flow-Valve"].setColor(0.0509,0.7529,0.2941);
} else {
me["BLEED-Pack-2-Flow-Valve"].setColor(0.7333,0.3803,0);
}
# Ram Air
if (systems.PNEU.Valves.ramAir.getValue() == 0) {
ramAirState = systems.PNEU.Valves.ramAir.getValue();
if (ramAirState == 0) {
me["BLEED-Ram-Air"].setRotation(90 * D2R);
me["BLEED-Ram-Air"].setColor(0.0509,0.7529,0.2941);
me["BLEED-Ram-Air"].setColorFill(0.0509,0.7529,0.2941);
me["BLEED-Ram-Air-connection"].hide();
} elsif (systems.PNEU.Valves.ramAir.getValue()) {
} elsif (ramAirState) {
me["BLEED-Ram-Air"].setRotation(0);
if (pts.Gear.wow[1].getValue()) {
me["BLEED-Ram-Air"].setColor(0.7333,0.3803,0);
@ -966,7 +993,7 @@ var canvas_lowerECAM_bleed = {
# Triangles
if (systems.PNEU.Valves.pack1.getValue() == 0 and systems.PNEU.Valves.pack2.getValue() == 0) {
if (pts.Gear.wow[1].getValue() or systems.PNEU.Valves.ramAir.getValue() != 1) {
if (pts.Gear.wow[1].getValue() or ramAirState != 1) {
me["BLEED-cond-1"].setColor(0.7333,0.3803,0);
me["BLEED-cond-2"].setColor(0.7333,0.3803,0);
me["BLEED-cond-3"].setColor(0.7333,0.3803,0);
@ -992,7 +1019,7 @@ var canvas_lowerECAM_cond = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","CargoCond","CONDHotAirValve","CONDFanFwdFault","CONDFanAftFault",
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","CargoCond","CONDHotAirValve","CONDFanFwdFault","CONDFanAftFault",
"CONDTrimValveCKPT","CONDTrimValveAFT","CONDTrimValveFWD","CONDDuctTempCKPT","CONDDuctTempAFT","CONDDuctTempFWD","CONDTempCKPT","CONDTempAFT","CONDTempFWD"];
},
update: func() {
@ -1042,7 +1069,7 @@ var canvas_lowerECAM_crz = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","Oil1","Oil2","FUsed1","FUsed2","FUsed","VIB1N1","VIB1N2","VIB2N1","VIB2N2","deltaPSI","LDGELEV-AUTO","LDGELEV","CABVS","CABALT","VS-Arrow-UP","VS-Arrow-DN","CKPT-TEMP","FWD-TEMP","AFT-TEMP","Fused-weight-unit"];
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","Oil1","Oil2","FUsed1","FUsed2","FUsed","VIB1N1","VIB1N2","VIB2N1","VIB2N2","deltaPSI","LDGELEV-AUTO","LDGELEV","CABVS","CABALT","VS-Arrow-UP","VS-Arrow-DN","CKPT-TEMP","FWD-TEMP","AFT-TEMP","Fused-weight-unit"];
},
update: func() {
@ -1073,7 +1100,7 @@ var canvas_lowerECAM_door = {
return m;
},
getKeys: func() {
return["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","Bulk","BulkLine","BulkLbl","Exit1L","Exit1R","Cabin1Left","Cabin1LeftLbl","Cabin1LeftLine","Cabin1LeftSlide","Cabin1Right","Cabin1RightLbl","Cabin1RightLine","Cabin1RightSlide","Cabin2Left","Cabin2LeftLbl",
return["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","Bulk","BulkLine","BulkLbl","Exit1L","Exit1R","Cabin1Left","Cabin1LeftLbl","Cabin1LeftLine","Cabin1LeftSlide","Cabin1Right","Cabin1RightLbl","Cabin1RightLine","Cabin1RightSlide","Cabin2Left","Cabin2LeftLbl",
"Cabin2LeftLine","Cabin2LeftSlide","Cabin2Right","Cabin2RightLbl","Cabin2RightLine","Cabin2RightSlide","Cabin3Left","Cabin3LeftLbl","Cabin3LeftLine","Cabin3LeftSlide","Cabin3Right","Cabin3RightLbl","Cabin3RightLine","Cabin3RightSlide","AvionicsLine1",
"AvionicsLbl1","AvionicsLine2","AvionicsLbl2","Cargo1Line","Cargo1Lbl","Cargo1Door","Cargo2Line","Cargo2Lbl","Cargo2Door","ExitLSlide","ExitLLine","ExitLLbl","ExitRSlide","ExitRLine","ExitRLbl","Cabin4Left","Cabin4LeftLbl","Cabin4LeftLine",
"Cabin4LeftSlide","Cabin4Right","Cabin4RightLbl","Cabin4RightLine","Cabin4RightSlide","DOOROXY-REGUL-LO-PR"];
@ -1218,7 +1245,7 @@ var canvas_lowerECAM_elec = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","BAT1-label","Bat1Volt","Bat1Ampere","BAT2-label","Bat2Volt","Bat2Ampere","BAT1-charge","BAT1-discharge","BAT2-charge","BAT2-discharge","ELEC-Line-DC1-DCBAT","ELEC-Line-DC1-DCESS","ELEC-Line-DC2-DCBAT",
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","BAT1-label","Bat1Volt","Bat1Ampere","BAT2-label","Bat2Volt","Bat2Ampere","BAT1-charge","BAT1-discharge","BAT2-charge","BAT2-discharge","ELEC-Line-DC1-DCBAT","ELEC-Line-DC1-DCESS","ELEC-Line-DC2-DCBAT",
"ELEC-Line-DC1-DCESS_DCBAT","ELEC-Line-DC2-DCESS_DCBAT","ELEC-Line-TR1-DC1","ELEC-Line-TR2-DC2","Shed-label","ELEC-Line-ESSTR-DCESS","TR1-label","TR1Volt","TR1Ampere","TR2-label","TR2Volt","TR2Ampere","EMERGEN-group","EmergenVolt","EmergenHz",
"ELEC-Line-Emergen-ESSTR","EMERGEN-Label-off","Emergen-Label","EMERGEN-out","ELEC-Line-ACESS-TRESS","ELEC-Line-AC1-TR1","ELEC-Line-AC2-TR2","ELEC-Line-AC1-ACESS","ELEC-Line-AC2-ACESS","ACESS-SHED","ACESS","AC1-in","AC2-in","ELEC-Line-GEN1-AC1","ELEC-Line-GEN2-AC2",
"ELEC-Line-APU-AC1","ELEC-Line-APU-EXT","ELEC-Line-EXT-AC2","APU-out","EXT-out","EXTPWR-group","ExtVolt","ExtHz","APU-content","APU-border","APUGentext","APUGenLoad","APUGenVolt","APUGenHz","APUGEN-off","GEN1-label","Gen1Load","Gen1Volt","Gen1Hz",
@ -1890,7 +1917,7 @@ var canvas_lowerECAM_eng = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","OilQT1-needle","OilQT2-needle","OilQT1","OilQT2","OilQT1-decimal","OilQT2-decimal","OilPSI1-needle","OilPSI2-needle","OilPSI1","OilPSI2","FUEL-used-1","FUEL-used-2", "Fused-weight-unit"];
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","OilQT1-needle","OilQT2-needle","OilQT1","OilQT2","OilQT1-decimal","OilQT2-decimal","OilPSI1-needle","OilPSI2-needle","OilPSI1","OilPSI2","FUEL-used-1","FUEL-used-2", "Fused-weight-unit"];
},
update: func() {
# Oil Quantity
@ -1948,15 +1975,19 @@ var canvas_lowerECAM_fctl = {
return m;
},
getKeys: func() {
return["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","ailL","ailR","elevL","elevR","PTcc","PT","PTupdn","elac1","elac2","sec1","sec2","sec3","ailLblue","ailRblue","elevLblue","elevRblue","rudderblue","ailLgreen","ailRgreen","elevLgreen","ruddergreen","PTgreen",
return["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","ailL","ailR","elevL","elevR","PTcc","PT","PTupdn","elac1","elac2","sec1","sec2","sec3","ailLblue","ailRblue","elevLblue","elevRblue","rudderblue","ailLgreen","ailRgreen","elevLgreen","ruddergreen","PTgreen",
"elevRyellow","rudderyellow","PTyellow","rudder","spdbrkblue","spdbrkgreen","spdbrkyellow","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex","spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex",
"spoiler1Lrt","spoiler2Lex","spoiler2Lrt","spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt","spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf","spoiler1Lf","spoiler2Lf","spoiler3Lf","spoiler4Lf",
"spoiler5Lf","ailLscale","ailRscale","path4249","path4249-3","path4249-3-6-7","path4249-3-6-7-5","path4249-3-6"];
"spoiler5Lf","ailLscale","ailRscale","path4249","path4249-3","path4249-3-6-7","path4249-3-6-7-5","path4249-3-6","text4343"];
},
update: func() {
blue_psi = systems.HYD.Psi.blue.getValue();
green_psi = systems.HYD.Psi.green.getValue();
yellow_psi = systems.HYD.Psi.yellow.getValue();
elac1Node = fbw.FBW.Computers.elac1.getValue();
elac2Node = fbw.FBW.Computers.elac2.getValue();
sec1Node = fbw.FBW.Computers.sec1.getValue();
sec2Node = fbw.FBW.Computers.sec2.getValue();
# Pitch Trim
me["PT"].setText(sprintf("%2.1f", math.round(elevator_trim_deg.getValue(), 0.1)));
@ -1976,16 +2007,26 @@ var canvas_lowerECAM_fctl = {
me["PTupdn"].setColor(0.0509,0.7529,0.2941);
me["PTcc"].setColor(0.0509,0.7529,0.2941);
}
if (fbw.FBW.Failures.ths.getBoolValue()) {
me["text4343"].setColor(0.7333,0.3803,0);
} else {
me["text4343"].setColor(0.8078,0.8039,0.8078);
}
# Ailerons
me["ailL"].setTranslation(0, aileron_ind_left.getValue() * 100);
me["ailR"].setTranslation(0, aileron_ind_right.getValue() * (-100));
if (blue_psi < 1500 and green_psi < 1500) {
if ((blue_psi < 1500 or !elac1Node) and (green_psi < 1500 or !elac2Node)) {
me["ailL"].setColor(0.7333,0.3803,0);
me["ailR"].setColor(0.7333,0.3803,0);
} else {
me["ailL"].setColor(0.0509,0.7529,0.2941);
}
if ((green_psi < 1500 or !elac1Node) and (blue_psi < 1500 or !elac2Node)) {
me["ailR"].setColor(0.7333,0.3803,0);
} else {
me["ailR"].setColor(0.0509,0.7529,0.2941);
}
@ -1993,13 +2034,13 @@ var canvas_lowerECAM_fctl = {
me["elevL"].setTranslation(0, elevator_ind_left.getValue() * 100);
me["elevR"].setTranslation(0, elevator_ind_right.getValue() * 100);
if (blue_psi < 1500 and green_psi < 1500) {
if ((blue_psi < 1500 or (!elac1Node and !sec1Node)) and (green_psi < 1500 or (!elac2Node and !sec2Node))) {
me["elevL"].setColor(0.7333,0.3803,0);
} else {
me["elevL"].setColor(0.0509,0.7529,0.2941);
}
if (blue_psi < 1500 and yellow_psi < 1500) {
if ((blue_psi < 1500 or (!elac1Node and !sec1Node)) and (yellow_psi < 1500 or (!elac2Node and !sec2Node))) {
me["elevR"].setColor(0.7333,0.3803,0);
} else {
me["elevR"].setColor(0.0509,0.7529,0.2941);
@ -2237,34 +2278,34 @@ var canvas_lowerECAM_fctl = {
}
# Flight Computers
if (fbw.FBW.Computers.elac1.getValue()) {
if (elac1Node) {
me["elac1"].setColor(0.0509,0.7529,0.2941);
me["path4249"].setColor(0.0509,0.7529,0.2941);
} else if (!fbw.FBW.Computers.elac1.getValue() or fbw.FBW.Failures.elac1.getValue()) {
} else if (!elac1Node or fbw.FBW.Failures.elac1.getValue()) {
me["elac1"].setColor(0.7333,0.3803,0);
me["path4249"].setColor(0.7333,0.3803,0);
}
if (fbw.FBW.Computers.elac2.getValue()) {
if (elac2Node) {
me["elac2"].setColor(0.0509,0.7529,0.2941);
me["path4249-3"].setColor(0.0509,0.7529,0.2941);
} else if (!fbw.FBW.Computers.elac2.getValue() or fbw.FBW.Failures.elac2.getValue()) {
} else if (!elac2Node or fbw.FBW.Failures.elac2.getValue()) {
me["elac2"].setColor(0.7333,0.3803,0);
me["path4249-3"].setColor(0.7333,0.3803,0);
}
if (fbw.FBW.Computers.sec1.getValue()) {
if (sec1Node) {
me["sec1"].setColor(0.0509,0.7529,0.2941);
me["path4249-3-6-7"].setColor(0.0509,0.7529,0.2941);
} else if (!fbw.FBW.Computers.sec1.getValue() or fbw.FBW.Failures.sec1.getValue()) {
} else if (!sec1Node or fbw.FBW.Failures.sec1.getValue()) {
me["sec1"].setColor(0.7333,0.3803,0);
me["path4249-3-6-7"].setColor(0.7333,0.3803,0);
}
if (fbw.FBW.Computers.sec2.getValue()) {
if (sec2Node) {
me["sec2"].setColor(0.0509,0.7529,0.2941);
me["path4249-3-6-7-5"].setColor(0.0509,0.7529,0.2941);
} else if (!fbw.FBW.Computers.sec2.getValue() or fbw.FBW.Failures.sec2.getValue()) {
} else if (!sec2Node or fbw.FBW.Failures.sec2.getValue()) {
me["sec2"].setColor(0.7333,0.3803,0);
me["path4249-3-6-7-5"].setColor(0.7333,0.3803,0);
}
@ -2279,10 +2320,23 @@ var canvas_lowerECAM_fctl = {
# Hydraulic Indicators
if (blue_psi >= 1500) {
me["ailLblue"].setColor(0.0509,0.7529,0.2941);
me["ailRblue"].setColor(0.0509,0.7529,0.2941);
me["elevLblue"].setColor(0.0509,0.7529,0.2941);
me["elevRblue"].setColor(0.0509,0.7529,0.2941);
if (elac1Node) {
me["ailLblue"].setColor(0.0509,0.7529,0.2941);
} else {
me["ailLblue"].setColor(0.7333,0.3803,0);
}
if (elac1Node or sec1Node) {
me["elevLblue"].setColor(0.0509,0.7529,0.2941);
me["elevRblue"].setColor(0.0509,0.7529,0.2941);
} else {
me["elevLblue"].setColor(0.7333,0.3803,0);
me["elevRblue"].setColor(0.7333,0.3803,0);
}
if (elac2Node) {
me["ailRblue"].setColor(0.0509,0.7529,0.2941);
} else {
me["ailRblue"].setColor(0.7333,0.3803,0);
}
me["rudderblue"].setColor(0.0509,0.7529,0.2941);
me["spdbrkblue"].setColor(0.0509,0.7529,0.2941);
} else {
@ -2295,9 +2349,22 @@ var canvas_lowerECAM_fctl = {
}
if (green_psi >= 1500) {
me["ailLgreen"].setColor(0.0509,0.7529,0.2941);
me["ailRgreen"].setColor(0.0509,0.7529,0.2941);
me["elevLgreen"].setColor(0.0509,0.7529,0.2941);
if (elac2Node or sec2Node) {
me["elevLgreen"].setColor(0.0509,0.7529,0.2941);
} else {
me["elevLgreen"].setColor(0.7333,0.3803,0);
}
if (elac2Node) {
me["ailLgreen"].setColor(0.0509,0.7529,0.2941);
} else {
me["ailLgreen"].setColor(0.7333,0.3803,0);
}
if (elac1Node) {
me["ailRgreen"].setColor(0.0509,0.7529,0.2941);
} else {
me["ailRgreen"].setColor(0.7333,0.3803,0);
}
me["ruddergreen"].setColor(0.0509,0.7529,0.2941);
me["PTgreen"].setColor(0.0509,0.7529,0.2941);
me["spdbrkgreen"].setColor(0.0509,0.7529,0.2941);
@ -2311,7 +2378,11 @@ var canvas_lowerECAM_fctl = {
}
if (yellow_psi >= 1500) {
me["elevRyellow"].setColor(0.0509,0.7529,0.2941);
if (elac2Node or sec2Node) {
me["elevRyellow"].setColor(0.0509,0.7529,0.2941);
} else {
me["elevRyellow"].setColor(0.7333,0.3803,0);
}
me["rudderyellow"].setColor(0.0509,0.7529,0.2941);
me["PTyellow"].setColor(0.0509,0.7529,0.2941);
me["spdbrkyellow"].setColor(0.0509,0.7529,0.2941);
@ -2334,7 +2405,7 @@ var canvas_lowerECAM_fuel = {
return m;
},
getKeys: func() {
return["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","FUEL-Pump-Left-1","FUEL-Pump-Left-2","FUEL-Pump-Center-1","FUEL-Pump-Center-2","FUEL-Pump-Right-1","FUEL-Pump-Right-2","FUEL-Left-blocked","FUEL-Right-blocked","FUEL-Center-blocked","FUEL-Left-Transfer",
return["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","FUEL-Pump-Left-1","FUEL-Pump-Left-2","FUEL-Pump-Center-1","FUEL-Pump-Center-2","FUEL-Pump-Right-1","FUEL-Pump-Right-2","FUEL-Left-blocked","FUEL-Right-blocked","FUEL-Center-blocked","FUEL-Left-Transfer",
"FUEL-Right-Transfer","FUEL-Left-Outer-Inacc","FUEL-Left-Inner-Inacc","FUEL-Center-Inacc","FUEL-Right-Inner-Inacc","FUEL-Right-Outer-Inacc","FUEL-Left-Outer-quantity","FUEL-Left-Inner-quantity","FUEL-Center-quantity","FUEL-Right-Inner-quantity",
"FUEL-Right-Outer-quantity","FUEL-On-Board","FUEL-Flow-per-min","FUEL-APU-arrow","FUEL-APU-line","FUEL-APU-label","FUEL-used-1","FUEL-used-both","FUEL-used-2","FUEL-ENG-Master-1","FUEL-ENG-Master-2","FUEL-XFEED","FUEL-XFEED-pipes","FUEL-Left-Outer-temp",
"FUEL-Left-Inner-temp","FUEL-Right-Inner-temp","FUEL-Right-Outer-temp","FUEL-Pump-Left-1-Closed","FUEL-Pump-Left-1-Open","FUEL-Pump-Left-2-Closed","FUEL-Pump-Left-2-Open","FUEL-Pump-Center-1-Open","FUEL-Pump-Center-1-Closed","FUEL-Pump-Center-2-Closed",
@ -2614,7 +2685,7 @@ var canvas_lowerECAM_press = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit", "PRESS-Cab-VS", "PRESS-Cab-VS-neg", "PRESS-Cab-Alt"];
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit", "PRESS-Cab-VS", "PRESS-Cab-VS-neg", "PRESS-Cab-Alt"];
},
update: func() {
me["PRESS-Cab-VS"].setText(sprintf("%4.0f", press_vs_norm.getValue()));
@ -2633,7 +2704,7 @@ var canvas_lowerECAM_status = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit"];
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit"];
},
update: func() {
@ -2649,7 +2720,7 @@ var canvas_lowerECAM_hyd = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","Green-Indicator","Blue-Indicator","Yellow-Indicator","Press-Green","Press-Blue","Press-Yellow","Green-Line","Blue-Line","Yellow-Line","PTU-Supply-Line","PTU-supply-yellow","PTU-supply-green","PTU-connection",
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","Green-Indicator","Blue-Indicator","Yellow-Indicator","Press-Green","Press-Blue","Press-Yellow","Green-Line","Blue-Line","Yellow-Line","PTU-Supply-Line","PTU-supply-yellow","PTU-supply-green","PTU-connection",
"PTU-Auto-or-off","RAT-label","RAT-stowed","RAT-not-stowed","ELEC-Yellow-off","ELEC-Yellow-on","ELEC-Yellow-label","ELEC-OVTH-Yellow","ELEC-Blue-label","ELEC-OVHT-Blue","ELEC-OVHT-Yellow","Pump-Green-label","Pump-Yellow-label","Pump-Green",
"Pump-LOPR-Green","Pump-Green-off","Pump-Green-on","Pump-Yellow","Pump-LOPR-Yellow","Pump-Yellow-off","Pump-Yellow-on","Pump-Blue", "Pump-Blue-off","Pump-Blue-on","Fire-Valve-Green","Fire-Valve-Yellow","LO-AIR-PRESS-Green",
"LO-AIR-PRESS-Yellow","LO-AIR-PRESS-Blue","OVHT-Green","OVHT-Blue","OVHT-Yellow","Quantity-Indicator-Green","Quantity-Indicator-Blue","Quantity-Indicator-Yellow","Green-label","Blue-label","Yellow-label"];
@ -2918,7 +2989,7 @@ var canvas_lowerECAM_wheel = {
return m;
},
getKeys: func() {
return ["TAT","SAT","GW","UTCh","UTCm","GW-weight-unit","lgctltext","NORMbrk","NWStext","leftdoor","rightdoor","nosegeardoorL","nosegeardoorR",
return ["TAT","SAT","GW","UTCh","UTCm","GLoad","GW-weight-unit","lgctltext","NORMbrk","NWStext","leftdoor","rightdoor","nosegeardoorL","nosegeardoorR",
"autobrk","autobrkind","NWS","NWSrect","normbrk-rect","altnbrk","normbrkhyd","spoiler1Rex","spoiler1Rrt","spoiler2Rex","spoiler2Rrt","spoiler3Rex",
"spoiler3Rrt","spoiler4Rex","spoiler4Rrt","spoiler5Rex","spoiler5Rrt","spoiler1Lex","spoiler1Lrt","spoiler2Lex","spoiler2Lrt",
"spoiler3Lex","spoiler3Lrt","spoiler4Lex","spoiler4Lrt","spoiler5Lex","spoiler5Lrt","spoiler1Rf","spoiler2Rf","spoiler3Rf","spoiler4Rf","spoiler5Rf",
@ -2939,7 +3010,7 @@ var canvas_lowerECAM_wheel = {
rightdoor = gear_door_R.getValue();
nosedoor = gear_door_N.getValue();
gearlvr = gear_down.getValue();
askidsw = systems.HYD.Brakes.askidSw.getBoolValue();
askidsw = systems.HYD.Switch.nwsSwitch.getBoolValue();
brakemode = systems.HYD.Brakes.mode.getBoolValue();
accum = systems.HYD.Brakes.accumPressPsi.getBoolValue();

View file

@ -201,6 +201,18 @@
x="465.99081"
id="tspan4176"
sodipodi:role="line">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View file

@ -1353,6 +1353,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<rect
transform="rotate(90)"
y="-580.51971"

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 74 KiB

View file

@ -12,7 +12,7 @@
viewBox="0 0 1024 1024"
version="1.1"
id="svg2"
inkscape:version="0.91 r13725"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="bottomstatus.svg">
<metadata
id="metadata375">
@ -37,14 +37,14 @@
guidetolerance="1"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1030"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview371"
showgrid="true"
inkscape:zoom="0.70710678"
inkscape:cx="863.7473"
inkscape:cy="199.56079"
inkscape:window-x="1592"
inkscape:zoom="1.2381039"
inkscape:cx="615.56215"
inkscape:cy="75.799562"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2">
@ -81,8 +81,7 @@
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="500.75214"
y="977.31793"
id="text6232"
sodipodi:linespacing="0%"><tspan
id="text6232"><tspan
sodipodi:role="line"
id="tspan3726-1-4-5-7"
x="500.75214"
@ -93,8 +92,7 @@
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="254.86758"
y="938.9859"
id="text6233"
sodipodi:linespacing="0%"><tspan
id="text6233"><tspan
sodipodi:role="line"
id="tspan3726-1-4-5-3"
x="254.86758"
@ -105,8 +103,7 @@
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="940.17981"
y="939.82428"
id="GW-weight-unit"
sodipodi:linespacing="0%"><tspan
id="GW-weight-unit"><tspan
sodipodi:role="line"
id="tspan3726-1-4-5-7-7"
x="940.17981"
@ -117,8 +114,7 @@
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="695.24951"
y="939.8045"
id="text3912"
sodipodi:linespacing="0%"><tspan
id="text3912"><tspan
sodipodi:role="line"
id="tspan3914"
x="695.24951"
@ -129,8 +125,7 @@
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="48.73233"
y="939.2984"
id="text6235"
sodipodi:linespacing="0%"><tspan
id="text6235"><tspan
sodipodi:role="line"
id="tspan3914-9"
x="48.73233"
@ -141,8 +136,7 @@
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="47.952412"
y="975.40332"
id="text6236"
sodipodi:linespacing="0%"><tspan
id="text6236"><tspan
sodipodi:role="line"
id="tspan3914-9-4"
x="47.952412"
@ -154,8 +148,7 @@
x="212.32626"
y="938.96637"
id="TAT"
inkscape:label="#text5149"
sodipodi:linespacing="0%"><tspan
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan5151-5-7-1"
x="212.32626"
@ -167,8 +160,7 @@
x="212.3264"
y="975.40363"
id="SAT"
inkscape:label="#text5149"
sodipodi:linespacing="0%"><tspan
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan5151-5-7-1-0"
x="212.3264"
@ -180,15 +172,13 @@
x="925.0899"
y="939.78522"
id="GW"
inkscape:label="#text5149"
sodipodi:linespacing="0%"><tspan
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan5151-5-7-1-9"
x="925.0899"
y="939.78522"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;text-anchor:end;fill:#0dc04b">120000</tspan></text>
<text
sodipodi:linespacing="0%"
id="text4170"
y="975.42352"
x="254.86758"
@ -200,7 +190,6 @@
id="tspan4172"
sodipodi:role="line">°C</tspan></text>
<text
sodipodi:linespacing="0%"
inkscape:label="#text5149"
id="UTCh"
y="976.25214"
@ -218,11 +207,33 @@
x="560.88452"
y="976.25214"
id="UTCm"
inkscape:label="#text5149"
sodipodi:linespacing="0%"><tspan
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan4180"
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30px;line-height:1.25;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.75"
x="516.24323"
y="946.9364"
id="text867"><tspan
sodipodi:role="line"
id="tspan865"
x="516.24323"
y="973.47937"
style="stroke-width:0.75" /></text>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -987,6 +987,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<path
style="fill:none;stroke:#cdcecd;stroke-width:5.24999984;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 217.49999,240.24999 c 0,0 -67.49999,-3.75 -97.49999,-26.25"

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -245,6 +245,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
transform="scale(0.96119789,1.0403685)"
inkscape:label="#text5149"

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

View file

@ -225,6 +225,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 53 KiB

View file

@ -476,6 +476,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
sodipodi:linespacing="0%"
transform="scale(0.96120436,1.0403615)"

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 120 KiB

View file

@ -225,6 +225,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View file

@ -225,6 +225,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 63 KiB

View file

@ -1438,6 +1438,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<path
style="fill:#cecdce;fill-opacity:1;stroke:#cecdce;stroke-width:2.99999991;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 29.999999,847.74995 H 86.249997"

Before

Width:  |  Height:  |  Size: 69 KiB

After

Width:  |  Height:  |  Size: 70 KiB

View file

@ -1148,6 +1148,18 @@
x="465.99081"
id="tspan4176"
sodipodi:role="line">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -1084,4 +1084,16 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 58 KiB

View file

@ -225,6 +225,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View file

@ -214,6 +214,18 @@
x="560.88452"
y="976.25214"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:36px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b">00</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="512.93152"
y="940.98541"
id="GLoad"
inkscape:label="#text5149"><tspan
sodipodi:role="line"
id="tspan861"
x="512.93152"
y="940.98541"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.99999905px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#bb6100;fill-opacity:1">G.LOAD 0.6</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 68 KiB

File diff suppressed because it is too large Load diff

View file

@ -1705,7 +1705,7 @@
<repeatable>true</repeatable>
<binding>
<command>nasal</command>
<script>mcdu.button("CLR", 0);</script>
<script>mcdu.button("CLR", 0, "down");</script>
<condition>
<and>
<greater-than-equals>
@ -1719,6 +1719,24 @@
</and>
</condition>
</binding>
<mod-up>
<binding>
<command>nasal</command>
<script>mcdu.button("CLR", 0, "up");</script>
<condition>
<and>
<greater-than-equals>
<property>systems/electrical/bus/ac-1</property>
<value>110</value>
</greater-than-equals>
<greater-than>
<property>controls/lighting/DU/mcdu1</property>
<value>0.01</value>
</greater-than>
</and>
</condition>
</binding>
</mod-up>
</action>
</animation>
<animation>

View file

@ -1705,7 +1705,7 @@
<repeatable>true</repeatable>
<binding>
<command>nasal</command>
<script>mcdu.button("CLR", 1);</script>
<script>mcdu.button("CLR", 1, "down");</script>
<condition>
<and>
<greater-than-equals>
@ -1719,6 +1719,24 @@
</and>
</condition>
</binding>
<mod-up>
<binding>
<command>nasal</command>
<script>mcdu.button("CLR", 1, "up");</script>
<condition>
<and>
<greater-than-equals>
<property>systems/electrical/bus/ac-2</property>
<value>110</value>
</greater-than-equals>
<greater-than>
<property>controls/lighting/DU/mcdu2</property>
<value>0.01</value>
</greater-than>
</and>
</condition>
</binding>
</mod-up>
</action>
</animation>
<animation>

View file

@ -12,7 +12,7 @@
viewBox="0 0 1024 864"
version="1.1"
id="svg2"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="mcdu.svg">
<metadata
id="metadata375">
@ -37,17 +37,17 @@
guidetolerance="20"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1366"
inkscape:window-height="705"
inkscape:window-width="1920"
inkscape:window-height="1017"
id="namedview371"
showgrid="true"
inkscape:zoom="3.1578866"
inkscape:cx="1122.1906"
inkscape:cy="986.92422"
inkscape:zoom="0.55824076"
inkscape:cx="608.20261"
inkscape:cy="690.7315"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
inkscape:current-layer="Simple"
showguides="false"
inkscape:snap-global="false"
units="px"
@ -306,6 +306,19 @@
y="539.16522"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:70px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:1px">TEXT</tspan></text>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="521.74713"
y="69.238266"
id="Simple_Title2"
transform="scale(0.99151607,1.0085565)"
inkscape:label="#text4244b"><tspan
sodipodi:role="line"
id="tspan1367"
x="521.74713"
y="69.238266"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:70px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">TITLE</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
@ -1016,7 +1029,7 @@
inkscape:label="#g4241"
id="g4241">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 952.4036,47.432743 H 923.87395"
id="path4480-4"
inkscape:connector-curvature="0"
@ -1026,9 +1039,9 @@
inkscape:connector-curvature="0"
id="path4482-0"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,62.1688 921.8587,47.4328"
id="path4484-0"
inkscape:connector-curvature="0"
@ -1069,7 +1082,7 @@
inkscape:label="#g4324"
id="g4324">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 998.71909,284.70793 H 970.18944"
id="path4490-7"
inkscape:connector-curvature="0"
@ -1079,9 +1092,9 @@
inkscape:connector-curvature="0"
id="path4318-2"
d="m 994.54102,294.79468 -20.17351,-20.1735"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 984.45427,298.97275 -10e-6,-28.52964"
id="path4320-1"
inkscape:connector-curvature="0"
@ -1091,7 +1104,7 @@
inkscape:connector-curvature="0"
id="path4322-2"
d="m 974.36752,294.79468 20.17349,-20.1735"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
@ -1103,7 +1116,7 @@
x="177.72771"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffff00;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.20000076px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:51.2px;line-height:1.25;font-family:BoeingCDULarge;-inkscape-font-specification:BoeingCDULarge;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"
y="68.861366"
x="177.72771"
id="tspan1240"
@ -1147,7 +1160,7 @@
inkscape:label="#g4241"
id="g186">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 952.4036,47.432743 H 923.87395"
id="path180"
inkscape:connector-curvature="0"
@ -1157,9 +1170,9 @@
inkscape:connector-curvature="0"
id="path182"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,62.1688 921.8587,47.4328"
id="path184"
inkscape:connector-curvature="0"
@ -1200,7 +1213,7 @@
inkscape:label="#g4324"
id="g205">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 998.71909,284.70793 H 970.18944"
id="path197"
inkscape:connector-curvature="0"
@ -1210,9 +1223,9 @@
inkscape:connector-curvature="0"
id="path199"
d="m 994.54102,294.79468 -20.17351,-20.1735"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 984.45427,298.97275 -10e-6,-28.52964"
id="path201"
inkscape:connector-curvature="0"
@ -1222,7 +1235,7 @@
inkscape:connector-curvature="0"
id="path203"
d="m 974.36752,294.79468 20.17349,-20.1735"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
@ -1235,7 +1248,7 @@
inkscape:label="arrow5L"
id="arrow5L">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 952.4036,47.432743 H 923.87395"
id="path301"
inkscape:connector-curvature="0"
@ -1245,9 +1258,9 @@
inkscape:connector-curvature="0"
id="path303"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,62.1688 921.8587,47.4328"
id="path305"
inkscape:connector-curvature="0"
@ -1263,9 +1276,9 @@
inkscape:connector-curvature="0"
id="path417"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,32.6968 921.8587,47.4328"
id="path419"
inkscape:connector-curvature="0"
@ -1275,7 +1288,7 @@
inkscape:connector-curvature="0"
id="path421"
d="M 936.70791,62.1688 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="stroke:#bb6100;stroke-opacity:1"
@ -1283,7 +1296,7 @@
inkscape:label="arrow3L"
id="arrow3L">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 952.4036,47.432743 H 923.87395"
id="path425"
inkscape:connector-curvature="0"
@ -1293,9 +1306,9 @@
inkscape:connector-curvature="0"
id="path427"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,62.1688 921.8587,47.4328"
id="path429"
inkscape:connector-curvature="0"
@ -1311,9 +1324,9 @@
inkscape:connector-curvature="0"
id="path433"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,32.6968 921.8587,47.4328"
id="path435"
inkscape:connector-curvature="0"
@ -1323,7 +1336,7 @@
inkscape:connector-curvature="0"
id="path437"
d="M 936.70791,62.1688 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="stroke:#bb6100;stroke-opacity:1"
@ -1331,7 +1344,7 @@
inkscape:label="arrow1L"
id="arrow1L">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 952.4036,47.432743 H 923.87395"
id="path471"
inkscape:connector-curvature="0"
@ -1341,9 +1354,9 @@
inkscape:connector-curvature="0"
id="path473"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,62.1688 921.8587,47.4328"
id="path475"
inkscape:connector-curvature="0"
@ -1359,9 +1372,9 @@
inkscape:connector-curvature="0"
id="path479"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,32.6968 921.8587,47.4328"
id="path481"
inkscape:connector-curvature="0"
@ -1371,7 +1384,7 @@
inkscape:connector-curvature="0"
id="path483"
d="M 936.70791,62.1688 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="stroke:#bb6100;stroke-opacity:1"
@ -1379,7 +1392,7 @@
inkscape:label="arrow4R"
id="arrow4R">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 952.4036,47.432743 H 923.87395"
id="path487"
inkscape:connector-curvature="0"
@ -1389,9 +1402,9 @@
inkscape:connector-curvature="0"
id="path489"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,62.1688 921.8587,47.4328"
id="path491"
inkscape:connector-curvature="0"
@ -1407,9 +1420,9 @@
inkscape:connector-curvature="0"
id="path495"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,32.6968 921.8587,47.4328"
id="path497"
inkscape:connector-curvature="0"
@ -1419,7 +1432,7 @@
inkscape:connector-curvature="0"
id="path499"
d="M 936.70791,62.1688 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="stroke:#bb6100;stroke-opacity:1"
@ -1427,7 +1440,7 @@
inkscape:label="arrow2R"
id="arrow2R">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 952.4036,47.432743 H 923.87395"
id="path503"
inkscape:connector-curvature="0"
@ -1437,9 +1450,9 @@
inkscape:connector-curvature="0"
id="path505"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,62.1688 921.8587,47.4328"
id="path507"
inkscape:connector-curvature="0"
@ -1455,9 +1468,9 @@
inkscape:connector-curvature="0"
id="path511"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 936.70791,32.6968 921.8587,47.4328"
id="path513"
inkscape:connector-curvature="0"
@ -1467,7 +1480,7 @@
inkscape:connector-curvature="0"
id="path515"
d="M 936.70791,62.1688 921.8587,47.4328"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
@ -2617,7 +2630,7 @@
id="tspan1088"
x="478.87796"
y="171.04486"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:63.99240112px;line-height:1.25;font-family:'Helvetica Medium';-inkscape-font-specification:'Helvetica Medium, Medium';text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1">=</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:63.9924px;line-height:1.25;font-family:'Helvetica Medium';-inkscape-font-specification:'Helvetica Medium, Medium';text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1">=</tspan></text>
<text
inkscape:label="#text4244"
transform="scale(0.90642126,1.1032398)"
@ -2626,7 +2639,7 @@
x="478.87796"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:63.99240112px;line-height:1.25;font-family:'Helvetica Medium';-inkscape-font-specification:'Helvetica Medium, Medium';text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:63.9924px;line-height:1.25;font-family:'Helvetica Medium';-inkscape-font-specification:'Helvetica Medium, Medium';text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1"
y="278.32764"
x="478.87796"
id="tspan1091"
@ -2643,7 +2656,7 @@
id="tspan1094"
x="478.87796"
y="385.6102"
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:63.99240112px;line-height:1.25;font-family:'Helvetica Medium';-inkscape-font-specification:'Helvetica Medium, Medium';text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1">=</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:500;font-stretch:normal;font-size:63.9924px;line-height:1.25;font-family:'Helvetica Medium';-inkscape-font-specification:'Helvetica Medium, Medium';text-align:start;text-anchor:start;fill:#ffffff;fill-opacity:1">=</tspan></text>
<g
style="stroke:#179ab7;stroke-opacity:1"
id="PERFAPPR_LDG_3"
@ -3010,7 +3023,7 @@
sodipodi:nodetypes="cc" />
</g>
<g
style="opacity:0.97000002;stroke:#179ab7;stroke-opacity:1"
style="opacity:0.97;stroke:#179ab7;stroke-opacity:1"
id="COMM-ADS"
inkscape:label="#g4324"
transform="matrix(1.0807111,0,0,1.0807111,-1029.7034,213.33078)">
@ -3019,9 +3032,9 @@
inkscape:connector-curvature="0"
id="path1273"
d="M 998.71909,284.70793 H 970.18944"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 994.54102,294.79468 -20.17351,-20.1735"
id="path1275"
inkscape:connector-curvature="0"
@ -3031,9 +3044,9 @@
inkscape:connector-curvature="0"
id="path1277"
d="m 984.45427,298.97275 -10e-6,-28.52964"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 974.36752,294.79468 20.17349,-20.1735"
id="path1279"
inkscape:connector-curvature="0"
@ -3229,9 +3242,9 @@
inkscape:connector-curvature="0"
id="path1341"
d="M 998.71909,284.70793 H 970.18944"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 994.54102,294.79468 -20.17351,-20.1735"
id="path1343"
inkscape:connector-curvature="0"
@ -3241,9 +3254,9 @@
inkscape:connector-curvature="0"
id="path1345"
d="m 984.45427,298.97275 -10e-6,-28.52964"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 974.36752,294.79468 20.17349,-20.1735"
id="path1347"
inkscape:connector-curvature="0"

Before

Width:  |  Height:  |  Size: 171 KiB

After

Width:  |  Height:  |  Size: 171 KiB

View file

@ -180,6 +180,17 @@ var canvas_nd_base = {
},
};
var ND_change_timer_fn = func {
#me.change_phase += 1;
#if (me.change_phase>2) { # phase 3 - only for older ND?
#if (me.change_phase>1) { # phase 2 hide
me.change_timer.stop();
me.change_phase = 0;
#} else {
me.map.setVisible(1); # phase 2
#}
};
var canvas_ND_1 = {
new: func(canvas_group) {
var m = {parents: [canvas_ND_1, canvas_nd_base]};
@ -190,6 +201,8 @@ var canvas_ND_1 = {
me.NDCpt.attitude_heading_setting = -1;
me.NDCpt.adirs_property = props.globals.getNode("/instrumentation/efis[0]/nd/ir-1",1);
me.NDCpt.newMFD(canvas_group);
me.NDCpt.change_phase = 0;
me.NDCpt.change_timer = maketimer(0.6,me.NDCpt,ND_change_timer_fn);
me.NDCpt.update();
return m;
@ -213,6 +226,8 @@ var canvas_ND_2 = {
me.NDFo.attitude_heading_setting = 1;
me.NDFo.adirs_property = props.globals.getNode("/instrumentation/efis[1]/nd/ir-2",1);
me.NDFo.newMFD(canvas_group);
me.NDFo.change_phase = 0;
me.NDFo.change_timer = maketimer(0.4,me.NDFo,ND_change_timer_fn);
me.NDFo.update();
return m;
@ -338,6 +353,56 @@ setlistener("sim/signals/fdm-initialized", func {
ND_2 = canvas_ND_2.new(group_nd2);
ND_2_test = canvas_ND_2_test.new(group_nd2_test, "Aircraft/A320-family/Models/Instruments/Common/res/du-test.svg");
setlistener("/instrumentation/efis[0]/inputs/range-nm", func() {
canvas_nd.ND_1.NDCpt.trafficLayer.camera.range = getprop("/instrumentation/efis[0]/inputs/range-nm");
}, 1, 0);
setlistener("/instrumentation/efis[1]/inputs/range-nm", func() {
canvas_nd.ND_2.NDFo.trafficLayer.camera.range = getprop("/instrumentation/efis[1]/inputs/range-nm");
}, 1, 0);
setlistener("/instrumentation/efis[0]/inputs/nd-centered", func() {
canvas_nd.ND_1.NDCpt.trafficLayer.camera.screenRange = getprop("/instrumentation/efis[0]/inputs/nd-centered") ? 436.8545 : 710;
canvas_nd.ND_1.NDCpt.trafficLayer.camera.screenCY = getprop("/instrumentation/efis[0]/inputs/nd-centered") ? 512 : 850;
}, 1, 0);
setlistener("/instrumentation/efis[1]/inputs/nd-centered", func() {
canvas_nd.ND_2.NDFo.trafficLayer.camera.screenRange = getprop("/instrumentation/efis[1]/inputs/nd-centered") ? 436.8545 : 710;
canvas_nd.ND_2.NDFo.trafficLayer.camera.screenCY = getprop("/instrumentation/efis[1]/inputs/nd-centered") ? 512 : 850;
}, 1, 0);
setlistener("/instrumentation/tcas/inputs/mode", func() {
if (getprop("/instrumentation/efis[0]/nd/canvas-display-mode") != "PLAN") {
canvas_nd.ND_1.NDCpt.trafficGroup.setVisible(pts.Instrumentation.TCAS.Inputs.mode.getValue() >= 2 ? 1 : 0);
}
if (getprop("/instrumentation/efis[1]/nd/canvas-display-mode") != "PLAN") {
canvas_nd.ND_2.NDFo.trafficGroup.setVisible(pts.Instrumentation.TCAS.Inputs.mode.getValue() >= 2 ? 1 : 0);
}
}, 1, 0);
setlistener("/instrumentation/efis[0]/nd/canvas-display-mode", func() {
canvas_nd.ND_1.NDCpt.trafficGroup.setVisible(getprop("/instrumentation/efis[0]/nd/canvas-display-mode") == "PLAN" ? 0 : 1);
}, 1, 0);
setlistener("/instrumentation/efis[1]/nd/canvas-display-mode", func() {
canvas_nd.ND_2.NDFo.trafficGroup.setVisible(getprop("/instrumentation/efis[1]/nd/canvas-display-mode") == "PLAN" ? 0 : 1);
}, 1, 0);
setlistener("/instrumentation/efis[0]/nd/display-mode", func {
startChangePhase(canvas_nd.ND_1.NDCpt,"MODE CHANGE");
},0,0);
setlistener("/instrumentation/efis[0]/inputs/range-nm", func {
startChangePhase(canvas_nd.ND_1.NDCpt,"RANGE CHANGE");
},0,0);
setlistener("/instrumentation/efis[1]/nd/display-mode", func {
startChangePhase(canvas_nd.ND_2.NDFo,"MODE CHANGE");
},0,0);
setlistener("/instrumentation/efis[1]/inputs/range-nm", func {
startChangePhase(canvas_nd.ND_2.NDFo,"RANGE CHANGE");
},0,0);
nd_update.start();
if (getprop("systems/acconfig/options/nd-rate") > 1) {
rateApply();
@ -382,14 +447,22 @@ for (i = 0; i < 2; i = i + 1 ) {
});
}
setlistener("/instrumentation/efis[0]/nd/terrain-on-nd", func{
var terr_on_hd = getprop("instrumentation/efis[0]/nd/terrain-on-nd");
var alpha = 1;
if (terr_on_hd) {
alpha = 0.5;
}
nd_display.main.setColorBackground(0,0,0,alpha);
});
var startChangePhase = func(nd,txt) {
nd.change_timer.stop();
nd.map.setVisible(0);
nd.symbols.nd_msg_change.setText(txt);
nd.change_phase = 1;
nd.change_timer.start();
}
#setlistener("/instrumentation/efis[0]/nd/terrain-on-nd", func{
# var terr_on_hd = getprop("instrumentation/efis[0]/nd/terrain-on-nd");
# var alpha = 1;
# if (terr_on_hd) {
# alpha = 0.5;
# }
# nd_display.main.setColorBackground(0,0,0,alpha);
#});
setlistener("/flight-management/control/capture-leg", func(n) {
var capture_leg = n.getValue();

View file

@ -13,6 +13,110 @@ var assert_m = canvas.assert_m;
var wxr_live_tree = "/instrumentation/wxr";
var adirs_3 = props.globals.getNode("/instrumentation/efis[0]/nd/ir-3", 1);
var easeArrow = {
new: func(elem) {
var m = {parents: [easeArrow]};
m.req_rot_rad = 0;
m.req_rot_deg = 0;
m.last_rot_deg = nil;
m.last_rot_rad = 0;
m.element = elem;
m.time = 0;
m.duration = 0;
m.startval = 0;
m.diffval = 0;
return m;
},
setVisible: func(v) {
if (v == 1 and me.last_rot_deg == nil) me.reset();
me.element.setVisible(v);
},
hide: func {
me.element.hide();
},
reset: func {
me.last_rot_deg = 360 - getprop("orientation/heading-deg");
me.last_rot_rad = me.last_rot_deg * D2R;
me.duration = 0;
print("VOR reset");
},
setRotation: func(rad) {
var deg = 0;
var gap = 0;
gap = math.abs(rad - me.req_rot_rad);
if (gap>0.001) {
if (me.duration>0) gap = math.abs(rad - me.last_rot_rad);
if (gap>=180*D2R) gap = 360*D2R - gap;
deg = rad * 57.29578;
me.req_rot_rad = rad;
me.req_rot_deg = deg;
me.duration = 0;
if (gap>0.2) {
if (me.last_rot_deg == nil) me.reset();
me.startval = me.last_rot_deg;
me.diffval = deg - me.last_rot_deg;
if (me.diffval<0) me.diffval += 360;
me.time = 0;
me.duration = math.round(me.diffval * 0.21); # rad 36/3
}
if (me.duration < 2) {
me.last_rot_rad = rad;
me.last_rot_deg = deg;
me.element.setRotation(rad);
me.duration = 0;
}
}
if (me.duration > 0) {
var tx = me.time / me.duration;
#thanks to https://easings.net/#easeOutCubic
deg = (1 - math.pow(1 - tx, 3)) * me.diffval + me.startval;
deg = math.mod(deg,360);
#print("DEG: " ~ deg);
me.last_rot_deg = deg;
me.last_rot_rad = deg * D2R;
me.element.setRotation(me.last_rot_rad);
me.time += 1;
if (tx>=1) me.duration = 0;
}
}
};
var symbolDistNM = {
new: func(name, nd) {
var m = {parents: [symbolDistNM] };
m.group = nd.getElementById(name);
m.expn = nd.getElementById(name ~ "1");
m.mant = nd.getElementById(name ~ "2");
return m;
},
hide: func {
me.group.hide();
},
show: func {
me.group.show();
},
setText: func(txt) {
var parts = ( txt != "" ) ? split( "." , txt ) : nil;
if ( parts != nil and size(parts) == 2 ) {
me.expn.setText(parts[0]);
me.mant.setText("." ~ parts[1]);
} else {
me.expn.setText(txt);
me.mant.setText("");
}
},
setColor: func(r,g,b) {
me.expn.setColor(r,g,b);
me.mant.setColor(r,g,b);
},
setFloat: func(val) {
var parts = split( "." , sprintf("%03.1f",val) );
me.expn.setText(parts[0]);
me.mant.setText("." ~ parts[1]);
}
};
canvas.NavDisplay.set_switch = func(s, v) {
var switch = me.efis_switches[s];
if(switch == nil) return nil;
@ -32,8 +136,7 @@ canvas.NavDisplay.get_nav_path = func (type, idx) {
return sprintf(path, name, idx);
};
canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update_time=0.05)
{
canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update_time=0.05) {
if (me.inited) die("MFD already was added to scene");
me.range_dependant_layers = [];
me.always_update_layers = {};
@ -69,24 +172,35 @@ canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update
### this is the "old" method that"s less flexible, we want to use the style hash instead (see above)
# because things are much better configurable that way
# now look up all required SVG elements and initialize member fields using the same name to have a convenient handle
foreach(var element; ["dmeLDist","dmeRDist","dmeL","dmeR","vorL","vorR","vorLId","vorRId",
"status.wxr","status.wpt","status.sta","status.arpt"])
foreach(var element; ["dmeL","dmeR","vorL","vorR","vorLId","vorRId",
"status.wxr","status.wpt","status.sta","status.arpt","terrHI","terrLO","TerrLabel","terrAhead"])
me.symbols[element] = me.nd.getElementById(element);
foreach(var element; ["dmeLDist","dmeRDist"])
me.symbols[element] = symbolDistNM.new( element, me.nd );
me.symbols.dmeLDist.setColor(0.195,0.96,0.097);
me.symbols.dmeRDist.setColor(0.195,0.96,0.097);
# load elements from vector image, and create instance variables using identical names, and call updateCenter() on each
# anything that needs updatecenter called, should be added to the vector here
#
foreach(var element; ["staArrowL2","staArrowR2","staFromL2","staToL2","staFromR2","staToR2",
foreach(var element; ["staFromL2","staToL2","staFromR2","staToR2",
"hdgTrk","trkInd","hdgBug","HdgBugCRT","TrkBugLCD","HdgBugLCD","curHdgPtr",
"HdgBugCRT2","TrkBugLCD2","HdgBugLCD2","hdgBug2","selHdgLine","selHdgLine2","curHdgPtr2",
"staArrowL","staArrowR","staToL","staFromL","staToR","staFromR"] )
"staToL","staFromL","staToR","staFromR"] )
me.symbols[element] = me.nd.getElementById(element).updateCenter();
foreach(var element; ["staArrowL2","staArrowR2","staArrowL","staArrowR"] )
me.symbols[element] = easeArrow.new( me.nd.getElementById(element).updateCenter() );
me.map = me.nd.createChild("map","map")
.set("clip", "rect(124, 1024, 1024, 0)")
.set("screen-range", 700)
.set("z-index",-1);
me.compassHdgTrk = 0; # last compass rotation deg
me.update_sub(); # init some map properties based on switches
var vor1_path = "/instrumentation/nav[2]";
@ -233,6 +347,17 @@ canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update
event_handler();
} # foreach layer
me.mapCamera = traffic.Camera.new({
range: 20,
screenRange: 436.8545,
screenCX: 512,
screenCY: 512,
});
me.trafficGroup = me.nd.createChild("group");
me.trafficLayer = traffic.TrafficLayer.new(me.mapCamera, me.trafficGroup);
me.trafficLayer.start();
me.trafficGroup.set("z-index", -1);
#print("navdisplay.mfd:ND layer setup completed");
# TODO: move this to RTE.lcontroller ?
@ -277,20 +402,38 @@ canvas.NavDisplay.update_sub = func(){
me.userTrk=userHdg;
}
var reqHdg = 0;
if((me.in_mode("toggle_display_mode", ["MAP"]) and me.get_switch("toggle_display_type") == "CRT")
or (me.get_switch("toggle_track_heading") and me.get_switch("toggle_display_type") == "LCD"))
{
or (me.get_switch("toggle_track_heading") and me.get_switch("toggle_display_type") == "LCD")) {
userHdgTrk = userTrk;
me.userHdgTrk = userTrk;
me.compassHdgTrk = userTrk;
userHdgTrkTru = userTrkTru;
me.symbols.hdgTrk.setText("TRK");
} else {
userHdgTrk = userHdg;
me.userHdgTrk = userHdg;
if (userHdg != me.compassHdgTrk) {
var dist = userHdg - me.compassHdgTrk;
if (dist>180) dist = dist - 360;
elsif (dist<-180) dist = 360 + dist;
if (dist>0) {
dist = dist * 0.3;
if (dist>10) dist = 10;
me.compassHdgTrk = (dist<0.1) ? userHdg : math.mod(me.compassHdgTrk+dist,360);
}
elsif (dist<0) {
dist = dist * 0.3;
if (dist<-10) dist = -10;
me.compassHdgTrk = (dist>-0.1) ? userHdg : math.mod(me.compassHdgTrk+dist,360);
}
}
userHdgTrk = me.compassHdgTrk;
me.userHdgTrk = me.compassHdgTrk;
userHdgTrkTru = userHdgTru;
me.symbols.hdgTrk.setText("HDG");
}
# First, update the display position of the map
var oldRange = me.map.getRange();
var pos = {
@ -372,6 +515,13 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
else
me.map.setTranslation(512,824);
}
me.mapCamera.repositon(geo.aircraft_position(), me.aircraft_source.get_hdg_tru());
me.pos = props.globals.getNode("position");
me.trafficLayer.setRefAlt(me.pos.getValue("altitude-ft"));
if (me.trafficGroup.getVisible()) {
me.trafficLayer.update();
me.trafficLayer.redraw();
}
var vor1_path = "/instrumentation/nav[2]";
var vor2_path = "/instrumentation/nav[3]";
var dme1_path = "/instrumentation/dme[2]";
@ -462,7 +612,7 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
var adf1hdg = getprop("/instrumentation/adf[1]/indicated-bearing-deg");
if(!me.get_switch("toggle_centered"))
{
if(me.in_mode("toggle_display_mode", ["PLAN"]) or (me.adirs_property.getValue() != 1 and (adirs_3.getValue() != 1 or att_switch.getValue() != me.attitude_heading_setting)))
if(me.in_mode("toggle_display_mode", ["PLAN"]) or (me.adirs_property.getValue() != 1 or (me.change_phase == 1) and (adirs_3.getValue() != 1 or att_switch.getValue() != me.attitude_heading_setting)))
me.symbols.trkInd.hide();
else
me.symbols.trkInd.show();

View file

@ -0,0 +1,51 @@
# See: http://wiki.flightgear.org/MapStructure
# Class things:
var name = 'TERRAIN';
var parents = [canvas.SymbolLayer.Controller];
var __self__ = caller(0)[0];
canvas.SymbolLayer.Controller.add(name, __self__);
canvas.SymbolLayer.add(name, {
parents: [MultiSymbolLayer],
type: name, # Symbol type
df_controller: __self__, # controller to use by default -- this one
df_options: { # default configuration options
viewport_radius: 670
}
});
var new = func(layer) {
var m = {
parents: [__self__],
layer: layer,
map: layer.map,
listeners: [],
};
layer.searcher._equals = func(l,r) l.equals(r);
m.addVisibilityListener();
return m;
};
var del = func() {
#print(name~".lcontroller.del()");
foreach (var l; me.listeners)
removelistener(l);
};
var searchCmd = func {
if(me.map.getRange() == nil) return [];
var pos = geo.aircraft_position();
lat = pos.lat();
lon = pos.lon();
var result = geo.Coord.new();
result.set_latlon(lat, lon);
result.rangeNm = me.map.getRange();
result.fetchRad = 184; # is this number accurate?
result.equals = func(r){
me.fetchRad == r.fetchRad and me.lat == r.lat and me.lon == r.lon
};
return [result];
};

View file

@ -0,0 +1,429 @@
# See: http://wiki.flightgear.org/MapStructure
# Class things:
## Airbus Terrain on ND by InuYaksa*2021
## EGPWS device - Applicable to: MSN 0112
## Ident.: DSC-31-45-00009586.0012001 / 22 MAY 12
## Ident.: DSC-31-45-00009586.0009001 / 08 AUG 13
## inspired from work on 787-family - thanks a lots
## and a great help from legoboyvdlp
var name = 'TERRAIN';
var parents = [DotSym];
var __self__ = caller(0)[0];
DotSym.makeinstance( name, __self__ );
var element_type = "group";
var terrain_minalt = props.globals.initNode("/instrumentation/efis[0]/nd/terrain-on-nd/min-altitude", 0,"INT");
var terrain_maxalt = props.globals.initNode("/instrumentation/efis[0]/nd/terrain-on-nd/max-altitude", -9999,"INT");
var terrain_maxcol = props.globals.initNode("/instrumentation/efis[0]/nd/terrain-on-nd/max-color", 0,"INT"); # 0= grn, 1= yel, 2= red
var terrain_alert = props.globals.getNode("/instrumentation/mk-viii/outputs/alert-mode");
var tile_list = [
nil,"tile_gl.png","tile_gh.png","tile_al.png","tile_ah.png","tile_rh.png", # 0-5 low alt - imho real ND displays as amber-ish color than yellow one
"tile_gl.png","tile_gh.png","tile_gh.png","tile_gs.png", # 6-9 hi alt
"tile_ml.png","tile_cl.png", # 10 magenta - 11 cyan-ish/blue (water)
"tile_as.png","tile_rs.png" # 12-13 alert - solid colors
];
var is_terrain = 0;
var get_elevation = func (lat, lon) {
var info = geodinfo(lat, lon);
var elevation = 0;
if (info != nil) {
elevation = int(info[0] * 3.2808399);
me.is_terrain = (info[1] == nil) ? 1 : info[1].solid;
}
else { elevation = nil; }
return elevation;
}
var updateTerrain = func {
if (me.reference == nil) return;
if(me.fetching) return;
me.fetching = 1;
if (me.request_clear == 1) {
me.request_clear = 0;
me.clear();
me.group.setVisible(1);
}
var RAD2DEG = 57.2957795;
var DEG2RAD = 0.016774532925;
var pos_lat = me.reference.lat();
var pos_lon = me.reference.lon();
var heading = me.refheading;
var altitudeft = me.refaltitudeft;
var lowaltft = me.reflowaltft;
var basealtft = me.basealtitudeft;
var alert_level = me.terrain_alert.getValue();
var side = (math.mod(me.radar_beacon,2)==0) ? "L" : "R";
var a = int(me.radar_beacon/2);
var col = a + 0.5;
if (side == "R") {
col = -col;
}
var trn = me.terrlayer[side ~ a];
var len = size(trn);
var range = me.range;
var tiles = me.tile_list;
#var proj_lon = pos_lon + ((col * (range/30) * math.sin(DEG2RAD * (heading - 90))) / 40);
#var proj_lat = pos_lat + ((col * (range/30) * math.cos(DEG2RAD * (heading - 90))) / 40);
# if me.tileradiusw == 20
var range_20f = range / 18.75;
var heading_sin = math.sin(DEG2RAD * heading);
var heading_cos = math.cos(DEG2RAD * heading);
var proj_lon = pos_lon + ((col * range_20f * math.sin(DEG2RAD * (heading - 90))) / 60);
var proj_lat = pos_lat + ((col * range_20f * math.cos(DEG2RAD * (heading - 90))) / 60);
var elevft = [];
me.radar_cleared = 0;
for (var row = 0; row < len; row += 1) {
if (trn[row] == nil) {
append(elevft,-1);
continue;
}
var point_lon = proj_lon + ((row * range_20f / 60) * heading_sin);
var point_lat = proj_lat + ((row * range_20f / 60) * heading_cos);
var elev = me.get_elevation(point_lat, point_lon);
var grad = 0; #black
if (elev != nil) {
if (elev>me.max_altitude) me.max_altitude = elev;
if (me.is_terrain) {
if (elev<me.min_altitude) me.min_altitude = elev;
if (elev < basealtft) grad = 0; # < 400 near runway use blank
else {
var diff = elev - altitudeft;
if (diff>=0) {
grad = int(diff/1000) + 3;
if (grad>5) grad = 5;
if (alert_level > 0 and a < 6 and grad > 3) {
if (alert_level == 1 and (grad == 3 or grad == 4)) grad = 12; # solid yellow
else if (alert_level == 2 and grad == 5) grad = 13; # solid red
}
} else {
if (me.hialtmode == 0) {
if (diff>=lowaltft) grad = 3; # lite yellow
else {
grad = int(diff/1000) + 2;
if (grad<0) grad = 0;
}
} else {
if (diff>=lowaltft) grad = 3; # lite yellow
else {
if (me.bands_range > 0 and elev > me.bands_minalt) {
grad = 9 - int((me.bands_maxalt - elev) / me.bands_range);
if (grad>9) grad = 9; # solid green
else if (grad<6) grad = 6; #light green
}
}
}
}
}
} else {
grad = 11; #water/cyan
}
append(elevft,grad); # 0-5
} else {
append(elevft,0); # no data - black (magenta)
}
}
if (me.min_altitude > me.max_altitude) me.min_altitude = me.max_altitude; # occurs on sea areas
for (var r=0; r < len; r+=1) {
var imgx = elevft[r];
if (imgx == -1) continue;
if (imgx < 1) trn[r].hide();
else trn[r].setFile(me.imgpath ~ me.tile_list[imgx]).show();
}
me.radar_beacon += 1;
if (me.radar_beacon >= (me.tileradiusw*2)) {
me.restart_beacon();
}
me.fetching = 0;
};
var update_altitudes = func {
me.terrain_minalt.setValue(me.min_altitude);
me.terrain_maxalt.setValue(me.max_altitude);
var altdif = me.max_altitude - me.refaltitudeft;
if (altdif <= 0) {
if (altdif >= me.reflowaltft) me.terrain_maxcol.setValue(1);
else me.terrain_maxcol.setValue(0);
} else {
if (altdif>2000) me.terrain_maxcol.setValue(2);
else me.terrain_maxcol.setValue(1);
}
if (me.min_altitude == 9999) {
me.avg_minalt = me.min_altitude;
me.avg_maxalt = me.max_altitude;
} else {
#if (me.min_altitude < me.avg_minalt) me.avg_minalt = me.min_altitude;else
me.avg_minalt = math.round((me.avg_minalt * 2 + me.min_altitude) / 3);
#if (me.max_altitude > me.avg_maxalt) me.avg_maxalt = me.max_altitude;else
me.avg_maxalt = math.round((me.avg_maxalt * 2 + me.max_altitude) / 3);
}
me.avg_peakalt = me.avg_maxalt - me.avg_minalt;
if (me.onground == 0 and (me.max_altitude + 250) < me.refaltitudeft) { # 250 ft tollerance
me.hialtmode = 1;
var range = math.min(2400,(me.avg_maxalt - me.avg_minalt)) - 400;
if (range < 400) { # min elev number
me.bands_range = 0;
} else {
me.bands_range = int(range / 4);
me.bands_maxalt = me.avg_maxalt;
me.bands_minalt = math.max( me.avg_maxalt - range, me.avg_minalt + 400 );
}
} else {
me.hialtmode = 0;
#me.avg_minalt = 9999;
}
me.min_altitude = 9999;
me.max_altitude = -9999;
}
var restart_beacon = func {
me.radar_beacon = 0;
me.radar_cycle += 1;
me.reference = nil;
};
var init = func {
#print('TERRAIN init');
me.tile = 33;
me.fetching = 0;
me.fetchRad = me.model.fetchRad; # Radius of radar layer to fetch
me.range = me.model.rangeNm; # Range of Navigation Display
me.viewport_radius = me.getOption('viewport_radius', 670);
me.imgpath = get_local_path('res/terrainv2/');
me.radar_beacon = 0;
me.radar_cycle = 0;
me.radar_cleared = 1;
me.request_clear = 0;
me.min_altitude = 9999;
me.max_altitude = -9999;
me.avg_minalt = 9999;
me.avg_maxalt = -9999;
me.avg_peakalt = nil;
me.maxalt_col = 0; # 0 = grn, 1 = yel, 2 = red
me.bands_minalt = 0;
me.bands_maxalt = 0;
me.bands_range = 0;
me.basealtitudeft = nil;
me.reference = nil;
me.onfailure = 0;
me.hialtmode = 0; # high aircraft relative altitude mode
me.checkarrival = 0;
me.onground = 1;
var tile = me.tile;
var gx = int(me.viewport_radius / tile);
me.tileradius = gx;
var limx = int((512/tile)+0.5); # display width is smaller than height
me.tileradiusw = limx;
me.terrlayer = {};
var centx = 0;
var centy = -me.viewport_radius;
var group = me.group.createChild("group").set("z-index", -100); #me.element
for (var c=0; c<limx; c+=1) {
var hh = c * tile;
var mx = (c == 0) ? gx : int(math.sqrt(gx*gx-c*c) + 0.5);
var my = int(c*4/gx);
var py = centy + (gx-1) * tile;
var pxr = centx+(c*tile);
var pxl = centx-(c*tile)-tile;
var grplx = [];
var grprx = [];
for (var r=0; r<mx; r+=1) {
if (r<my) {
append(grplx , nil); #skip
append(grprx , nil);
} else {
append(grplx , group.createChild("image").setSize(tile,tile).setTranslation(pxl,py).hide());
append(grprx , group.createChild("image").setSize(tile,tile).setTranslation(pxr,py).hide());
}
py-=tile;
}
me.terrlayer["L" ~ c] = grplx;
me.terrlayer["R" ~ c] = grprx;
}
setlistener("/instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit", func{ # detect GPWS switch status
me.onfailure = getprop("/instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit");
},1,0);
};
var clear = func {
if (me.radar_cleared == 0) {
me.radar_cleared = 1;
for (var c=0; c<me.tileradiusw; c+=1 ) {
var rowL = me.terrlayer["L" ~ c];
var rowR = me.terrlayer["R" ~ c];
var len = size(rowL);
for (var r=0; r<len; r+=1) {
if (rowL[r] != nil) {
rowL[r].hide();
rowR[r].hide();
}
}
}
}
}
var draw = func {
if(me.fetching) return;
if (pts.Sim.pause.getBoolValue()) return;
if (me.onfailure == 1) {
me.clear();
me.restart_beacon();
return;
}
if (me.layer.display_changed == 1) {
me.layer.display_changed = 0;
me.clear();
me.min_altitude = 9999;
me.max_altitude = -9999;
terrain_maxalt.setValue(-9999);
me.reference = nil;
}
if (me.reference == nil) { # update aircraft reference
var ref = geo.aircraft_position();
me.reference = ref;
if (ref != nil) {
me.refheading = getprop("orientation/heading-magnetic-deg");
var refalt = int(getprop("/position/altitude-ft")); #int(ref.alt() * 3.2808399);
me.refaltitudeft = refalt;
me.groundaltft = int(getprop("/position/ground-elev-ft"));
me.reflowaltft = (pts.Gear.position[1].getValue()) ? -250 : -500;
me.onground = pts.Gear.wow[0].getValue();
if (me.min_altitude != 9999) me.update_altitudes();
var flatalt = (me.avg_peakalt != nil and me.avg_peakalt>499) ? 400 : 140;
var vspeed30s = int(getprop("velocities/vertical-speed-fps") * 30);
if (vspeed30s<-500) me.refaltitudeft = math.max(me.avg_minalt , me.refaltitudeft + vspeed30s);
if (me.basealtitudeft == nil) { # first basealt set
me.basealtitudeft = me.groundaltft + flatalt;
me.flatalt = flatalt;
me.checkarrival = 1;
print("set REFALT [init]: "~me.basealtitudeft);
} else if (fmgc.FMGCInternal.phase < 2) { # starting at phase < 2
if (me.flatalt != flatalt) {
me.basealtitudeft = me.groundaltft + flatalt;
me.flatalt = flatalt;
print("set REFALT [flat]: "~me.basealtitudeft);
}
} else if (fmgc.FMGCInternal.phase == 5) {
if (me.checkarrival == 1) {
me.checkarrival = 0;
me.basealtitudeft = nil;
if (fmgc.FMGCInternal.arrApt != nil) {
var airport = airportinfo(fmgc.FMGCInternal.arrApt);
if (airport != nil) me.basealtitudeft = flatalt + int(airport.elevation * M2FT);
print("set REFALT [arrApt]: "~me.basealtitudeft);
}
if (me.basealtitudeft == nil) {
me.basealtitudeft = flatalt + me.avg_minalt; # that's fun
}
}
} else if (fmgc.FMGCInternal.phase == 6) {
if (me.checkarrival == 0) {
me.checkarrival = 1;
#me.basealtitudeft = 0;
}
} else if (fmgc.FMGCInternal.phase == 7) {
if (me.checkarrival == 0) {
me.checkarrival = 1;
me.basealtitudeft = me.groundaltft + flatalt;
print("set REFALT [done]: "~me.basealtitudeft);
}
} else if (fmgc.FMGCInternal.phase == 2) {
var expdaltft = me.groundaltft + flatalt;
if (me.basealtitudeft > expdaltft) {
me.basealtitudeft = expdaltft;
print("set REFALT [blwbase]: "~me.basealtitudeft);
}
} else if (fmgc.FMGCInternal.phase >= 2) {
me.basealtitudeft = math.avg(me.basealtitudeft,flatalt + me.groundaltft,int(flatalt + me.avg_minalt));
#if (me.basealtitudeft > me.avg_maxalt) {
# if (me.avg_maxalt < 1000) me.basealtitudeft = 0; # 1000ft min elev number
# else me.basealtitudeft = int(400 + me.avg_minalt);
# print("set REFALT [blwmin]: "~me.basealtitudeft);
#}
#else if (me.basealtitudeft == 0 and me.avg_maxalt >= 1000) { # 1000ft min elev number
# me.basealtitudeft = int(400 + me.avg_minalt);
# print("set REFALT [abvmin]: "~me.basealtitudeft);
#}
}
}
} else {
var range = me.layer.map.getRange(); # Range of Navigation Display
var update_size = (range != me.range);
me.range = range;
if (update_size) {
me.request_clear = 1;
}
me.updateTerrain(); # left
me.updateTerrain(); # right
}
};

View file

@ -7,8 +7,8 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
sodipodi:docname="airbusND_orig.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)"
sodipodi:docname="airbusND.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15, custom)"
xml:space="preserve"
id="svg5180"
height="1024"
@ -23,16 +23,16 @@
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1056"
inkscape:window-height="1017"
id="namedview102"
showgrid="false"
inkscape:zoom="0.9002897"
inkscape:cx="467.92702"
inkscape:cy="538.03817"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:zoom="3.1081105"
inkscape:cx="904.96427"
inkscape:cy="819.41055"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="layer8"
inkscape:current-layer="terrGroup"
inkscape:object-nodes="true"
inkscape:snap-smooth-nodes="true"
inkscape:snap-object-midpoints="true"
@ -40,7 +40,8 @@
inkscape:snap-to-guides="false"
showguides="true"
inkscape:guide-bbox="true"
inkscape:document-rotation="0"><sodipodi:guide
inkscape:document-rotation="0"
inkscape:snap-text-baseline="true"><sodipodi:guide
id="guide3167"
orientation="1,0"
position="512,811.5" /><sodipodi:guide
@ -58,10 +59,55 @@
id="guide3537" /><sodipodi:guide
orientation="-0.8660254,0.5"
position="512,200"
id="guide3545" /></sodipodi:namedview><metadata
id="guide3545" /><sodipodi:guide
position="-3.9271069,171.8178"
orientation="1,0"
id="guide742" /><sodipodi:guide
position="63.243533,882.27478"
orientation="1,0"
id="guide3109" /><sodipodi:guide
position="59.703006,906.39896"
orientation="0,-1"
id="guide3111" /><sodipodi:guide
position="70.197038,990.32506"
orientation="0,-1"
id="guide3113" /><sodipodi:guide
position="211.67107,1010.2551"
orientation="0,-1"
id="guide3115" /><sodipodi:guide
position="14.137585,913.25558"
orientation="1,0"
id="guide3498" /><sodipodi:guide
position="74.643421,502.13953"
orientation="0,-1"
id="guide3552" /><sodipodi:guide
position="43.434749,95.13984"
orientation="0,-1"
id="guide1262" /><sodipodi:guide
position="23.634,-25.190503"
orientation="-1,0"
id="guide1264"
inkscape:label=""
inkscape:locked="false"
inkscape:color="rgb(0,0,255)" /><sodipodi:guide
position="45.728253,127.63524"
orientation="0,-1"
id="guide1266" /><sodipodi:guide
position="40.040659,26.851076"
orientation="1,0"
id="guide1325" /><sodipodi:guide
position="96.521665,66.50508"
orientation="0,-1"
id="guide1327" /><sodipodi:guide
position="1017.0166,55.726826"
orientation="1,0"
id="guide1344" /><sodipodi:guide
position="978.72968,72.618123"
orientation="1,0"
id="guide1259" /></sodipodi:namedview><metadata
id="metadata5186"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title><dc:creator><cc:Agent><dc:title>Gijs de Rooy</dc:title></cc:Agent></dc:creator><cc:license
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /><dc:creator><cc:Agent><dc:title>Gijs de Rooy</dc:title></cc:Agent></dc:creator><cc:license
rdf:resource="" /></cc:Work></rdf:RDF></metadata><defs
id="defs5184"><marker
style="overflow:visible"
@ -223,7 +269,69 @@
inkscape:connector-curvature="0"
inkscape:transform-center-y="-340.574"
inkscape:label="#path3843"
sodipodi:nodetypes="cc" /><path
sodipodi:nodetypes="cc" /><g
id="terrGroup"
transform="translate(-9.356522,-6.2275037)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
x="1018.2351"
y="796.34009"
id="terrAhead"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25;text-align:end;text-anchor:end"
sodipodi:role="line"
id="tspan1244"
x="1018.2351"
y="796.34009">TERR</tspan><tspan
style="font-size:24px;line-height:1.25;text-align:end;text-anchor:end"
sodipodi:role="line"
x="1018.2351"
y="826.34009"
id="tspan1248">AHEAD</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
x="952.74292"
y="826.34009"
id="TerrLabel"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25"
sodipodi:role="line"
id="tspan1994"
x="952.74292"
y="826.34009">TERR</tspan></text><text
inkscape:label="#text7243"
id="terrHI"
y="858.63959"
x="965.73273"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="858.63959"
x="965.73273"
id="tspan2002"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">000</tspan></text><text
inkscape:label="#text7243"
id="terrLO"
y="888.00446"
x="965.73273"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="888.00446"
x="965.73273"
id="tspan2006"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">000</tspan></text><rect
style="fill:none;stroke:#f2f235;stroke-width:3.15591;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect2018"
width="67.30439"
height="58.673889"
x="958.45599"
y="833.17212"
ry="0" /><path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:none;fill-opacity:1;stroke:#f2f235;stroke-width:3.15591;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.9941;stop-color:#000000;stop-opacity:1"
d="m 958.38792,861.87476 67.46618,0.61588"
id="path2033"
sodipodi:nodetypes="cc" /></g><path
sodipodi:nodetypes="cc"
inkscape:label="#path3843"
inkscape:transform-center-y="-340.574"
@ -240,26 +348,26 @@
style="display:inline;fill:none;stroke:#f2f235;stroke-width:6;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><text
inkscape:label="#text7243"
id="wpActiveId"
y="54.099972"
x="766.04407"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#cecdce;fill-opacity:1;stroke:none"
y="34.099972"
x="908.58118"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;display:inline;fill:#cecdce;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="54.099972"
x="766.04407"
y="34.099972"
x="908.58118"
id="tspan7245"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">ABCD</tspan></text>
style="font-size:36px;line-height:1.25;text-align:end;text-anchor:end">XXXX99X</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="844.04407"
y="88.124893"
x="866.04407"
y="68.124893"
id="wpActiveDist"
inkscape:label="#text7243"><tspan
sodipodi:role="line"
id="tspan7251"
x="844.04407"
y="88.124893"
x="866.04407"
y="68.124893"
style="font-size:36px;line-height:1.25">999.9</tspan></text>
<path
sodipodi:nodetypes="cccc"
@ -267,13 +375,22 @@
id="aplSymMap"
d="m 512,866.4 v -68 m 34.5,24 h -70 m 50,32 h -30"
style="fill:none;stroke:#f2f235;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="#path7253" /><path
inkscape:label="#path3017"
sodipodi:nodetypes="cccccc"
inkscape:connector-curvature="0"
inkscape:label="#path7253" /><g
id="windArrow"
d="m 75.2914,119.519 -2e-4,65.158 m 0,0 7.0125,-12.145 H 67.4945 l 7.7967,12.146"
style="fill:#0dc04b;stroke:#0dc04b;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><g
transform="matrix(0.81,0,0,0.81,-8.3843096,20.546412)"><path
inkscape:label="#path3017l"
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path3107l"
d="M 63.260505,77.514285 63.260317,138.7628"
style="display:inline;fill:#0dc04b;stroke:#0dc04b;stroke-width:4.44444;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#0dc04b;fill-opacity:1;stroke:#0dc04b;stroke-width:4.44444;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
d="m 53.29087,120.00845 9.969447,18.75435"
id="path1242" /><path
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:#0dc04b;fill-opacity:1;stroke:#0dc04b;stroke-width:4.44444;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;stop-color:#000000;stop-opacity:1"
d="M 73.229764,120.00845 63.260317,138.7628"
id="path1244"
sodipodi:nodetypes="cc" /></g><g
inkscape:label="#g3124"
id="compass"
transform="rotate(0.34999975,516.49696,825.81379)"><path
@ -784,63 +901,63 @@
</g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="36.862175"
y="92.904839"
x="12.862175"
y="72.904839"
id="wind"
inkscape:label="#text7243"><tspan
sodipodi:role="line"
id="tspan3801"
x="36.862175"
y="92.904839"
x="12.862175"
y="72.904839"
style="font-size:36px;line-height:1.25">999°/ 99</tspan></text>
<text
inkscape:label="#text7243"
id="gs"
y="53.306854"
x="101.87437"
y="33.306854"
x="61.874367"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="53.306854"
x="101.87437"
y="33.306854"
x="61.874367"
id="tspan3809"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">999</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="248.49673"
y="53.306854"
x="189.71132"
y="33.306854"
id="tas"
inkscape:label="#text7243"><tspan
sodipodi:role="line"
id="tspan3813"
x="248.49673"
y="53.306854"
x="189.71132"
y="33.306854"
style="font-size:36px;line-height:1.25">999</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none"
x="38.276394"
y="53.306854"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.32193px;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none;stroke-width:0.776827"
x="13.895038"
y="33.26786"
id="gsLbl"
inkscape:label="#text7243"><tspan
style="font-size:36px;line-height:1.25"
style="font-size:27.9658px;line-height:1.25;stroke-width:0.776827"
sodipodi:role="line"
id="tspan3817"
x="38.276394"
y="53.306854">GS</tspan></text>
x="13.895038"
y="33.26786">GS</tspan></text>
<text
inkscape:label="#text7243"
id="tasLbl"
y="53.306854"
x="170.17084"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none"
y="33.340725"
x="129.95859"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:9.32191px;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none;stroke-width:0.776826"
xml:space="preserve"><tspan
y="53.306854"
x="170.17084"
y="33.340725"
x="129.95859"
id="tspan3821"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">TAS</tspan></text>
style="font-size:27.9658px;line-height:1.25;stroke-width:0.776826">TAS</tspan></text>
<g
id="hdgGroup"
inkscape:label="#g3141"><path
@ -887,108 +1004,86 @@
</g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="71.73262"
y="913.5495"
x="39.859375"
y="919.5495"
id="vorL"
inkscape:label="#text7243"><tspan
style="font-size:32px;line-height:1.25;fill:#0dc04b;fill-opacity:1"
sodipodi:role="line"
id="tspan3056"
x="71.73262"
y="913.5495">VOR 1</tspan></text>
x="39.859375"
y="919.5495">VOR 1</tspan></text>
<text
inkscape:label="#text7243"
id="dmeL"
y="993.85461"
x="151.73262"
x="87.73262"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="993.85461"
x="151.73262"
x="87.73262"
id="tspan3060"
sodipodi:role="line"
style="font-size:24px;line-height:1.25">NM</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="71.129601"
y="993.85461"
id="dmeLDist"
inkscape:label="#text7243"><tspan
style="font-size:32px;line-height:1.25;fill:#0dc04b"
sodipodi:role="line"
id="tspan3068"
x="71.129601"
y="993.85461">99.9</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="71.73262"
y="954.56171"
x="39.9375"
y="956.56171"
id="vorLId"
inkscape:label="#text7243"><tspan
style="font-size:32px;line-height:1.25;fill:#0dc04b"
sodipodi:role="line"
id="tspan3072"
x="71.73262"
y="954.56171">ABC</tspan></text>
x="39.9375"
y="956.56171">ABC</tspan></text>
<text
inkscape:label="#text7243"
id="vorR"
y="913.5495"
x="859.7326"
y="919.5495"
x="883.85938"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="913.5495"
x="859.7326"
y="919.5495"
x="883.85938"
id="tspan3076"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">VOR 2</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
x="931.7326"
x="967.03125"
y="993.85461"
id="dmeR"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25"
sodipodi:role="line"
id="tspan3080"
x="931.7326"
x="967.03125"
y="993.85461">NM</tspan></text>
<text
inkscape:label="#text7243"
id="dmeRDist"
y="993.85461"
x="859.12958"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="993.85461"
x="859.12958"
id="tspan3084"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">99.9</tspan></text>
<text
inkscape:label="#text7243"
id="vorRId"
y="954.56171"
x="859.7326"
y="955.91815"
x="883.9375"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="954.56171"
x="859.7326"
y="955.91815"
x="883.9375"
id="tspan3088"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;fill:#0dc04b">ABC</tspan></text>
<text
inkscape:label="#text7243"
id="eta"
y="126.06245"
y="106.06245"
x="892.04407"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
style="font-size:36px;line-height:1.25"
y="126.06245"
y="106.06245"
x="892.04407"
id="tspan3092"
sodipodi:role="line">08 34.4z</tspan></text>
@ -1173,50 +1268,42 @@
sodipodi:nodetypes="ccccccccc" /></g><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
x="945.04547"
y="87.431412"
x="967.04547"
y="67.431412"
id="wpActiveDistLbl"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25"
sodipodi:role="line"
id="tspan3179"
x="945.04547"
y="87.431412">NM</tspan></text>
x="967.04547"
y="67.431412">NM</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#cecdce;fill-opacity:1;stroke:none"
x="785.289"
y="53.929054"
x="807.289"
y="33.929054"
id="ilsLbl"
inkscape:label="#text7243"><tspan
style="font-size:32px;line-height:1.25;fill:#cecdce"
sodipodi:role="line"
id="tspan4172"
x="785.289"
y="53.929054">ILS </tspan></text>
x="807.289"
y="33.929054">ILS </tspan></text>
<text
inkscape:label="#text7243"
id="ilsFreq"
y="53.929054"
x="888.28894"
y="33.929054"
x="910.28894"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#af0063;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="53.929054"
x="888.28894"
y="33.929054"
x="910.28894"
id="tspan4176"
sodipodi:role="line"
style="font-size:32px;line-height:125%;text-align:start;writing-mode:lr-tb;text-anchor:start;fill:#af0063;fill-opacity:1">999.99</tspan></text>
<path
style="fill:none;stroke:#cecdce;stroke-width:2.4611;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 20.951614,914.85538 v 82.41763 m 4.201291,-92.8082 -4.04,-8.83104 -4.040001,8.50433 L 12,914.85538 h 8.951614 l 8.467743,0.21255 z"
id="vorLSym"
inkscape:connector-curvature="0"
sodipodi:nodetypes="ccccccccc"
inkscape:label="#path3100"
inkscape:transform-center-y="-498.20098"
inkscape:transform-center-x="-0.080644898" /><path
style="fill:none;stroke:#cecdce;stroke-width:2.38918;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 997.8036,974.07643 V 919.81909 H 987.5 l 17.7357,-42.20198 m 7.1787,96.45932 v -54.25734 h 10.557 l -17.7357,-42.20198"
style="display:inline;fill:none;stroke:#cecdce;stroke-width:3.28819;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 1006.4144,954.86998 v -26.25734 h 10.557 l -17.7357,-26.20198 m -7.4321,52.45932 V 928.61264 H 981.5 l 17.7357,-26.20198 v -6.00909"
id="vorRSym"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc"
@ -1224,14 +1311,14 @@
inkscape:transform-center-y="-715.12894" /><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="926.04407"
y="54.099972"
x="948.04407"
y="34.099972"
id="wpActiveCrs"
inkscape:label="#text7243"><tspan
sodipodi:role="line"
id="tspan4501"
x="926.04407"
y="54.099972"
x="948.04407"
y="34.099972"
style="font-size:36px;line-height:1.25">360</tspan></text>
<g
id="chrono_box"
@ -1302,7 +1389,83 @@
x="13.282043"
y="739.28204"
style="font-size:40px;line-height:1.25">OFST</tspan></text>
</g><g
<text
inkscape:label="#text7243"
id="hdgBug2ValL"
y="174.13467"
x="-97.01178"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
xml:space="preserve"
transform="rotate(-35)"><tspan
y="174.13467"
x="-97.01178"
id="tspan744"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;fill:#179ab7;fill-opacity:1">999</tspan></text><text
inkscape:label="#text7243"
id="hdgBug2ValR"
y="-418.00525"
x="872.1673"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
xml:space="preserve"
transform="rotate(35)"><tspan
y="-418.00525"
x="872.1673"
id="tspan748"
sodipodi:role="line"
style="font-size:36px;line-height:1.25;fill:#179ab7;fill-opacity:1">999</tspan></text><path
id="vorLSym"
style="display:inline;fill:none;stroke:#cecdce;stroke-width:3.28819;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 23.634,896.5254 v 7.83228 m 1.26e-4,24.4977 v 24.41763 M 23.634,903.63377 8.682512,928.85538 H 23.634 l 14.467869,0.21255 z"
sodipodi:nodetypes="ccccccccc" /><g
id="dmeLDist"
transform="translate(2)"><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="56.791557"
y="993.85461"
id="dmeLDist1"
inkscape:label="#text7243"><tspan
style="font-size:32px;line-height:1.25;text-align:end;text-anchor:end;fill:#0dc04b"
sodipodi:role="line"
id="tspan3068"
x="56.791557"
y="993.85461">999</tspan></text><text
inkscape:label="#text7243"
id="dmeLDist2"
y="993.85461"
x="55.73262"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="993.85461"
x="55.73262"
id="tspan1329"
sodipodi:role="line"
style="font-size:24px;line-height:1.25;fill:#0dc04b">.9</tspan></text></g><g
id="dmeRDist"
transform="translate(-0.90081787)"><text
inkscape:label="#text7243"
id="dmeRDist1"
y="993.85461"
x="936.79144"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:end;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="993.85461"
x="936.79144"
id="tspan3084"
sodipodi:role="line"
style="font-size:32px;line-height:1.25;text-align:end;text-anchor:end;fill:#0dc04b">999</tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="935.7326"
y="993.85461"
id="dmeRDist2"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25;fill:#0dc04b"
sodipodi:role="line"
id="tspan1346"
x="935.7326"
y="993.85461">.9</tspan></text></g></g><g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="CTR"
@ -1368,20 +1531,22 @@
id="vorCrsPtr2"
inkscape:label="#g3266"
inkscape:transform-center-y="5.4559828"
transform="matrix(0.73371425,0,0,1.2956425,136.34805,-201.98371)"><path
transform="matrix(0.73371425,0,0,1.2956425,136.34805,-201.98371)"
style="stroke-width:0.999997;stroke-miterlimit:4;stroke-dasharray:none"><path
inkscape:connector-curvature="0"
d="m 519.27414,698 h -14.54828 v 194.49655 l 7.27414,1.9e-4 7.27414,-1.9e-4 z M 504.72586,432 v -23.89752 l -38.65179,-0.001 V 402 h 38.65179 V 225.04414 l 7.61514,-0.48629 6.93314,0.4863 V 402 h 38.65179 v 6.10148 l -38.65179,0.001 V 432 Z"
style="fill:#009fd6;stroke:#009fd6;stroke-width:1.02564;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:#009fd6;stroke:#009fd6;stroke-width:0.999997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="vorCrsPtr2_line"
sodipodi:nodetypes="cccccccccccccccccccc" /><g
id="locPtr2"><path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;overflow:visible;visibility:visible;fill:#009fd6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.02564;marker:none;enable-background:accumulate"
id="locPtr2"
style="stroke-width:0.999997;stroke-miterlimit:4;stroke-dasharray:none"><path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;overflow:visible;visibility:visible;fill:#009fd6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.999997;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
d="m 521.98396,447.79054 -17.26114,3.07727 0.01,235.98519 14.53528,0.01 -0.01,-235.98419 z"
id="locPtr2_line"
inkscape:connector-curvature="0"
inkscape:label="#locPtr"
sodipodi:nodetypes="cccccc" /><path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;overflow:visible;visibility:visible;fill:#009fd6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.02564;marker:none;enable-background:accumulate"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;overflow:visible;visibility:visible;fill:#009fd6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.999997;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate"
d="m 511.04486,437.35427 9.61501,5.69001 -35.22401,17.6614 -9.61501,-5.69001 c 0,0 29.42519,-14.6957 35.22387,-17.66133 5.79867,-2.96563 1.4e-4,-7e-5 1.4e-4,-7e-5 z"
id="locPtr2_arr2"
inkscape:connector-curvature="0"
@ -1392,14 +1557,14 @@
inkscape:connector-curvature="0"
id="locPtr2_arr1"
d="m 512.69442,437.35427 -9.615,5.69 35.22401,17.6614 9.615,-5.69 c 0,0 -29.42519,-14.6957 -35.22387,-17.66133 -5.79867,-2.96563 -1.4e-4,-7e-5 -1.4e-4,-7e-5 z"
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;overflow:visible;visibility:visible;fill:#009fd6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.02564;marker:none;enable-background:accumulate" /></g><circle
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:Sans;-inkscape-font-specification:Sans;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;baseline-shift:baseline;text-anchor:start;overflow:visible;visibility:visible;fill:#009fd6;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.999997;stroke-miterlimit:4;stroke-dasharray:none;marker:none;enable-background:accumulate" /></g><circle
transform="matrix(0.968853,0.690717,-0.690717,0.968853,437.361,-328.129)"
id="path3951"
style="fill:none;stroke:#ededed;stroke-width:4.20218;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
style="fill:none;stroke:#ededed;stroke-width:0.840432;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="380.07001"
cy="643.92999"
r="6.7175102" /><circle
style="fill:none;stroke:#ededed;stroke-width:4.20218;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
style="fill:none;stroke:#ededed;stroke-width:0.840432;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3953"
transform="matrix(0.968853,0.690717,-0.690717,0.968853,512.923,-328.129)"
cx="380.07001"
@ -1407,11 +1572,11 @@
r="6.7175102" /><circle
transform="matrix(0.968853,0.690717,-0.690717,0.968853,663.814,-328.129)"
id="path3955"
style="fill:none;stroke:#ededed;stroke-width:4.20218;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
style="fill:none;stroke:#ededed;stroke-width:0.840432;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
cx="380.07001"
cy="643.92999"
r="6.7175102" /><circle
style="fill:none;stroke:#ededed;stroke-width:4.20218;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
style="fill:none;stroke:#ededed;stroke-width:0.840432;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
id="path3959"
transform="matrix(0.968853,0.690717,-0.690717,0.968853,739.667,-328.128)"
cx="380.07001"
@ -1643,12 +1808,12 @@
inkscape:transform-center-y="-363.559" /><text
inkscape:label="#text7243"
id="crsLbl"
y="90.379868"
x="812.72168"
y="70.379868"
x="834.72168"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#cecdce;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="90.379868"
x="812.72168"
y="70.379868"
x="834.72168"
id="tspan4007"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">CRS</tspan></text>
@ -1656,23 +1821,23 @@
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none"
x="854.72168"
y="124.87983"
y="104.87983"
id="dmeLbl"
inkscape:label="#text7243"><tspan
style="font-size:24px;line-height:1.25"
sodipodi:role="line"
id="tspan4011"
x="854.72168"
y="124.87983"> </tspan></text>
y="104.87983"> </tspan></text>
<text
inkscape:label="#text7243"
id="crs"
y="90.062439"
x="913.95801"
y="70.062439"
x="935.95801"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#179ab7;fill-opacity:1;stroke:none"
xml:space="preserve"><tspan
y="90.062439"
x="913.95801"
y="70.062439"
x="935.95801"
id="tspan4046"
sodipodi:role="line"
style="font-size:36px;line-height:1.25">999</tspan></text>
@ -1680,13 +1845,13 @@
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;line-height:0%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;letter-spacing:0px;word-spacing:0px;writing-mode:lr-tb;text-anchor:start;display:inline;fill:#ededed;fill-opacity:1;stroke:none"
x="913.95801"
y="126.12444"
y="106.12444"
id="dme"
inkscape:label="#text7243"><tspan
sodipodi:role="line"
id="tspan4071"
x="913.95801"
y="126.12444"
y="106.12444"
style="font-size:36px;line-height:1.25">99.9</tspan></text>
<g
id="gsGroup"
@ -2003,7 +2168,7 @@
id="layer9"
inkscape:label="ND_BOTTOM_MEMO"
style="display:inline"><rect
style="opacity:0.99;fill:none;stroke:#ffffff;stroke-width:3.15553"
style="opacity:0.99;fill:none;stroke:#ffffff;stroke-width:3.15591;stroke-miterlimit:4;stroke-dasharray:none"
id="nd_warn_msgbox"
width="563.05048"
height="46.844471"
@ -2105,4 +2270,15 @@
id="tspan2199"
x="510.7153"
y="399.58936"
style="font-size:53.3333px;line-height:1.25;fill:#ff0000">MAP NOT AVAIL</tspan></text></g></svg>
style="font-size:53.3333px;line-height:1.25;fill:#ff0000">MAP NOT AVAIL</tspan></text></g><text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:53.3333px;line-height:0%;font-family:'Liberation Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;display:inline;fill:#0dc04b;fill-opacity:1;stroke:none"
x="510.7153"
y="537.58936"
id="nd_msg_change"
inkscape:label="#text3401"><tspan
sodipodi:role="line"
id="tspan3544"
x="510.7153"
y="537.58936"
style="font-size:53.3333px;line-height:1.25;fill:#0dc04b">RANGE CHANGE</tspan></text></svg>

Before

Width:  |  Height:  |  Size: 134 KiB

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 182 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 181 B

View file

@ -10,6 +10,17 @@ var NOTHING = func nil;
var att_switch = props.globals.getNode("/controls/navigation/switching/att-hdg", 1);
var adirs_3 = props.globals.getNode("/instrumentation/efis[0]/nd/ir-3", 1);
var vhdg_bug = props.globals.getNode("/it-autoflight/input/hdg",0); # ND compass position deg
var terrain_minalt = props.globals.getNode("/instrumentation/efis[0]/nd/terrain-on-nd/min-altitude", 0);
var terrain_maxalt = props.globals.getNode("/instrumentation/efis[0]/nd/terrain-on-nd/max-altitude", -9999);
var terrain_maxcol = props.globals.getNode("/instrumentation/efis[0]/nd/terrain-on-nd/max-color", 0);
var terrain_alert = props.globals.getNode("/instrumentation/mk-viii/outputs/alert-mode",0);
var GREEN = [0.0509,0.7529,0.2941];
var YELLOW = [0.949,0.949,0.207];
var RED = [1.0000,0.0000,0.0000];
canvas.NDStyles["Airbus"] = {
font_mapper: func(family, weight) {
if( family == "Liberation Sans" and weight == "normal" )
@ -69,7 +80,7 @@ canvas.NDStyles["Airbus"] = {
level_off_alt: "/autopilot/route-manager/vnav/level-off-alt",
athr: "/it-autoflight/output/athr",
app_mode: "/instrumentation/nd/app-mode",
chrono_node: "/instrumentation/chrono",
chrono_node: "/instrumentation/ndchrono",
fpln_offset: "/autopilot/route-manager/offset",
active_route_color: [0.0509,0.7529,0.2941],
inactive_route_color: [0.95,0.95,0.21]
@ -81,15 +92,36 @@ canvas.NDStyles["Airbus"] = {
}
},
layers: [
{
name:"TERRAIN",
isMapStructure: 1,
update_on:[ {rate_hz: 10}, "toggle_range","toggle_display_mode","toggle_terrain"],
predicate: func(nd, layer) {
#print("TERRAIN TOGGLE: " ~ nd.get_switch("toggle_terrain"));
var visible = nd.get_switch("toggle_terrain") and
nd.get_switch("toggle_display_mode") != "PLAN" and (nd.rangeNm() <= 40) and
(nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting));
if (visible) {
layer.update();
} else {
layer.display_changed = 1;
}
layer.group.setVisible(visible);
}, # end of layer update predicate
options: {
viewport_radius: 670, #512, #706,
},
"z-index": -100,
},
{
name:"WXR_live",
isMapStructure:1,
always_update: 1,
update_on:[ "toggle_range","toggle_weather","toggle_display_mode","toggle_weather_live"],
update_on:[ "toggle_range","toggle_weather","toggle_display_mode","toggle_weather_live","toggle_terrain"],
predicate: func(nd, layer) {
var visible=nd.get_switch("toggle_weather") and
nd.get_switch("toggle_weather_live") and
nd.get_switch("toggle_display_mode") != "PLAN" and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting));
nd.get_switch("toggle_display_mode") != "PLAN" and !nd.get_switch("toggle_terrain") and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting));
layer.group.setVisible(visible);
if (visible) {
layer.update();
@ -884,6 +916,44 @@ canvas.NDStyles["Airbus"] = {
is_false: NOTHING,
},
},
{
id:"hdgBug2ValR", #"hdgBug2ValL"",
impl: {
init: func(nd,symbol),
predicate: func(nd) nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and
(nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting)),
is_true: func(nd) {
var bugRot = vhdg_bug.getValue();
var diffRot = (bugRot>=nd.userHdgTrk) ? (bugRot-nd.userHdgTrk) : (360+bugRot-nd.userHdgTrk);
if (diffRot<180 and diffRot>48) {
nd.symbols.hdgBug2ValR.setText(sprintf("%03d", bugRot+0.5)); #CHECKME - not sure about adding +.5 as "hdg" process
nd.symbols.hdgBug2ValR.show();
} else {
nd.symbols.hdgBug2ValR.hide();
}
},
is_false: func(nd) nd.symbols.hdgBug2ValR.hide(),
},
},
{
id:"hdgBug2ValL",
impl: {
init: func(nd,symbol),
predicate: func(nd) nd.in_mode("toggle_display_mode", ["MAP"]) and !nd.get_switch("toggle_centered") and
(nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting)),
is_true: func(nd) {
var bugRot = vhdg_bug.getValue();
var diffRot = (bugRot>nd.userHdgTrk) ? (360+nd.userHdgTrk-bugRot) : (nd.userHdgTrk-bugRot);
if (diffRot<180 and diffRot>48) {
nd.symbols.hdgBug2ValL.setText(sprintf("%03d", bugRot-0.5)); #CHECKME - not sure about adding +.5 as "hdg" process
nd.symbols.hdgBug2ValL.show();
} else {
nd.symbols.hdgBug2ValL.hide();
}
},
is_false: func(nd) nd.symbols.hdgBug2ValL.hide(),
},
},
{
id:"hdgGroup",
impl: {
@ -1227,9 +1297,9 @@ canvas.NDStyles["Airbus"] = {
impl: {
init: func(nd,symbol),
predicate: func(nd){
nd.get_switch("toggle_display_mode") == "MAP" and
!nd.get_switch("toggle_centered") and
(
nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")
and (nd.change_phase != 1)
and (
getprop(nd.options.defaults.lat_ctrl) != nd.options.defaults.managed_val or
nd.get_switch("toggle_trk_line")
)
@ -1245,6 +1315,7 @@ canvas.NDStyles["Airbus"] = {
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR","MAP"]) and nd.get_switch("toggle_centered")
and (nd.change_phase != 1)
and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting))),
is_true: func(nd) {
nd.symbols.trkInd2.show();
@ -1258,7 +1329,7 @@ canvas.NDStyles["Airbus"] = {
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and
nd.get_switch("toggle_centered") and
nd.get_switch("toggle_centered") and (nd.change_phase != 1) and
getprop(nd.options.defaults.lat_ctrl) != nd.options.defaults.managed_val and
(nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting))),
is_true: func(nd) {
@ -1271,7 +1342,7 @@ canvas.NDStyles["Airbus"] = {
id:"vorCrsPtr",
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and !nd.get_switch("toggle_centered")),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and !nd.get_switch("toggle_centered")) and (nd.change_phase != 1),
is_true: func(nd) {
nd.symbols.vorCrsPtr.show();
if (is_ils) {
@ -1288,7 +1359,7 @@ canvas.NDStyles["Airbus"] = {
id:"vorCrsPtr2",
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and nd.get_switch("toggle_centered")),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR"]) and nd.get_switch("toggle_centered")) and (nd.change_phase != 1),
is_true: func(nd) {
nd.symbols.vorCrsPtr2.show();
var is_ils = (nd.get_switch("toggle_display_mode") == "APP");
@ -1315,7 +1386,7 @@ canvas.NDStyles["Airbus"] = {
id: "gsDiamond",
impl: {
init: func(nd,symbol),
predicate: func(nd) nd.in_mode("toggle_display_mode", ["APP"]),
predicate: func(nd) nd.in_mode("toggle_display_mode", ["APP"]) and (nd.change_phase != 1),
is_true: func(nd) {
if(getprop("/instrumentation/nav/gs-needle-deflection-norm") != nil)
nd.symbols.gsDiamond.setTranslation(getprop("/instrumentation/nav[0]/gs-needle-deflection-norm")*150,0);
@ -1383,7 +1454,7 @@ canvas.NDStyles["Airbus"] = {
var ils_mode = getprop("/Flight-management/freq/ils-mode");
var has_ils = (nav_id != nil and nav_id != "");
(nd.get_switch("toggle_display_mode") == "MAP" and
!nd.get_switch("toggle_centered") and has_ils and ils_mode);
!nd.get_switch("toggle_centered") and has_ils and ils_mode and (nd.change_phase != 1));
},
is_true: func(nd) {
nd.symbols.locTrkPointer.show();
@ -1403,7 +1474,7 @@ canvas.NDStyles["Airbus"] = {
var ils_mode = getprop("/Flight-management/freq/ils-mode");
var has_ils = (nav_id != nil and nav_id != "");
(nd.get_switch("toggle_display_mode") == "MAP" and
nd.get_switch("toggle_centered") and has_ils and ils_mode);
nd.get_switch("toggle_centered") and has_ils and ils_mode and (nd.change_phase != 1));
},
is_true: func(nd) {
nd.symbols.locTrkPointer2.show();
@ -1563,15 +1634,15 @@ canvas.NDStyles["Airbus"] = {
nd.symbols.vorL.setText("ADF 1");
nd.symbols.vorL.setColor(0.195,0.96,0.097);
nd.symbols.vorLId.setColor(0.195,0.96,0.097);
nd.symbols.dmeLDist.setColor(0.195,0.96,0.097);
}
else{
#nd.symbols.dmeLDist.setColor(0.195,0.96,0.097);
nd.symbols.dmeL.setText("");
} else {
nd.symbols.vorL.setText("VOR 1");
nd.symbols.vorL.setColor(1,1,1);
nd.symbols.vorLId.setColor(1,1,1);
nd.symbols.dmeLDist.setColor(1,1,1);
#nd.symbols.dmeLDist.setColor(1,1,1);
nd.symbols.dmeL.setText("NM");
}
nd.symbols.dmeL.setText("NM");
nd.symbols.dmeL.setColor(0,0.59,0.8);
},
is_false: func(nd){
@ -1590,14 +1661,14 @@ canvas.NDStyles["Airbus"] = {
nd.symbols.vorR.setText("ADF 2");
nd.symbols.vorR.setColor(0.195,0.96,0.097);
nd.symbols.vorRId.setColor(0.195,0.96,0.097);
nd.symbols.dmeRDist.setColor(0.195,0.96,0.097);
nd.symbols.dmeR.setText("");
} else {
nd.symbols.vorR.setText("VOR 2");
nd.symbols.vorR.setColor(1,1,1);
nd.symbols.vorRId.setColor(1,1,1);
nd.symbols.dmeRDist.setColor(1,1,1);
#nd.symbols.dmeRDist.setColor(1,1,1);
nd.symbols.dmeR.setText("NM");
}
nd.symbols.dmeR.setText("NM");
nd.symbols.dmeR.setColor(0,0.59,0.8);
},
is_false: func(nd){
@ -1653,6 +1724,8 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_lh_vor_adf") != 0),
is_true: func(nd) {
if (nd.get_switch("toggle_lh_vor_adf") < 0) nd.symbols.vorLSym.setColor(0.195,0.96,0.097);
else nd.symbols.vorLSym.setColor(1,1,1);
nd.symbols.vorLSym.show();
},
is_false: func(nd){
@ -1708,6 +1781,8 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_rh_vor_adf") != 0),
is_true: func(nd) {
if (nd.get_switch("toggle_rh_vor_adf") < 0) nd.symbols.vorRSym.setColor(0.195,0.96,0.097);
else nd.symbols.vorRSym.setColor(1,1,1);
nd.symbols.vorRSym.show();
},
is_false: func(nd){
@ -1919,6 +1994,53 @@ canvas.NDStyles["Airbus"] = {
nd.symbols.offsetLbl.hide();
}
}
},
{
id: "terrGroup",
impl: {
init: func(nd,symbol),
predicate: func(nd) ( nd.get_switch("toggle_terrain") and
nd.get_switch("toggle_display_mode") != "PLAN" and (nd.rangeNm() <= 40) and
(nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting)) ),
is_true: func(nd){
if (terrain_maxalt.getValue() != -9999) {
var alert = terrain_alert.getValue();
if (alert == 0) {
nd.symbols.TerrLabel.setVisible(1);
nd.symbols.terrAhead.setVisible(0);
} else {
nd.symbols.TerrLabel.setVisible(0);
nd.symbols.terrAhead.setVisible(1);
if (alert == 1) nd.symbols.terrAhead.setColor(YELLOW[0],YELLOW[1],YELLOW[2]);
else nd.symbols.terrAhead.setColor(RED[0],RED[1],RED[2]);
}
nd.symbols.terrLO.setText(sprintf("%03d",math.round(terrain_minalt.getValue()/100)));
nd.symbols.terrHI.setText(sprintf("%03d",math.round(terrain_maxalt.getValue()/100)));
if (terrain_maxcol.getValue() == 0) nd.symbols.terrHI.setColor(GREEN[0],GREEN[1],GREEN[2]);
else if (terrain_maxcol.getValue() == 1) nd.symbols.terrHI.setColor(YELLOW[0],YELLOW[1],YELLOW[2]);
else nd.symbols.terrHI.setColor(RED[0],RED[1],RED[2]);
nd.symbols.terrGroup.show();
terrain_maxalt.setValue(-9999); #update visual at radar cycle
}
},
is_false: func(nd){
nd.symbols.terrGroup.hide();
}
}
},
{
id: "nd_msg_change",
impl: {
init: func(nd, symbol),
predicate: func(nd) ( (nd.change_phase != 0) and
(nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting)) ),
is_true: func(nd) {
nd.symbols.nd_msg_change.show();
},
is_false: func(nd) {
nd.symbols.nd_msg_change.hide();
}
}
}
], # end of vector with features

View file

@ -1698,6 +1698,41 @@
<command>property-toggle</command>
<property>instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit</property>
</binding>
<binding>
<condition>
<equals>
<property>instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit</property>
<value>1</value>
</equals>
</condition>
<command>property-assign</command>
<property>instrumentation/efis/inputs/terr</property>
<value>0</value>
</binding>
<binding>
<condition>
<equals>
<property>instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit</property>
<value>1</value>
</equals>
</condition>
<command>property-assign</command>
<property>instrumentation/efis[1]/inputs/terr</property>
<value>0</value>
</binding>
<binding>
<condition>
<equals>
<property>instrumentation/mk-viii/inputs/discretes/ta-tcf-inhibit</property>
<value>0</value>
</equals>
</condition>
<command>nasal</command>
<script>
setprop("instrumentation/efis/inputs/terr",getprop("controls/switches/terr_on_nd_l"));
setprop("instrumentation/efis[1]/inputs/terr",getprop("controls/switches/terr_on_nd_r"));
</script>
</binding>
<binding>
<command>nasal</command>
<script>libraries.pushbutton();</script>

File diff suppressed because it is too large Load diff

View file

@ -41,9 +41,9 @@
inkscape:window-maximized="1"
inkscape:window-y="-8"
inkscape:window-x="-8"
inkscape:cy="259.23779"
inkscape:cx="201.84998"
inkscape:zoom="2.56"
inkscape:cy="683.12157"
inkscape:cx="1026.1197"
inkscape:zoom="1.8101934"
showgrid="true"
id="namedview371"
inkscape:window-height="705"
@ -2380,78 +2380,20 @@
inkscape:connector-curvature="0"
id="path1283"
d="m 856.4002,481.90842 2.2e-4,-15.92813 h 52.07464 v 93.34657 h -52.07457 v -15.26583"
style="fill:#000000;fill-opacity:1;stroke:#ffff00;stroke-width:3.19995;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
style="fill:#000000;fill-opacity:1;stroke:#ffff00;stroke-width:3.19994998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1285"
d="m 770.31078,481.90873 86.08971,-3.1e-4"
style="fill:none;fill-opacity:1;stroke:#ffff00;stroke-width:3.19995;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
style="fill:none;fill-opacity:1;stroke:#ffff00;stroke-width:3.19994998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
<path
style="fill:none;fill-opacity:1;stroke:#ffff00;stroke-width:3.19995;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
style="fill:none;fill-opacity:1;stroke:#ffff00;stroke-width:3.19994998;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 770.31078,544.06163 86.08971,-6e-4"
id="path1287"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
<text
id="ALT_tens"
y="317.73038"
x="898.703"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
xml:space="preserve"
inkscape:label="#text913"
transform="scale(0.96366556,1.0377044)"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="317.73038"
x="898.703"
sodipodi:role="line"
id="tspan919">40</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="344.55804"
x="898.703"
sodipodi:role="line"
id="tspan4300">20</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="371.38571"
x="898.703"
sodipodi:role="line"
id="tspan931">00</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="398.21338"
x="898.703"
sodipodi:role="line"
id="tspan927">80</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="425.04105"
x="898.703"
sodipodi:role="line"
id="tspan925">60</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="451.86871"
x="898.703"
sodipodi:role="line"
id="tspan923">40</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="478.69638"
x="898.703"
sodipodi:role="line"
id="tspan921">20</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="505.52405"
x="898.703"
sodipodi:role="line"
id="tspan917">00</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="532.35168"
x="898.703"
sodipodi:role="line"
id="tspan915">80</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.8364px;line-height:87%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="559.17938"
x="898.703"
sodipodi:role="line"
id="tspan4302">60</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:end;letter-spacing:0px;word-spacing:0px;text-anchor:end;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
@ -2464,8 +2406,16 @@
id="tspan973"
x="890.99316"
y="506.23941"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:48.8348px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;text-anchor:end;fill:#0dc04b;fill-opacity:1;stroke-width:0.75">00</tspan></text>
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:48.83480072px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:end;text-anchor:end;fill:#0dc04b;fill-opacity:1;stroke-width:0.75">00</tspan></text>
</g>
<rect
style="display:inline;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:3.22735;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="ground_ref"
width="16.287683"
height="2088.8245"
x="860.0014"
y="512.75592"
inkscape:label="ground_ref" />
<path
style="fill:none;fill-opacity:1;stroke:#515256;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
d="m 216.77826,137.60788 0,-135.9564208"
@ -6000,6 +5950,64 @@
x="680.1095"
id="tspan773-9-9"
sodipodi:role="line">IM</tspan></text>
<text
id="ALT_tens"
y="317.73038"
x="898.703"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
xml:space="preserve"
inkscape:label="#text913"
transform="scale(0.96366556,1.0377044)"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="317.73038"
x="898.703"
sodipodi:role="line"
id="tspan919">40</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="344.55804"
x="898.703"
sodipodi:role="line"
id="tspan4300">20</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="371.38571"
x="898.703"
sodipodi:role="line"
id="tspan931">00</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="398.21338"
x="898.703"
sodipodi:role="line"
id="tspan927">80</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="425.04105"
x="898.703"
sodipodi:role="line"
id="tspan925">60</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="451.86871"
x="898.703"
sodipodi:role="line"
id="tspan923">40</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="478.69638"
x="898.703"
sodipodi:role="line"
id="tspan921">20</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="505.52405"
x="898.703"
sodipodi:role="line"
id="tspan917">00</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="532.35175"
x="898.703"
sodipodi:role="line"
id="tspan915">80</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:30.83639908px;line-height:87.00000048%;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="559.17938"
x="898.703"
sodipodi:role="line"
id="tspan4302">60</tspan></text>
<g
inkscape:label="#g5173"
id="ALT_box_flash">
@ -6022,14 +6030,6 @@
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
<rect
style="display:inline;fill:#ff0000;fill-opacity:1;fill-rule:nonzero;stroke:#ff0000;stroke-width:3.22735;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke"
id="ground_ref"
width="16.287683"
height="2088.8245"
x="857.0014"
y="512.75592"
inkscape:label="ground_ref" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:12px;line-height:0%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:0.75"
@ -6233,4 +6233,27 @@
x="462.76437"
y="500.03757" />
</g>
<text
inkscape:label="#text975"
transform="scale(0.95383278,1.0484018)"
id="ALT_neg"
y="453.28622"
x="823.7511"
style="font-style:normal;font-weight:normal;line-height:1.10000002;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:48px;line-height:1.10000002;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.75"
y="453.28622"
x="823.7511"
id="tspan1791"
sodipodi:role="line">N</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:48px;line-height:1.10000002;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.75"
y="506.08621"
x="823.7511"
sodipodi:role="line"
id="tspan1795">E</tspan><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:48px;line-height:1.10000002;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke-width:0.75"
y="558.88623"
x="823.7511"
sodipodi:role="line"
id="tspan1797">G</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 339 KiB

After

Width:  |  Height:  |  Size: 340 KiB

View file

@ -1,5 +1,4 @@
var flapsPos = nil;
var elapsedtime = nil;
var LBS2KGS = 0.4535924;
var slatLockGoing = 0;
var slatLockFlash = 0;
@ -508,7 +507,7 @@ var canvas_upperECAM = {
me.updatePower();
if (me.test.getVisible() == 1) {
me.updateTest();
me.updateTest(notification);
}
if (me.group.getVisible() == 0) {
@ -905,8 +904,8 @@ var canvas_upperECAM = {
}
},
updateTest: func() {
if (du3_test_time.getValue() + 1 >= pts.Sim.Time.elapsedSec.getValue()) {
updateTest: func(notification) {
if (du3_test_time.getValue() + 1 >= notification.elapsedTime) {
me["Test_white"].show();
me["Test_text"].hide();
} else {

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 131 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 509 KiB

View file

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<PropertyList>
<sim>
<model>
<livery>
<name>Alitalia EI-MSK</name>
<texture>Liveries/A320/PW-NEO/Alitalia.png</texture>
</livery>
<eng>
<texture>Liveries/A320/PW-NEO/Alitalia-eng.png</texture>
</eng>
</model>
</sim>
</PropertyList>

View file

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8" ?>
<PropertyList>
<sim>
<model>
<livery>
<name>ICAO Airline Name (Extra Info)</name>
<texture-fuselage>Liveries/A320/CFM/texture.png</texture-fuselage>
<texture-engine>Liveries/A320/CFM/texture.png</texture-engine>
</livery>
</model>
</sim>
<options>
<engine-name type="string">CFM56-5B4</engine-name>
<model-number type="string">A320-214</model-number>
<EIS2 type="bool">1</EIS2>
<company-options>
<idle-factor>+0.0</idle-factor>
<perf-factor>+1.0</perf-factor> <!-- please see https://www.cockpitseeker.com/wp-content/uploads/goodies/ac/a320/pdf/data/PerfoMonitoring.pdf -->
</company-options>
<model-options>
<registration type="string">AB-CDE</registration>
<three-letter type="string">ABC</three-letter>
<two-letter type="string">DE</two-letter>
<sharklet type="bool">0</sharklet>
<wifi-aft type="bool">0</wifi-aft>
<wifi-fwd type="bool">0</wifi-fwd>
</model-options>
</options>
</PropertyList>

View file

@ -13,11 +13,12 @@ var DMC = {
d.airspeeds = [props.globals.getNode("/systems/navigation/adr/output/cas-1", 1), props.globals.getNode("/systems/navigation/adr/output/cas-2", 1), props.globals.getNode("/systems/navigation/adr/output/cas-3", 1)];
d.altitudes = [props.globals.getNode("/systems/navigation/adr/output/baro-alt-corrected-1-capt", 1), props.globals.getNode("/systems/navigation/adr/output/baro-alt-corrected-2-capt", 1), props.globals.getNode("/systems/navigation/adr/output/baro-alt-corrected-3-capt", 1)];
d.machs = [props.globals.getNode("/systems/navigation/adr/output/mach-1", 1), props.globals.getNode("/systems/navigation/adr/output/mach-2", 1), props.globals.getNode("/systems/navigation/adr/output/mach-3", 1)];
d.altitudesPfd = [props.globals.getNode("instrumentation/altimeter[0]/indicated-altitude-ft-pfd", 1), props.globals.getNode("instrumentation/altimeter[1]/indicated-altitude-ft-pfd", 1), props.globals.getNode("instrumentation/altimeter[2]/indicated-altitude-ft-pfd", 1)];
d.altitudesPfd = [props.globals.getNode("/instrumentation/altimeter[0]/indicated-altitude-ft-pfd", 1), props.globals.getNode("/instrumentation/altimeter[1]/indicated-altitude-ft-pfd", 1), props.globals.getNode("/instrumentation/altimeter[2]/indicated-altitude-ft-pfd", 1)];
d.sats = [props.globals.getNode("/systems/navigation/adr/output/sat-1", 1), props.globals.getNode("/systems/navigation/adr/output/sat-2", 1), props.globals.getNode("/systems/navigation/adr/output/sat-3", 1)];
d.tats = [props.globals.getNode("/systems/navigation/adr/output/tat-1", 1), props.globals.getNode("/systems/navigation/adr/output/tat-2", 1), props.globals.getNode("/systems/navigation/adr/output/tat-3", 1)];
d.trends = [props.globals.getNode("instrumentation/pfd/speed-lookahead-1", 1), props.globals.getNode("instrumentation/pfd/speed-lookahead-2", 1), props.globals.getNode("instrumentation/pfd/speed-lookahead-3", 1)];
d.outputs = [nil, nil, nil, nil, nil, nil, nil]; # airspeed, altitude, mach, pfd altitude, sat, tat, speed trend
d.trends = [props.globals.getNode("/instrumentation/pfd/speed-lookahead-1", 1), props.globals.getNode("/instrumentation/pfd/speed-lookahead-2", 1), props.globals.getNode("/instrumentation/pfd/speed-lookahead-3", 1)];
d.altitudeDiffs = [props.globals.getNode("//instrumentation/pfd/alt-diff[0]", 1), props.globals.getNode("//instrumentation/pfd/alt-diff[1]", 1), props.globals.getNode("//instrumentation/pfd/alt-diff[2]", 1)];
d.outputs = [nil, nil, nil, nil, nil, nil, nil, nil]; # airspeed, altitude, mach, pfd altitude, sat, tat, speed trend, altitudeDiffs
return d;
},
changeActiveADIRS: func(newADIRS) {
@ -32,6 +33,7 @@ var DMC = {
me.outputs[4] = me.sats[ADIRS];
me.outputs[5] = me.tats[ADIRS];
me.outputs[6] = me.trends[ADIRS];
me.outputs[7] = me.altitudeDiffs[ADIRS];
},
setOutputsNil: func() {
me.outputs[0] = nil;
@ -41,6 +43,7 @@ var DMC = {
me.outputs[4] = nil;
me.outputs[5] = nil;
me.outputs[6] = nil;
me.outputs[7] = nil;
},
update: func() {
if (systems.ADIRS.ADIRunits[me.activeADIRS].operative and systems.ADIRS.ADIRunits[me.activeADIRS].outputOn) {
@ -71,8 +74,8 @@ var DMController = {
# update DMC2 to correct properties for first officer PFD
me.DMCs[1].altitudes = [props.globals.getNode("/systems/navigation/adr/output/baro-alt-corrected-1-fo", 1), props.globals.getNode("/systems/navigation/adr/output/baro-alt-corrected-2-fo", 1), props.globals.getNode("/systems/navigation/adr/output/baro-alt-corrected-3-fo", 1)];
me.DMCs[1].altitudesPfd = [props.globals.getNode("instrumentation/altimeter[3]/indicated-altitude-ft-pfd", 1), props.globals.getNode("instrumentation/altimeter[4]/indicated-altitude-ft-pfd", 1), props.globals.getNode("instrumentation/altimeter[5]/indicated-altitude-ft-pfd", 1)];
me.DMCs[1].altitudesPfd = [props.globals.getNode("/instrumentation/altimeter[3]/indicated-altitude-ft-pfd", 1), props.globals.getNode("/instrumentation/altimeter[4]/indicated-altitude-ft-pfd", 1), props.globals.getNode("/instrumentation/altimeter[5]/indicated-altitude-ft-pfd", 1)];
me.DMCs[1].altitudeDiffs = [props.globals.getNode("//instrumentation/pfd/alt-diff[3]", 1), props.globals.getNode("//instrumentation/pfd/alt-diff[4]", 1), props.globals.getNode("//instrumentation/pfd/alt-diff[5]", 1)];
me._init = 1;
}
},

View file

@ -0,0 +1,41 @@
# Projection-related helper functions for the MFD maps
var Camera = {
new: func(options) {
var m = {
parents: [Camera],
camGeo: options['camGeo'] or geo.aircraft_position(),
camHdg: options['camHdg'] or 0,
range: options['range'] or 10.0,
screenRange: options['screenRange'] or 256.0,
screenCX: options['screenCX'] or options['screenRange'] or 256.0,
screenCY: options['screenCY'] or options['screenRange'] or 256.0,
};
return m;
},
setRange: func(range) {
me.range = range;
},
repositon: func(geo, hdg) {
me.camGeo = geo;
me.camHdg = hdg;
},
project: func(targetGeo) {
var dist = me.camGeo.distance_to(targetGeo) * M2NM;
var bearing = me.camGeo.course_to(targetGeo) - me.camHdg;
return me.projectDistBearing(dist, bearing);
},
projectDistBearing: func(dist, bearing) {
var bearingRad = bearing * D2R;
var tx = math.sin(bearingRad) * dist;
var ty = -math.cos(bearingRad) * dist;
var x = tx * me.screenRange / me.range + me.screenCX;
var y = ty * me.screenRange / me.range + me.screenCY;
return [x, y];
},
};

358
Nasal/Displays/traffic.nas Normal file
View file

@ -0,0 +1,358 @@
# Traffic layer
var ATCSwitchAbvBlw = props.globals.getNode("/controls/atc/abv-blw");
var ATCSwitchThrtAll = props.globals.getNode("/controls/atc/thrt-all");
var colorByLevel = {
# 0: other
0: [0.8,0.8,0.8],
# 1: proximity
1: [0.8,0.8,0.8],
# 2: traffic advisory (TA)
2: [1,0.75,0],
# 3: resolution advisory (RA)
3: [1,0,0],
};
var doFill = {
0: 0,
1: 1,
2: 1,
3: 1,
};
var colorDefault = [0.8,0.8,0.8];
var drawBlip = func(elem, threatLvl) {
if (threatLvl == 3) {
# resolution advisory
elem.reset()
.setStrokeLineWidth(0)
.moveTo(-17,-17)
.horiz(34)
.vert(34)
.horiz(-34)
.close();
}
elsif (threatLvl == 2) {
# traffic advisory
elem.reset()
.moveTo(-17,0)
.setStrokeLineWidth(0)
.arcSmallCW(17,17,0,34,0)
.arcSmallCW(17,17,0,-34,0);
}
elsif (threatLvl == 1) {
# proximate traffic
elem.reset()
.setStrokeLineWidth(0)
.moveTo(-14,0)
.lineTo(0,-17)
.lineTo(14,0)
.lineTo(0,17)
.close();
}
else {
# other traffic
elem.reset()
.setStrokeLineWidth(4)
.moveTo(-10,0)
.lineTo(0,-14)
.lineTo(10,0)
.lineTo(0,14)
.lineTo(-10,0);
}
};
var TrafficLayer = {
new: func(camera, group) {
var m = {
parents: [TrafficLayer],
camera: camera,
refAlt: 0,
group: group,
items: {},
sorted: {}, # TODO - only the most 8 relevant advisories
values: {},
updateKeys: [],
addListener: nil,
delListener: nil,
};
return m;
},
makeElems: func () {
if (me.group == nil) return nil;
var elems = {};
elems['master'] = me.group.createChild('group');
elems['blip'] = elems.master.createChild('path')
.setStrokeLineWidth(0);
elems['text'] = elems.master.createChild('text')
.setDrawMode(canvas.Text.TEXT)
.setText(sprintf("0"))
.setFont("LiberationFonts/LiberationSans-Regular.ttf")
.setColor(1,1,1)
.setFontSize(32)
.setAlignment("center-center");
elems['master'].hide();
elems['arrowUp'] = elems.master.createChild("text")
.setDrawMode(canvas.Text.TEXT)
.setText(sprintf("↑"))
.setFont("LiberationFonts/LiberationSans-Regular.ttf")
.setColor(1,1,1)
.setFontSize(50)
.setTranslation(16, 2)
.setAlignment("left-center");
elems['arrowDown'] = elems.master.createChild("text")
.setDrawMode(canvas.Text.TEXT)
.setText(sprintf("↓"))
.setFont("LiberationFonts/LiberationSans-Regular.ttf")
.setColor(1,1,1)
.setFontSize(50)
.setTranslation(16, 2)
.setAlignment("left-center");
return elems;
},
start: func() {
me.stop();
var self = me;
me.addListener = setlistener('/ai/models/model-added', func(changed, listen, mode, is_child) {
var path = changed.getValue();
if (path == nil) return;
#printf("ADD: %s", path);
me.values[path] = nil;
var masterProp = props.globals.getNode(path);
var prop = {
'master': masterProp,
};
if (me.items[path] == nil) {
me.items[path] = {
prop: prop,
elems: me.makeElems(),
data: {'threatLevel': -2},
};
}
else {
me.items[path].prop = prop;
me.items[path].data = {'threatLevel': -2};
}
}, 1, 1);
me.delListener = setlistener('/ai/models/model-removed', func(changed, listen, mode, is_child) {
var path = changed.getValue();
if (path == nil) return;
#printf("DEL: %s", path);
me.values[path] = nil;
if (me.items[path] == nil) return;
if (me.items[path] != nil) {
me.items[path].prop = nil;
me.items[path].elems.master.hide();
me.items[path].data = {};
}
}, 1, 1);
},
stop: func() {
if (me.addListener != nil) {
removelistener(me.addListener);
me.addListener = nil;
}
if (me.delListener != nil) {
removelistener(me.delListener);
me.delListener = nil;
}
me.items = {};
if (me.group != nil) {
me.group.removeAllChildren();
}
},
nxtupdatetime: 0,
update: func() {
var _tm = systime();
if (me.nxtupdatetime != 0) {
if (_tm<me.nxtupdatetime) return;
}
me.nxtupdatetime = _tm + 0.5; # refresh rate at 500ms
if (size(me.updateKeys) == 0) {
me.updateKeys = keys(me.items);
}
var path = pop(me.updateKeys);
foreach (var path; keys(me.items)) {
me.updateItem(path);
}
},
redraw: func() {
foreach (var path; keys(me.items)) {
me.redrawItem(me.items[path],me.values[path]);
}
},
setRefAlt: func(alt) {
me.refAlt = alt;
},
proplist: ['lat', 'lon', 'alt', 'threatLevel', 'callsign', 'vspeed', 'tas'],
updateItem: func(path) {
var item = me.items[path];
if (item == nil) return;
if (item.prop == nil) {
if (item.elems != nil) {
item.elems.master.hide();
}
return;
}
if (item.prop['lat'] == nil) {
item.prop['lat'] = item.prop.master.getNode('position/latitude-deg');
item.prop['lon'] = item.prop.master.getNode('position/longitude-deg');
item.prop['alt'] = item.prop.master.getNode('position/altitude-ft');
}
if (item.prop['threatLevel'] == nil) {
item.prop['threatLevel'] = item.prop.master.getNode('tcas/threat-level');
}
if (item.prop['callsign'] == nil) {
item.prop['callsign'] = item.prop.master.getNode('callsign');
}
if (item.prop['vspeed'] == nil) {
item.prop['vspeed'] = item.prop.master.getNode('velocities/vertical-speed-fps');
item.prop['tas'] = item.prop.master.getNode('velocities/true-airspeed-kt');
}
# this item has a prop associated with it
if (item.elems == nil) {
item.elems = me.makeElems();
}
var oldThreatLevel = item.data['threatLevel'];
foreach (var k; me.proplist) {
if (item.prop[k] != nil) {
item.data[k] = item.prop[k].getValue();
}
}
if (item.data['threatLevel'] == -1) { # airplane with TCAS not enabled or supported
me.values[path] = {visible: 0};
return;
}
if (oldThreatLevel != item.data['threatLevel']) {
item.data['threatLevelDirty'] = 1;
}
var newThrtAll = ATCSwitchThrtAll.getValue();
if (newThrtAll == 1) { # AUTO - display only proximate and higher advisories
if (item.data['threatLevel']==0) {
me.values[path] = {visible: 0};
return;
}
}
var _lat = item.data['lat'];
var _lon = item.data['lon'];
var alt = item.data['alt'];
var vspeed = item.data['vspeed'];
var tas = item.data['tas'];
me.values[path] = nil;
if (_lat != nil and _lon != nil and vspeed != nil) {
if (tas<80) { # flying airplane only
me.values[path] = {visible: 0};
return;
}
var top = 27;
var bottom = -27;
if (ATCSwitchAbvBlw.getValue() == -1) {
top = 99;
}
if (ATCSwitchAbvBlw.getValue() == 1) {
bottom = -99;
}
var altDiff100 = ((alt or me.refAlt) - me.refAlt) / 100;
if (altDiff100 > top or altDiff100 < bottom) { # check TCAS vertical range
me.values[path] = {visible: 0};
return;
}
var _val = {visible:1, lat:_lat, lon:_lon, dirty:item.data['threatLevelDirty']};
var spd = vspeed * 60;
_val.arrowup = (spd > 500);
_val.arrowdown = (spd < -500);
if (math.abs(altDiff100) > 0.5) {
_val.text = sprintf("%+03.0f ", altDiff100);
} else {
_val.text = "";
}
_val.textpy = (altDiff100 < 0) ? 34 : -30;
me.values[path] = _val;
}
},
redrawItem: func (item,val) {
#debug.dump("REDRAW ", item.data);
if (val != nil and val.visible == 1) {
var lat = val.lat;
var lon = val.lon;
var coords = geo.Coord.new();
coords.set_latlon(lat, lon);
var (x, y) = me.camera.project(coords);
item.elems.master.setTranslation(x, y);
#printf("%f %f", x, y);
if (val.dirty) {
#printf('%s THREAT LVL: %i', item.data['callsign'] or '???', item.data['threatLevel']);
var threatLevel = item.data['threatLevel'];
#debug.dump(item.data, threatLevel);
drawBlip(item.elems.blip, threatLevel);
var rgb = colorByLevel[threatLevel];
if (rgb == nil) rgb = colorDefault;
var color = canvas._getColor(rgb);
var (r, g, b) = rgb;
if (threatLevel > 0) {
item.elems.blip.setColorFill(r, g, b);
} else {
item.elems.blip.setColor(r, g, b);
}
item.elems.text.setColor(r, g, b);
item.elems.arrowUp.setColor(r, g, b);
item.elems.arrowDown.setColor(r, g, b);
item.elems.master.set('z-index', threatLevel + 2);
item.data['threatLevelDirty'] = 0;
val.dirty = 0;
}
item.elems.arrowUp.setVisible(val.arrowup);
item.elems.arrowDown.setVisible(val.arrowdown);
item.elems.text.setText(val.text);
item.elems.text.setTranslation(0, val.textpy);
item.elems.master.show();
} else {
item.elems.master.hide();
}
},
};

View file

@ -12,7 +12,6 @@ var leftOverflow = props.globals.initNode("/ECAM/warnings/overflow-left", 0, "B
var rightOverflow = props.globals.initNode("/ECAM/warnings/overflow-right", 0, "BOOL");
var overflow = props.globals.initNode("/ECAM/warnings/overflow", 0, "BOOL");
var dc_ess = props.globals.getNode("/systems/electrical/bus/dc-ess", 1);
var lights = [props.globals.initNode("/ECAM/warnings/master-warning-light", 0, "BOOL"), props.globals.initNode("/ECAM/warnings/master-caution-light", 0, "BOOL")];
var aural = [props.globals.initNode("/sim/sound/warnings/crc", 0, "BOOL"), props.globals.initNode("/sim/sound/warnings/chime", 0, "BOOL"), props.globals.initNode("/sim/sound/warnings/cricket", 0, "BOOL"), props.globals.initNode("/sim/sound/warnings/retard", 0, "BOOL"), props.globals.initNode("/sim/sound/warnings/cchord", 0, "BOOL")];
@ -74,6 +73,35 @@ var warningNodes = {
blueYellowFuel: props.globals.initNode("/ECAM/warnings/hyd/blue-yellow-fuel-consumpt"),
greenYellow: props.globals.initNode("/ECAM/warnings/hyd/green-yellow-failure"),
greenYellowFuel: props.globals.initNode("/ECAM/warnings/hyd/green-yellow-fuel-consumpt"),
leftElevFail: props.globals.initNode("/ECAM/warnings/fctl/leftElevFault"),
rightElevFail: props.globals.initNode("/ECAM/warnings/fctl/rightElevFault"),
flapNotZero: props.globals.initNode("/ECAM/warnings/fctl/flaps-not-zero"),
slatsConfig: props.globals.initNode("/ECAM/warnings/fctl/slats-config-output"),
flapsConfig: props.globals.initNode("/ECAM/warnings/fctl/flaps-config-output"),
spdBrkConfig: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-config-output"),
pitchTrimConfig: props.globals.initNode("/ECAM/warnings/fctl/pitch-trim-config-output"),
rudTrimConfig: props.globals.initNode("/ECAM/warnings/fctl/rudder-trim-config-output"),
parkBrkConfig: props.globals.initNode("/ECAM/warnings/fctl/park-brk-config-output"),
slatsConfig2: props.globals.initNode("/ECAM/warnings/fctl/slats-config-range"),
flapsConfig2: props.globals.initNode("/ECAM/warnings/fctl/flaps-config-range"),
spdBrkConfig2: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-config-range"),
pitchTrimConfig2: props.globals.initNode("/ECAM/warnings/fctl/pitch-trim-config-range"),
rudTrimConfig2: props.globals.initNode("/ECAM/warnings/fctl/rudder-trim-config-range"),
dcEssFuelConsumptionIncreased: props.globals.initNode("/ECAM/warnings/logic/dc-ess-fuel-consumption-increased"),
dcEssFMSPredictions: props.globals.initNode("/ECAM/warnings/logic/dc-ess-fms-predictions-unreliable"),
dc2FuelConsumptionIncreased: props.globals.initNode("/ECAM/warnings/logic/dc-2-fuel-consumption-increased"),
dc2FMSPredictions: props.globals.initNode("/ECAM/warnings/logic/dc-2-fms-predictions-unreliable"),
thrLeversNotSet: props.globals.initNode("/ECAM/warnings/logic/eng/thr-lever-not-set"),
revSet: props.globals.initNode("/ECAM/warnings/logic/eng/reverse-set"),
eng1Fail: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-fail"),
eng2Fail: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-fail"),
phase5Trans: props.globals.initNode("/ECAM/warnings/logic/eng/phase-5-output"),
eng1Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-1-shutdown"),
eng2Shutdown: props.globals.initNode("/ECAM/warnings/logic/eng/eng-2-shutdown"),
acEssBusAltn: props.globals.initNode("/ECAM/warnings/logic/ac-ess-bus-altn-feed"),
gen1Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-1-off"),
gen2Off: props.globals.initNode("/ECAM/warnings/logic/elec/gen-2-off"),
spdBrkOut: props.globals.initNode("/ECAM/warnings/fctl/spd-brk-still-out"),
},
Timers: {
apuFaultOutput: props.globals.initNode("/ECAM/warnings/timer/apu-fault-output"),
@ -94,6 +122,8 @@ var warningNodes = {
eng1AiceNotOpen: props.globals.initNode("/ECAM/warnings/timer/eng-aice-1-closed-output"),
eng2AiceNotOpen: props.globals.initNode("/ECAM/warnings/timer/eng-aice-2-closed-output"),
LRElevFault: props.globals.initNode("/ECAM/warnings/fctl/lrElevFault-output"),
altnLaw: props.globals.initNode("/ECAM/warnings/fctl/altn-law-output"),
directLaw: props.globals.initNode("/ECAM/warnings/fctl/direct-law-output"),
waiLhiPr: props.globals.initNode("/ECAM/warnings/timer/wing-hi-pr-left"),
waiRhiPr: props.globals.initNode("/ECAM/warnings/timer/wing-hi-pr-right"),
pack1Fault: props.globals.initNode("/ECAM/warnings/timer/pack-1-fault-2"),
@ -104,6 +134,22 @@ var warningNodes = {
yawDamper1Fault: props.globals.initNode("/ECAM/warnings/timer/yaw-damper-1-fault"),
yawDamper2Fault: props.globals.initNode("/ECAM/warnings/timer/yaw-damper-2-fault"),
navTerrFault: props.globals.initNode("/ECAM/warnings/timer/nav-gpws-terr-fault"),
leftElevFail: props.globals.initNode("/ECAM/warnings/fctl/leftElevFault-output"),
rightElevFail: props.globals.initNode("/ECAM/warnings/fctl/rightElevFault-output"),
staticInverter: props.globals.initNode("/systems/electrical/some-electric-thingie/static-inverter-timer"),
dcEmerConfig: props.globals.initNode("/ECAM/warnings/logic/dc-emer-config-output"),
dc12Fault: props.globals.initNode("/ECAM/warnings/logic/dc-1-2-output"),
dcEssFault: props.globals.initNode("/ECAM/warnings/logic/dc-ess-output"),
dc1Fault: props.globals.initNode("/ECAM/warnings/logic/dc-1-output"),
dc2Fault: props.globals.initNode("/ECAM/warnings/logic/dc-2-output"),
dcBatFault: props.globals.initNode("/ECAM/warnings/logic/dc-bat-output"),
ac1Fault: props.globals.initNode("/ECAM/warnings/logic/ac-1-output"),
ac2Fault: props.globals.initNode("/ECAM/warnings/logic/ac-2-output"),
acEssFault: props.globals.initNode("/ECAM/warnings/logic/ac-ess-output"),
dcEssShed: props.globals.initNode("/ECAM/warnings/logic/dc-ess-shed-output"),
acEssShed: props.globals.initNode("/ECAM/warnings/logic/ac-ess-shed-output"),
centerPumpsOff: props.globals.initNode("/ECAM/warnings/fuel/center-pumps-off-output"),
lowLevelBoth: props.globals.initNode("/ECAM/warnings/fuel/lo-level-l-r-output"),
},
Flipflops: {
apuGenFault: props.globals.initNode("/ECAM/warnings/flipflop/apu-gen-fault"),
@ -383,6 +429,7 @@ var ECAM_controller = {
m.active = 0;
}
}
me._ready = 1;
},
clear: func() {
hasCleared = 0;
@ -473,7 +520,7 @@ var ECAM_controller = {
};
setlistener("/systems/electrical/bus/dc-ess", func {
if (dc_ess.getValue() < 25) {
if (systems.ELEC.Bus.dcEss.getValue() < 25) {
ECAM_controller.reset();
}
}, 0, 0);

Some files were not shown because too many files have changed in this diff Show more