1
0
Fork 0
This commit is contained in:
Josh Davidson 2020-12-01 11:33:13 -05:00
commit 3c73dcb13c
196 changed files with 48650 additions and 41291 deletions

View file

@ -21,20 +21,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>
@ -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>

View file

@ -21,20 +21,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>
@ -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,20 +179,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">
<path>Aircraft/A320-family/Systems/cfm56-sound.xml</path>
</autopilot>
<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>

View file

@ -21,20 +21,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>
@ -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>

View file

@ -5,17 +5,56 @@
<PropertyList include="Aircraft/Generic/Human/Include/walker-include.xml">
<sim>
<animation>
<fire-services type="bool">0</fire-services>
</animation>
<author>Josh Davidson/Octal450 (Flight Dynamics, Systems, Displays), Jonathan Redpath/legoboyvdlp, merspieler, Matthew Maring/mattmaring (Systems, Displays), Thorsten Herrmann/TH-555, Semir Gebran/CaptB (3D, Textures)</author>
<authors>
<author>
<name>Josh Davidson</name>
<description>Flight Dynamics, Systems, Displays</description>
<nick>Octal450</nick>
</author>
<author>
<name>Jonathan Redpath</name>
<description>Systems, Displays, FMGC</description>
<nick>legoboyvdlp</nick>
</author>
<author>
<name>merspieler</name>
<description>Systems, Displays</description>
</author>
<author>
<name>Matthew Maring</name>
<description>Fuel predictions, FMGC</description>
<nick>mattmaring</nick>
</author>
<author>
<name>Thorsten Herrmann</name>
<description>Cockpit 3D model</description>
<nick>TH-555</nick>
</author>
<author>
<name>Semir Gebran</name>
<description>3D model</description>
<nick>CaptB</nick>
</author>
<author>
<name>vezza</name>
<description>Systems, Displays</description>
</author>
</authors>
<checklists include="A32X-Checklists.xml"/>
<status>Pre V1.0</status>
<description>Airbus A320</description>
<long-description>The Airbus A320 is a family of narrow body airliners built by Airbus Industrie. First flown in 1987,
the aircraft is the most produced airliner ever, with over 9,500 built to date. It was one of the first airliners
to use digital flight controls and fly by wire, and a fully glass cockpit.</long-description>
<hud n="0">
<enable3d n="0">false</enable3d>
<enable3d n="1">false</enable3d>
@ -116,35 +155,40 @@
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
<path>Splash/cockpit.png</path>
<path>Aircraft/A320-family/Splash/cockpit.png</path>
</preview>
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
<path>Splash/cockpit2.png</path>
<path>Aircraft/A320-family/Splash/cockpit2.png</path>
</preview>
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
<path>Splash/cockpit3.png</path>
<path>Aircraft/A320-family/Splash/cockpit3.png</path>
</preview>
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
<path>Splash/wing1.png</path>
<path>Aircraft/A320-family/Splash/wing1.png</path>
</preview>
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
<path>Splash/wing2.png</path>
<path>Aircraft/A320-family/Splash/wing2.png</path>
</preview>
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
<path>Splash/wing3.png</path>
<path>Aircraft/A320-family/Splash/ext1.png</path>
</preview>
<preview>
<type>exterior</type>
<splash type="bool">true</splash>
<path>Aircraft/A320-family/Splash/ext2.png</path>
</preview>
</previews>
<rating>
<FDM type="int">4</FDM>
<systems type="int">5</systems>
@ -152,6 +196,8 @@
<model type="int">4</model>
</rating>
<status>Pre V1.0</status>
<tags>
<tag>transport</tag>
<tag>airbus</tag>
@ -167,6 +213,13 @@
<tag>2-engine</tag>
</tags>
<urls>
<home-page>http://wiki.flightgear.org/Airbus_A320_Family</home-page>
<support>https://forum.flightgear.org</support>
<wikipedia>https://en.wikipedia.org/wiki/Airbus_A320_family</wikipedia>
<code-repository>https://github.com/legoboyvdlp/A320-family</code-repository>
</urls>
<systems n="0">
<electrical>
<path></path>
@ -226,6 +279,7 @@
<oh-btn type="bool">0</oh-btn>
<switch1 type="bool">0</switch1>
<flaps-click type="bool">0</flaps-click>
<pushbutton type="bool">0</pushbutton>
<spdbrk-click type="bool">0</spdbrk-click>
<relay-batt-1 type="bool">0</relay-batt-1>
<relay-batt-2 type="bool">0</relay-batt-2>
@ -243,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>
@ -473,6 +539,15 @@
<value>1</value>
</binding>
</item>
<item>
<label>Canvas QRH</label>
<binding>
<command>nasal</command>
<script>
canvas_qrh.createCanvasQRH();
</script>
</binding>
</item>
</menu>
</default>
</menubar>
@ -513,14 +588,39 @@
<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>
</navdb>
</sim>
<aircraft>
<icao>
<wake-turbulence-category>M</wake-turbulence-category>
<type type="string">A320</type>
<equipment type="string">SDE2FGHIRWXY</equipment>
<surveillance type="string">S</surveillance>
</icao>
<performance>
<minimum>
<takeoff-length-ft type="int">4500</takeoff-length-ft>
<landing-length-ft type="int">4500</landing-length-ft>
</minimum>
<maximum>
<altitude-ft type="int">41000</altitude-ft>
<mach type="double">0.82</mach>
<airspeed-knots type="int">350</airspeed-knots>
</maximum>
</performance>
</aircraft>
<consumables>
<fuel>
<tank n="0">
@ -550,6 +650,40 @@
</fuel>
</consumables>
<ECAM>
<Upper>
<FlapX type="double">0</FlapX>
<FlapY type="double">0</FlapY>
<SlatX type="double">0</SlatX>
<SlatY type="double">0</SlatY>
<FlapXtrans type="double">0</FlapXtrans>
<FlapYtrans type="double">0</FlapYtrans>
<SlatXtrans type="double">0</SlatXtrans>
<SlatYtrans type="double">0</SlatYtrans>
</Upper>
<msg>
<line1 type="string"></line1>
<line2 type="string"></line2>
<line3 type="string"></line3>
<line4 type="string"></line4>
<line5 type="string"></line5>
<line6 type="string"></line6>
<line7 type="string"></line7>
<line8 type="string"></line8>
</msg>
<rightmsg>
<line1 type="string"></line1>
<line2 type="string"></line2>
<line3 type="string"></line3>
<line4 type="string"></line4>
<line5 type="string"></line5>
<line6 type="string"></line6>
<line7 type="string"></line7>
<line8 type="string"></line8>
</rightmsg>
<warning-phase type="int">0</warning-phase>
</ECAM>
<environment>
<aircraft-effects>
<frost-inch type="double">0</frost-inch>
@ -656,9 +790,6 @@
<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">
@ -856,6 +987,7 @@
<du4 type="double">1</du4>
<du5 type="double">1</du5>
<du6 type="double">1</du6>
<iesi type="double">1</iesi>
<mcdu1 type="double">1</mcdu1>
<mcdu2 type="double">1</mcdu2>
<dcdul type="double">1</dcdul>
@ -1101,6 +1233,10 @@
<transponder-code type="string">2000</transponder-code>
<failed type="bool">0</failed>
</atc>
<atsu>
<atis-server type="string">faa</atis-server>
<wxr-server type="string">faa</wxr-server>
</atsu>
<apu>
<oil>
<level-l type="double">5.4</level-l>
@ -1125,6 +1261,7 @@
</comm>
<electrical n="0">
<bus>
<ac-ess type="double">0</ac-ess>
<dc-1 type="double">0</dc-1>
<dc-2 type="double">0</dc-2>
</bus>
@ -1190,6 +1327,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>
@ -1201,6 +1339,7 @@
<right-tank-pump-1 type="bool">0</right-tank-pump-1>
<right-tank-pump-2 type="bool">0</right-tank-pump-2>
</fuel>
<gear type="bool">0</gear>
<hydraulic>
<blue-edp type="bool">0</blue-edp>
<blue-elec type="bool">0</blue-elec>
@ -1396,6 +1535,7 @@
</pneumatics>
<pressurization>
<cabinalt-norm type="double">0</cabinalt-norm>
<cabinpsi type="double">14.7</cabinpsi>
<ditchingpb type="double">14.7</ditchingpb>
</pressurization>
@ -1480,8 +1620,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>
@ -1595,6 +1735,10 @@
<range type="double">1.0</range>
</groundradar>
<iesi>
<att-reset-cmd type="bool">false</att-reset-cmd>
</iesi>
<marker-beacon n="0">
<serviceable type="bool">true</serviceable>
</marker-beacon>
@ -1744,6 +1888,10 @@
<max-range-m type="int">1219</max-range-m>
<serviceable type="bool">true</serviceable>
</radar-altimeter>
<wxr>
<enabled type="bool">false</enabled>
</wxr>
</instrumentation>
<modes>
@ -4275,15 +4423,20 @@
</options>
<nasal>
<notifications>
<file>Aircraft/A320-family/Nasal/emesary/M_frame_notification.nas</file>
</notifications>
<pts>
<file>Aircraft/A320-family/Nasal/Libraries/property-tree-setup.nas</file>
</pts>
<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>
@ -4337,21 +4490,22 @@
</fmgc>
<mcdu>
<file>Aircraft/A320-family/Nasal/MCDU/DUPLICATE.nas</file> <!-- dynamic page - init before others as used in various pages -->
<file>Aircraft/A320-family/Nasal/MCDU/DIRTO.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/LATREV.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/VERTREV.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/DEPARTURE.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/ARRIVAL.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/AIRWAYS.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/CLOSESTAIRPORT.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/RECEIVEDMESSAGES.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/PILOTWAYPOINT.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/HOLD.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/F-PLN.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/WINDCLB.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/WINDCRZ.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/WINDDES.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/WINDHIST.nas</file> <!-- dynamic page - init before MCDU -->
<file>Aircraft/A320-family/Nasal/MCDU/DIRTO.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/LATREV.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/VERTREV.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/DEPARTURE.nas</file>
<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/PILOTWAYPOINT.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/HOLD.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/F-PLN.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/WINDCLB.nas</file>
<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/MCDU.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/INITA.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/IRSINIT.nas</file>
@ -4381,6 +4535,7 @@
<file>Aircraft/A320-family/Models/Instruments/ND/canvas/ND.nas</file>
</canvas_nd>
<canvas_ecam>
<file>Aircraft/A320-family/Nasal/emesary/exec.nas</file>
<file>Aircraft/A320-family/Models/Instruments/Upper-ECAM/Upper-ECAM.nas</file>
<file>Aircraft/A320-family/Models/Instruments/Lower-ECAM/Lower-ECAM.nas</file>
</canvas_ecam>
@ -4396,6 +4551,9 @@
<canvas_qnh>
<file>Aircraft/A320-family/Nasal/Displays/CanvasQNH.nas</file>
</canvas_qnh>
<canvas_qrh>
<file>Aircraft/A320-family/Nasal/QRH/QRH.nas</file>
</canvas_qrh>
<mcdu_scratchpad> <!-- delay till after canvas mcdu -->
<file>Aircraft/A320-family/Nasal/FMGC/mcdu-messages.nas</file>
</mcdu_scratchpad>
@ -4404,13 +4562,13 @@
<file>Aircraft/A320-family/Nasal/Autopush/autopush.nas</file>
</autopush>
<autopush_driver>
<file>Aircraft/A320-family/Nasal/Autopush/autopush_driver.nas</file>
<file>Aircraft/A320-family/Nasal/Autopush/driver.nas</file>
</autopush_driver>
<dynarr>
<file>Aircraft/A320-family/Nasal/Autopush/dynarr.nas</file>
</dynarr>
<autopush_route>
<file>Aircraft/A320-family/Nasal/Autopush/autopush_route.nas</file>
<file>Aircraft/A320-family/Nasal/Autopush/route.nas</file>
</autopush_route>
<!-- Panels -->
<rmp>
@ -4423,7 +4581,9 @@
<file>Aircraft/A320-family/Nasal/Panels/atc.nas</file>
</atc>
<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>

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>

View file

@ -72,10 +72,11 @@ setprop("/systems/acconfig/out-of-date", 0);
setprop("/systems/acconfig/mismatch-code", "0x000");
setprop("/systems/acconfig/mismatch-reason", "XX");
setprop("/systems/acconfig/options/keyboard-mode", 0);
# TODO Revert default weight-kgs to 1, when fully implemented
setprop("/systems/acconfig/options/weight-kgs", 0);
setprop("/systems/acconfig/options/weight-kgs", 1);
setprop("/systems/acconfig/options/adirs-skip", 0);
setprop("/systems/acconfig/options/allow-oil-consumption", 0);
setprop("/systems/acconfig/options/atis-server", "faa");
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);
@ -232,6 +233,8 @@ var readSettings = func {
setprop("/sim/model/autopush/route/show-wingtip", getprop("/systems/acconfig/options/autopush/show-wingtip"));
setprop("/options/system/fo-view", getprop("/systems/acconfig/options/fo-view"));
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"));
}
var writeSettings = func {
@ -244,6 +247,8 @@ var writeSettings = func {
setprop("/systems/acconfig/options/autopush/show-wingtip", getprop("/sim/model/autopush/route/show-wingtip"));
setprop("/systems/acconfig/options/fo-view", getprop("/options/system/fo-view"));
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"));
io.write_properties(getprop("/sim/fg-home") ~ "/Export/A320-family-config.xml", "/systems/acconfig/options");
}

View file

@ -36,9 +36,9 @@
<layout>vbox</layout>
<checkbox>
<label>Welcome (F/A)</label>
<label>F/A - Boarding</label>
<halign>left</halign>
<property>/sim/sounde/welcomefa</property>
<property>/sim/sounde/fa_boarding</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -46,9 +46,9 @@
</checkbox>
<checkbox>
<label>Welcome (Capt)</label>
<label>F/A - Welcome</label>
<halign>left</halign>
<property>/sim/sounde/welcomecapt</property>
<property>/sim/sounde/fa_welcome</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -56,9 +56,9 @@
</checkbox>
<checkbox>
<label>Doors Departure</label>
<label>Cpt - Welcome</label>
<halign>left</halign>
<property>/sim/sounde/doors</property>
<property>/sim/sounde/cpt_welcome</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -66,9 +66,9 @@
</checkbox>
<checkbox>
<label>SafetyBrief</label>
<label>Cpt - Doors Check</label>
<halign>left</halign>
<property>/sim/sounde/safety</property>
<property>/sim/sounde/cpt_doors</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -76,9 +76,9 @@
</checkbox>
<checkbox>
<label>Prepare for Takeoff</label>
<label>F/A - Safety Brief </label>
<halign>left</halign>
<property>/sim/sounde/prepareto</property>
<property>/sim/sounde/fa_safety</property>
<binding>
<command>dialog-apply</command>
</binding>
@ -86,9 +86,49 @@
</checkbox>
<checkbox>
<label>Seatbelt Turned Off</label>
<label>Cpt - Prepare for Takeoff</label>
<halign>left</halign>
<property>/sim/sounde/seatbelt-10k</property>
<property>/sim/sounde/cpt_takeoff</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>F/A - Seatbelt Turned Off</label>
<halign>left</halign>
<property>/sim/sounde/fa_seatbelt10k</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>F/A - Descent</label>
<halign>left</halign>
<property>/sim/sounde/fa_descent</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>Cpt - Prepare for Landing</label>
<halign>left</halign>
<property>/sim/sounde/cpt_landing</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>F/A - Landed</label>
<halign>left</halign>
<property>/sim/sounde/fa_landed</property>
<binding>
<command>dialog-apply</command>
</binding>

View file

@ -27,9 +27,7 @@
acconfig.writeSettings();
canvas_pfd.rateApply();
canvas_nd.rateApply();
canvas_ecam.u_rateApply();
canvas_ecam.l_rateApply();
canvas_iesi.rateApply();
</script>
</binding>
<binding>
@ -256,9 +254,7 @@
acconfig.writeSettings();
canvas_pfd.rateApply();
canvas_nd.rateApply();
canvas_ecam.u_rateApply();
canvas_ecam.l_rateApply();
canvas_iesi.rateApply();
</script>
</binding>
</button>
@ -272,9 +268,7 @@
acconfig.writeSettings();
canvas_pfd.rateApply();
canvas_nd.rateApply();
canvas_ecam.u_rateApply();
canvas_ecam.l_rateApply();
canvas_iesi.rateApply();
</script>
</binding>
<binding>

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>

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>

59
Announcements.txt Normal file
View file

@ -0,0 +1,59 @@
All voices created at http://www.fromtexttospeech.com/
Captain voice: US English - John
Mechanic voice: US English - George
Flight attendant voice: US English - Daisy
BOARDING (F/A) - fa_boarding
Ladies and gentlemen, the Captain has turned on the Fasten Seat Belt sign. If you havent already done so, please stow your carry-on luggage underneath the seat in front of you or in an overhead bin. Please take your seat and fasten your seat belt. And also make sure your seat back and folding trays are in their full upright position.
If you are seated next to an emergency exit, please read carefully the special instructions card located by your seat. If you do not wish to perform the functions described in the event of an emergency, please ask a flight attendant to reseat you.
We remind you that this is a non-smoking flight. Smoking is prohibited on the entire aircraft, including the lavatories. Tampering with, disabling or destroying the lavatory smoke detectors is prohibited by law.
If you have any questions about our flight today, please dont hesitate to ask one of our flight attendants. Thank you.
WELCOME (F/A) - fa_welcome
Ladies and gentlemen, my name is Daisy and Im your chief flight attendant. On behalf of the entire crew, welcome aboard this flight.
At this time, make sure your seat backs and tray tables are in their full upright position and that your seat belt is correctly fastened. Also, your portable electronic devices must be set to airplane mode until an announcement is made upon arrival. Thank you.
WELCOME (CPT) - cpt_welcome
Ladies and gentlemen, this is your captain speaking. Welcome on board. We are all set and ready to go, just waiting for clearance to depart the gate. Please, make yourself comfortable, and I wish you a very pleasant flight.
DOORS CHECK (CPT) - cpt_doors
Cabin Crew, doors on automatic, arm slides, cross-check and report. Thank you.
SAFETY (F/A) - fa_safety
Now we request your full attention as the flight attendants demonstrate the safety features of this aircraft.
When the seat belt sign illuminates, you must fasten your seat belt. Insert the metal fittings one into the other, and tighten by pulling on the loose end of the strap. To release your seat belt, lift the upper portion of the buckle. We suggest that you keep your seat belt fastened throughout the flight, as we may experience turbulence.
There are several emergency exits on this aircraft, two forward, two aft and two over each wing. Please take a few moments now to locate your nearest exit. In some cases, your nearest exit may be behind you. If we need to evacuate the aircraft, floor-level lighting will guide you towards the exit. Doors can be opened by moving the handle in the direction of the arrow. Each door is equipped with an inflatable slide which may also be detached and used as a life raft.
Oxygen and the air pressure are always being monitored. In the event of a decompression, an oxygen mask will automatically appear in front of you. To start the flow of oxygen, pull the mask towards you. Place it firmly over your nose and mouth, secure the elastic band behind your head, and breathe normally. Although the bag does not inflate, oxygen is flowing to the mask. If you are travelling with a child or someone who requires assistance, secure your mask on first, and then assist the other person. Keep your mask on until a uniformed crew member advises you to remove it.
In the event of an emergency, please assume the bracing position. Lean forward with your hands on top of your head and your elbows against your thighs. Ensure your feet are flat on the floor.
A life vest is located in a pouch under your seat or between the armrests. When instructed to do so, open the plastic pouch and remove the vest. Slip it over your head. Pass the straps around your waist and adjust at the front. To inflate the vest, pull firmly on the red cord, only when leaving the aircraft. If you need to refill the vest, blow into the mouthpieces. Use the whistle and light to attract attention. Also, your seat bottom cushion can be used as a flotation device. Pull the cushion from the seat, slip your arms into the straps, and hug the cushion to your chest.
At this time, your portable electronic devices must be set to airplane mode until an announcement is made upon arrival.
We remind you that this is a non-smoking flight. Tampering with, disabling, or destroying the smoke detectors located in the lavatories is prohibited by law.
You will find this and all the other safety information in the card located in the seat pocket in front of you. We strongly suggest you read it before take-off. If you have any questions, please dont hesitate to ask one of our crew members. We wish you all an enjoyable flight.
TAKEOFF (CPT) - cpt_takeoff
Cabin crew, prepare for take-off.
SEATBELT OFF (F/A) - fa_seatbelt10k.wav
Ladies and gentlemen, the Captain has turned off the Fasten Seat Belt sign, and you may now move around the cabin. However we always recommend to keep your seat belt fastened while youre seated.
In a few moments, the flight attendants will be passing around the cabin to offer you hot or cold drinks, as well as a snack. Alcoholic drinks are also available at a nominal charge. Now, sit back, relax, and enjoy the flight. Thank you.
DESCENT (F/A) - fa_descent
Ladies and gentlemen, as we start our descent, please make sure your seat backs and tray tables are in their full upright position. Make sure your seat belt is securely fastened and all carry-on luggage is stowed underneath the seat in front of you or in the overhead bins. Thank you.
LANDING (CPT) - cpt_landing
Cabin crew, prepare for landing.
LANDED (F/A) - fa_landed
Ladies and gentlemen, welcome to your destination Airport.
For your safety and comfort, please remain seated with your seat belt fastened until the Captain turns off the Fasten Seat Belt sign. This will indicate that we have parked at the gate and that it is safe for you to move about. At this time, you may use your cellular phones if you wish.
Please check around your seat for any personal belongings you may have brought on board with you and please use caution when opening the overhead bins, as heavy articles may have shifted around during the flight.
If you require deplaning assistance, please remain in your seat until all other passengers have deplaned. One of our crew members will then be pleased to assist you.
On behalf of the entire crew, Id like to thank you for joining us on this trip and we are looking forward to seeing you on board again in the near future. Have a nice stay.

View file

@ -16,6 +16,22 @@
<path>Aircraft/A320-family/Models/Engines/XMLs/a320.cfm.xml</path>
</model>
<animation>
<type>select</type>
<object-name>Sharklet</object-name>
<condition>
<property>sim/multiplay/generic/int[12]</property>
</condition>
</animation>
<animation>
<type>select</type>
<object-name>WingtipFence</object-name>
<condition>
<property>sim/multiplay/generic/int[12]</property>
</condition>
</animation>
<!-- Nasal code -->
<nasal>
<load>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<irradiance-map-type type="int">2</irradiance-map-type>
<irradiance-map-strength type="float">0.33</irradiance-map-strength>
<texture n="4">

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<irradiance-map-type type="int">1</irradiance-map-type>
<irradiance-map-strength type="float">0.33</irradiance-map-strength>
<texture n="4">

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>panel</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/pedestal-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

View file

@ -2,6 +2,7 @@
<name>tiller</name>
<inherits-from>Effects/model-interior</inherits-from>
<parameters>
<shadow-mapping-enabled type="bool">true</shadow-mapping-enabled>
<lightmap-enabled type="int">1</lightmap-enabled>
<lightmap-factor type="float" n="0"><use>/controls/lighting/panel-light</use></lightmap-factor>
<lightmap-color type="vec3d" n="0">1.0 1.0 1.0</lightmap-color>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 495 KiB

After

Width:  |  Height:  |  Size: 495 KiB

View file

@ -73,7 +73,7 @@
<offsets>
<x-m>-7.432</x-m>
<y-m>-5.63029</y-m>
<z-m>-2.16465</z-m>
<z-m>-2.76465</z-m>
<pitch-deg>0</pitch-deg>
</offsets>
</model>
@ -104,7 +104,7 @@
<offsets>
<x-m>-7.432</x-m>
<y-m> 5.63029</y-m>
<z-m>-2.16465</z-m>
<z-m>-2.76465</z-m>
<pitch-deg>0</pitch-deg>
</offsets>
</model>

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View file

@ -365,12 +365,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 +397,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 +428,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>
@ -5421,18 +5453,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>
@ -6960,6 +7038,65 @@
</binding>
</action>
</animation>
<animation>
<type>rotate</type>
<object-name>ecam_att_hdg</object-name>
<object-name>ecam_att_hdg.mark</object-name>
<factor>-30</factor>
<property>controls/navigation/switching/att-hdg</property>
<axis>
<x1-m>-0.432428</x1-m>
<y1-m>-0.067552</y1-m>
<z1-m>-0.063695</z1-m>
<x2-m>-0.432195</x2-m>
<y2-m>-0.067552</y2-m>
<z2-m>-0.062285</z2-m>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>ecam_att_hdg</object-name>
<action>
<button>0</button>
<button>3</button>
<repeatable>true</repeatable>
<binding>
<command>nasal</command>
<script>
if (systems.SwitchingPanel.Switches.attHdg.getValue() != 1) {
systems.SwitchingPanel.doAttHdg(systems.SwitchingPanel.Switches.attHdg.getValue() + 1);
} else {
systems.SwitchingPanel.doAttHdg(-1);
}
</script>
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/knb1", 1);</script>
</binding>
</action>
<action>
<button>2</button>
<button>4</button>
<repeatable>true</repeatable>
<binding>
<command>nasal</command>
<script>
if (systems.SwitchingPanel.Switches.attHdg.getValue() != -1) {
systems.SwitchingPanel.doAttHdg(systems.SwitchingPanel.Switches.attHdg.getValue() - 1);
} else {
systems.SwitchingPanel.doAttHdg(1);
}
</script>
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/knb1", 1);</script>
</binding>
</action>
</animation>
<!-- Z Colors/Effects -->
<animation>
@ -7235,7 +7372,129 @@
<object-name>iesi_btn_plus</object-name>
<object-name>iesi_btn_rst</object-name>
</effect>
<animation>
<type>pick</type>
<object-name>iesi_btn_rst</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>property-assign</command>
<property>/instrumentation/iesi/att-reset-cmd</property>
<value>1</value>
</binding>
<mod-up>
<binding>
<command>property-assign</command>
<property>/instrumentation/iesi/att-reset-cmd</property>
<value>0</value>
</binding>
</mod-up>
</action>
</animation>
<animation>
<type>translate</type>
<object-name>iesi_btn_rst</object-name>
<property>/instrumentation/iesi/att-reset-cmd</property>
<factor>0.0025</factor>
<axis>
<x1-m>-0.53312</x1-m>
<y1-m>-0.16166</y1-m>
<z1-m>0.16956</z1-m>
<x2-m>-0.53977</x2-m>
<y2-m>-0.16166</y2-m>
<z2-m>0.16765</z2-m>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>iesi_btn_plus</object-name>
<action>
<button>0</button>
<repeatable>true</repeatable>
<binding>
<command>property-assign</command>
<property>/instrumentation/iesi/plus</property>
<value>1</value>
</binding>
<binding>
<command>property-adjust</command>
<property>controls/lighting/DU/iesi</property>
<step>0.05</step>
<min>0</min>
<max>1</max>
</binding>
<mod-up>
<binding>
<command>property-assign</command>
<property>/instrumentation/iesi/plus</property>
<value>0</value>
</binding>
</mod-up>
</action>
</animation>
<animation>
<type>translate</type>
<object-name>iesi_btn_plus</object-name>
<property>/instrumentation/iesi/plus</property>
<factor>0.0025</factor>
<axis>
<x1-m>-0.53312</x1-m>
<y1-m>-0.16166</y1-m>
<z1-m>0.16956</z1-m>
<x2-m>-0.53977</x2-m>
<y2-m>-0.16166</y2-m>
<z2-m>0.16765</z2-m>
</axis>
</animation>
<animation>
<type>pick</type>
<object-name>iesi_btn_minus</object-name>
<action>
<button>0</button>
<repeatable>true</repeatable>
<binding>
<command>property-assign</command>
<property>/instrumentation/iesi/minus</property>
<value>1</value>
</binding>
<binding>
<command>property-adjust</command>
<property>controls/lighting/DU/iesi</property>
<step>-0.05</step>
<min>0</min>
<max>1</max>
</binding>
<mod-up>
<binding>
<command>property-assign</command>
<property>/instrumentation/iesi/minus</property>
<value>0</value>
</binding>
</mod-up>
</action>
</animation>
<animation>
<type>translate</type>
<object-name>iesi_btn_minus</object-name>
<property>/instrumentation/iesi/minus</property>
<factor>0.0025</factor>
<axis>
<x1-m>-0.53312</x1-m>
<y1-m>-0.16166</y1-m>
<z1-m>0.16956</z1-m>
<x2-m>-0.53977</x2-m>
<y2-m>-0.16166</y2-m>
<z2-m>0.16765</z2-m>
</axis>
</animation>
<effect>
<inherits-from>Aircraft/A320-family/Models/Effects/clock</inherits-from>
<!-- <object-name>clock</object-name>-->
@ -8810,5 +9069,49 @@
</binding>
</action>
</animation>
<!-- WX Radar -->
<animation>
<type>pick</type>
<object-name>radar_sys</object-name>
<action>
<button>0</button>
<repeatable>true</repeatable>
<binding>
<command>property-toggle</command>
<property>/instrumentation/efis[0]/inputs/wxr</property>
</binding>
<binding>
<command>property-toggle</command>
<property>/instrumentation/efis[1]/inputs/wxr</property>
</binding>
<binding>
<command>property-toggle</command>
<property>/instrumentation/wxr/enabled</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/switch1", 1);</script>
</binding>
</action>
</animation>
<animation>
<type>rotate</type>
<object-name>radar_sys</object-name>
<factor>-20</factor>
<property>/instrumentation/wxr/enabled</property>
<center>
<x-m>0.020282</x-m>
<y-m>-0.210647</y-m>
<z-m>-0.140496</z-m>
</center>
<axis>
<x>1</x>
<y>0</y>
<z>0</z>
</axis>
</animation>
</PropertyList>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 520 KiB

After

Width:  |  Height:  |  Size: 534 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 128 KiB

After

Width:  |  Height:  |  Size: 127 KiB

View file

@ -262,7 +262,9 @@
<animation>
<type>rotate</type>
<object-name>NLGFitting</object-name>
<object-name>NLGFitting.Placards</object-name>
<object-name>NLGFittingLower</object-name>
<object-name>NLGFittingLower.Placards</object-name>
<object-name>NLGFittingPanel</object-name>
<object-name>NLGSlidingTubeAxle</object-name>
<object-name>NLGWheels</object-name>
@ -357,6 +359,7 @@
<animation>
<type>rotate</type>
<object-name>MLGFittingL</object-name>
<object-name>MLGFittingL.Placards</object-name>
<object-name>MLGWheelsL</object-name>
<object-name>MLGCablesL1</object-name>
<object-name>MLGCablesL2</object-name>
@ -693,6 +696,7 @@
<animation>
<type>rotate</type>
<object-name>MLGFittingR</object-name>
<object-name>MLGFittingR.Placards</object-name>
<object-name>MLGWheelsR</object-name>
<object-name>MLGCablesR1</object-name>
<object-name>MLGCablesR2</object-name>
@ -1022,6 +1026,7 @@
<object-name>NLGSlidingTubeAxle</object-name>
<object-name>NLGWheels</object-name>
<object-name>NLGFittingLower</object-name>
<object-name>NLGFittingLower.Placards</object-name>
<object-name>NLGTorqueLink1</object-name>
<property>sim/multiplay/generic/float[1]</property>
<factor>75</factor>
@ -2644,6 +2649,7 @@
<type>pick</type>
<object-name>DoorL1</object-name>
<object-name>DoorL1.Inner</object-name>
<object-name>DoorL1.Placards</object-name>
<action>
<button>0</button>
<repeatable type="bool">false</repeatable>
@ -2701,6 +2707,7 @@
<type>translate</type>
<object-name>DoorL1</object-name>
<object-name>DoorL1.Inner</object-name>
<object-name>DoorL1.Placards</object-name>
<property>sim/model/door-positions/doorl1/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
@ -2719,6 +2726,7 @@
<type>translate</type>
<object-name>DoorL1</object-name>
<object-name>DoorL1.Inner</object-name>
<object-name>DoorL1.Placards</object-name>
<property>sim/model/door-positions/doorl1/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
@ -2738,6 +2746,7 @@
<type>pick</type>
<object-name>DoorL4</object-name>
<object-name>DoorL4.Inner</object-name>
<object-name>DoorL4.Placards</object-name>
<action>
<button>0</button>
<repeatable type="bool">false</repeatable>
@ -2795,6 +2804,7 @@
<type>translate</type>
<object-name>DoorL4</object-name>
<object-name>DoorL4.Inner</object-name>
<object-name>DoorL4.Placards</object-name>
<property>sim/model/door-positions/doorl4/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
@ -2813,6 +2823,7 @@
<type>translate</type>
<object-name>DoorL4</object-name>
<object-name>DoorL4.Inner</object-name>
<object-name>DoorL4.Placards</object-name>
<property>sim/model/door-positions/doorl4/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
@ -2832,6 +2843,7 @@
<type>pick</type>
<object-name>DoorR1</object-name>
<object-name>DoorR1.Inner</object-name>
<object-name>DoorR1.Placards</object-name>
<action>
<button>0</button>
<repeatable type="bool">false</repeatable>
@ -2889,6 +2901,7 @@
<type>translate</type>
<object-name>DoorR1</object-name>
<object-name>DoorR1.Inner</object-name>
<object-name>DoorR1.Placards</object-name>
<property>sim/model/door-positions/doorr1/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
@ -2907,6 +2920,7 @@
<type>translate</type>
<object-name>DoorR1</object-name>
<object-name>DoorR1.Inner</object-name>
<object-name>DoorR1.Placards</object-name>
<property>sim/model/door-positions/doorr1/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
@ -2926,6 +2940,7 @@
<type>pick</type>
<object-name>DoorR4</object-name>
<object-name>DoorR4.Inner</object-name>
<object-name>DoorR4.Placards</object-name>
<action>
<button>0</button>
<repeatable type="bool">false</repeatable>
@ -2983,6 +2998,7 @@
<type>translate</type>
<object-name>DoorR4</object-name>
<object-name>DoorR4.Inner</object-name>
<object-name>DoorR4.Placards</object-name>
<property>sim/model/door-positions/doorr4/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>
@ -3001,6 +3017,7 @@
<type>translate</type>
<object-name>DoorR4</object-name>
<object-name>DoorR4.Inner</object-name>
<object-name>DoorR4.Placards</object-name>
<property>sim/model/door-positions/doorr4/position-norm</property>
<interpolation>
<entry><ind>0</ind><dep>0</dep></entry>

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 482 KiB

After

Width:  |  Height:  |  Size: 470 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 835 KiB

After

Width:  |  Height:  |  Size: 1,010 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View file

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
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="DCDU-test.svg"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
id="svg2"
version="1.1"
viewBox="0 0 766 511.99999"
height="512pt"
width="766pt">
<metadata
id="metadata375">
<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 />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs373" />
<sodipodi:namedview
inkscape:document-rotation="0"
fit-margin-bottom="0"
fit-margin-right="0"
fit-margin-left="0"
fit-margin-top="0"
units="pt"
inkscape:snap-global="false"
showguides="true"
inkscape:current-layer="svg2"
inkscape:window-maximized="1"
inkscape:window-y="-8"
inkscape:window-x="-8"
inkscape:cy="195.55698"
inkscape:cx="9.3859482"
inkscape:zoom="0.45254834"
showgrid="true"
id="namedview371"
inkscape:window-height="705"
inkscape:window-width="1366"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
guidetolerance="10"
gridtolerance="10"
objecttolerance="20"
borderopacity="1"
bordercolor="#666666"
pagecolor="#000000"
inkscape:document-units="px">
<inkscape:grid
originy="0"
originx="0"
id="grid5153"
type="xygrid" />
</sodipodi:namedview>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:6px;line-height:1.5;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.5px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
x="384.00595"
y="195.90379"
id="Test_text"
inkscape:label="#text4335"><tspan
sodipodi:role="line"
id="tspan4337"
x="384.00595"
y="195.90379"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:46px;line-height:1.25;font-family:'Lucida Sans';-inkscape-font-specification:'Lucida Sans';text-align:center;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke-width:0.5px">WAITING FOR DATA</tspan><tspan
sodipodi:role="line"
x="384.00595"
y="253.40379"
id="tspan4339"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:46px;line-height:1.25;font-family:'Lucida Sans';-inkscape-font-specification:'Lucida Sans';text-align:center;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke-width:0.5px">(MAX 30 SECONDS)</tspan></text>
</svg>

After

Width:  |  Height:  |  Size: 3 KiB

View file

@ -3,12 +3,19 @@
# Copyright (c) 2020 Josh Davidson (Octal450)
var DCDU = nil;
var DCDU_test = nil;
var DCDU_display = nil;
var elapsedtime = 0;
var et = 0;
var acconfig = props.globals.getNode("/systems/acconfig/autoconfig-running", 1);
# props.nas nodes
var dcdu_rate = props.globals.getNode("/systems/acconfig/options/dcdu-rate", 1);
var dcdu_test = props.globals.initNode("/instrumentation/du/dcdu-test", 0, "BOOL");
var dcdu_test_time = props.globals.initNode("/instrumentation/du/dcdu-test-time", 0.0, "DOUBLE");
var dcdu_offtime = props.globals.initNode("/instrumentation/du/dcdu-off-time", 0.0, "DOUBLE");
var dcdu_test_amount = props.globals.initNode("/instrumentation/du/dcdu-test-amount", 0.0, "DOUBLE");
var canvas_DCDU_base = {
init: func(canvas_group, file) {
var font_mapper = func(family, weight) {
@ -48,12 +55,44 @@ var canvas_DCDU_base = {
getKeys: func() {
return [];
},
update: func() {
updateTest: func() {
if (systems.ELEC.Bus.dc1.getValue() >= 25 or systems.ELEC.Bus.ac1.getValue() >= 110) {
DCDU.page.show();
DCDU.update();
if (dcdu_offtime.getValue() + 3 < et) {
if (pts.Gear.wow[0].getValue() == 1) {
if (acconfig.getValue() != 1 and dcdu_test.getValue() != 1) {
dcdu_test.setValue(1);
dcdu_test_amount.setValue(math.round((rand() * 5 ) + 25, 0.1));
dcdu_test_time.setValue(et);
} else if (acconfig.getValue() == 1 and dcdu_test.getValue() != 1) {
dcdu_test.setValue(1);
dcdu_test_amount.setValue(math.round((rand() * 5 ) + 25, 0.1));
dcdu_test_time.setValue(et - 20);
}
} else {
dcdu_test.setValue(1);
dcdu_test_amount.setValue(0);
dcdu_test_time.setValue(-100);
}
}
} else {
dcdu_test.setValue(0);
dcdu_offtime.setValue(et);
}
},
update: func() {
et = pts.Sim.Time.elapsedSec.getValue();
if (systems.ELEC.Bus.dc1.getValue() >= 25 or systems.ELEC.Bus.ac1.getValue() >= 110) {
if (dcdu_test_time.getValue() + dcdu_test_amount.getValue() >= et) {
DCDU.page.hide();
DCDU_test.page.show();
} else {
DCDU.page.show();
DCDU_test.page.hide();
DCDU.update();
}
} else {
DCDU.page.hide();
DCDU_test.page.hide();
}
},
};
@ -90,6 +129,34 @@ var canvas_DCDU = {
}
};
var canvas_DCDU_test = {
init: func(canvas_group, file) {
var font_mapper = func(family, weight) {
return "LiberationFonts/LiberationSans-Regular.ttf";
};
canvas.parsesvg(canvas_group, file, {"font-mapper": font_mapper});
var svg_keys = me.getKeys();
foreach(var key; svg_keys) {
me[key] = canvas_group.getElementById(key);
}
me.page = canvas_group;
return me;
},
new: func(canvas_group, file) {
var m = {parents: [canvas_DCDU_test]};
m.init(canvas_group, file);
return m;
},
getKeys: func() {
return ["Test_white","Test_text"];
},
};
setlistener("sim/signals/fdm-initialized", func {
DCDU_display = canvas.new({
"name": "DCDU",
@ -100,8 +167,11 @@ setlistener("sim/signals/fdm-initialized", func {
DCDU_display.addPlacement({"node": "dcduScreenL"});
DCDU_display.addPlacement({"node": "dcduScreenR"});
var group_DCDU = DCDU_display.createGroup();
var group_DCDU_test = DCDU_display.createGroup();
DCDU = canvas_DCDU.new(group_DCDU, "Aircraft/A320-family/Models/Instruments/DCDU/DCDU.svg");
DCDU_test = canvas_DCDU_test.new(group_DCDU_test, "Aircraft/A320-family/Models/Instruments/DCDU/DCDU-test.svg");
DCDU_update.start();
if (dcdu_rate.getValue() > 1) {
@ -117,6 +187,14 @@ var DCDU_update = maketimer(0.05, func {
canvas_DCDU_base.update();
});
setlistener("/systems/electrical/bus/dc-1", func() {
canvas_DCDU_base.updateTest();
}, 0, 0);
setlistener("/systems/electrical/bus/ac-1", func() {
canvas_DCDU_base.updateTest();
}, 0, 0);
var showDCDU = func {
var dlg = canvas.Window.new([383, 256], "dialog").set("resize", 1);
dlg.setCanvas(DCDU_display);

View file

@ -2,110 +2,167 @@
# Copyright (c) 2020 Josh Davidson (Octal450)
var IESI = nil;
var IESI_display = nil;
var elapsedtime = 0;
var ASI = 0;
var alt = 0;
var altTens = 0;
var airspeed_act = 0;
var mach_act = 0;
# props.nas nodes
var iesi_init = props.globals.initNode("/instrumentation/iesi/iesi-init", 0, "BOOL");
var iesi_time = props.globals.initNode("/instrumentation/iesi/iesi-init-time", 0.0, "DOUBLE");
var iesi_rate = props.globals.getNode("/systems/acconfig/options/iesi-rate", 1);
var et = props.globals.getNode("/sim/time/elapsed-sec", 1);
var aconfig = props.globals.getNode("/systems/acconfig/autoconfig-running", 1);
var iesi_reset = props.globals.initNode("/instrumentation/iesi/att-reset", 0, "DOUBLE");
var airspeed = props.globals.getNode("/instrumentation/airspeed-indicator/indicated-speed-kt", 1);
var mach = props.globals.getNode("/instrumentation/airspeed-indicator/indicated-mach", 1);
var pitch = props.globals.getNode("/orientation/pitch-deg", 1);
var roll = props.globals.getNode("/orientation/roll-deg", 1);
var skid = props.globals.getNode("/instrumentation/slip-skid-ball/indicated-slip-skid", 1);
var altitude = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft", 1);
var altitude_ind = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft-pfd", 1);
var ASI = 0;
var _showIESI = 0;
var _fast = 0;
var _IESITime = 0;
var altimeter_mode = props.globals.getNode("/instrumentation/altimeter[0]/std", 1);
var qnh_hpa = props.globals.getNode("/instrumentation/altimeter/setting-hpa", 1);
var qnh_inhg = props.globals.getNode("/instrumentation/altimeter/setting-inhg", 1);
var canvas_IESI_base = {
init: func(canvas_group, file) {
var font_mapper = func(family, weight) {
var canvas_IESI = {
new: func(svg, name) {
var obj = {parents: [canvas_IESI] };
obj.canvas = canvas.new({
"name": "IESI",
"size": [1024, 1024],
"view": [1024, 1024],
"mipmapping": 1,
});
obj.canvas.addPlacement({"node": "iesi.screen"});
obj.group = obj.canvas.createGroup();
obj.font_mapper = func(family, weight) {
return "LiberationFonts/LiberationSans-Regular.ttf";
};
canvas.parsesvg(canvas_group, file, {"font-mapper": font_mapper});
var svg_keys = me.getKeys();
foreach(var key; svg_keys) {
me[key] = canvas_group.getElementById(key);
var svg_keys = me.getKeys();
foreach (var key; svg_keys) {
me[key] = canvas_group.getElementById(key);
var clip_el = canvas_group.getElementById(key ~ "_clip");
if (clip_el != nil) {
clip_el.setVisible(0);
var tran_rect = clip_el.getTransformedBounds();
var clip_rect = sprintf("rect(%d,%d, %d,%d)",
tran_rect[1], # 0 ys
tran_rect[2], # 1 xe
tran_rect[3], # 2 ye
tran_rect[0]); #3 xs
# coordinates are top,right,bottom,left (ys, xe, ye, xs) ref: l621 of simgear/canvas/CanvasElement.cxx
me[key].set("clip", clip_rect);
me[key].set("clip-frame", canvas.Element.PARENT);
}
}
}
me.AI_horizon_trans = me["AI_horizon"].createTransform();
me.AI_horizon_rot = me["AI_horizon"].createTransform();
me.page = canvas_group;
return me;
},
getKeys: func() {
return [];
},
update: func() {
cur_time = et.getValue();
if (systems.ELEC.Bus.dcEss.getValue() >= 25 or (systems.ELEC.Bus.dcHot1.getValue() >= 25 and airspeed.getValue() >= 50 and cur_time >= 5)) {
IESI.page.show();
IESI.update();
canvas.parsesvg(obj.group, svg, {"font-mapper": obj.font_mapper} );
foreach(var key; obj.getKeys()) {
obj[key] = obj.group.getElementById(key);
if (aconfig.getValue() != 1 and iesi_init.getValue() != 1) {
iesi_init.setBoolValue(1);
iesi_time.setValue(cur_time);
} else if (aconfig.getValue() == 1 and iesi_init.getValue() != 1) {
iesi_init.setBoolValue(1);
iesi_time.setValue(cur_time - 87);
}
} else {
iesi_init.setBoolValue(0);
IESI.page.hide();
}
},
};
var clip_el = obj.group.getElementById(key ~ "_clip");
if (clip_el != nil) {
clip_el.setVisible(0);
var tran_rect = clip_el.getTransformedBounds();
var canvas_IESI = {
new: func(canvas_group, file) {
var m = {parents: [canvas_IESI, canvas_IESI_base]};
m.init(canvas_group, file);
m._cachedInhg = -99;
var clip_rect = sprintf("rect(%d,%d, %d,%d)",
tran_rect[1],
tran_rect[2],
tran_rect[3],
tran_rect[0]);
obj[key].set("clip", clip_rect);
obj[key].set("clip-frame", canvas.Element.PARENT);
}
};
obj.AI_horizon_trans = obj["AI_horizon"].createTransform();
obj.AI_horizon_rot = obj["AI_horizon"].createTransform();
return m;
},
obj.middleAltOffset = nil;
obj.update_items = [
props.UpdateManager.FromHashValue("airspeed", nil, func(val) {
# Subtract 30, since the scale starts at 30, but don't allow less than 0, or more than 520 knots
if (val <= 30) {
ASI = 0;
} else if (val >= 520) {
ASI = 490;
} else {
ASI = val - 30;
}
obj["ASI_scale"].setTranslation(0, ASI * 8.295);
}),
props.UpdateManager.FromHashList(["altitude","altitude_ind"], nil, func(val) {
if (val.altitude > 50000) {
val.altitude = 50000;
} elsif (val.altitude < -2000) {
val.altitude = -2000;
}
if (val.altitude < 0) {
obj["negText"].show();
obj["negText2"].show();
} else {
obj["negText"].hide();
obj["negText2"].hide();
}
obj.altOffset = (val.altitude / 500) - int(val.altitude / 500);
obj.middleAltText = roundaboutAlt(val.altitude / 100);
if (obj.altOffset > 0.5) {
obj.middleAltOffset = -(obj.altOffset - 1) * 258.5528;
} else {
obj.middleAltOffset = -obj.altOffset * 258.5528;
}
obj["ALT_scale"].setTranslation(0, -obj.middleAltOffset);
obj["ALT_scale"].update();
obj["ALT_five"].setText(sprintf("%03d", abs(obj.middleAltText+10)));
obj["ALT_four"].setText(sprintf("%03d", abs(obj.middleAltText+5)));
obj["ALT_three"].setText(sprintf("%03d", abs(obj.middleAltText)));
obj["ALT_two"].setText(sprintf("%03d", abs(obj.middleAltText-5)));
obj["ALT_one"].setText(sprintf("%03d", abs(obj.middleAltText-10)));
if (val.altitude < 0 and val.altitude_ind > 20) {
val.altitude_ind = 20;
} elsif (val.altitude > 0 and val.altitude_ind > 500) {
val.altitude_ind = 500;
}
obj["ALT_digits"].setText(sprintf("%s", val.altitude_ind));
obj["ALT_meters"].setText(sprintf("%5.0f", math.round(val.altitude * 0.3048, 10)));
obj.altTens = num(right(sprintf("%02d", val.altitude), 2));
obj["ALT_tens"].setTranslation(0, obj.altTens * 3.16);
}),
props.UpdateManager.FromHashValue("mach", nil, func(val) {
if (val >= 0.5) {
obj._machWasAbove50 = 1;
obj["ASI_mach_decimal"].show();
obj["ASI_mach"].show();
} elsif (val >= 0.45 and obj._machWasAbove50) {
obj["ASI_mach_decimal"].show();
obj["ASI_mach"].show();
} else {
obj._machWasAbove50 = 0;
obj["ASI_mach_decimal"].hide();
obj["ASI_mach"].hide();
}
if (val >= 0.999) {
obj["ASI_mach"].setText("99");
} else {
obj["ASI_mach"].setText(sprintf("%2.0f", val * 100));
}
}),
props.UpdateManager.FromHashValue("pitch", nil, func(val) {
obj.AI_horizon_trans.setTranslation(0, val * 16.74);
}),
props.UpdateManager.FromHashValue("roll", nil, func(val) {
obj.AI_horizon_rot.setRotation(-val * D2R, obj["AI_center"].getCenter());
obj["AI_bank"].setRotation(-val * D2R);
}),
props.UpdateManager.FromHashValue("skid", nil, func(val) {
obj["AI_slipskid"].setTranslation(val, 0);
}),
props.UpdateManager.FromHashList(["altimeter_mode","qnh_hpa","qnh_inhg"], nil, func(val) {
obj.updateQNH(val);
}),
];
_showIESI = 0;
_fast = 0;
_IESITime = 0.0;
obj._cachedInhg = nil;
return obj;
},
getKeys: func() {
return ["IESI","IESI_Init","ASI_scale","ASI_mach","ASI_mach_decimal","AI_center","AI_horizon","AI_bank","AI_slipskid","ALT_scale","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_meters","QNH_setting","QNH_std"];
return ["IESI","IESI_Init","ASI_scale","ASI_mach","ASI_mach_decimal","AI_center","AI_horizon","AI_bank","AI_slipskid","ALT_scale","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_meters","QNH_setting","QNH_std","negText","negText2","AI_bank_scale"];
},
update: func() {
if (iesi_time.getValue() + 90 >= et.getValue()) {
update: func(notification) {
if (notification.qnh_inhg != me._cachedInhg) {
me._cachedInhg = notification.qnh_inhg;
me.updateQNH(notification);
}
me.updatePower(notification);
if (me.group.getVisible() == 0) {
return;
}
if (_IESITime + 90 >= notification.elapsedTime) {
me["IESI"].hide();
me["IESI_Init"].show();
return;
@ -114,115 +171,119 @@ var canvas_IESI = {
me["IESI"].show();
}
# Airspeed
# Subtract 30, since the scale starts at 30, but don"t allow less than 0, or more than 420 situations
airspeed_act = airspeed.getValue();
mach_act = mach.getValue();
if (airspeed_act <= 30) {
ASI = 0;
} else if (airspeed_act >= 420) {
ASI = 390;
} else {
ASI = airspeed_act - 30;
}
me["ASI_scale"].setTranslation(0, ASI * 8.295);
if (mach_act >= 0.5) {
me["ASI_mach_decimal"].show();
me["ASI_mach"].show();
} else {
me["ASI_mach_decimal"].hide();
me["ASI_mach"].hide();
}
if (mach_act >= 0.999) {
me["ASI_mach"].setText("99");
} else {
me["ASI_mach"].setText(sprintf("%2.0f", mach_act * 100));
}
# Attitude
me.AI_horizon_trans.setTranslation(0, pitch.getValue() * 16.74);
me.AI_horizon_rot.setRotation(-roll.getValue() * D2R, me["AI_center"].getCenter());
me["AI_slipskid"].setTranslation(math.clamp(skid.getValue(), -7, 7) * -15, 0);
me["AI_bank"].setRotation(-roll.getValue() * D2R);
# Altitude
me.altitude = altitude.getValue();
me.altOffset = me.altitude / 500 - int(me.altitude / 500);
me.middleAltText = roundaboutAlt(me.altitude / 100);
me.middleAltOffset = nil;
if (me.altOffset > 0.5) {
me.middleAltOffset = -(me.altOffset - 1) * 258.5528;
} else {
me.middleAltOffset = -me.altOffset * 258.5528;
}
me["ALT_scale"].setTranslation(0, -me.middleAltOffset);
me["ALT_scale"].update();
me["ALT_five"].setText(sprintf("%03d", abs(me.middleAltText+10)));
me["ALT_four"].setText(sprintf("%03d", abs(me.middleAltText+5)));
me["ALT_three"].setText(sprintf("%03d", abs(me.middleAltText)));
me["ALT_two"].setText(sprintf("%03d", abs(me.middleAltText-5)));
me["ALT_one"].setText(sprintf("%03d", abs(me.middleAltText-10)));
me["ALT_digits"].setText(sprintf("%s", altitude_ind.getValue()));
me["ALT_meters"].setText(sprintf("%5.0f", me.altitude * 0.3048));
altTens = num(right(sprintf("%02d", altitude.getValue()), 2));
me["ALT_tens"].setTranslation(0, altTens * 3.16);
if (qnh_inhg.getValue() != me._cachedInhg) {
me._cachedInhg = qnh_inhg.getValue();
me.updateQNH();
}
foreach(var update_item; me.update_items)
{
update_item.update(notification);
}
},
updateQNH: func() {
if (altimeter_mode.getBoolValue()) {
updateQNH: func(notification) {
if (notification.altimeter_mode) {
me["QNH_setting"].hide();
me["QNH_std"].show();
} else {
me["QNH_setting"].setText(sprintf("%4.0f", qnh_hpa.getValue()) ~ "/" ~ sprintf("%2.2f", qnh_inhg.getValue()));
me["QNH_setting"].setText(sprintf("%4.0f", notification.qnh_hpa) ~ "/" ~ sprintf("%2.2f", notification.qnh_inhg));
me["QNH_setting"].show();
me["QNH_std"].hide();
}
}
},
updatePower: func(notification) {
# todo consider relay 7XB for power of DC HOT 1
# todo transient max 0.2s
# todo 20W power consumption
if (notification.attReset == 1) {
if (notification.iesiInit and _IESITime + 90 >= notification.elapsedTime) {
_fast = 1;
} else {
_fast = 0;
}
iesi_init.setBoolValue(0);
}
if (notification.dcEss >= 25 or (notification.dcHot1 >= 25 and notification.airspeed >= 50 and notification.elapsedTime >= 5)) {
_showIESI = 1;
if (notification.acconfig != 1 and notification.iesiInit != 1) {
iesi_init.setBoolValue(1);
if (_fast) {
_IESITime = notification.elapsedTime - 80;
_fast = 0;
} else {
_IESITime = notification.elapsedTime;
}
} else if (notification.acconfig == 1 and notification.iesiInit != 1) {
iesi_init.setBoolValue(1);
_IESITime = notification.elapsedTime - 87;
}
} else {
_showIESI = 0;
iesi_init.setBoolValue(0);
}
if (_showIESI and notification.iesiBrt > 0.01) {
me.group.setVisible(1);
} else {
me.group.setVisible(0);
}
},
};
setlistener("sim/signals/fdm-initialized", func {
IESI_display = canvas.new({
"name": "IESI",
"size": [1024, 1024],
"view": [1024, 1024],
"mipmapping": 1
});
IESI_display.addPlacement({"node": "iesi.screen"});
var group_IESI = IESI_display.createGroup();
IESI = canvas_IESI.new(group_IESI, "Aircraft/A320-family/Models/Instruments/IESI/res/iesi.svg");
IESI.updateQNH();
IESI_update.start();
if (iesi_rate.getValue() > 1) {
rateApply();
}
});
var IESIRecipient =
{
new: func(_ident)
{
var NewIESIRecipient = emesary.Recipient.new(_ident);
NewIESIRecipient.MainScreen = nil;
NewIESIRecipient.Receive = func(notification)
{
if (notification.NotificationType == "FrameNotification")
{
if (NewIESIRecipient.MainScreen == nil) {
NewIESIRecipient.MainScreen = canvas_IESI.new("Aircraft/A320-family/Models/Instruments/IESI/res/iesi.svg", "A320 IESI");
}
if (math.mod(notifications.frameNotification.FrameCount,2) == 0) {
NewIESIRecipient.MainScreen.update(notification);
}
return emesary.Transmitter.ReceiptStatus_OK;
}
return emesary.Transmitter.ReceiptStatus_NotProcessed;
};
return NewIESIRecipient;
},
};
setlistener("/instrumentation/altimeter[0]/std", func() { if (IESI != nil) { IESI.updateQNH(); } }, 0, 0);
var A320IESI = IESIRecipient.new("A320 IESI");
emesary.GlobalTransmitter.Register(A320IESI);
var rateApply = func {
IESI_update.restart(0.05 * iesi_rate.getValue());
var input = {
"acconfig": "/systems/acconfig/autoconfig-running",
"airspeed": "/instrumentation/airspeed-indicator[0]/indicated-speed-kt",
"altitude": "/instrumentation/altimeter/indicated-altitude-ft",
"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",
"pitch": "/instrumentation/iesi/pitch-deg",
"qnh_hpa": "/instrumentation/altimeter[0]/setting-hpa",
"qnh_inhg": "/instrumentation/altimeter[0]/setting-inhg",
"roll": "/orientation/roll-deg",
"skid": "/instrumentation/iesi/slip-skid",
};
foreach (var name; keys(input)) {
emesary.GlobalTransmitter.NotifyAll(notifications.FrameNotificationAddProperty.new("A320 IESI", name, input[name]));
}
var IESI_update = maketimer(0.05, func {
canvas_IESI_base.update();
});
var showIESI = func {
var dlg = canvas.Window.new([256, 256], "dialog").set("resize", 1);
dlg.setCanvas(IESI_display);
var dlg = canvas.Window.new([512, 512], "dialog").set("resize", 1);
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);
@ -231,4 +292,4 @@ var roundabout = func(x) {
var roundaboutAlt = func(x) {
var y = x * 0.2 - int(x * 0.2);
return y < 0.5 ? 5 * int(x * 0.2) : 5 + 5 * int(x * 0.2);
};
};

View file

@ -19,15 +19,15 @@
</action>
</animation>
<!--animation>
<animation>
<type>material</type>
<object-name>pfd1.screen</object-name>
<object-name>iesi.screen</object-name>
<emission>
<red>1</red>
<green>1</green>
<blue>1</blue>
<factor-prop>controls/lighting/DU/iesi</factor-prop>
</emission>
</animation-->
</animation>
</PropertyList>

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 121 KiB

After

Width:  |  Height:  |  Size: 115 KiB

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,25 @@ 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()));
me.gwStore = pts.Fdm.JSBsim.Inertia.weightLbs.getValue();
if (acconfig_weight_kgs.getValue()) {
me["GW"].setText(sprintf("%s", math.round(math.round(gw.getValue() * LBS2KGS, 100))));
me["GW"].setText(sprintf("%s", math.round(math.round(me.gwStore * LBS2KGS, 100))));
me["GW-weight-unit"].setText("KG");
} else {
me["GW"].setText(sprintf("%s", math.round(gw.getValue(), 100)));
me["GW"].setText(sprintf("%s", math.round(me.gwStore, 100)));
me["GW-weight-unit"].setText("LBS");
}
},
@ -505,7 +529,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 +662,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 +674,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 +700,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 +717,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 +734,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 +784,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 +816,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 +830,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 +844,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 +888,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 +898,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 +907,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 +934,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 +942,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 +984,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 +1010,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 +1060,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 +1091,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 +1236,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",
@ -1662,9 +1680,15 @@ var canvas_lowerECAM_elec = {
}
# Bus indicators
if (systems.ELEC.Bus.dcBat.getValue() > 25) {
me["ELEC-DCBAT-label"].setColor(0.0509,0.7529,0.2941);
if (systems.ELEC.Switch.bat1.getValue() or systems.ELEC.Switch.bat2.getValue()) {
me["ELEC-DCBAT-label"].setText("DC BAT");
if (systems.ELEC.Bus.dcBat.getValue() > 25) {
me["ELEC-DCBAT-label"].setColor(0.0509,0.7529,0.2941);
} else {
me["ELEC-DCBAT-label"].setColor(0.7333,0.3803,0);
}
} else {
me["ELEC-DCBAT-label"].setText("XX"); # BCL not powered hence no voltage info supplied from BCL
me["ELEC-DCBAT-label"].setColor(0.7333,0.3803,0);
}
@ -1884,7 +1908,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
@ -1942,15 +1966,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)));
@ -1970,16 +1998,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);
}
@ -1987,13 +2025,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);
@ -2231,34 +2269,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);
}
@ -2273,10 +2311,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 {
@ -2289,9 +2340,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);
@ -2305,7 +2369,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);
@ -2328,7 +2396,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",
@ -2608,7 +2676,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()));
@ -2627,7 +2695,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() {
@ -2643,7 +2711,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"];
@ -2912,7 +2980,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",

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

View file

@ -25,6 +25,7 @@ var myCLBWIND = [nil, nil];
var myCRZWIND = [nil, nil];
var myDESWIND = [nil, nil];
var myHISTWIND = [nil, nil];
var myAtis = [nil, nil];
var default = "BoeingCDU-Large.ttf";
#var symbol = "helvetica_medium.txf";
var symbol = "LiberationMonoCustom.ttf";
@ -73,6 +74,7 @@ var MAGENTA = [0.6902,0.3333,0.7541];
var mcdu_keyboard_left = props.globals.getNode("/FMGC/keyboard-left", 0);
var mcdu_keyboard_right = props.globals.getNode("/FMGC/keyboard-right", 0);
var acconfig_weight_kgs = props.globals.getNode("/systems/acconfig/options/weight-kgs", 1);
var engRdy = props.globals.getNode("/engines/ready");
#ACCONFIG
var mcdu1_lgt = props.globals.getNode("/controls/lighting/DU/mcdu1", 1);
@ -116,7 +118,6 @@ var align_set = props.globals.getNode("/FMGC/internal/align-set", 1);
# FUELPRED
var state1 = props.globals.getNode("/engines/engine[0]/state", 1);
var state2 = props.globals.getNode("/engines/engine[1]/state", 1);
var engrdy = props.globals.getNode("/engines/ready", 1);
# PERF
var altitude = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft", 1);
@ -233,7 +234,8 @@ var canvas_MCDU_base = {
"PERFAPPR_FE","PERFAPPR_SE","PERFAPPR_OE","PERFAPPR_LDG_3","PERFAPPR_LDG_F","PERFGA","PERFGA_FE","PERFGA_SE","PERFGA_OE","FPLN","FPLN_From",
"FPLN_TMPY_group","FPLN_FROM","FPLN_Callsign","departureTMPY", "arrowsDepArr","arrow1L","arrow2L","arrow3L","arrow4L","arrow5L","arrow1R","arrow2R",
"arrow3R","arrow4R","arrow5R","DIRTO_TMPY_group","IRSINIT","IRSINIT_1","IRSINIT_2","IRSINIT_star","NOTIFY","NOTIFY_FLTNBR","NOTIFY_AIRPORT","WEATHERREQSEND",
"WIND","WIND_CANCEL","WIND_INSERT_star","WIND_UPDOWN","MODEVHF3","PRINTPAGE","COMM-ADS","COCALL","COCALLTUNE"];
"WIND","WIND_CANCEL","WIND_INSERT_star","WIND_UPDOWN","MODEVHF3","PRINTPAGE","COMM-ADS","COCALL","COCALLTUNE","ATISSend1","ATISSend2","ATISSend3","ATISSend4",
"ATISArrows"];
},
update: func() {
if (systems.ELEC.Bus.ac1.getValue() >= 110 and mcdu1_lgt.getValue() > 0.01) {
@ -364,6 +366,15 @@ var canvas_MCDU_base = {
me["PRINTPAGE"].setColor(WHITE);
}
}
if (page != "ATIS") {
me["ATISSend1"].hide();
me["ATISSend2"].hide();
me["ATISSend3"].hide();
me["ATISSend4"].hide();
}
if (page != "ATISDETAIL") {
me["ATISArrows"].hide();
}
if (page == "F-PLNA" or page == "F-PLNB") {
if (!pageSwitch[i].getBoolValue()) {
me["Simple"].show();
@ -547,12 +558,14 @@ var canvas_MCDU_base = {
me.showLeftArrow(1, 1, 1, -1, 1, 1);
me.showRight(1, 1, 1, 1, 1, -1);
me.showRightS(-1, -1, -1, -1, -1, -1);
me.showRightArrow(1, 1, 1, 1, 1, -1);
me.showRightArrow(1, 1, 1, 1, 1, 1);
me["Simple_C3B"].hide();
me["Simple_C4B"].hide();
me.standardFontSize();
me.standardFontColour();
me["Simple_R6"].setColor(BLUE);
me["Simple_R6_Arrow"].setColor(BLUE);
me["Simple_L1"].setText(" PREFLIGHT");
me["Simple_L2"].setText(" ENROUTE");
@ -566,8 +579,72 @@ var canvas_MCDU_base = {
me["Simple_R3"].setText("RCVD MSGS ");
me["Simple_R4"].setText("REPORTS ");
me["Simple_R5"].setText("CONFIG ");
me["Simple_R6"].setText("MESSAGE ");
pageSwitch[i].setBoolValue(1);
}
if (mcdu.ReceivedMessagesDatabase.firstUnviewed() != -99) {
me["Simple_R6"].show();
me["Simple_R6_Arrow"].show();
} else {
me["Simple_R6"].hide();
me["Simple_R6_Arrow"].hide();
}
} else if (page == "AOCCONFIG") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHideWithCenter();
me["Simple_Title"].setText("AOC CONFIGURATION");
me.defaultPageNumbers();
me.showLeft(1, -1, -1, -1, -1, 1);
me["Simple_L0S"].hide();
me.showLeftS(1, -1, -1, -1, -1, 1);
me.showLeftArrow(-1, -1, -1, -1, -1, 1);
me.showCenter(1, 1, 1, 1, 1, -1);
me.showCenterS(1, -1, 1, -1, 1, -1);
me.showRight(1, -1, -1, -1, -1, 1);
me.showRightS(1, -1, -1, -1, -1, -1);
me.showRightArrow(-1, -1, -1, -1, -1, -1);
me["Simple_C3B"].hide();
me["Simple_C4B"].hide();
me.standardFontSize();
me.standardFontColour();
me["Simple_L1S"].setText("A/C REG");
me["Simple_L1"].setFontSize(small);
me["Simple_L1"].setColor(GREEN);
me["Simple_C1S"].setColor(GREEN);
me["Simple_R1"].setFontSize(small);
me["Simple_R1"].setColor(GREEN);
me["Simple_R1S"].setText("TYPE");
me["Simple_L6S"].setText(" RETURN TO");
me["Simple_L6"].setText(" AOC MENU");
me["Simple_C2"].setText("ATSU SW AND DB PN");
me["Simple_C3S"].setText("998.2459.501");
me["Simple_C3S"].setFontSize(small);
me["Simple_C3S"].setColor(GREEN);
me["Simple_C3"].setText("998.2460.501");
me["Simple_C3"].setFontSize(small);
me["Simple_C3"].setColor(GREEN);
me["Simple_C4"].setText("ATSU AOC ID");
me["Simple_C5S"].setText("AS2TOC1015010F1");
me["Simple_C5S"].setFontSize(small);
me["Simple_C5S"].setColor(GREEN);
me["Simple_C5"].setText("AS2TOC1012001F2");
me["Simple_C5"].setFontSize(small);
me["Simple_C5"].setColor(GREEN);
me["Simple_R6"].setText("PRINT ");
me["Simple_R6"].setColor(BLUE);
me["Simple_C1"].setFontSize(small);
me["Simple_C1"].setColor(GREEN);
pageSwitch[i].setBoolValue(1);
}
me["Simple_L1"].setText(getprop("/options/model-options/registration"));
me["Simple_C1S"].setText(sprintf("%02.0f", getprop("/sim/time/utc/hour")) ~ sprintf("%02.0f", getprop("/sim/time/utc/minute")));
me["Simple_C1"].setText(sprintf("%02.0f", getprop("/sim/time/utc/day")) ~ "/" ~ sprintf("%02.0f", getprop("/sim/time/utc/month")) ~ "/" ~ right(sprintf(getprop("/sim/time/utc/year")), 2));
me["Simple_R1S"].setText("TYPE");
me["Simple_R1"].setText(getprop("/MCDUC/type"));
} else if (page == "WEATHERREQ") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHide();
@ -847,9 +924,9 @@ var canvas_MCDU_base = {
me["Simple_L0S"].hide();
me.showLeftS(-1, -1, -1, -1, -1, 1);
me.showLeftArrow(1, 1, -1, 1, 1, 1);
me.showRight(1, 1, 1, -1, 1, 1);
me.showRight(1, 1, 1, 1, 1, 1);
me.showRightS(-1, -1, -1, -1, 1, -1);
me.showRightArrow(1, 1, 1, -1, 1, 1);
me.showRightArrow(1, 1, 1, 1, 1, 1);
me["Simple_C3B"].hide();
me["Simple_C4B"].hide();
@ -873,15 +950,106 @@ var canvas_MCDU_base = {
me["Simple_R1"].setText("VERT REQ ");
me["Simple_R2"].setText("OTHER ");
me["Simple_R3"].setText("TEXT ");
me["Simple_R3"].setText("REPORTS ");
me["Simple_R4"].setText("REPORTS ");
me["Simple_R5"].setText("STATUS ");
me["Simple_R5S"].setText("CONNECTION ");
me["Simple_R6"].setText("EMERGENCY ");
pageSwitch[i].setBoolValue(1);
}
} else if (page == "MCDUTEXT") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHideWithCenter();
me["Simple_Title"].setText("TEXT");
me["Simple_Title"].setColor(1, 1, 1);
me["Simple_PageNum"].setText("1/2");
me["Simple_PageNum"].show();
me["ArrowLeft"].show();
me["ArrowRight"].show();
me.showLeft(1, 1, 1, 1, 1, 1);
me["Simple_L0S"].hide();
me.showLeftS(1, 1, 1, -1, 1, 1);
me.showLeftArrow(1, 1, 1, -1, 1, 1);
me.showCenter(-1, -1, -1, -1, -1, -1);
me.showCenterS(-1, -1, -1, 1, -1, -1);
me.showRightS(1, 1, 1, -1, -1, 1);
me.showRight(1, 1, 1, -1, -1, 1);
me.showRightS(1, 1, 1, -1, -1, 1);
me.showRightArrow(1, 1, 1, -1, -1, 1);
me["Simple_C3B"].hide();
me["Simple_C4B"].hide();
me.standardFontSize();
me["Simple_L4"].setFont(symbol);
me.colorLeft("wht", "wht", "wht", "blu", "wht", "wht");
me.colorLeftS("wht", "wht", "wht", "wht", "wht", "wht");
me.colorLeftArrow("blu", "blu", "blu", "wht", "wht", "wht");
me.colorRight("wht", "wht", "wht", "wht", "wht", "blu");
me.colorRightS("wht", "wht", "wht", "wht", "wht", "blu");
me.colorRightArrow("blu", "blu", "blu", "wht", "wht", "blu");
me["Simple_L1"].setText(" A/C PERFORM.");
me["Simple_L1S"].setText(" DUE TO");
me["Simple_L2"].setText(" WEATHER");
me["Simple_L2S"].setText(" DUE TO");
me["Simple_L3"].setText(" TURBULENCE");
me["Simple_L3S"].setText(" DUE TO");
me["Simple_R1"].setText("MEDICAL ");
me["Simple_R1S"].setText("DUE TO ");
me["Simple_R2"].setText("TECHNICAL ");
me["Simple_R2S"].setText("DUE TO" );
me["Simple_R3"].setText("DISCRETION ");
me["Simple_R3S"].setText("AT PILOTS ");
me["Simple_C4S"].setText("-------- FREE TEXT --------");
me["Simple_L4"].setText("[ ]");
me["Simple_L5"].setText(" ERASE");
me["Simple_L5S"].setText(" ALL FIELDS");
me["Simple_L6S"].setText(" ATC MENU");
me["Simple_L6"].setText(" RETURN");
me["Simple_R6S"].setText("ATC ");
me["Simple_R6"].setText("TEXT DISPL ");
pageSwitch[i].setBoolValue(1);
}
if (atsu.freeTexts[i].selection == 0) {
pageSwitch[i].setBoolValue(0);
me["Simple_L1_Arrow"].hide();
me["Simple_L1"].setColor(BLUE);
me["Simple_L1S"].setColor(BLUE);
} elsif (atsu.freeTexts[i].selection == 1) {
pageSwitch[i].setBoolValue(0);
me["Simple_L2_Arrow"].hide();
me["Simple_L2"].setColor(BLUE);
me["Simple_L2S"].setColor(BLUE);
} elsif (atsu.freeTexts[i].selection == 2) {
pageSwitch[i].setBoolValue(0);
me["Simple_L3_Arrow"].hide();
me["Simple_L3"].setColor(BLUE);
me["Simple_L3S"].setColor(BLUE);
} elsif (atsu.freeTexts[i].selection == 3) {
pageSwitch[i].setBoolValue(0);
me["Simple_R1_Arrow"].hide();
me["Simple_R1"].setColor(BLUE);
me["Simple_R1S"].setColor(BLUE);
} elsif (atsu.freeTexts[i].selection == 4) {
pageSwitch[i].setBoolValue(0);
me["Simple_R2_Arrow"].hide();
me["Simple_R2"].setColor(BLUE);
me["Simple_R2S"].setColor(BLUE);
} elsif (atsu.freeTexts[i].selection == 5) {
pageSwitch[i].setBoolValue(0);
me["Simple_R3_Arrow"].hide();
me["Simple_R3"].setColor(BLUE);
me["Simple_R3S"].setColor(BLUE);
} elsif (atsu.freeTexts[i].selection == 9) {
pageSwitch[i].setBoolValue(0);
me["Simple_L5_Arrow"].hide();
}
} else if (page == "ATCMENU2") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHide();
me.defaultHideWithCenter();
me["Simple_Title"].setText("ATC MENU");
me["Simple_Title"].setColor(1, 1, 1);
me["Simple_PageNum"].setText("2/2");
@ -893,6 +1061,8 @@ var canvas_MCDU_base = {
me["Simple_L0S"].hide();
me.showLeftS(-1, -1, -1, -1, -1, 1);
me.showLeftArrow(1, 1, -1, -1, -1, 1);
me.showCenter(-1, -1, -1, -1, -1, -1);
me.showCenterS(1, -1, -1, -1, -1, -1);
me.showRight(1, -1, -1, -1, -1, -1);
me.showRightS(-1, -1, -1, -1, -1, -1);
me.showRightArrow(1, -1, -1, -1, -1, -1);
@ -900,16 +1070,230 @@ var canvas_MCDU_base = {
me["Simple_C4B"].hide();
me.standardFontSize();
me.fontSizeCenter(normal, normal, normal, normal, normal, normal);
me.standardFontColour();
me.colorCenterS("wht", "wht", "wht", "wht", "wht", "wht");
me["Simple_L1"].setText(" DEPART REQ");
me["Simple_L2"].setText(" OCEANIC REQ");
me["Simple_C1S"].setText(" -------- ATS623 PAGE -------- ");
me["Simple_L6S"].setText(" ATSU DLK");
me["Simple_L6"].setText(" RETURN");
me["Simple_R1"].setText("ATIS ");
pageSwitch[i].setBoolValue(1);
}
} else if (page == "ATISDETAIL") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHide();
me["Simple_PageNum"].hide();
me["ArrowLeft"].hide();
me["ArrowRight"].hide();
me["Simple_L0S"].hide();
me["Simple_C3B"].hide();
me["Simple_C4B"].hide();
me.fontLeft(default, default, default, default, default, default);
me.fontLeftS(default, default, default, default, default, default);
me.fontRight(default, default, default, default, default, default);
me.fontRightS(default, default, default, default, default, default);
me.fontSizeLeft(small, small, small, small, normal, normal);
me.fontSizeCenter(normal, normal, normal, normal, normal, normal);
me.fontSizeRight(normal, normal, normal, normal, normal, normal);
me.colorLeftS("grn", "wht", "wht", "wht", "wht", "wht");
me.colorRightS("grn", "wht", "wht", "wht", "wht", "wht");
if (myAtis[i] != nil) {
me["Simple_Title"].setText(sprintf("%s", myAtis[i].title));
me.dynamicPageArrowFunc(myAtis[i]);
me.colorLeftArrow(myAtis[i].arrowsColour[0][0],myAtis[i].arrowsColour[0][1],myAtis[i].arrowsColour[0][2],myAtis[i].arrowsColour[0][3],myAtis[i].arrowsColour[0][4],myAtis[i].arrowsColour[0][5]);
me.colorRightArrow(myAtis[i].arrowsColour[1][0],myAtis[i].arrowsColour[1][1],myAtis[i].arrowsColour[1][2],myAtis[i].arrowsColour[1][3],myAtis[i].arrowsColour[1][4],myAtis[i].arrowsColour[1][5]);
me.dynamicPageFunc(myAtis[i].L1, "Simple_L1");
me.dynamicPageFunc(myAtis[i].L2, "Simple_L2");
me.dynamicPageFunc(myAtis[i].L3, "Simple_L3");
me.dynamicPageFunc(myAtis[i].L4, "Simple_L4");
me.dynamicPageFunc(myAtis[i].L5, "Simple_L5");
me.dynamicPageFunc(myAtis[i].L6, "Simple_L6");
me.colorLeft(myAtis[i].L1[2],myAtis[i].L2[2],myAtis[i].L3[2],myAtis[i].L4[2],myAtis[i].L5[2],myAtis[i].L6[2]);
me.dynamicPageFunc(myAtis[i].R1, "Simple_R1");
me.dynamicPageFunc(myAtis[i].R2, "Simple_R2");
me.dynamicPageFunc(myAtis[i].R3, "Simple_R3");
me.dynamicPageFunc(myAtis[i].R4, "Simple_R4");
me.dynamicPageFunc(myAtis[i].R5, "Simple_R5");
me.dynamicPageFunc(myAtis[i].R6, "Simple_R6");
me.colorRight(myAtis[i].R1[2],myAtis[i].R2[2],myAtis[i].R3[2],myAtis[i].R4[2],myAtis[i].R5[2],myAtis[i].R6[2]);
}
if (myAtis[i].getNumPages() > 1) {
me["Simple_PageNum"].show();
me["ATISArrows"].show();
me["Simple_PageNum"].setText(myAtis[i].page ~ "/" ~ myAtis[i].getNumPages());
} else {
me["Simple_PageNum"].hide();
me["ATISArrows"].hide();
}
pageSwitch[i].setBoolValue(1);
}
} else if (page == "ATIS") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHideWithCenter();
me["Simple_Title"].setText("ATS623 ATIS MENU");
me["Simple_Title"].setColor(1, 1, 1);
me["Simple_PageNum"].hide();
me["ArrowLeft"].hide();
me["ArrowRight"].hide();
me.showLeft(1, 1, 1, 1, -1, 1);
me["Simple_L0S"].hide();
me.showLeftS(1, -1, -1, -1, -1, 1);
me.showLeftArrow(1, 1, 1, -1, -1, 1);
me.showCenter(-1, -1, -1, -1, -1, -1);
me.showCenterS(-1, -1, -1, -1, -1, -1);
me.showRight(1, 1, 1, 1, 1, 1);
me.showRightS(1, 1, 1, 1, 1, 1);
me.showRightArrow(-1, -1, -1, -1, 1, -1);
me["Simple_C3B"].hide();
me["Simple_C4B"].hide();
me.standardFontSize();
me.colorLeft("blu", "blu", "blu", "blu", "wht", "wht");
me.colorLeftS("wht", "wht", "wht", "wht", "wht", "wht");
me.colorLeftArrow("wht", "wht", "wht", "wht", "wht", "wht");
me.colorCenter("grn", "grn", "grn", "grn", "wht", "wht");
me.colorCenterS("wht", "wht", "wht", "wht", "wht", "wht");
me.colorRight("wht", "wht", "wht", "wht", "wht", "wht");
me.colorRightS("wht", "wht", "wht", "wht", "wht", "wht");
me.colorRightArrow("wht", "wht", "wht", "wht", "wht", "wht");
me["Simple_L1S"].setText(" ARPT/TYPE");
me["Simple_L6S"].setText(" ATC MENU");
me["Simple_L4"].setText(" [ ]/[ ]");
me["Simple_L4"].setFont(symbol);
me["Simple_L6"].setText(" RETURN");
me["Simple_C1"].setFontSize(small);
me["Simple_C2"].setFontSize(small);
me["Simple_C3"].setFontSize(small);
me["Simple_C4"].setFontSize(small);
me["Simple_R1S"].setText("REQ ");
me["Simple_R1"].setText("SEND ");
me["Simple_R2S"].setText("REQ ");
me["Simple_R2"].setText("SEND ");
me["Simple_R3S"].setText("REQ ");
me["Simple_R3"].setText("SEND ");
me["Simple_R4S"].setText("REQ ");
me["Simple_R4"].setText("SEND ");
me["Simple_R5S"].setText("AUTO ");
me["Simple_R5"].setText("UPDATE ");
me["Simple_R6S"].setText("PRINT MANUAL ");
me["Simple_R6"].setText("SET AUTO ");
pageSwitch[i].setBoolValue(1);
}
if (atsu.ATISInstances[0].station != nil) {
me["Simple_L1"].setText(" " ~ atsu.ATISInstances[0].station ~ "/" ~ (atsu.ATISInstances[0].type == 0 ? "ARR" : "DEP"));
me["Simple_L1"].setFont(default);
me["Simple_L1_Arrow"].show();
} else {
me["Simple_L1"].setText(" [ ]/[ ]");
me["Simple_L1"].setFont(symbol);
me["Simple_L1_Arrow"].hide();
}
if (atsu.ATISInstances[0].received) {
me["Simple_C1"].setText(" " ~ atsu.ATISInstances[0].receivedCode ~ " " ~ atsu.ATISInstances[0].receivedTime);
me["Simple_C1"].show();
} else {
me["Simple_C1"].hide();
}
if (atsu.ATISInstances[1].station != nil) {
me["Simple_L2"].setText(" " ~ atsu.ATISInstances[1].station ~ "/" ~ (atsu.ATISInstances[1].type == 0 ? "ARR" : "DEP"));
me["Simple_L2"].setFont(default);
me["Simple_L2_Arrow"].show();
} else {
me["Simple_L2"].setText(" [ ]/[ ]");
me["Simple_L2"].setFont(symbol);
me["Simple_L2_Arrow"].hide();
}
if (atsu.ATISInstances[1].received) {
me["Simple_C2"].setText(" " ~ atsu.ATISInstances[1].receivedCode ~ " " ~ atsu.ATISInstances[1].receivedTime);
me["Simple_C2"].show();
} else {
me["Simple_C2"].hide();
}
if (atsu.ATISInstances[2].station != nil) {
me["Simple_L3"].setText(" " ~ atsu.ATISInstances[2].station ~ "/" ~ (atsu.ATISInstances[2].type == 0 ? "ARR" : "DEP"));
me["Simple_L3"].setFont(default);
me["Simple_L3_Arrow"].show();
} else {
me["Simple_L3"].setText(" [ ]/[ ]");
me["Simple_L3"].setFont(symbol);
me["Simple_L3_Arrow"].hide();
}
if (atsu.ATISInstances[2].received) {
me["Simple_C3"].setText(" " ~ atsu.ATISInstances[2].receivedCode ~ " " ~ atsu.ATISInstances[2].receivedTime);
me["Simple_C3"].show();
} else {
me["Simple_C3"].hide();
}
if (atsu.ATISInstances[3].station != nil) {
me["Simple_L4"].setText(" " ~ atsu.ATISInstances[3].station ~ "/" ~ (atsu.ATISInstances[3].type == 0 ? "ARR" : "DEP"));
me["Simple_L4"].setFont(default);
me["Simple_L4_Arrow"].show();
} else {
me["Simple_L4"].setText(" [ ]/[ ]");
me["Simple_L4"].setFont(symbol);
me["Simple_L4_Arrow"].hide();
}
if (atsu.ATISInstances[3].received) {
me["Simple_C4"].setText(" " ~ atsu.ATISInstances[3].receivedCode ~ " " ~ atsu.ATISInstances[3].receivedTime);
me["Simple_C4"].show();
} else {
me["Simple_C4"].hide();
}
if (atsu.ATISInstances[0].sent) {
me["ATISSend1"].hide();
} else {
me["ATISSend1"].show();
}
if (atsu.ATISInstances[1].sent) {
me["ATISSend2"].hide();
} else {
me["ATISSend2"].show();
}
if (atsu.ATISInstances[2].sent) {
me["ATISSend3"].hide();
} else {
me["ATISSend3"].show();
}
if (atsu.ATISInstances[3].sent) {
me["ATISSend4"].hide();
} else {
me["ATISSend4"].show();
}
} else if (page == "NOTIFICATION") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHideWithCenter();
@ -1186,41 +1570,35 @@ var canvas_MCDU_base = {
me["Simple_Title"].setText("VHF3 DATA MODE");
me.defaultPageNumbers();
me.showLeft(-1, 1, 1, 1, -1, 1);
me.showLeft(1, 1, 1, -1, -1, 1);
me["Simple_L0S"].hide();
me.showLeftS(1, 1, 1, 1, -1, -1);
me.showLeftArrow(-1, 1, 1, 1, -1, 1);
me.showLeftS(1, -1, -1, -1, -1, -1);
me.showLeftArrow(-1, 1, 1, -1, -1, 1);
me.showCenter(-1, -1, -1, -1, -1, -1);
me.showCenterS(1, -1, -1, -1, -1, -1);
me.showRight(-1, 1, 1, -1, -1, 1);
me.showRightS(1, 1, 1, -1, -1, 1);
me.showRight(1, 1, 1, -1, -1, 1);
me.showRightS(1, -1, -1, -1, -1, 1);
me.showRightArrow(-1, 1, 1, -1, -1, -1);
me["Simple_C3B"].hide();
me["Simple_C4B"].hide();
me.standardFontSize();
me.colorLeft("wht", "blu", "blu", "blu", "wht", "wht");
me.colorLeftS("grn", "blu", "blu", "blu", "wht", "wht");
me.colorLeft("grn", "blu", "blu", "blu", "wht", "wht");
me.colorLeftS("wht", "blu", "blu", "blu", "wht", "wht");
me.colorLeftArrow("wht", "blu", "blu", "blu", "wht", "wht");
me.colorCenterS("grn", "wht", "wht", "wht", "wht", "wht");
me.colorRight("wht", "blu", "blu", "wht", "wht", "blu");
me.colorRightS("grn", "blu", "blu", "wht", "wht", "blu");
me.colorRight("grn", "blu", "blu", "wht", "wht", "blu");
me.colorRightS("wht", "blu", "blu", "wht", "wht", "blu");
me.colorRightArrow("wht", "blu", "blu", "wht", "wht", "wht");
me["Simple_L1S"].setText(" AUTO");
me["Simple_C1S"].setText("SITA725 ");
me["Simple_L2S"].setText(" SITA725");
me["Simple_L2"].setText(" EUROPE");
me["Simple_L3S"].setText(" SITA550");
me["Simple_L3"].setText(" ASIA/AUST");
me["Simple_L4S"].setText(" AVICOM");
me["Simple_L4"].setText(" JAPAN");
me["Simple_R1S"].setText(" 131.725");
me["Simple_R2S"].setText("ARINC ");
me["Simple_R2"].setText("USA ");
me["Simple_R3S"].setText("AIRCANADA ");
me["Simple_R3"].setText("CANADA ");
me["Simple_L1S"].setText(" ATIS");
me["Simple_C1S"].setText("ACTIVE SERVERS");
me["Simple_L2"].setText(" FAA");
me["Simple_L3"].setText(" VATSIM");
me["Simple_R1S"].setText("METAR ");
me["Simple_R2"].setText("NOAA ");
me["Simple_R3"].setText("VATSIM ");
me["Simple_L6S"].setText(" RETURN TO");
me["Simple_L6"].setText(" COMM MENU");
me["Simple_R6S"].setText("PAGE ");
@ -1228,6 +1606,25 @@ var canvas_MCDU_base = {
pageSwitch[i].setBoolValue(1);
}
if (atsu.AOC.server.getValue() == "vatsim") {
me["Simple_R1"].setText("VATSIM ");
me["Simple_R2_Arrow"].show();
me["Simple_R3_Arrow"].hide();
} elsif (atsu.AOC.server.getValue() == "noaa") {
me["Simple_R1"].setText("NOAA ");
me["Simple_R2_Arrow"].hide();
me["Simple_R3_Arrow"].show();
}
if (atsu.ATIS.serverSel.getValue() == "vatsim") {
me["Simple_L1"].setText(" VATSIM");
me["Simple_L2_Arrow"].show();
me["Simple_L3_Arrow"].hide();
} elsif (atsu.ATIS.serverSel.getValue() == "faa") {
me["Simple_L1"].setText(" FAA");
me["Simple_L2_Arrow"].hide();
me["Simple_L3_Arrow"].show();
}
} else if (page == "COMMINIT") {
if (!pageSwitch[i].getBoolValue()) {
me.defaultHide();
@ -2689,29 +3086,29 @@ var canvas_MCDU_base = {
me.fontSizeLeft(normal, normal, small, small, small, small);
me.fontSizeCenter(small, small, normal, small, small, small);
me.fontSizeRight(normal, normal, normal, small, small, small);
me.fontSizeRight(small, small, normal, small, small, small);
me["Simple_C3B"].setFontSize(small);
me.colorLeft("grn", "grn", "wht", "wht", "wht", "wht");
me.colorLeftS("wht", "wht", "wht", "wht", "wht", "wht");
me.colorLeftArrow("wht", "wht", "wht", "wht", "wht", "wht");
me.colorCenter("grn", "grn", "blu", "grn", "blu", "wht");
me.colorCenter("wht", "wht", "blu", "grn", "blu", "wht");
me["Simple_C3B"].setColor(BLUE);
me.colorCenterS("wht", "wht", "wht", "wht", "wht", "wht");
me.colorRight("grn", "grn", "blu", "wht", "wht", "wht");
me.colorRight("wht", "wht", "blu", "wht", "wht", "wht");
me.colorRightS("wht", "wht", "wht", "wht", "wht", "wht");
me.colorRightArrow("wht", "wht", "wht", "wht", "wht", "wht");
pageSwitch[i].setBoolValue(1);
}
if (!engrdy.getBoolValue() or !fmgc.FMGCInternal.toFromSet) {
me["Simple_L1"].setText("----");
if (!engRdy.getBoolValue() or !fmgc.FMGCInternal.toFromSet) {
me["Simple_L1"].setText("NONE");
} else {
me["Simple_L1"].setText(fmgc.FMGCInternal.arrApt);
}
if (!engrdy.getBoolValue() or !fmgc.FMGCInternal.altAirportSet) {
me["Simple_L2"].setText("----");
if (!engRdy.getBoolValue() or !fmgc.FMGCInternal.altAirportSet) {
me["Simple_L2"].setText("NONE");
} else {
me["Simple_L2"].setText(fmgc.FMGCInternal.altAirport);
}
@ -2719,7 +3116,7 @@ var canvas_MCDU_base = {
me["Simple_L1S"].setText("AT");
me["Simple_L2S"].setText("X");
me["Simple_L3S"].setText("RTE RSV/PCT");
me["Simple_L4S"].setText("ALTN/TIME");
me["Simple_L4S"].setText("ALTN /TIME");
me["Simple_L5S"].setText("FINAL/TIME");
me["Simple_L6S"].setText("MIN DEST FOB");
@ -2727,11 +3124,11 @@ var canvas_MCDU_base = {
me["Simple_C1"].setText("----");
me["Simple_C2"].setText("----");
me["Simple_R1"].setText("-.-");
me["Simple_R2"].setText("-.-");
me["Simple_R1"].setText("---.-");
me["Simple_R2"].setText("---.-");
me["Simple_R1S"].setText("EFOB");
me["Simple_R2S"].setText("X");
me["Simple_R4S"].setText("FOB ");
me["Simple_R4S"].setText("FOB ");
me["Simple_R5S"].setText(" GW/ CG");
me["Simple_R6S"].setText("EXTRA/TIME");
@ -2755,7 +3152,7 @@ var canvas_MCDU_base = {
me["Simple_L6"].setText("---.-");
me["Simple_R4"].setText("---.-/FF+FQ");
me["Simple_R5"].setText("---.-/---.-");
me["Simple_R5"].setText("---.-/ --.-");
me["Simple_R6"].setText("---.-/----");
me.colorLeft("ack", "ack", "wht", "wht", "wht", "wht");

View file

@ -12,7 +12,7 @@
viewBox="0 0 1024 864"
version="1.1"
id="svg2"
inkscape:version="1.0beta2 (2b71d25, 2019-12-03)"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="mcdu.svg">
<metadata
id="metadata375">
@ -37,17 +37,17 @@
guidetolerance="20"
inkscape:pageopacity="1"
inkscape:pageshadow="2"
inkscape:window-width="1440"
inkscape:window-height="819"
inkscape:window-width="1366"
inkscape:window-height="705"
id="namedview371"
showgrid="true"
inkscape:zoom="0.78947164"
inkscape:cx="929.63178"
inkscape:cy="751.57487"
inkscape:window-x="481"
inkscape:window-y="23"
inkscape:window-maximized="0"
inkscape:current-layer="WIND"
inkscape:zoom="3.1578866"
inkscape:cx="1122.1906"
inkscape:cy="986.92422"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
inkscape:current-layer="svg2"
showguides="false"
inkscape:snap-global="false"
units="px"
@ -1016,7 +1016,7 @@
inkscape:label="#g4241"
id="g4241">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1026,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1069,7 @@
inkscape:label="#g4324"
id="g4324">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1079,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1091,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
@ -1103,7 +1103,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.2px;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.20000076px;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 +1147,7 @@
inkscape:label="#g4241"
id="g186">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1157,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1200,7 @@
inkscape:label="#g4324"
id="g205">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1210,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1222,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
@ -1235,7 +1235,7 @@
inkscape:label="arrow5L"
id="arrow5L">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1245,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1263,9 @@
inkscape:connector-curvature="0"
id="path417"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1275,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1283,7 @@
inkscape:label="arrow3L"
id="arrow3L">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1293,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1311,9 @@
inkscape:connector-curvature="0"
id="path433"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1323,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1331,7 @@
inkscape:label="arrow1L"
id="arrow1L">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1341,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1359,9 @@
inkscape:connector-curvature="0"
id="path479"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1371,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1379,7 @@
inkscape:label="arrow4R"
id="arrow4R">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1389,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1407,9 @@
inkscape:connector-curvature="0"
id="path495"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1419,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1427,7 @@
inkscape:label="arrow2R"
id="arrow2R">
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1437,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1455,9 @@
inkscape:connector-curvature="0"
id="path511"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#bb6100;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;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 +1467,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.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#bb6100;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
</g>
@ -2617,7 +2617,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.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>
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>
<text
inkscape:label="#text4244"
transform="scale(0.90642126,1.1032398)"
@ -2626,7 +2626,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.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"
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"
y="278.32764"
x="478.87796"
id="tspan1091"
@ -2643,7 +2643,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.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>
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>
<g
style="stroke:#179ab7;stroke-opacity:1"
id="PERFAPPR_LDG_3"
@ -2654,9 +2654,9 @@
inkscape:connector-curvature="0"
id="path4376-0"
d="M 998.71909,284.70793 H 970.18944"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;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="path4378-3"
inkscape:connector-curvature="0"
@ -2666,9 +2666,9 @@
inkscape:connector-curvature="0"
id="path4380-9"
d="m 984.45427,298.97275 -10e-6,-28.52964"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;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="path4382-8"
inkscape:connector-curvature="0"
@ -2680,7 +2680,7 @@
id="PERFAPPR_LDG_F"
style="stroke:#179ab7;stroke-opacity:1">
<path
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;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="path1181"
inkscape:connector-curvature="0"
@ -2690,9 +2690,9 @@
inkscape:connector-curvature="0"
id="path1183"
d="m 994.54102,294.79468 -20.17351,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;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="path1185"
inkscape:connector-curvature="0"
@ -2702,7 +2702,7 @@
inkscape:connector-curvature="0"
id="path1187"
d="m 974.36752,294.79468 20.17349,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</g>
<g
@ -2825,7 +2825,7 @@
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>
<g
style="stroke:#179ab7;stroke-opacity:1;opacity:0.94000004"
style="opacity:0.94000005;stroke:#179ab7;stroke-opacity:1"
id="NOTIFY"
inkscape:label="#g4324"
transform="matrix(1.0807111,0,0,1.0807111,-76.372598,-23.411021)">
@ -2833,7 +2833,7 @@
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1243"
d="m 998.71909,284.70793 -28.52965,0"
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" />
<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"
@ -3129,4 +3129,177 @@
d="m 974.36752,294.79468 20.17349,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.08;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
transform="matrix(1.0807111,0,0,1.0807111,-76.372598,-141.09805)"
inkscape:label="#g4324"
id="ATISSend1"
style="opacity:0.94000005;stroke:#179ab7;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"
d="M 998.71909,284.70793 H 970.18944"
id="path506"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path508"
d="m 994.54102,294.79468 -20.17351,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;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"
d="m 984.45427,298.97275 -10e-6,-28.52964"
id="path510"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path512"
d="m 974.36752,294.79468 20.17349,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
transform="matrix(1.0807111,0,0,1.0807111,-76.372598,-23.411021)"
inkscape:label="#g4324"
id="ATISSend2"
style="opacity:0.94000005;stroke:#179ab7;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"
d="M 998.71909,284.70793 H 970.18944"
id="path1321"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1323"
d="m 994.54102,294.79468 -20.17351,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;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"
d="m 984.45427,298.97275 -10e-6,-28.52964"
id="path1325"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1327"
d="m 974.36752,294.79468 20.17349,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
transform="matrix(1.0807111,0,0,1.0807111,-76.462145,213.12578)"
inkscape:label="#g4324"
id="ATISSend4"
style="stroke:#179ab7;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"
d="M 998.71909,284.70793 H 970.18944"
id="path1331"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1333"
d="m 994.54102,294.79468 -20.17351,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;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"
d="m 984.45427,298.97275 -10e-6,-28.52964"
id="path1335"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1337"
d="m 974.36752,294.79468 20.17349,-20.1735"
style="fill:none;stroke:#179ab7;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="stroke:#179ab7;stroke-opacity:1"
id="ATISSend3"
inkscape:label="#g4324"
transform="matrix(1.0807111,0,0,1.0807111,-76.462145,94.951839)">
<path
sodipodi:nodetypes="cc"
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" />
<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"
d="m 994.54102,294.79468 -20.17351,-20.1735"
id="path1343"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
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" />
<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"
d="m 974.36752,294.79468 20.17349,-20.1735"
id="path1347"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
<g
transform="translate(220.36572,-474.55648)"
id="ATISArrows"
inkscape:label="#WIND_UPDOWN">
<g
id="g1338"
inkscape:label="#g4241"
transform="matrix(0,1,1,0,667.65035,-414.17373)"
style="stroke:#ffffff;stroke-opacity:1">
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1332"
d="M 952.4036,47.432743 H 923.87395"
style="fill:none;stroke:#ffffff;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4.07999992;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="path1334"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1336"
d="M 936.70791,62.1688 921.8587,47.4328"
style="fill:none;stroke:#ffffff;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
<g
style="stroke:#ffffff;stroke-opacity:1"
transform="matrix(0,-1,-1,0,801.59015,1459.2436)"
inkscape:label="#g4241"
id="g1346">
<path
style="fill:none;stroke:#ffffff;stroke-width:4.07999992;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="path1340"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
<path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="path1342"
d="M 936.70791,32.6968 921.8587,47.4328"
style="fill:none;stroke:#ffffff;stroke-width:4.07999992;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
style="fill:none;stroke:#ffffff;stroke-width:4.07999992;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="path1344"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 162 KiB

After

Width:  |  Height:  |  Size: 171 KiB

View file

@ -63,6 +63,7 @@ var myCockpit_switches = {
"toggle_chrono": {path: "/inputs/CHRONO", value: 0, type: "INT"},
"toggle_xtrk_error": {path: "/nd/xtrk-error", value: 0, type: "BOOL"},
"toggle_trk_line": {path: "/nd/trk-line", value: 0, type: "BOOL"},
"ADIRS3": {path: "/nd/ir-3", value: 0, type: "BOOL"},
};
var canvas_nd_base = {
@ -186,6 +187,8 @@ var canvas_ND_1 = {
# here we make the ND:
me.NDCpt = ND.new("instrumentation/efis", myCockpit_switches, "Airbus");
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.update();
@ -205,7 +208,10 @@ var canvas_ND_2 = {
m.init(canvas_group);
# here we make the ND:
myCockpit_switches["ADIRS"]= {path: "/nd/ir-2", value: 0, type: "BOOL"};
me.NDFo = ND.new("instrumentation/efis[1]", myCockpit_switches, "Airbus");
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.update();

View file

@ -11,6 +11,7 @@ var _MP_dbg_lvl = canvas._MP_dbg_lvl;
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);
canvas.NavDisplay.set_switch = func(s, v) {
var switch = me.efis_switches[s];
@ -160,6 +161,7 @@ canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update
var make_event_handler = func(predicate, layer) func predicate(me, layer);
me.layers={}; # storage container for all ND specific layers
me.predicates={};
# look up all required layers as specified per the NDStyle hash and do the initial setup for event handling
var default_opts = me.options != nil and contains(me.options, "defaults") ? me.options.defaults : nil;
foreach(var layer; me.nd_style.layers) {
@ -214,6 +216,7 @@ canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update
# pass the ND instance and the layer handle to the predicate when it is called
# so that it can directly access the ND instance and its own layer (without having to know the layer"s name)
var event_handler = make_event_handler(layer.predicate, the_layer);
me.predicates[layer.name] = event_handler;
foreach(var event; layer.update_on) {
# this handles timers
if (typeof(event)=="hash" and contains(event, "rate_hz")) {
@ -335,12 +338,12 @@ canvas.NavDisplay.update_sub = func(){
canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft specific, cannot easily be reused by other aircraft
{
var _time = systime();
# Disables WXR Live if it"s not enabled. The toggle_weather_live should be common to all
# Disables WXR Live if it's not enabled. The toggle_weather_live should be common to all
# ND instances.
var wxr_live_enabled = getprop(wxr_live_tree~"/enabled");
if(wxr_live_enabled == nil or wxr_live_enabled == "")
var wxr_live_enabled = getprop(wxr_live_tree~'/enabled');
if(wxr_live_enabled == nil or wxr_live_enabled == '')
wxr_live_enabled = 0;
me.set_switch("toggle_weather_live", wxr_live_enabled);
me.set_switch('toggle_weather_live', wxr_live_enabled);
call(me.update_sub, nil, nil, caller(0)[0]); # call this in the same namespace to "steal" its variables
# MapStructure update!
@ -433,7 +436,7 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
me.symbols.selHdgLine2.setRotation(hdgBugRot);
}
var staPtrVis = !me.in_mode("toggle_display_mode", ["PLAN"]);
var staPtrVis = (!me.in_mode("toggle_display_mode", ["PLAN"]) and (me.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == me.attitude_heading_setting)));
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"))
{
@ -459,7 +462,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"]))
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)))
me.symbols.trkInd.hide();
else
me.symbols.trkInd.show();

View file

@ -25,16 +25,9 @@ var new = func(layer) {
};
layer.searcher._equals = func(l,r) l.equals(r);
m.addVisibilityListener();
var aircraft_dir = split('/', getprop("sim/aircraft-dir"))[-1];
var saved_conf = getprop("sim/fg-home") ~ "/Export/wxr_api.xml";
var df_conf = getprop("sim/fg-root") ~ "/Aircraft/" ~ aircraft_dir ~
"/Models/Instruments/ND/canvas/wxr_api.xml";
if(io.stat(saved_conf) != nil)
io.read_properties(saved_conf, wxr_tree);
else
io.read_properties(df_conf, wxr_tree);
return m;
};
var del = func() {
#print(name~".lcontroller.del()");
foreach (var l; me.listeners)
@ -43,9 +36,6 @@ var del = func() {
var searchCmd = func {
if(me.map.getRange() == nil) return [];
var api_key = getprop(wxr_tree~"/api-key");
if(!api_key or api_key == '' or api_key == 'YOUR API KEY')
return [];
var lat = getprop(wxr_tree~"/center/latitude-deg");
var lon = getprop(wxr_tree~"/center/longitude-deg");
@ -58,14 +48,9 @@ var searchCmd = func {
var result = geo.Coord.new();
result.set_latlon(lat, lon);
result.rangeNm = me.map.getRange();
result.key = api_key;
result.res = getprop(wxr_tree~"/resolution");
result.ltype = getprop(wxr_tree~"/layer-type");
result.smooth = getprop(wxr_tree~"/smooth");
result.fetchRad = getprop(wxr_tree~"/fetch-radius");
result.fetchRad = 184; # is this number accurate?
result.equals = func(r){
me.ltype == r.ltype and me.fetchRad == r.fetchRad and
me.lat == r.lat and me.lon == r.lon
me.fetchRad == r.fetchRad and me.lat == r.lat and me.lon == r.lon
};
return [result];

View file

@ -11,19 +11,18 @@ var getWXRImageFilePath = func(){
var home = getprop('sim/fg-home');
var aircraft = getprop('sim/aircraft');
var idx = me.layer.getCanvas()._node.getIndex();
return home ~ '/Export/' ~ aircraft ~ '-wxr-'~me.ltype~'-'~idx~'.png';
return home ~ '/Export/' ~ aircraft ~ '-wxr-'~idx~'.png';
};
var processRequest = func(r) {
var splitVector = split(",", r.response);
var timeStamp = split("]",splitVector[size(splitVector) - 1]);
return timeStamp[0];
};
var getWXRAPIUrl = func(lat, lon){
var res = me.res;
if(me.ltype == "radar"){
return "http://api.wunderground.com/api/"~me.key~
"/radar/image.png?centerlat="~lat~"&centerlon="~lon~
"&radius="~me.fetchRad~"&width="~res~"&height="~res~
"&smooth="~me.smooth;
} else {
return nil;
}
if (me.timeStamp == nil) { return nil; }
return "https://tilecache.rainviewer.com/v2/radar/" ~ sprintf("%s",me.timeStamp) ~ "/512/5/" ~ lat ~ "/" ~ lon ~ "/7/0_0.png";
};
var fetchWXRMap = func(size){
@ -34,15 +33,14 @@ var fetchWXRMap = func(size){
var url = me.getWXRAPIUrl(lat, lon);
var filePath = me.getWXRImageFilePath();
if(url == nil) {
print(me.name~': No URL!');
logprint(3,me.name,": No URL!");
return;
}
me.fetching = 1;
http.save(url, filePath)
.fail(func(){
print(me.name~': Download failed!');
me.wxlayer.hide();
})
logprint(3,me.name,":Download failed!");}
)
.done(func(){
var sz = size * 2;
var transl = -size;
@ -57,28 +55,28 @@ var fetchWXRMap = func(size){
setprop("instrumentation/wxr/center/latitude-deg", lat);
setprop("instrumentation/wxr/center/longitude-deg", lon);
me.fetching = 0;
print("[WXR] Live Layer Request: "~url); # Debugging
logprint(4,me.name,": Layer Request: ",url);
});
};
var init = func {
#print('WXR init');
me.fetching = 0;
me.key = me.model.key; # API Key from Wunderground API Subscription
me.res = me.model.res; # Resolution of image to fetch (default 2048)
me.ltype = me.model.ltype; # Layer Type - radar, satellite
me.smooth = me.model.smooth; # If we should fetch a smoothened image or the original
me.timeStamp = nil;
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.wxlayer = me.element.createChild("image").set("z-index", -100).hide();
me.last_request = -210;
me.update_interval = 240;
me.last_request = -600;
me.update_interval = 600;
var r_scaled = (me.fetchRad*me.viewport_radius)/me.range;
me.fetchWXRMap(r_scaled);
me.timeStamp = nil;
http.load("https://api.rainviewer.com/public/maps.json").done(func(r) me.timeStamp = processRequest(r));
};
var draw = func {
@ -86,15 +84,12 @@ var draw = func {
var update_size = (range != me.range);
me.range = range;
me.fetchRad = me.model.fetchRad; # Radius of radar layer to fetch
#var r_scaled = (me.fetchRad*670)/me.range;
var r_scaled = (me.fetchRad*me.viewport_radius)/me.range;
var hdg = me.layer.map.getHdg();
var rot = 0 - hdg;
if(rot < 0) rot = 360 + rot;
if(rot < 0) rot = 360 + rot + -getprop("/environment/magnetic-variation-deg");
me.element.setRotation(rot*D2R);
if(update_size){
print('WXR draw range:'~ me.range);
print('Update size: '~r_scaled~'x2 = '~(r_scaled*2));
me.wxlayer.hide();
me.wxlayer.setSize(2*r_scaled, 2*r_scaled)
.setTranslation(-r_scaled, -r_scaled);
@ -102,12 +97,6 @@ var draw = func {
}
if(getprop("sim/time/elapsed-sec") - me.last_request > me.update_interval) {
#print('Fetching WXR map...');
me.key = me.model.key; # API Key from Wunderground API Subscription
me.res = me.model.res; # Resolution of image to fetch (default 2048)
me.ltype = me.model.ltype; # Layer Type - radar, satellite
me.smooth = me.model.smooth; # If we should fetch a smoothened image or the original
me.fetchWXRMap(r_scaled);
}
};

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 134 KiB

View file

@ -7,6 +7,9 @@
var ALWAYS = func 1;
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);
canvas.NDStyles["Airbus"] = {
font_mapper: func(family, weight) {
if( family == "Liberation Sans" and weight == "normal" )
@ -86,7 +89,7 @@ canvas.NDStyles["Airbus"] = {
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";
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));
layer.group.setVisible(visible);
if (visible) {
layer.update();
@ -105,7 +108,7 @@ canvas.NDStyles["Airbus"] = {
#print("Running storms predicate");
var visible=nd.get_switch("toggle_weather") and
!nd.get_switch("toggle_weather_live") and
nd.get_switch("toggle_display_mode") != "PLAN";
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));
layer.group.setVisible(visible);
if (visible) {
#print("storms update requested! (timer issue when closing the dialog?)");
@ -122,7 +125,7 @@ canvas.NDStyles["Airbus"] = {
predicate: func(nd, layer) {
var visible = nd.get_switch("toggle_waypoints") and
nd.in_mode("toggle_display_mode", ["MAP"]) and
(nd.rangeNm() <= 40);
(nd.rangeNm() <= 40) 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();
@ -151,7 +154,7 @@ canvas.NDStyles["Airbus"] = {
isMapStructure: 1,
update_on: ["toggle_display_mode","toggle_range",{rate_hz: 2}],
predicate: func(nd, layer) {
var visible = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]);# and nd.get_switch("toggle_fplan");
var visible = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]) 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();
@ -237,7 +240,7 @@ canvas.NDStyles["Airbus"] = {
"toggle_display_mode"],
predicate: func(nd, layer) {
var visible = nd.get_switch("toggle_airports") and
nd.in_mode("toggle_display_mode", ["MAP"]);
nd.in_mode("toggle_display_mode", ["MAP"]) 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();
@ -260,7 +263,7 @@ canvas.NDStyles["Airbus"] = {
# toggle visibility here
var visible = nd.get_switch("toggle_vor") and
nd.in_mode("toggle_display_mode", ["MAP"]) and
(nd.rangeNm() <= 40);
(nd.rangeNm() <= 40) 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();
@ -289,7 +292,7 @@ canvas.NDStyles["Airbus"] = {
predicate: func(nd, layer) {
var visible = nd.get_switch("toggle_dme") and
nd.in_mode("toggle_display_mode", ["MAP"]) and
(nd.rangeNm() <= 40);
(nd.rangeNm() <= 40) and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting));
# toggle visibility here
layer.group.setVisible( visible );
if (visible) {
@ -322,7 +325,7 @@ canvas.NDStyles["Airbus"] = {
predicate: func(nd, layer) {
var visible = nd.get_switch("toggle_ndb") and
nd.in_mode("toggle_display_mode", ["MAP"]) and
(nd.rangeNm() <= 40);
(nd.rangeNm() <= 40) and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting));
# print("Running vor layer predicate");
# toggle visibility here
layer.group.setVisible( visible );
@ -389,7 +392,6 @@ canvas.NDStyles["Airbus"] = {
var visible = nd.get_switch("toggle_traffic");
layer.group.setVisible( visible );
if (visible) {
#print("Updating MapStructure ND layer: TFC");
layer.update();
}
}, # end of layer update predicate
@ -400,7 +402,7 @@ canvas.NDStyles["Airbus"] = {
update_on:["toggle_range","toggle_display_mode"],
predicate: func(nd, layer) {
var visible = (nd.rangeNm() <= 40) and
nd.in_mode("toggle_display_mode", ["MAP","PLAN"]) ;
nd.in_mode("toggle_display_mode", ["MAP","PLAN"]) 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();
@ -420,7 +422,7 @@ canvas.NDStyles["Airbus"] = {
always_update: 1,
update_on:["toggle_range","toggle_display_mode","toggle_wpt_idx"],
predicate: func(nd, layer) {
var visible= nd.in_mode("toggle_display_mode", ["MAP","PLAN"]);
var visible= nd.in_mode("toggle_display_mode", ["MAP","PLAN"]) 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();
@ -452,7 +454,7 @@ canvas.NDStyles["Airbus"] = {
update_on:["toggle_range","toggle_display_mode", "toggle_cstr",
"toggle_wpt_idx"],
predicate: func(nd, layer) {
var visible= (nd.in_mode("toggle_display_mode", ["MAP","PLAN"]));
var visible= (nd.in_mode("toggle_display_mode", ["MAP","PLAN"]) 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();
@ -517,7 +519,7 @@ canvas.NDStyles["Airbus"] = {
missed_constraint_color: [1,0.57,0.14]
},
predicate: func(nd, layer) {
var visible= (nd.in_mode("toggle_display_mode", ["MAP","PLAN"]));
var visible= (nd.in_mode("toggle_display_mode", ["MAP","PLAN"]) 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.toggle_cstr = nd.get_switch("toggle_cstr");
@ -542,7 +544,7 @@ canvas.NDStyles["Airbus"] = {
isMapStructure: 1,
update_on: ["toggle_display_mode","toggle_range",{rate_hz: 2}],
predicate: func(nd, layer) {
var visible = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]);
var visible = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]) 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();
@ -563,7 +565,7 @@ canvas.NDStyles["Airbus"] = {
isMapStructure: 1,
update_on: ["toggle_display_mode","toggle_range"],
predicate: func(nd, layer) {
var visible = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]);
var visible = nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]) 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();
@ -593,7 +595,7 @@ canvas.NDStyles["Airbus"] = {
always_update: 1,
update_on:["toggle_display_mode"],
predicate: func(nd, layer) {
var visible = nd.get_switch("toggle_display_mode") == "PLAN";
var visible = (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)));
layer.group.setVisible( visible );
if (visible) {
layer.update();
@ -671,6 +673,24 @@ canvas.NDStyles["Airbus"] = {
is_false: func(nd) nd.symbols.compass_mask_ctr.hide(),
}
},
{
id: "nd_warn_memo",
impl: {
init: func(nd, symbol),
predicate: ALWAYS,
is_true: func(nd) nd.symbols.nd_warn_memo.hide(),
is_false: func(nd),
},
},
{
id: "nd_warn_msgbox",
impl: {
init: func(nd, symbol),
predicate: ALWAYS,
is_true: func(nd) nd.symbols.nd_warn_msgbox.hide(),
is_false: func(nd),
},
},
{
# TODO: taOnly doesn"t need to use getprop polling in update(), use a listener instead!
id: "taOnly", # the SVG ID
@ -742,7 +762,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and
getprop("/FMGC/flightplan[2]/active") and
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]) 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.wpActiveId.setText(getprop("/FMGC/flightplan[2]/current-leg"));
nd.symbols.wpActiveId.show();
@ -756,7 +776,7 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg") != nil and
getprop("/FMGC/flightplan[2]/active") and
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]) and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting)),
is_true: func(nd) {
#var cur_wp = getprop("/autopilot/route-manager/current-wp");
var deg = nil;
@ -779,9 +799,10 @@ canvas.NDStyles["Airbus"] = {
id: "wpActiveDist",
impl: {
init: func(nd,symbol),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and
predicate: func(nd) (getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and
getprop("/FMGC/flightplan[2]/active") and
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])
and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting))),
is_true: func(nd) {
var dst = getprop("/FMGC/flightplan[2]/current-leg-dist");
nd.symbols.wpActiveDist.setText(sprintf("%3.01f",dst));
@ -794,7 +815,8 @@ canvas.NDStyles["Airbus"] = {
id: "wpActiveDistLbl",
impl: {
init: func(nd,symbol),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
predicate: func(nd) getprop("/FMGC/flightplan[2]/current-leg-dist") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])
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.wpActiveDistLbl.show();
if(getprop("/FMGC/flightplan[2]/current-leg-dist") > 1000)
@ -807,7 +829,8 @@ canvas.NDStyles["Airbus"] = {
id: "eta",
impl: {
init: func(nd,symbol),
predicate: func(nd) getprop("/autopilot/route-manager/wp/eta") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"]),
predicate: func(nd) getprop("/autopilot/route-manager/wp/eta") != nil and getprop("/FMGC/flightplan[2]/active") and nd.in_mode("toggle_display_mode", ["MAP", "PLAN"])
and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting)),
is_true: func(nd) {
var etaSec = getprop("/sim/time/utc/day-seconds")+
getprop("/autopilot/route-manager/wp/eta-seconds");
@ -900,11 +923,70 @@ canvas.NDStyles["Airbus"] = {
is_false: func(nd) {},#nd.symbols.gs.hide(),
},
},
{
id:"nd_warn_hdg",
impl: {
init: func(nd,symbol),
common: func(nd),
predicate: func(nd) (nd.adirs_property.getValue() != 1 and (adirs_3.getValue() != 1 or att_switch.getValue() != nd.attitude_heading_setting)),
is_true: func(nd) {
nd.symbols.nd_warn_hdg.show();
},
is_false: func(nd) {
nd.symbols.nd_warn_hdg.hide();
},
},
},
{
id:"nd_warn_map",
impl: {
init: func(nd,symbol),
common: func(nd),
predicate: func(nd) (nd.adirs_property.getValue() != 1 and (adirs_3.getValue() != 1 or att_switch.getValue() != nd.attitude_heading_setting)),
is_true: func(nd) {
nd.symbols.nd_warn_map.show();
},
is_false: func(nd) {
nd.symbols.nd_warn_map.hide();
},
},
},
{
id:"unavailARC",
impl: {
init: func(nd,symbol),
common: func(nd),
predicate: func(nd) (!nd.get_switch("toggle_centered") and nd.get_switch("toggle_display_mode") != "PLAN"
and (nd.adirs_property.getValue() != 1 and (adirs_3.getValue() != 1 or att_switch.getValue() != nd.attitude_heading_setting))),
is_true: func(nd) {
nd.symbols.unavailARC.show();
},
is_false: func(nd) {
nd.symbols.unavailARC.hide();
},
},
},
{
id:"unavailNAV",
impl: {
init: func(nd,symbol),
common: func(nd),
predicate: func(nd) (nd.get_switch("toggle_centered")
and (nd.adirs_property.getValue() != 1 and (adirs_3.getValue() != 1 or att_switch.getValue() != nd.attitude_heading_setting))),
is_true: func(nd) {
nd.symbols.unavailNAV.show();
},
is_false: func(nd) {
nd.symbols.unavailNAV.hide();
},
},
},
{
id:"compass",
impl: {
init: func(nd,symbol),
predicate: func(nd) (!nd.get_switch("toggle_centered") and nd.get_switch("toggle_display_mode") != "PLAN"),
predicate: func(nd) (!nd.get_switch("toggle_centered") 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))),
is_true: func(nd) {
nd.symbols.compass.setRotation(-nd.userHdgTrk*D2R);
nd.symbols.compass.show()
@ -916,7 +998,8 @@ canvas.NDStyles["Airbus"] = {
id:"compassApp",
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_centered") and nd.get_switch("toggle_display_mode") != "PLAN"),
predicate: func(nd) (nd.get_switch("toggle_centered") 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))),
is_true: func(nd) {
nd.symbols.compassApp.setRotation(-nd.userHdgTrk*D2R);
nd.symbols.compassApp.show()
@ -928,7 +1011,7 @@ canvas.NDStyles["Airbus"] = {
id:"northUp",
impl: {
init: func(nd,symbol),
predicate: func(nd) nd.get_switch("toggle_display_mode") == "PLAN",
predicate: func(nd) (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))),
is_true: func(nd) nd.symbols.northUp.show(),
is_false: func(nd) nd.symbols.northUp.hide(),
}, # of northUp.impl
@ -937,7 +1020,8 @@ canvas.NDStyles["Airbus"] = {
id:"planArcs",
impl: {
init: func(nd,symbol),
predicate: func(nd) ((nd.in_mode("toggle_display_mode", ["APP","VOR","PLAN"])) or ((nd.get_switch("toggle_display_mode") == "MAP") and (nd.get_switch("toggle_centered")))),
predicate: func(nd) (((nd.in_mode("toggle_display_mode", ["APP","VOR","PLAN"])) or ((nd.get_switch("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) nd.symbols.planArcs.show(),
is_false: func(nd) nd.symbols.planArcs.hide(),
}, # of planArcs.impl
@ -946,7 +1030,8 @@ canvas.NDStyles["Airbus"] = {
id:"rangeArcs",
impl: {
init: func(nd,symbol),
predicate: func(nd) ((nd.get_switch("toggle_display_mode") == "MAP") and (!nd.get_switch("toggle_centered"))),
predicate: func(nd) ((nd.get_switch("toggle_display_mode") == "MAP") and (!nd.get_switch("toggle_centered"))
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.rangeArcs.show(),
is_false: func(nd) nd.symbols.rangeArcs.hide(),
}, # of rangeArcs.impl
@ -1047,7 +1132,8 @@ canvas.NDStyles["Airbus"] = {
id:"aplSymMap",
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")
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.aplSymMap.set("z-index", 10);
nd.symbols.aplSymMap.show();
@ -1060,7 +1146,8 @@ canvas.NDStyles["Airbus"] = {
id:"aplSymMapCtr",
impl: {
init: func(nd,symbol),
predicate: func(nd) ((nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")) or nd.in_mode("toggle_display_mode", ["APP","VOR"])),
predicate: func(nd) (((nd.get_switch("toggle_display_mode") == "MAP" and nd.get_switch("toggle_centered")) or nd.in_mode("toggle_display_mode", ["APP","VOR"]))
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.aplSymMapCtr.set("z-index", 10);
nd.symbols.aplSymMapCtr.show();
@ -1157,8 +1244,8 @@ canvas.NDStyles["Airbus"] = {
id:"trkInd2",
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR","MAP"]) and
nd.get_switch("toggle_centered")),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR","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) {
nd.symbols.trkInd2.show();
nd.symbols.trkInd2.setRotation((nd.aircraft_source.get_trk_mag()-nd.aircraft_source.get_hdg_mag())*D2R);
@ -1172,7 +1259,8 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and
nd.get_switch("toggle_centered") and
getprop(nd.options.defaults.lat_ctrl) != nd.options.defaults.managed_val),
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) {
nd.symbols.trkline2.show();
},

View file

@ -11,8 +11,6 @@
<!-- No button lights without power! -->
<animation>
<type>select</type>
<object-name>ACESSFeedBtn1F</object-name>
<object-name>ACESSFeedBtn2A</object-name>
<object-name>ACPack1Btn1F</object-name>
<object-name>ACPack1Btn2O</object-name>
<object-name>ACPack2Btn1F</object-name>
@ -95,6 +93,8 @@
<animation>
<type>select</type>
<object-name>ACESSFeedBtn1F</object-name>
<object-name>ACESSFeedBtn2A</object-name>
<object-name>AftCargoIsoBtn1F</object-name>
<object-name>AftCargoIsoBtn2O</object-name>
<object-name>AftCargoSmkBtn1S</object-name>
@ -355,7 +355,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<mod-up>
<binding>
@ -416,7 +416,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -464,7 +464,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -872,7 +872,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -934,7 +934,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -996,7 +996,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1230,7 +1230,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1297,7 +1297,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1364,7 +1364,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1431,7 +1431,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1498,7 +1498,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1565,7 +1565,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1632,7 +1632,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1700,7 +1700,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1767,7 +1767,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1833,7 +1833,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1876,7 +1876,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1919,7 +1919,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -1964,7 +1964,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2040,7 +2040,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<binding>
<condition>
@ -2126,7 +2126,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2193,7 +2193,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2260,7 +2260,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2327,7 +2327,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2395,7 +2395,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2454,7 +2454,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2519,7 +2519,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2584,7 +2584,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2648,7 +2648,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2713,7 +2713,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2778,7 +2778,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2843,7 +2843,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2909,7 +2909,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -2970,7 +2970,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3037,7 +3037,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3134,9 +3134,13 @@
<repeatable>false</repeatable>
<binding>
<condition>
<and>
<and>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<property>/engines/engine[0]/n2-actual</property>
<value>14.0</value>
</greater-than-equals>
<greater-than-equals>
<property>systems/electrical/bus/dc-bat</property>
<value>25</value>
</greater-than-equals>
<equals>
@ -3210,23 +3214,14 @@
<repeatable>false</repeatable>
<binding>
<condition>
<or>
<greater-than-equals>
<property>systems/electrical/bus/dc-bat</property>
<value>25</value>
</greater-than-equals>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</or>
<property>/systems/electrical/sources/idg-1/gcu-1-powered</property>
</condition>
<command>property-toggle</command>
<property>controls/electrical/switches/gen-1</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3278,12 +3273,12 @@
<condition>
<or>
<greater-than-equals>
<property>systems/electrical/bus/dc-bat</property>
<value>25</value>
<property>systems/electrical/bus/ac-1</property>
<value>110</value>
</greater-than-equals>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
<property>systems/electrical/bus/ac-2</property>
<value>110</value>
</greater-than-equals>
</or>
</condition>
@ -3292,7 +3287,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3343,17 +3338,14 @@
<repeatable>false</repeatable>
<binding>
<condition>
<greater-than-equals>
<property>systems/electrical/bus/dc-bat</property>
<value>25</value>
</greater-than-equals> <!-- control is on DC BAT bus 301PP via 11 PB - so if you enter EMER ELEC with it turned off, too bad -->
<property>/systems/electrical/sources/apu/gcu-powered</property>
</condition>
<command>property-toggle</command>
<property>controls/electrical/switches/apu</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3424,7 +3416,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3468,7 +3460,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3532,23 +3524,14 @@
<repeatable>false</repeatable>
<binding>
<condition>
<or>
<greater-than-equals>
<property>systems/electrical/bus/dc-bat</property>
<value>25</value>
</greater-than-equals>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<value>25</value>
</greater-than-equals>
</or>
<property>/systems/electrical/sources/idg-2/gcu-2-powered</property>
</condition>
<command>property-toggle</command>
<property>controls/electrical/switches/gen-2</property>
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -3635,7 +3618,11 @@
<condition>
<and>
<greater-than-equals>
<property>systems/electrical/bus/dc-ess</property>
<property>/engines/engine[1]/n2-actual</property>
<value>14.0</value>
</greater-than-equals>
<greater-than-equals>
<property>systems/electrical/bus/dc-bat</property>
<value>25</value>
</greater-than-equals>
<equals>
@ -3725,7 +3712,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<mod-up>
<binding>
@ -3887,7 +3874,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<binding>
<condition>
@ -4248,7 +4235,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -4312,7 +4299,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -4385,7 +4372,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -4458,7 +4445,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -4524,7 +4511,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -4597,7 +4584,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -4671,7 +4658,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<binding>
<condition>
@ -4862,7 +4849,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -4939,7 +4926,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<binding>
<condition>
@ -5448,7 +5435,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -5509,7 +5496,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -5570,7 +5557,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -5635,7 +5622,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -5678,7 +5665,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -5729,7 +5716,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -5786,14 +5773,14 @@
</condition>
<command>nasal</command>
<script>
if (getprop("controls/apu/master") == 1) {
if (systems.APUNodes.Controls.master.getBoolValue()) {
systems.APUController.APU.startCommand();
}
</script>
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -5865,7 +5852,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<binding>
<condition>
@ -5970,7 +5957,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<binding>
<condition>
@ -7355,7 +7342,7 @@
</mod-up>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -7401,7 +7388,7 @@
</mod-up>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -7521,7 +7508,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -7562,7 +7549,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -7614,7 +7601,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
<binding>
<condition>

View file

@ -68,7 +68,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>
@ -169,7 +169,7 @@
</equals>
</condition>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>

View file

@ -53,7 +53,7 @@
</binding>
<binding>
<command>nasal</command>
<script>setprop("sim/sounde/oh-btn", 1);</script>
<script>libraries.pushbutton();</script>
</binding>
</action>
</animation>

View file

@ -12,9 +12,10 @@ var PFD1_display = nil;
var PFD2_display = nil;
var updateL = 0;
var updateR = 0;
var elapsedtime = 0;
var et = 0;
var altTens = 0;
var altPolarity = "";
var track_diff = 0;
var AICenter = nil;
# Fetch nodes:
var state1 = props.globals.getNode("/systems/thrust/state1", 1);
@ -34,7 +35,7 @@ var thr2 = props.globals.getNode("/controls/engines/engine[1]/throttle-pos", 1);
var wow0 = props.globals.getNode("/gear/gear[0]/wow");
var wow1 = props.globals.getNode("/gear/gear[1]/wow");
var wow2 = props.globals.getNode("/gear/gear[2]/wow");
var pitch = props.globals.getNode("/orientation/pitch-deg", 1);
var pitch = props.globals.getNode("/instrumentation/pfd/pitch-deg-non-linear", 1);
var roll = props.globals.getNode("/orientation/roll-deg", 1);
var elapsedtime = props.globals.getNode("/sim/time/elapsed-sec", 1);
var du1_lgt = props.globals.getNode("/controls/lighting/DU/du1", 1);
@ -67,9 +68,6 @@ var alt_inhg = props.globals.getNode("/instrumentation/altimeter/setting-inhg",
var target_altitude = props.globals.getNode("/autopilot/settings/target-altitude-ft", 1);
var altitude = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft", 1);
var altitude_pfd = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft-pfd", 1);
var alt_diff = props.globals.getNode("/instrumentation/pfd/alt-diff", 1);
var ground_diff = props.globals.getNode("/instrumentation/pfd/ground-diff", 1);
var landing_diff = props.globals.getNode("/instrumentation/pfd/landing-diff", 1);
var ap_alt = props.globals.getNode("/it-autoflight/internal/alt", 1);
var vs_needle = props.globals.getNode("/instrumentation/pfd/vs-needle", 1);
var vs_digit = props.globals.getNode("/instrumentation/pfd/vs-digit-trans", 1);
@ -107,8 +105,8 @@ var athr = props.globals.getNode("/it-autoflight/output/athr", 1);
var gear_agl = props.globals.getNode("/position/gear-agl-ft", 1);
var aileron_input = props.globals.getNode("/controls/flight/aileron-input-fast", 1);
var elevator_input = props.globals.getNode("/controls/flight/elevator-input-fast", 1);
var att_switch = props.globals.getNode("/controls/switching/ATTHDG", 1);
var air_switch = props.globals.getNode("/controls/switching/AIRDATA", 1);
var att_switch = props.globals.getNode("/controls/navigation/switching/att-hdg", 1);
var air_switch = props.globals.getNode("/controls/navigation/switching/air-data", 1);
var appr_enabled = props.globals.getNode("/it-autoflight/output/appr-armed/", 1);
var loc_enabled = props.globals.getNode("/it-autoflight/output/loc-armed/", 1);
var vert_gs = props.globals.getNode("/it-autoflight/output/vert/", 1);
@ -126,18 +124,26 @@ var inner_marker = props.globals.getNode("/instrumentation/marker-beacon/inner",
var flap_config = props.globals.getNode("/controls/flight/flaps-input", 1);
var hundredAbove = props.globals.getNode("/instrumentation/pfd/hundred-above", 1);
var minimum = props.globals.getNode("/instrumentation/pfd/minimums", 1);
var aoa_1 = props.globals.getNode("/systems/navigation/adr/output/aoa-1", 1);
var aoa_2 = props.globals.getNode("/systems/navigation/adr/output/aoa-2", 1);
var aoa_3 = props.globals.getNode("/systems/navigation/adr/output/aoa-3", 1);
var adr_1_switch = props.globals.getNode("/controls/navigation/adirscp/switches/adr-1", 1);
var adr_2_switch = props.globals.getNode("/controls/navigation/adirscp/switches/adr-2", 1);
var adr_3_switch = props.globals.getNode("/controls/navigation/adirscp/switches/adr-3", 1);
var adr_1_fault = props.globals.getNode("/controls/navigation/adirscp/lights/adr-1-fault", 1);
var adr_2_fault = props.globals.getNode("/controls/navigation/adirscp/lights/adr-2-fault", 1);
var adr_3_fault = props.globals.getNode("/controls/navigation/adirscp/lights/adr-3-fault", 1);
var air_data_switch = props.globals.getNode("/controls/navigation/switching/air-data", 1);
# Create Nodes:
var alt_diff = props.globals.initNode("/instrumentation/pfd/alt-diff", 0.0, "DOUBLE");
var ground_diff = props.globals.initNode("/instrumentation/pfd/ground-diff", 0.0, "DOUBLE");
var landing_diff = props.globals.initNode("/instrumentation/pfd/landing-diff", 0.0, "DOUBLE");
var heading = props.globals.initNode("/instrumentation/pfd/heading-deg", 0.0, "DOUBLE");
var horizon_pitch = props.globals.initNode("/instrumentation/pfd/horizon-pitch", 0.0, "DOUBLE");
var horizon_ground = props.globals.initNode("/instrumentation/pfd/horizon-ground", 0.0, "DOUBLE");
var hdg_diff = props.globals.initNode("/instrumentation/pfd/hdg-diff", 0.0, "DOUBLE");
var hdg_scale = props.globals.initNode("/instrumentation/pfd/heading-scale", 0.0, "DOUBLE");
var track = props.globals.initNode("/instrumentation/pfd/track-deg", 0.0, "DOUBLE");
var track_diff = props.globals.initNode("/instrumentation/pfd/track-hdg-diff", 0.0, "DOUBLE");
#var track_diff = props.globals.initNode("/instrumentation/pfd/track-hdg-diff", 0.0, "DOUBLE"); # returns incorrect value
var du1_test = props.globals.initNode("/instrumentation/du/du1-test", 0, "BOOL");
var du1_test_time = props.globals.initNode("/instrumentation/du/du1-test-time", 0.0, "DOUBLE");
var du1_offtime = props.globals.initNode("/instrumentation/du/du1-off-time", 0.0, "DOUBLE");
@ -200,6 +206,9 @@ var canvas_PFD_base = {
me.AI_horizon_hdg_trans = me["AI_heading"].createTransform();
me.AI_horizon_hdg_rot = me["AI_heading"].createTransform();
me.AI_fpv_trans = me["FPV"].createTransform();
me.AI_fpv_rot = me["FPV"].createTransform();
me.page = canvas_group;
return me;
@ -210,9 +219,9 @@ var canvas_PFD_base = {
"FMA_athr_box","FMA_Middle1","FMA_Middle2","ALPHA_MAX","ALPHA_PROT","ALPHA_SW","ALPHA_bars","VLS_min","ASI_max","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_trend_up","ASI_trend_down","ASI_digit_UP","ASI_digit_DN","ASI_decimal_UP",
"ASI_decimal_DN","ASI_index","ASI_error","ASI_group","ASI_frame","AI_center","AI_bank","AI_bank_lim","AI_bank_lim_X","AI_pitch_lim","AI_pitch_lim_X","AI_slipskid","AI_horizon","AI_horizon_ground","AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading",
"AI_agl_g","AI_agl","AI_error","AI_group","FD_roll","FD_pitch","ALT_box_flash","ALT_box","ALT_box_amber","ALT_scale","ALT_target","ALT_target_digit","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_digit_UP",
"ALT_digit_DN","ALT_error","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale",
"ALT_digit_DN","ALT_error","ALT_neg","ALT_group","ALT_group2","ALT_frame","VS_pointer","VS_box","VS_digit","VS_error","VS_group","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale",
"HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","HDG_error","HDG_group","HDG_frame","TRK_pointer","machError","ilsError","ils_code","ils_freq","dme_dist","dme_dist_legend","ILS_HDG_R","ILS_HDG_L",
"ILS_right","ILS_left","outerMarker","middleMarker","innerMarker","v1_group","v1_text","vr_speed","F_target","S_target","FS_targets","flap_max","clean_speed","ground","ground_ref","spdLimError"];
"ILS_right","ILS_left","outerMarker","middleMarker","innerMarker","v1_group","v1_text","vr_speed","F_target","S_target","FS_targets","flap_max","clean_speed","ground","ground_ref","FPV","spdLimError"];
},
updateDu1: func() {
var elapsedtime_act = elapsedtime.getValue();
@ -283,8 +292,10 @@ var canvas_PFD_base = {
PFD_1_test.page.show();
} else {
PFD_1.updateFast();
PFD_1.update();
updateL = 1;
if (!updateL) { # Update slow here once so that no flicker if timers don't perfectly align
updateL = 1;
PFD_1.update();
}
PFD_1_test.page.hide();
PFD_1.page.show();
}
@ -306,8 +317,10 @@ var canvas_PFD_base = {
PFD_2_test.page.show();
} else {
PFD_2.updateFast();
PFD_2.update();
updateR = 1;
if (!updateR) { # Update slow here once so that no flicker if timers don't perfectly align
updateR = 1;
PFD_2.update();
}
PFD_2_test.page.hide();
PFD_2.page.show();
}
@ -499,7 +512,8 @@ var canvas_PFD_base = {
me["FMA_rollarm_box"].hide();
me["FMA_Middle1"].hide();
me["FMA_Middle2"].hide();
if (fbw_curlaw == 2) {
if (ecam.directLaw.active) {
me["FMA_ctr_msg"].setText("USE MAN PITCH TRIM");
me["FMA_ctr_msg"].setColor(0.7333,0.3803,0);
me["FMA_ctr_msg"].show();
@ -510,6 +524,7 @@ var canvas_PFD_base = {
} else {
me["FMA_ctr_msg"].hide();
}
me["FMA_combined"].show();
if (pitch_box.getValue() == 1 and pitch_mode_act != " ") {
me["FMA_combined_box"].show();
@ -519,7 +534,7 @@ var canvas_PFD_base = {
} else {
me["FMA_combined"].hide();
me["FMA_combined_box"].hide();
if (fbw_curlaw == 2) {
if (ecam.directLaw.active) {
me["FMA_ctr_msg"].setText("USE MAN PITCH TRIM");
me["FMA_ctr_msg"].setColor(0.7333,0.3803,0);
me["FMA_Middle1"].hide();
@ -961,12 +976,15 @@ var canvas_PFD_base = {
me["HDG_target"].hide();
}
me["TRK_pointer"].setTranslation((math.clamp(track_diff.getValue(), -23.62, 23.62) / 10) * 98.5416, 0);
var heading_deg = heading.getValue();
track_diff = geo.normdeg180(track.getValue() - heading_deg);
me["TRK_pointer"].setTranslation(me.getTrackDiffPixels(track_diff),0);
split_ils = split("/", ils_data1.getValue());
if (ap_ils_mode.getValue() == 1 and size(split_ils) == 2) {
magnetic_hdg = ils_crs.getValue();
magnetic_hdg_dif = geo.normdeg180(magnetic_hdg - heading.getValue());
magnetic_hdg_dif = geo.normdeg180(magnetic_hdg - heading_deg);
if (magnetic_hdg_dif >= -23.62 and magnetic_hdg_dif <= 23.62) {
me["CRS_pointer"].setTranslation((magnetic_hdg_dif / 10) * 98.5416, 0);
me["ILS_HDG_R"].hide();
@ -1010,6 +1028,28 @@ var canvas_PFD_base = {
me.AI_horizon_hdg_rot.setRotation(-roll_cur * D2R, me["AI_center"].getCenter());
me["AI_heading"].update();
},
# Get Angle of Attack from ADR1 or, depending on Switching panel, ADR3
getAOAForPFD1: func() {
if (air_data_switch.getValue() != -1 and adr_1_switch.getValue() and !adr_1_fault.getValue()) return aoa_1.getValue();
if (air_data_switch.getValue() == -1 and adr_3_switch.getValue() and !adr_3_fault.getValue()) return aoa_3.getValue();
return nil;
},
# Get Angle of Attack from ADR2 or, depending on Switching panel, ADR3
getAOAForPFD2: func() {
if (air_data_switch.getValue() != 1 and adr_2_switch.getValue() and !adr_2_fault.getValue()) return aoa_2.getValue();
if (air_data_switch.getValue() == 1 and adr_3_switch.getValue() and !adr_3_fault.getValue()) return aoa_3.getValue();
return nil;
},
# Convert difference between magnetic heading and track measured in degrees to pixel for display on PFDs
# And set max and minimum values
getTrackDiffPixels: func(track_diff_deg) {
return ((math.clamp(track_diff_deg, -23.62, 23.62) / 10) * 98.5416);
},
};
var canvas_PFD_1 = {
@ -1048,7 +1088,7 @@ var canvas_PFD_1 = {
wow2_act = wow2.getValue();
# Errors
if (systems.ADIRS.ADIRunits[0].aligned == 1 or (systems.ADIRS.ADIRunits[2].aligned == 1 and att_switch.getValue() == -1)) {
if (systems.ADIRS.ADIRunits[0].operating == 1 or (systems.ADIRS.ADIRunits[2].operating == 1 and att_switch.getValue() == -1)) {
me["AI_group"].show();
me["HDG_group"].show();
me["AI_error"].hide();
@ -1087,6 +1127,26 @@ var canvas_PFD_1 = {
me["FD_pitch"].hide();
}
# If TRK FPA selected, display FPV on PFD1
if (ap_trk_sw.getValue() == 0 ) {
me["FPV"].hide();
} else {
var aoa = me.getAOAForPFD1();
if (aoa == nil or (systems.ADIRS.ADIRunits[0].operating != 1 and att_switch.getValue() == 0) or (systems.ADIRS.ADIRunits[2].operating != 1 and att_switch.getValue() == -1)){
me["FPV"].hide();
} else {
var roll_deg = roll.getValue() or 0;
AICenter = me["AI_center"].getCenter();
var track_x_translation = me.getTrackDiffPixels(track_diff);
me.AI_fpv_trans.setTranslation(track_x_translation, math.clamp(aoa, -20, 20) * 12.5);
me.AI_fpv_rot.setRotation(-roll_deg * D2R, AICenter);
me["FPV"].setRotation(roll_deg * D2R); # It shouldn't be rotated, only the axis should be
me["FPV"].show();
}
}
# ILS
if (ap_ils_mode.getValue() == 1) {
me["LOC_scale"].show();
@ -1210,7 +1270,6 @@ var canvas_PFD_1 = {
}
me["ASI_scale"].setTranslation(0, me.ASI * 6.6);
if (fbw.FBW.Computers.fac1.getValue() or fbw.FBW.Computers.fac2.getValue()) {
me["ASI_max"].setTranslation(0, me.ASImax * -6.6);
me["ASI_max"].show();
@ -1627,6 +1686,7 @@ var canvas_PFD_1 = {
me["ALT_error"].hide();
me["ALT_frame"].setColor(1,1,1);
me["ALT_group"].show();
me["ALT_tens"].show();
me["ALT_box"].show();
me["ALT_group2"].show();
me["ALT_scale"].show();
@ -1648,13 +1708,13 @@ var canvas_PFD_1 = {
me["ALT_two"].setText(sprintf("%03d", abs(me.middleAltText-5)));
me["ALT_one"].setText(sprintf("%03d", abs(me.middleAltText-10)));
if (altitude.getValue() < 0) {
altPolarity = "-";
if (me.altitude < 0) {
me["ALT_neg"].show();
} else {
altPolarity = "";
me["ALT_neg"].hide();
}
me["ALT_digits"].setText(sprintf("%s%d", altPolarity, dmc.DMController.DMCs[0].outputs[3].getValue()));
me["ALT_digits"].setText(sprintf("%d", dmc.DMController.DMCs[0].outputs[3].getValue()));
altTens = num(right(sprintf("%02d", me.altitude), 2));
me["ALT_tens"].setTranslation(0, altTens * 1.392);
@ -1694,7 +1754,7 @@ var canvas_PFD_1 = {
me["ALT_target"].hide();
}
ground_diff_cur = ground_diff.getValue();
ground_diff_cur = -gear_agl.getValue();
if (ground_diff_cur >= -565 and ground_diff_cur <= 565) {
me["ground_ref"].setTranslation(0, (ground_diff_cur / 100) * -48.66856);
me["ground_ref"].show();
@ -1702,10 +1762,9 @@ var canvas_PFD_1 = {
me["ground_ref"].hide();
}
landing_diff_cur = landing_diff.getValue();
if (landing_diff_cur >= -565 and landing_diff_cur <= 565) {
if (ground_diff_cur >= -565 and ground_diff_cur <= 565) {
if ((fmgc.FMGCInternal.phase == 5 or fmgc.FMGCInternal.phase == 6) and !wow1.getValue() and !wow2.getValue()) { #add std too
me["ground"].setTranslation(0, (landing_diff_cur / 100) * -48.66856);
me["ground"].setTranslation(0, (ground_diff_cur / 100) * -48.66856);
me["ground"].show();
} else {
me["ground"].hide();
@ -1762,6 +1821,8 @@ var canvas_PFD_1 = {
me["ALT_error"].show();
me["ALT_frame"].setColor(1,0,0);
me["ALT_group"].hide();
me["ALT_tens"].hide();
me["ALT_neg"].hide();
me["ALT_group2"].hide();
me["ALT_scale"].hide();
me["ALT_box_flash"].hide();
@ -1810,7 +1871,7 @@ var canvas_PFD_2 = {
wow2_act = wow2.getValue();
# Errors
if (systems.ADIRS.ADIRunits[1].aligned == 1 or (systems.ADIRS.ADIRunits[2].aligned == 1 and att_switch.getValue() == 1)) {
if (systems.ADIRS.ADIRunits[1].operating == 1 or (systems.ADIRS.ADIRunits[2].operating == 1 and att_switch.getValue() == 1)) {
me["AI_group"].show();
me["HDG_group"].show();
me["AI_error"].hide();
@ -1842,6 +1903,25 @@ var canvas_PFD_2 = {
me["FD_pitch"].hide();
}
# If TRK FPA selected, display FPV on PFD2
if (ap_trk_sw.getValue() == 0 ) {
me["FPV"].hide();
} else {
var aoa = me.getAOAForPFD2();
if (aoa == nil or (systems.ADIRS.ADIRunits[1].operating != 1 and att_switch.getValue() == 0) or (systems.ADIRS.ADIRunits[2].operating != 1 and att_switch.getValue() == 1)) {
me["FPV"].hide();
} else {
var roll_deg = roll.getValue() or 0;
AICenter = me["AI_center"].getCenter();
var track_x_translation = me.getTrackDiffPixels(track_diff);
me.AI_fpv_trans.setTranslation(track_x_translation, math.clamp(aoa, -20, 20) * 12.5);
me.AI_fpv_rot.setRotation(-roll_deg * D2R, AICenter);
me["FPV"].setRotation(roll_deg * D2R); # It shouldn't be rotated, only the axis should be
me["FPV"].show();
}
}
# ILS
if (ap_ils_mode2.getValue() == 1) {
me["LOC_scale"].show();
@ -2376,15 +2456,16 @@ var canvas_PFD_2 = {
me["machError"].show();
}
if (dmc.DMController.DMCs[0].outputs[1] != nil) {
if (dmc.DMController.DMCs[1].outputs[1] != nil) {
me["ALT_error"].hide();
me["ALT_frame"].setColor(1,1,1);
me["ALT_group"].show();
me["ALT_tens"].show();
me["ALT_box"].show();
me["ALT_group2"].show();
me["ALT_scale"].show();
me.altitude = dmc.DMController.DMCs[0].outputs[1].getValue();
me.altitude = dmc.DMController.DMCs[1].outputs[1].getValue();
me.altOffset = me.altitude / 500 - int(me.altitude / 500);
me.middleAltText = roundaboutAlt(me.altitude / 100);
me.middleAltOffset = nil;
@ -2401,13 +2482,13 @@ var canvas_PFD_2 = {
me["ALT_two"].setText(sprintf("%03d", abs(me.middleAltText-5)));
me["ALT_one"].setText(sprintf("%03d", abs(me.middleAltText-10)));
if (altitude.getValue() < 0) {
altPolarity = "-";
if (me.altitude < 0) {
me["ALT_neg"].show();
} else {
altPolarity = "";
me["ALT_neg"].hide();
}
me["ALT_digits"].setText(sprintf("%s%d", altPolarity, dmc.DMController.DMCs[0].outputs[3].getValue()));
me["ALT_digits"].setText(sprintf("%d", dmc.DMController.DMCs[1].outputs[3].getValue()));
altTens = num(right(sprintf("%02d", me.altitude), 2));
me["ALT_tens"].setTranslation(0, altTens * 1.392);
@ -2447,7 +2528,7 @@ var canvas_PFD_2 = {
me["ALT_target"].hide();
}
ground_diff_cur = ground_diff.getValue();
ground_diff_cur = -gear_agl.getValue();
if (ground_diff_cur >= -565 and ground_diff_cur <= 565) {
me["ground_ref"].setTranslation(0, (ground_diff_cur / 100) * -48.66856);
me["ground_ref"].show();
@ -2455,10 +2536,9 @@ var canvas_PFD_2 = {
me["ground_ref"].hide();
}
landing_diff_cur = landing_diff.getValue();
if (landing_diff_cur >= -565 and landing_diff_cur <= 565) {
if (ground_diff_cur >= -565 and ground_diff_cur <= 565) {
if ((fmgc.FMGCInternal.phase == 5 or fmgc.FMGCInternal.phase == 6) and !wow1.getValue() and !wow2.getValue()) { #add std too
me["ground"].setTranslation(0, (landing_diff_cur / 100) * -48.66856);
me["ground"].setTranslation(0, (ground_diff_cur / 100) * -48.66856);
me["ground"].show();
} else {
me["ground"].hide();
@ -2515,6 +2595,8 @@ var canvas_PFD_2 = {
me["ALT_error"].show();
me["ALT_frame"].setColor(1,0,0);
me["ALT_group"].hide();
me["ALT_tens"].hide();
me["ALT_neg"].hide();
me["ALT_group2"].hide();
me["ALT_scale"].hide();
me["ALT_box_flash"].hide();

File diff suppressed because it is too large Load diff

Before

Width:  |  Height:  |  Size: 368 KiB

After

Width:  |  Height:  |  Size: 340 KiB

File diff suppressed because it is too large Load diff

View file

@ -41,9 +41,9 @@
inkscape:window-height="705"
id="namedview371"
showgrid="true"
inkscape:zoom="1"
inkscape:cx="718.57047"
inkscape:cy="505.8628"
inkscape:zoom="0.25"
inkscape:cx="971.41703"
inkscape:cy="1420.8195"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@ -1428,4 +1428,43 @@
width="137.63597"
id="SlatLine_clip"
style="opacity:0.5;fill:none;fill-opacity:1;stroke:none;stroke-width:3.34691048;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.71383667px;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.7928459"
x="38.122616"
y="47.904297"
id="aFloor"
transform="scale(0.94595932,1.0571279)"
inkscape:label="#text1027"><tspan
sodipodi:role="line"
id="tspan1025"
x="38.122616"
y="47.904297"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:39.99999902px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#c56100;fill-opacity:1;stroke-width:0.7928459">A FLOOR</tspan></text>
<text
transform="scale(0.97051272,1.0303832)"
inkscape:label="#text4314"
id="FlxLimTemp"
y="122.78025"
x="919.25299"
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:#179ab7;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:40.71494293px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;"
y="122.78025"
x="919.25299"
id="tspan1029"
sodipodi:role="line">00</tspan></text>
<text
inkscape:label="#text4443"
id="FlxLimDegreesC"
y="108.14707"
x="1061.88"
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:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"
transform="scale(0.87983286,1.1365795)"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.25978088px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#179ab7;fill-opacity:1"
y="108.14707"
x="1061.88"
id="tspan1033"
sodipodi:role="line">°C</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View file

@ -42,8 +42,8 @@
id="namedview371"
showgrid="false"
inkscape:zoom="0.43942712"
inkscape:cx="180.81625"
inkscape:cy="433.53356"
inkscape:cx="623.25944"
inkscape:cy="936.15332"
inkscape:window-x="-8"
inkscape:window-y="-8"
inkscape:window-maximized="1"
@ -1755,7 +1755,7 @@
x="650.08069"
y="575.68427"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.25px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:0.75">A-LOCK</tspan></text>
<path
<path
style="opacity:1;vector-effect:none;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#0dc04b;stroke-width:5.44862556;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:normal"
d="M 555.26245,639.8335 691.24239,597.33411"
id="SlatLine"
@ -1796,4 +1796,43 @@
width="137.63597"
id="SlatLine_clip"
style="opacity:0.5;fill:none;fill-opacity:1;stroke:none;stroke-width:3.34691048;stroke-linecap:square;stroke-linejoin:bevel;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" />
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.71383667px;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.7928459"
x="38.122616"
y="47.904297"
id="aFloor"
transform="scale(0.94595932,1.0571279)"
inkscape:label="#text1027"><tspan
sodipodi:role="line"
id="tspan1025"
x="38.122616"
y="47.904297"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:39.99999902px;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#c56100;fill-opacity:1;stroke-width:0.7928459">A FLOOR</tspan></text>
<text
transform="scale(0.97051272,1.0303832)"
inkscape:label="#text4314"
id="FlxLimTemp"
y="122.78025"
x="919.25299"
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:#179ab7;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:40.71494293px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;"
y="122.78025"
x="919.25299"
id="tspan1029"
sodipodi:role="line">00</tspan></text>
<text
inkscape:label="#text4443"
id="FlxLimDegreesC"
y="108.14707"
x="1061.88"
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:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
xml:space="preserve"
transform="scale(0.87983286,1.1365795)"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:31.25978088px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#179ab7;fill-opacity:1"
y="108.14707"
x="1061.88"
id="tspan1033"
sodipodi:role="line">°C</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 112 KiB

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

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 KiB

After

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 2.6 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 MiB

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 522 KiB

After

Width:  |  Height:  |  Size: 606 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

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