1
0
Fork 0

Merge 3D into 3D-canvas

Signed-off-by: fly <merspieler@airmail.cc>
This commit is contained in:
fly 2021-08-12 19:12:13 +02:00
commit d405776b40
51 changed files with 1736 additions and 1550 deletions

View file

@ -13,18 +13,18 @@
<metrics file="Systems/a320-metrics"/>
<mass_balance>
<ixx unit="SLUG*FT2">611903</ixx>
<iyy unit="SLUG*FT2">1735389</iyy>
<izz unit="SLUG*FT2">1401293</izz>
<ixx unit="SLUG*FT2">414659</ixx>
<iyy unit="SLUG*FT2">895647</iyy>
<izz unit="SLUG*FT2">678957</izz>
<ixy unit="SLUG*FT2">0</ixy>
<ixz unit="SLUG*FT2">0</ixz>
<iyz unit="SLUG*FT2">0</iyz>
<emptywt unit="LBS">95721.5</emptywt>
<emptywt unit="LBS">95409.5</emptywt>
<location name="CG" unit="M">
<x>-2.4335</x> <!-- 28.5% MAC -->
<y>0</y>
<z>-0.75</z>
<z>-0.934</z>
</location>
<pointmass name="Crew">
@ -32,34 +32,32 @@
<location name="POINTMASS" unit="M">
<x>-15.44</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Forward Cabin">
<weight unit="LBS">3722</weight>
<weight unit="LBS">5896</weight>
<location name="POINTMASS" unit="M">
<x>-10.8</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Center Cabin">
<weight unit="LBS">11361</weight>
<weight unit="LBS">7256</weight>
<location name="POINTMASS" unit="M">
<x>-4.3</x>
<x>-3.3</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Aft Cabin">
<weight unit="LBS">8422</weight>
<weight unit="LBS">6651</weight>
<location name="POINTMASS" unit="M">
<x>-5.3</x>
<x>4.9</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
@ -71,20 +69,18 @@
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Cargo">
<weight unit="LBS">3000</weight>
<location name="POINTMASS" unit="M">
<x>-3.1</x>
<x>4.2</x>
<y>0</y>
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Bulk Cargo">
<weight unit="LBS">0</weight>
<location name="POINTMASS" unit="M">
<x>-8.1</x>
<x>8.2</x>
<y>0</y>
<z>-1</z>
</location>

View file

@ -13,9 +13,9 @@
<metrics file="Systems/a320-metrics"/>
<mass_balance>
<ixx unit="SLUG*FT2">611903</ixx>
<iyy unit="SLUG*FT2">1735389</iyy>
<izz unit="SLUG*FT2">1401293</izz>
<ixx unit="SLUG*FT2">414659</ixx>
<iyy unit="SLUG*FT2">895647</iyy>
<izz unit="SLUG*FT2">678957</izz>
<ixy unit="SLUG*FT2">0</ixy>
<ixz unit="SLUG*FT2">0</ixz>
<iyz unit="SLUG*FT2">0</iyz>
@ -24,7 +24,7 @@
<location name="CG" unit="M">
<x>-2.4335</x> <!-- 28.5% MAC -->
<y>0</y>
<z>-0.75</z>
<z>-0.934</z>
</location>
<pointmass name="Crew">
@ -32,34 +32,32 @@
<location name="POINTMASS" unit="M">
<x>-15.44</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Forward Cabin">
<weight unit="LBS">3722</weight>
<weight unit="LBS">5896</weight>
<location name="POINTMASS" unit="M">
<x>-10.8</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Center Cabin">
<weight unit="LBS">11361</weight>
<weight unit="LBS">7256</weight>
<location name="POINTMASS" unit="M">
<x>-4.3</x>
<x>-3.3</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Aft Cabin">
<weight unit="LBS">8422</weight>
<weight unit="LBS">6651</weight>
<location name="POINTMASS" unit="M">
<x>-5.3</x>
<x>4.9</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
@ -71,20 +69,18 @@
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Cargo">
<weight unit="LBS">3000</weight>
<location name="POINTMASS" unit="M">
<x>-3.1</x>
<x>4.2</x>
<y>0</y>
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Bulk Cargo">
<weight unit="LBS">0</weight>
<location name="POINTMASS" unit="M">
<x>-8.1</x>
<x>8.2</x>
<y>0</y>
<z>-1</z>
</location>

View file

@ -1378,8 +1378,6 @@
<ac-ess-bus type="bool">0</ac-ess-bus>
<ac-1-bus type="bool">0</ac-1-bus>
<ac-2-bus type="bool">0</ac-2-bus>
<bat-1 type="bool">0</bat-1>
<bat-2 type="bool">0</bat-2>
<dc-bat-bus type="bool">0</dc-bat-bus>
<dc-ess-bus type="bool">0</dc-ess-bus>
<dc-1-bus type="bool">0</dc-1-bus>
@ -4401,9 +4399,7 @@
<desc>Simple Engage/Disengage reversers</desc>
<binding>
<command>nasal</command>
<script>
systems.toggleFastRevThrust();
</script>
<script>systems.toggleFastRevThrust();</script>
</binding>
</key>
<key n="257">
@ -4411,9 +4407,7 @@
<desc>Disengage/Decrease reversers</desc>
<binding>
<command>nasal</command>
<script>
systems.unRevThrust();
</script>
<script>systems.unRevThrust();</script>
</binding>
</key>
<key n="258">
@ -4421,65 +4415,15 @@
<desc>Engage/Increase reversers</desc>
<binding>
<command>nasal</command>
<script>
systems.doRevThrust();
</script>
<script>systems.doRevThrust();</script>
</binding>
</key>
<key n="2">
<name>Ctrl-b</name>
<desc>Cycle speedbrake setting</desc>
<binding>
<condition>
<and>
<not-equals>
<property>/controls/flight/speedbrake-arm</property>
<value>1</value>
</not-equals>
<or>
<equals>
<property>/gear/gear[1]/wow</property>
<value>1</value>
</equals>
<equals>
<property>/gear/gear[2]/wow</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
<command>property-cycle</command>
<property>/controls/flight/speedbrake</property>
<value>0.0</value>
<value>1.0</value>
</binding>
<binding>
<condition>
<and>
<not-equals>
<property>/controls/flight/speedbrake-arm</property>
<value>1</value>
</not-equals>
<equals>
<property>/gear/gear[1]/wow</property>
<value>0</value>
</equals>
<equals>
<property>/gear/gear[2]/wow</property>
<value>0</value>
</equals>
</and>
</condition>
<command>property-cycle</command>
<property>/controls/flight/speedbrake</property>
<value>0.0</value>
<value>0.5</value>
<value>1.0</value>
</binding>
<binding>
<command>property-assign</command>
<property>/controls/flight/speedbrake-arm</property>
<value>0</value>
<command>nasal</command>
<script>libraries.speedbrakeKey();</script>
</binding>
</key>
<key n="356">
@ -4796,7 +4740,6 @@
<file>Aircraft/A320-family/Nasal/MCDU/PERFTO.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/RADNAV.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/DATA.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/DATA2.nas</file>
<file>Aircraft/A320-family/Nasal/MCDU/STATUS.nas</file>
</mcdu>
<!-- Traffic layer from E-jet -->
@ -4837,6 +4780,7 @@
<file>Aircraft/A320-family/Models/Instruments/DCDU/DCDU.nas</file>
</canvas_dcdu>
<canvas_mcdu>
<file>Aircraft/A320-family/Models/Instruments/MCDU/MCDU-funcs.nas</file>
<file>Aircraft/A320-family/Models/Instruments/MCDU/MCDU.nas</file>
</canvas_mcdu>
<canvas_qnh>

View file

@ -13,18 +13,18 @@
<metrics file="Systems/a320-metrics"/>
<mass_balance>
<ixx unit="SLUG*FT2">611903</ixx>
<iyy unit="SLUG*FT2">1735389</iyy>
<izz unit="SLUG*FT2">1401293</izz>
<ixx unit="SLUG*FT2">414659</ixx>
<iyy unit="SLUG*FT2">895647</iyy>
<izz unit="SLUG*FT2">678957</izz>
<ixy unit="SLUG*FT2">0</ixy>
<ixz unit="SLUG*FT2">0</ixz>
<iyz unit="SLUG*FT2">0</iyz>
<emptywt unit="LBS">98160.71</emptywt>
<emptywt unit="LBS">95409.5</emptywt>
<location name="CG" unit="M">
<x>-2.4335</x> <!-- 28.5% MAC -->
<y>0</y>
<z>-0.75</z>
<z>-0.934</z>
</location>
<pointmass name="Crew">
@ -32,34 +32,32 @@
<location name="POINTMASS" unit="M">
<x>-15.44</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Forward Cabin">
<weight unit="LBS">3722</weight>
<weight unit="LBS">5896</weight>
<location name="POINTMASS" unit="M">
<x>-10.8</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Center Cabin">
<weight unit="LBS">11361</weight>
<weight unit="LBS">7256</weight>
<location name="POINTMASS" unit="M">
<x>-4.3</x>
<x>-3.3</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Aft Cabin">
<weight unit="LBS">8422</weight>
<weight unit="LBS">6651</weight>
<location name="POINTMASS" unit="M">
<x>-5.3</x>
<x>4.9</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
@ -71,20 +69,18 @@
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Cargo">
<weight unit="LBS">3000</weight>
<location name="POINTMASS" unit="M">
<x>-3.1</x>
<x>4.2</x>
<y>0</y>
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Bulk Cargo">
<weight unit="LBS">0</weight>
<location name="POINTMASS" unit="M">
<x>-8.1</x>
<x>8.2</x>
<y>0</y>
<z>-1</z>
</location>

View file

@ -13,18 +13,18 @@
<metrics file="Systems/a320-metrics"/>
<mass_balance>
<ixx unit="SLUG*FT2">611903</ixx>
<iyy unit="SLUG*FT2">1735389</iyy>
<izz unit="SLUG*FT2">1401293</izz>
<ixx unit="SLUG*FT2">414659</ixx>
<iyy unit="SLUG*FT2">895647</iyy>
<izz unit="SLUG*FT2">678957</izz>
<ixy unit="SLUG*FT2">0</ixy>
<ixz unit="SLUG*FT2">0</ixz>
<iyz unit="SLUG*FT2">0</iyz>
<emptywt unit="LBS">97497.7</emptywt>
<emptywt unit="LBS">95409.5</emptywt>
<location name="CG" unit="M">
<x>-2.4335</x> <!-- 28.5% MAC -->
<y>0</y>
<z>-0.75</z>
<z>-0.934</z>
</location>
<pointmass name="Crew">
@ -32,34 +32,32 @@
<location name="POINTMASS" unit="M">
<x>-15.44</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Forward Cabin">
<weight unit="LBS">3722</weight>
<weight unit="LBS">5896</weight>
<location name="POINTMASS" unit="M">
<x>-10.8</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Center Cabin">
<weight unit="LBS">11361</weight>
<weight unit="LBS">7256</weight>
<location name="POINTMASS" unit="M">
<x>-4.3</x>
<x>-3.3</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
<pointmass name="Aft Cabin">
<weight unit="LBS">8422</weight>
<weight unit="LBS">6651</weight>
<location name="POINTMASS" unit="M">
<x>-5.3</x>
<x>4.9</x>
<y>0</y>
<z>0.3</z>
<z>0.39</z>
</location>
</pointmass>
@ -71,20 +69,18 @@
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Cargo">
<weight unit="LBS">3000</weight>
<location name="POINTMASS" unit="M">
<x>-3.1</x>
<x>4.2</x>
<y>0</y>
<z>-1</z>
</location>
</pointmass>
<pointmass name="Aft Bulk Cargo">
<weight unit="LBS">0</weight>
<location name="POINTMASS" unit="M">
<x>-8.1</x>
<x>8.2</x>
<y>0</y>
<z>-1</z>
</location>

View file

@ -412,26 +412,6 @@
<live>true</live>
</checkbox>
<checkbox>
<label>BATTERY 1</label>
<halign>left</halign>
<property>/systems/failures/electrical/bat-1</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>BATTERY 2</label>
<halign>left</halign>
<property>/systems/failures/electrical/bat-2</property>
<binding>
<command>dialog-apply</command>
</binding>
<live>true</live>
</checkbox>
<checkbox>
<label>DC ESS BUS</label>
<halign>left</halign>

View file

@ -5602,6 +5602,22 @@
</condition>
</animation>
<animation>
<type>pick</type>
<object-name>metric_alt</object-name>
<action>
<button>0</button>
<repeatable>false</repeatable>
<binding>
<command>nasal</command>
<script>
fcu.FCUController.MetricAlt();
setprop("sim/sounde/btn1", 1);
</script>
</binding>
</action>
</animation>
<!-- Sidestick Priority Lights -->
<animation>
<type>select</type>
@ -6976,48 +6992,20 @@
<value>1</value>
</binding>
</action>
<action>
<button>4</button>
<repeatable>false</repeatable>
<binding>
<command>nasal</command>
<script>
var spdBrk = getprop("controls/flight/speedbrake" );
if(spdBrk == 0){
setprop("controls/flight/speedbrake-arm", 0);
setprop("controls/flight/speedbrake", 0.5);
}
elsif(spdBrk == 0.5){
setprop("controls/flight/speedbrake-arm", 0);
setprop("controls/flight/speedbrake", 1);
}
elsif(spdBrk == 1){
setprop("controls/flight/speedbrake-arm", 0);
# Do nothing because spoilers are fully up.
}
</script>
</binding>
</action>
<action>
<button>3</button>
<repeatable>false</repeatable>
<binding>
<command>nasal</command>
<script>
var spdBrk = getprop("controls/flight/speedbrake");
if(spdBrk == 0){
setprop("controls/flight/speedbrake-arm", 0);
# Do nothing because spoilers are fully down.
}
elsif(spdBrk == 0.5){
setprop("controls/flight/speedbrake-arm", 0);
setprop("controls/flight/speedbrake", 0);
}
elsif(spdBrk == 1){
setprop("controls/flight/speedbrake-arm", 0);
setprop("controls/flight/speedbrake", 0.5);
}
</script>
<script>libraries.retractSpeedbrake();</script>
</binding>
</action>
<action>
<button>4</button>
<repeatable>false</repeatable>
<binding>
<command>nasal</command>
<script>libraries.deploySpeedbrake();</script>
</binding>
</action>
</animation>
@ -7701,19 +7689,15 @@
<object-name>vs.ind</object-name>
<object-name>fpa.ind</object-name>
<object-name>fpa.ind.001</object-name>
<object-name>atc-code</object-name>
<object-name>atc-test</object-name>
<object-name>fpa-text</object-name>
<object-name>qnh-inhg</object-name>
<object-name>qnh-hpa</object-name>
<object-name>qnh-std</object-name>
<object-name>qnh-test</object-name>
<object-name>rudder-trim</object-name>
<object-name>rudder-trim-letter</object-name>
<diffuse>
<red>0.75</red>
<green>0.30</green>
<blue>0.0</blue>
<red>1.00</red>
<green>0.515</green>
<blue>0.00</blue>
<factor-prop>controls/lighting/fcu-digit-norm</factor-prop>
</diffuse>
<ambient>
@ -7727,9 +7711,9 @@
<blue>0</blue>
</specular>
<emission>
<red>0.75</red>
<green>0.30</green>
<blue>0.0</blue>
<red>1.00</red>
<green>0.515</green>
<blue>0.00</blue>
<factor-prop>controls/lighting/fcu-digit-norm</factor-prop>
</emission>
</animation>
@ -7738,10 +7722,12 @@
<type>material</type>
<object-name>rudder-trim</object-name>
<object-name>rudder-trim-letter</object-name>
<object-name>atc-code</object-name>
<object-name>atc-test</object-name>
<diffuse>
<red>0.75</red>
<green>0.30</green>
<blue>0.0</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</diffuse>
<ambient>
<red>0</red>
@ -7754,9 +7740,9 @@
<blue>0</blue>
</specular>
<emission>
<red>0.75</red>
<green>0.30</green>
<blue>0.0</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</emission>
</animation>
@ -9180,9 +9166,9 @@
<object-name>dme1</object-name>
<!-- <object-name>dme1_20</object-name>-->
<diffuse>
<red>0.89</red>
<green>0.37</green>
<blue>0.08</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</diffuse>
<ambient>
<red>0</red>
@ -9195,9 +9181,9 @@
<blue>0</blue>
</specular>
<emission>
<red>0.89</red>
<green>0.37</green>
<blue>0.08</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</emission>
</animation>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

View file

@ -3,7 +3,7 @@ MATERIAL "engine-LEAP" rgb 0.720 0.720 0.720 amb 1.000 1.000 1.000 emis 0.000
MATERIAL "engine-LEAP-Inner" rgb 0.800 0.800 0.800 amb 1.000 1.000 1.000 emis 0.000 0.000 0.000 spec 0.500 0.500 0.500 shi 5 trans 0.000
OBJECT world
name "Blender_exporter_v2.26__CFMLEAP1A.ac"
kids 21
kids 20
OBJECT poly
name "EngineLEAPL"
data 10
@ -11,7 +11,7 @@ Circle.070
crease 40.0
texture "engine-leap1a.png"
texrep 1 1
numvert 915
numvert 971
-5.99603 -1.40518 4.72154
-5.99603 -3.21746 4.72154
-5.99603 -2.08404 4.36962
@ -927,7 +927,63 @@ numvert 915
-6.59341 -1.42205 5.35885
-6.59533 -1.41164 5.35153
-6.59535 -1.41048 5.35534
numsurf 763
-5.36544 -1.38745 6.48767
-5.58537 -1.40004 6.51961
-5.89058 -1.42088 6.54841
-5.3821 -1.34082 6.43333
-5.60021 -1.35352 6.46475
-5.90234 -1.37166 6.49624
-5.36522 -1.38064 6.49365
-5.89036 -1.41406 6.55439
-5.58514 -1.39322 6.52558
-5.38187 -1.334 6.43931
-5.90211 -1.36484 6.50222
-5.59998 -1.3467 6.47073
-5.28901 -1.37521 6.46328
-5.29742 -1.38317 6.47371
-6.05451 -1.43226 6.55571
-6.0674 -1.42517 6.54833
-6.07481 -1.39031 6.51341
-6.06527 -1.38175 6.50493
-6.06718 -1.41835 6.5543
-6.05428 -1.42545 6.56169
-6.06504 -1.37493 6.51091
-6.07458 -1.3835 6.51939
-5.31444 -1.33587 6.42032
-5.3008 -1.34233 6.42636
-5.29719 -1.37636 6.47969
-5.28878 -1.36839 6.46926
-5.30058 -1.33551 6.43234
-5.31421 -1.32905 6.42629
-5.36544 -1.38745 4.7736
-5.58537 -1.40004 4.74166
-5.89058 -1.42088 4.71285
-5.3821 -1.34082 4.82793
-5.60021 -1.35352 4.79651
-5.90234 -1.37166 4.76502
-5.36522 -1.38064 4.76762
-5.89036 -1.41406 4.70687
-5.58514 -1.39322 4.73568
-5.38187 -1.334 4.82195
-5.90211 -1.36484 4.75904
-5.59998 -1.3467 4.79054
-5.28901 -1.37521 4.79798
-5.29742 -1.38317 4.78756
-6.05451 -1.43226 4.70555
-6.0674 -1.42517 4.71294
-6.07481 -1.39031 4.74785
-6.06527 -1.38175 4.75633
-6.06718 -1.41835 4.70696
-6.05428 -1.42545 4.69958
-6.06504 -1.37493 4.75035
-6.07458 -1.3835 4.74187
-5.31444 -1.33587 4.84095
-5.3008 -1.34233 4.8349
-5.29719 -1.37636 4.78158
-5.28878 -1.36839 4.79201
-5.30058 -1.33551 4.82892
-5.31421 -1.32905 4.83497
numsurf 799
SURF 0X10
mat 0
refs 4
@ -6238,332 +6294,266 @@ refs 4
911 0.294766 0.901495
912 0.29524 0.901496
910 0.29524 0.903886
kids 0
OBJECT poly
name "EngineLEAPL.007"
data 10
Circle.043
crease 40.0
texture "engine-leap1a.png"
texrep 1 1
numvert 56
-5.36544 -1.38745 6.48767
-5.58537 -1.40004 6.51961
-5.89058 -1.42088 6.54841
-5.3821 -1.34082 6.43333
-5.60021 -1.35352 6.46475
-5.90234 -1.37166 6.49624
-5.36522 -1.38064 6.49365
-5.89036 -1.41406 6.55439
-5.58514 -1.39322 6.52558
-5.38187 -1.334 6.43931
-5.90211 -1.36484 6.50222
-5.59998 -1.3467 6.47073
-5.28901 -1.37521 6.46328
-5.29742 -1.38317 6.47371
-6.05451 -1.43226 6.55571
-6.0674 -1.42517 6.54833
-6.07481 -1.39031 6.51341
-6.06527 -1.38175 6.50493
-6.06718 -1.41835 6.5543
-6.05428 -1.42545 6.56169
-6.06504 -1.37493 6.51091
-6.07458 -1.3835 6.51939
-5.31444 -1.33587 6.42032
-5.3008 -1.34233 6.42636
-5.29719 -1.37636 6.47969
-5.28878 -1.36839 6.46926
-5.30058 -1.33551 6.43234
-5.31421 -1.32905 6.42629
-5.36544 -1.38745 4.7736
-5.58537 -1.40004 4.74166
-5.89058 -1.42088 4.71285
-5.3821 -1.34082 4.82793
-5.60021 -1.35352 4.79651
-5.90234 -1.37166 4.76502
-5.36522 -1.38064 4.76762
-5.89036 -1.41406 4.70687
-5.58514 -1.39322 4.73568
-5.38187 -1.334 4.82195
-5.90211 -1.36484 4.75904
-5.59998 -1.3467 4.79054
-5.28901 -1.37521 4.79798
-5.29742 -1.38317 4.78756
-6.05451 -1.43226 4.70555
-6.0674 -1.42517 4.71294
-6.07481 -1.39031 4.74785
-6.06527 -1.38175 4.75633
-6.06718 -1.41835 4.70696
-6.05428 -1.42545 4.69958
-6.06504 -1.37493 4.75035
-6.07458 -1.3835 4.74187
-5.31444 -1.33587 4.84095
-5.3008 -1.34233 4.8349
-5.29719 -1.37636 4.78158
-5.28878 -1.36839 4.79201
-5.30058 -1.33551 4.82892
-5.31421 -1.32905 4.83497
numsurf 36
SURF 0X10
mat 0
refs 4
2 0.156482 0.623991
1 0.123384 0.624027
8 0.123514 0.623013
7 0.155977 0.622984
917 0.156482 0.623991
916 0.123384 0.624027
923 0.123514 0.623013
922 0.155977 0.622984
SURF 0X10
mat 0
refs 4
3 0.100318 0.613748
4 0.12407 0.614572
11 0.124187 0.615286
9 0.10089 0.614613
918 0.100318 0.613748
919 0.12407 0.614572
926 0.124187 0.615286
924 0.10089 0.614613
SURF 0X10
mat 0
refs 4
4 0.12407 0.614572
5 0.156848 0.614608
10 0.156335 0.615316
11 0.124187 0.615286
919 0.12407 0.614572
920 0.156848 0.614608
925 0.156335 0.615316
926 0.124187 0.615286
SURF 0X10
mat 0
refs 4
1 0.123384 0.624027
0 0.099433 0.62319
6 0.100023 0.622329
8 0.123514 0.623013
916 0.123384 0.624027
915 0.099433 0.62319
921 0.100023 0.622329
923 0.123514 0.623013
SURF 0X10
mat 0
refs 4
21 0.174735 0.61585
16 0.175608 0.615261
15 0.175425 0.621697
18 0.174557 0.621109
936 0.174735 0.61585
931 0.175608 0.615261
930 0.175425 0.621697
933 0.174557 0.621109
SURF 0X10
mat 0
refs 4
12 0.090914 0.620953
23 0.091558 0.614428
26 0.092298 0.615169
25 0.091667 0.620501
927 0.090914 0.620953
938 0.091558 0.614428
941 0.092298 0.615169
940 0.091667 0.620501
SURF 0X10
mat 0
refs 4
22 0.092907 0.613091
3 0.100318 0.613748
9 0.10089 0.614613
27 0.093622 0.614076
937 0.092907 0.613091
918 0.100318 0.613748
924 0.10089 0.614613
942 0.093622 0.614076
SURF 0X10
mat 0
refs 4
5 0.156848 0.614608
17 0.174438 0.61386
20 0.173588 0.614704
10 0.156335 0.615316
920 0.156848 0.614608
932 0.174438 0.61386
935 0.173588 0.614704
925 0.156335 0.615316
SURF 0X10
mat 0
refs 6
7 0.155977 0.622984
10 0.156335 0.615316
20 0.173588 0.614704
21 0.174735 0.61585
18 0.174557 0.621109
19 0.173329 0.622341
922 0.155977 0.622984
925 0.156335 0.615316
935 0.173588 0.614704
936 0.174735 0.61585
933 0.174557 0.621109
934 0.173329 0.622341
SURF 0X10
mat 0
refs 6
24 0.092711 0.621771
25 0.091667 0.620501
26 0.092298 0.615169
27 0.093622 0.614076
9 0.10089 0.614613
6 0.100023 0.622329
939 0.092711 0.621771
940 0.091667 0.620501
941 0.092298 0.615169
942 0.093622 0.614076
924 0.10089 0.614613
921 0.100023 0.622329
SURF 0X10
mat 0
refs 4
14 0.174174 0.623205
2 0.156482 0.623991
7 0.155977 0.622984
19 0.173329 0.622341
929 0.174174 0.623205
917 0.156482 0.623991
922 0.155977 0.622984
934 0.173329 0.622341
SURF 0X10
mat 0
refs 4
11 0.124187 0.615286
10 0.156335 0.615316
7 0.155977 0.622984
8 0.123514 0.623013
926 0.124187 0.615286
925 0.156335 0.615316
922 0.155977 0.622984
923 0.123514 0.623013
SURF 0X10
mat 0
refs 4
9 0.10089 0.614613
11 0.124187 0.615286
8 0.123514 0.623013
6 0.100023 0.622329
924 0.10089 0.614613
926 0.124187 0.615286
923 0.123514 0.623013
921 0.100023 0.622329
SURF 0X10
mat 0
refs 4
14 0.174174 0.623205
19 0.173329 0.622341
18 0.174557 0.621109
15 0.175425 0.621697
929 0.174174 0.623205
934 0.173329 0.622341
933 0.174557 0.621109
930 0.175425 0.621697
SURF 0X10
mat 0
refs 4
16 0.175608 0.615261
21 0.174735 0.61585
20 0.173588 0.614704
17 0.174438 0.61386
931 0.175608 0.615261
936 0.174735 0.61585
935 0.173588 0.614704
932 0.174438 0.61386
SURF 0X10
mat 0
refs 4
22 0.092907 0.613091
27 0.093622 0.614076
26 0.092298 0.615169
23 0.091558 0.614428
937 0.092907 0.613091
942 0.093622 0.614076
941 0.092298 0.615169
938 0.091558 0.614428
SURF 0X10
mat 0
refs 4
12 0.090914 0.620953
25 0.091667 0.620501
24 0.092711 0.621771
13 0.091978 0.622507
927 0.090914 0.620953
940 0.091667 0.620501
939 0.092711 0.621771
928 0.091978 0.622507
SURF 0X10
mat 0
refs 4
0 0.099433 0.62319
13 0.091978 0.622507
24 0.092711 0.621771
6 0.100023 0.622329
915 0.099433 0.62319
928 0.091978 0.622507
939 0.092711 0.621771
921 0.100023 0.622329
SURF 0X10
mat 0
refs 4
30 0.068591 0.623991
35 0.068086 0.622984
36 0.035623 0.623013
29 0.035493 0.624027
945 0.068591 0.623991
950 0.068086 0.622984
951 0.035623 0.623013
944 0.035493 0.624027
SURF 0X10
mat 0
refs 4
31 0.012427 0.613748
37 0.012999 0.614613
39 0.036296 0.615286
32 0.036179 0.614572
946 0.012427 0.613748
952 0.012999 0.614613
954 0.036296 0.615286
947 0.036179 0.614572
SURF 0X10
mat 0
refs 4
32 0.036179 0.614572
39 0.036296 0.615286
38 0.068444 0.615316
33 0.068957 0.614608
947 0.036179 0.614572
954 0.036296 0.615286
953 0.068444 0.615316
948 0.068957 0.614608
SURF 0X10
mat 0
refs 4
29 0.035493 0.624027
36 0.035623 0.623013
34 0.012132 0.622329
28 0.011542 0.62319
944 0.035493 0.624027
951 0.035623 0.623013
949 0.012132 0.622329
943 0.011542 0.62319
SURF 0X10
mat 0
refs 4
49 0.086844 0.61585
46 0.086665 0.621109
43 0.087534 0.621697
44 0.087717 0.615262
964 0.086844 0.61585
961 0.086665 0.621109
958 0.087534 0.621697
959 0.087717 0.615262
SURF 0X10
mat 0
refs 4
40 0.003023 0.620953
53 0.003776 0.620501
54 0.004407 0.615169
51 0.003667 0.614428
955 0.003023 0.620953
968 0.003776 0.620501
969 0.004407 0.615169
966 0.003667 0.614428
SURF 0X10
mat 0
refs 4
50 0.005016 0.613091
55 0.005731 0.614076
37 0.012999 0.614613
31 0.012427 0.613748
965 0.005016 0.613091
970 0.005731 0.614076
952 0.012999 0.614613
946 0.012427 0.613748
SURF 0X10
mat 0
refs 4
33 0.068957 0.614608
38 0.068444 0.615316
48 0.085697 0.614704
45 0.086547 0.61386
948 0.068957 0.614608
953 0.068444 0.615316
963 0.085697 0.614704
960 0.086547 0.61386
SURF 0X10
mat 0
refs 6
35 0.068086 0.622984
47 0.085438 0.622341
46 0.086665 0.621109
49 0.086844 0.61585
48 0.085697 0.614704
38 0.068444 0.615316
950 0.068086 0.622984
962 0.085438 0.622341
961 0.086665 0.621109
964 0.086844 0.61585
963 0.085697 0.614704
953 0.068444 0.615316
SURF 0X10
mat 0
refs 6
52 0.00482 0.621771
34 0.012132 0.622329
37 0.012999 0.614613
55 0.005731 0.614076
54 0.004407 0.615169
53 0.003776 0.620501
967 0.00482 0.621771
949 0.012132 0.622329
952 0.012999 0.614613
970 0.005731 0.614076
969 0.004407 0.615169
968 0.003776 0.620501
SURF 0X10
mat 0
refs 4
42 0.086283 0.623205
47 0.085438 0.622341
35 0.068086 0.622984
30 0.068591 0.623991
957 0.086283 0.623205
962 0.085438 0.622341
950 0.068086 0.622984
945 0.068591 0.623991
SURF 0X10
mat 0
refs 4
39 0.036296 0.615286
36 0.035623 0.623013
35 0.068086 0.622984
38 0.068444 0.615316
954 0.036296 0.615286
951 0.035623 0.623013
950 0.068086 0.622984
953 0.068444 0.615316
SURF 0X10
mat 0
refs 4
37 0.012999 0.614613
34 0.012132 0.622329
36 0.035623 0.623013
39 0.036296 0.615286
952 0.012999 0.614613
949 0.012132 0.622329
951 0.035623 0.623013
954 0.036296 0.615286
SURF 0X10
mat 0
refs 4
42 0.086283 0.623205
43 0.087534 0.621697
46 0.086665 0.621109
47 0.085438 0.622341
957 0.086283 0.623205
958 0.087534 0.621697
961 0.086665 0.621109
962 0.085438 0.622341
SURF 0X10
mat 0
refs 4
44 0.087717 0.615262
45 0.086547 0.61386
48 0.085697 0.614704
49 0.086844 0.61585
959 0.087717 0.615262
960 0.086547 0.61386
963 0.085697 0.614704
964 0.086844 0.61585
SURF 0X10
mat 0
refs 4
50 0.005016 0.613091
51 0.003667 0.614428
54 0.004407 0.615169
55 0.005731 0.614076
965 0.005016 0.613091
966 0.003667 0.614428
969 0.004407 0.615169
970 0.005731 0.614076
SURF 0X10
mat 0
refs 4
40 0.003023 0.620953
41 0.004087 0.622507
52 0.00482 0.621771
53 0.003776 0.620501
955 0.003023 0.620953
956 0.004087 0.622507
967 0.00482 0.621771
968 0.003776 0.620501
SURF 0X10
mat 0
refs 4
28 0.011542 0.62319
34 0.012132 0.622329
52 0.00482 0.621771
41 0.004087 0.622507
943 0.011542 0.62319
949 0.012132 0.622329
967 0.00482 0.621771
956 0.004087 0.622507
kids 0
OBJECT poly
name "EngineLEAPL.Inner"

View file

@ -12658,143 +12658,143 @@ numsurf 20
SURF 0X10
mat 3
refs 4
1 0.831933 0.473945
0 0.831933 0.411533
5 0.898381 0.411533
2 0.898381 0.473945
1 0.831933 0.783971
0 0.831933 0.721559
5 0.898381 0.721559
2 0.898381 0.783971
SURF 0X10
mat 3
refs 4
0 0.831933 0.411533
40 0.831933 0.38219
37 0.898381 0.389125
5 0.898381 0.411533
0 0.831933 0.721559
40 0.831933 0.692216
37 0.898381 0.699151
5 0.898381 0.721559
SURF 0X10
mat 3
refs 4
7 0.831933 0.72174
6 0.831933 0.784152
3 0.898381 0.784152
4 0.898381 0.72174
7 0.831933 0.411714
6 0.831933 0.474126
3 0.898381 0.474126
4 0.898381 0.411714
SURF 0X10
mat 3
refs 4
6 0.831933 0.784152
22 0.831933 0.79733
16 0.898381 0.799399
3 0.898381 0.784152
6 0.831933 0.474126
22 0.831933 0.487304
16 0.898381 0.489373
3 0.898381 0.474126
SURF 0X10
mat 3
refs 4
2 0.898381 0.473945
5 0.898381 0.411533
28 0.961802 0.411533
29 0.961802 0.473945
2 0.898381 0.783971
5 0.898381 0.721559
28 0.961802 0.721559
29 0.961802 0.783971
SURF 0X10
mat 3
refs 4
4 0.898381 0.72174
3 0.898381 0.784152
33 0.961798 0.784152
24 0.961798 0.72174
4 0.898381 0.411714
3 0.898381 0.474126
33 0.961798 0.474126
24 0.961798 0.411714
SURF 0X10
mat 3
refs 4
3 0.898381 0.784152
16 0.898381 0.799399
32 0.961798 0.79932
33 0.961798 0.784152
3 0.898381 0.474126
16 0.898381 0.489373
32 0.961798 0.489294
33 0.961798 0.474126
SURF 0X10
mat 3
refs 4
9 0.831933 0.474028
8 0.831933 0.411615
13 0.898381 0.411615
10 0.898381 0.474028
9 0.831933 0.784054
8 0.831933 0.721641
13 0.898381 0.721641
10 0.898381 0.784054
SURF 0X10
mat 3
refs 4
8 0.831933 0.411615
42 0.831933 0.382274
38 0.898381 0.389209
13 0.898381 0.411615
8 0.831933 0.721641
42 0.831933 0.6923
38 0.898381 0.699234
13 0.898381 0.721641
SURF 0X10
mat 3
refs 4
15 0.831933 0.721657
14 0.831933 0.784069
11 0.898381 0.784069
12 0.898381 0.721657
15 0.831933 0.411631
14 0.831933 0.474043
11 0.898381 0.474043
12 0.898381 0.411631
SURF 0X10
mat 3
refs 4
14 0.831933 0.784069
21 0.831933 0.797244
23 0.898381 0.799313
11 0.898381 0.784069
14 0.831933 0.474043
21 0.831933 0.487218
23 0.898381 0.489287
11 0.898381 0.474043
SURF 0X10
mat 3
refs 4
10 0.898381 0.474028
13 0.898381 0.411615
26 0.961802 0.411615
27 0.961802 0.474028
10 0.898381 0.784054
13 0.898381 0.721641
26 0.961802 0.721641
27 0.961802 0.784054
SURF 0X10
mat 3
refs 4
12 0.898381 0.721657
11 0.898381 0.784069
31 0.961798 0.784069
35 0.961798 0.721657
12 0.898381 0.411631
11 0.898381 0.474043
31 0.961798 0.474043
35 0.961798 0.411631
SURF 0X10
mat 3
refs 4
11 0.898381 0.784069
23 0.898381 0.799313
30 0.961798 0.799234
31 0.961798 0.784069
11 0.898381 0.474043
23 0.898381 0.489287
30 0.961798 0.489208
31 0.961798 0.474043
SURF 0X10
mat 3
refs 4
18 0.898381 0.489191
20 0.831933 0.487231
1 0.831933 0.473945
2 0.898381 0.473945
18 0.898381 0.799217
20 0.831933 0.797257
1 0.831933 0.783971
2 0.898381 0.783971
SURF 0X10
mat 3
refs 4
17 0.898381 0.489274
19 0.831933 0.487314
9 0.831933 0.474028
10 0.898381 0.474028
17 0.898381 0.7993
19 0.831933 0.79734
9 0.831933 0.784054
10 0.898381 0.784054
SURF 0X10
mat 3
refs 4
29 0.961802 0.473945
25 0.961802 0.489112
18 0.898381 0.489191
2 0.898381 0.473945
29 0.961802 0.783971
25 0.961802 0.799138
18 0.898381 0.799217
2 0.898381 0.783971
SURF 0X10
mat 3
refs 4
27 0.961802 0.474028
34 0.961802 0.489195
17 0.898381 0.489274
10 0.898381 0.474028
27 0.961802 0.784054
34 0.961802 0.799221
17 0.898381 0.7993
10 0.898381 0.784054
SURF 0X10
mat 3
refs 4
43 0.898381 0.699247
36 0.831933 0.692311
15 0.831933 0.721657
12 0.898381 0.721657
43 0.898381 0.389221
36 0.831933 0.382285
15 0.831933 0.411631
12 0.898381 0.411631
SURF 0X10
mat 3
refs 4
39 0.898381 0.699333
41 0.831933 0.692398
7 0.831933 0.72174
4 0.898381 0.72174
39 0.898381 0.389307
41 0.831933 0.382372
7 0.831933 0.411714
4 0.898381 0.411714
kids 0
OBJECT poly
name "EngineIAEV2500R"

View file

@ -0,0 +1,359 @@
var showLeft = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_L1"].show();
} else {
obj["Simple_L1"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_L2"].show();
} else {
obj["Simple_L2"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_L3"].show();
} else {
obj["Simple_L3"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_L4"].show();
} else {
obj["Simple_L4"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_L5"].show();
} else {
obj["Simple_L5"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_L6"].show();
} else {
obj["Simple_L6"].hide();
}
}
};
var showLeftS = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_L1S"].show();
} else {
obj["Simple_L1S"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_L2S"].show();
} else {
obj["Simple_L2S"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_L3S"].show();
} else {
obj["Simple_L3S"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_L4S"].show();
} else {
obj["Simple_L4S"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_L5S"].show();
} else {
obj["Simple_L5S"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_L6S"].show();
} else {
obj["Simple_L6S"].hide();
}
}
};
var showCenter = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_C1"].show();
} else {
obj["Simple_C1"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_C2"].show();
} else {
obj["Simple_C2"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_C3"].show();
} else {
obj["Simple_C3"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_C4"].show();
} else {
obj["Simple_C4"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_C5"].show();
} else {
obj["Simple_C5"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_C6"].show();
} else {
obj["Simple_C6"].hide();
}
}
};
var showCenterS = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_C1S"].show();
} else {
obj["Simple_C1S"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_C2S"].show();
} else {
obj["Simple_C2S"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_C3S"].show();
} else {
obj["Simple_C3S"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_C4S"].show();
} else {
obj["Simple_C4S"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_C5S"].show();
} else {
obj["Simple_C5S"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_C6S"].show();
} else {
obj["Simple_C6S"].hide();
}
}
};
var showRight = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_R1"].show();
} else {
obj["Simple_R1"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_R2"].show();
} else {
obj["Simple_R2"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_R3"].show();
} else {
obj["Simple_R3"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_R4"].show();
} else {
obj["Simple_R4"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_R5"].show();
} else {
obj["Simple_R5"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_R6"].show();
} else {
obj["Simple_R6"].hide();
}
}
};
var showRightS = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_R1S"].show();
} else {
obj["Simple_R1S"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_R2S"].show();
} else {
obj["Simple_R2S"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_R3S"].show();
} else {
obj["Simple_R3S"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_R4S"].show();
} else {
obj["Simple_R4S"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_R5S"].show();
} else {
obj["Simple_R5S"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_R6S"].show();
} else {
obj["Simple_R6S"].hide();
}
}
};
var showLeftArrow = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_L1_Arrow"].show();
} else {
obj["Simple_L1_Arrow"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_L2_Arrow"].show();
} else {
obj["Simple_L2_Arrow"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_L3_Arrow"].show();
} else {
obj["Simple_L3_Arrow"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_L4_Arrow"].show();
} else {
obj["Simple_L4_Arrow"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_L5_Arrow"].show();
} else {
obj["Simple_L5_Arrow"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_L6_Arrow"].show();
} else {
obj["Simple_L6_Arrow"].hide();
}
}
};
var showRightArrow = func (obj, a, b, c, d, e, f) {
if (a != 0) {
if (a >= 1) {
obj["Simple_R1_Arrow"].show();
} else {
obj["Simple_R1_Arrow"].hide();
}
}
if (b != 0) {
if (b >= 1) {
obj["Simple_R2_Arrow"].show();
} else {
obj["Simple_R2_Arrow"].hide();
}
}
if (c != 0) {
if (c >= 1) {
obj["Simple_R3_Arrow"].show();
} else {
obj["Simple_R3_Arrow"].hide();
}
}
if (d != 0) {
if (d >= 1) {
obj["Simple_R4_Arrow"].show();
} else {
obj["Simple_R4_Arrow"].hide();
}
}
if (e != 0) {
if (e >= 1) {
obj["Simple_R5_Arrow"].show();
} else {
obj["Simple_R5_Arrow"].hide();
}
}
if (f != 0) {
if (f >= 1) {
obj["Simple_R6_Arrow"].show();
} else {
obj["Simple_R6_Arrow"].hide();
}
}
};

File diff suppressed because it is too large Load diff

View file

@ -225,7 +225,7 @@ canvas.NavDisplay.newMFD = func(canvas_group, parent=nil, nd_options=nil, update
# anything that needs updatecenter called, should be added to the vector here
#
foreach(var element; ["staFromL2","staToL2","staFromR2","staToR2",
"hdgTrk","trkInd","hdgBug","HdgBugCRT","TrkBugLCD","HdgBugLCD","curHdgPtr",
"hdgTrk","hdgBug","HdgBugCRT","TrkBugLCD","HdgBugLCD","curHdgPtr",
"HdgBugCRT2","TrkBugLCD2","HdgBugLCD2","hdgBug2","selHdgLine","selHdgLine2","curHdgPtr2",
"staToL","staFromL","staToR","staFromR"] )
me.symbols[element] = me.nd.getElementById(element).updateCenter();
@ -613,13 +613,11 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
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"))
{
me.symbols.trkInd.setRotation(0);
me.symbols.curHdgPtr.setRotation((userHdg-userTrk)*D2R);
me.symbols.curHdgPtr2.setRotation((userHdg-userTrk)*D2R);
}
else
{
me.symbols.trkInd.setRotation((userTrk-userHdg)*D2R);
me.symbols.curHdgPtr.setRotation(0);
me.symbols.curHdgPtr2.setRotation(0);
}
@ -656,10 +654,6 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
var adf0hdg = getprop("/instrumentation/adf/indicated-bearing-deg");
var adf1hdg = getprop("/instrumentation/adf[1]/indicated-bearing-deg");
if(!me.get_switch("toggle_centered")) {
if(me.in_mode("toggle_display_mode", ["PLAN"]) or (me.adirs_property.getValue() != 1 or (me.change_phase == 1) and (adirs_3.getValue() != 1 or att_switch.getValue() != me.attitude_heading_setting)))
me.symbols.trkInd.hide();
else
me.symbols.trkInd.show();
if((getprop("/instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) {
me.symbols.staToL.setColor(0.195,0.96,0.097);
me.symbols.staFromL.setColor(0.195,0.96,0.097);
@ -713,7 +707,6 @@ canvas.NavDisplay.update = func() # FIXME: This stuff is still too aircraft spec
}
me.symbols.selHdgLine.setVisible(staPtrVis and hdg_bug_active);
} else {
me.symbols.trkInd.hide();
if((getprop("/instrumentation/nav[2]/in-range") and me.get_switch("toggle_lh_vor_adf") == 1)) {
me.symbols.staFromL2.setColor(0.195,0.96,0.097);
me.symbols.staToL2.setColor(0.195,0.96,0.097);

View file

@ -23,8 +23,7 @@ var init = func {
var draw = func{
if(me.decel_grp != nil){
var spd_ctrl = getprop(me.options.spd_ctrl);
var spd_managed = (spd_ctrl == me.options.managed_val);
if(spd_managed)
if(spd_ctrl)
me.decel_grp.setColor(me.style.managed_color);
else
me.decel_grp.setColor(me.style.selected_color);

View file

@ -82,7 +82,7 @@ var draw = func{
var wp_group = me.element;
var alt = me.model.alt;
var i = me.model.idx;
var vnav_actv = getprop(me.options.ver_ctrl) == me.options.managed_val;
var vnav_actv = getprop(me.options.spd_ctrl) == 1;
var curwp = getprop(me.options.current_wp);
if(alt > 0){
var wp_d = me.model.wp.distance_along_route;

View file

@ -1183,43 +1183,29 @@
x="198.86594"
y="648.10144">99</tspan></text>
<g
id="trkInd"
inkscape:label="#g3107"
inkscape:transform-center-y="-318.607"
inkscape:transform-center-x="-0.165"><path
inkscape:transform-center-y="-715.775"
inkscape:label="#path3882"
sodipodi:nodetypes="cccc"
inkscape:connector-curvature="0"
id="curTrkPtr"
d="M 494.187,150.9257 512.25,179.3894 530.312,150.9257 512.25,122.462 Z"
style="display:inline;fill:none;stroke:#0dc04b;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
inkscape:label="#path6714"
inkscape:transform-center-y="-436.38973"
style="fill:none;stroke:#66b266;stroke-width:5.12176;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 512,179.04645 V 777.94594"
id="trkline"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#ededed;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 497.671,651.001 h 27.578"
id="path3823"
inkscape:connector-curvature="0" /><path
inkscape:connector-curvature="0"
id="path3825"
d="m 497.671,478.113 h 27.578"
style="fill:none;stroke:#ededed;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /><path
style="fill:none;stroke:#ededed;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 498.171,306.64 h 27.578"
id="path3827"
inkscape:connector-curvature="0" /><path
<path
style="display:inline;fill:none;stroke:#0dc04b;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 494.187,150.9257 512.25,179.3894 530.312,150.9257 512.25,122.462 Z"
id="curTrkPtr"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc"
inkscape:label="#path3882"
inkscape:transform-center-y="-673.07581"
inkscape:transform-center-x="-0.25" /><path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="trkline"
d="M 512,179.04645 V 777.94594"
style="fill:none;stroke:#66b266;stroke-width:5.12175989;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-y="-345.50518"
inkscape:label="#path6714"
inkscape:transform-center-x="-0.001953124" /><path
sodipodi:nodetypes="cscc"
inkscape:connector-curvature="0"
id="altArc"
d="m 351.124,888.591 c 0,0 72.1,-39.455 161.041,-39.455 88.941,0 161.041,39.455 161.041,39.455 v 0"
style="fill:none;stroke:#00ff00;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0"
inkscape:label="#path3888-1" /></g>
inkscape:label="#path3888-1" />
<g
inkscape:transform-center-x="-0.198874"
inkscape:transform-center-y="4.4952743"
@ -1614,22 +1600,24 @@
inkscape:connector-curvature="0"
id="path4921"
d="m 97.36195,-183.49186 34.40958,0.79658 v 0"
style="fill:none;stroke:#ff00ff;stroke-width:6.72142;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g><g
id="trkInd2"
inkscape:transform-center-y="-221.51123"><path
id="curTrkPtr2"
d="M 494.187,114.9257 512.25,143.3894 530.312,114.9257 512.25,86.462 Z"
style="display:inline;fill:none;stroke:#0dc04b;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc"
inkscape:label="#path3998" /><path
sodipodi:nodetypes="cc"
inkscape:connector-curvature="0"
id="trkline2"
d="M 512,143.84995 V 525.93899"
style="fill:none;stroke:#66b266;stroke-width:4.09095;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:transform-center-y="-278.41021"
inkscape:label="#path6714" /></g><path
style="fill:none;stroke:#ff00ff;stroke-width:6.72142;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" /></g>
<path
id="curTrkPtr2"
d="M 494.187,114.9257 512.25,143.3894 530.312,114.9257 512.25,86.462 Z"
style="display:inline;fill:none;stroke:#0dc04b;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccccc"
inkscape:label="#path3998"
inkscape:transform-center-x="-0.28439381"
inkscape:transform-center-y="-400.24318" /><path
inkscape:label="#path6714"
inkscape:transform-center-y="-195.62267"
style="fill:none;stroke:#66b266;stroke-width:4.09095001;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 512,143.84995 V 525.93899"
id="trkline2"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cc"
inkscape:transform-center-x="-0.16436971" /><path
id="aplSymVor"
style="fill:none;stroke:#ededed;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 523.994,501.789 v 58 h 51.042 m -51.042,0 v 57 h 18.782 m -43.653,-115 v 58 h -50.158 m 50.158,0 v 57 h -19.136"

Before

Width:  |  Height:  |  Size: 150 KiB

After

Width:  |  Height:  |  Size: 149 KiB

View file

@ -529,7 +529,7 @@ canvas.NDStyles["Airbus"] = {
var lat_ctrl = getprop(me.options.lat_ctrl);
var is_managed = (lat_ctrl == me.options.managed_val);
var is_active = getprop(me.options.fplan_active);
(is_managed and is_active ? [] : [32, 16]);
(is_managed and is_active ? [] : [12, 12]);
},
line_dash_alternate_active: [32,16],
line_dash_temporary: [32,16],
@ -561,6 +561,7 @@ canvas.NDStyles["Airbus"] = {
"fplan_active",
"lat_ctrl",
"ver_ctrl",
"spd_ctrl",
"current_wp",
"wp_count",
"dep_rwy",
@ -758,21 +759,14 @@ canvas.NDStyles["Airbus"] = {
id: "tas",
impl: {
init: func(nd,symbol),
predicate: func(nd) nd.aircraft_source.get_spd() > 100,
predicate: func(nd) getprop("/instrumentation/airspeed-indicator/true-speed-kt") >= 60,
is_true: func(nd) {
nd.symbols.tas.setText(sprintf("%3.0f",getprop("/velocities/TAS") ));
nd.symbols.tas.setText(sprintf("%3.0f",getprop("/instrumentation/airspeed-indicator/true-speed-kt")));
nd.symbols.tas.show();
},
is_false: func(nd) nd.symbols.tas.hide(),
},
},
{
id: "tasLbl",
impl: {
init: func(nd,symbol),
predicate: func(nd) nd.aircraft_source.get_spd() > 100,
is_true: func(nd) nd.symbols.tasLbl.show(),
is_false: func(nd) nd.symbols.tasLbl.hide(),
is_false: func(nd){
nd.symbols.tas.setText("---");
}
},
},
{
@ -1006,12 +1000,6 @@ canvas.NDStyles["Airbus"] = {
impl: {
init: func(nd,symbol),
common: func(nd) nd.symbols.gs.setText(sprintf("%3.0f",nd.aircraft_source.get_gnd_spd() )),
predicate: func(nd) nd.aircraft_source.get_gnd_spd() >= 30,
is_true: func(nd) {
#nd.symbols.gs.show();
nd.symbols.gs.setFontSize(36);
},
is_false: func(nd) {},#nd.symbols.gs.hide(),
},
},
{
@ -1333,36 +1321,47 @@ canvas.NDStyles["Airbus"] = {
is_false: func(nd) nd.symbols.dme.hide(),
},
},
{
id:"curTrkPtr",
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR","MAP"]) and !nd.get_switch("toggle_centered")
and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting))
and abs(nd.aircraft_source.get_trk_mag() - nd.aircraft_source.get_hdg_mag()) <= 42),
is_true: func(nd) {
nd.symbols.curTrkPtr.setRotation((nd.aircraft_source.get_trk_mag()-nd.aircraft_source.get_hdg_mag())*D2R);
nd.symbols.curTrkPtr.show();
},
is_false: func(nd) nd.symbols.curTrkPtr.hide(),
},
},
{
id:"trkline",
impl: {
init: func(nd,symbol),
predicate: func(nd){
nd.get_switch("toggle_display_mode") == "MAP" and !nd.get_switch("toggle_centered")
and (nd.change_phase != 1)
and (
getprop(nd.options.defaults.lat_ctrl) != nd.options.defaults.managed_val or
nd.get_switch("toggle_trk_line")
)
},
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and
!nd.get_switch("toggle_centered") and (nd.change_phase != 1) and
getprop(nd.options.defaults.lat_ctrl) == 0 and abs(nd.aircraft_source.get_trk_mag() - nd.aircraft_source.get_hdg_mag()) <= 42 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.trkline.setRotation((nd.aircraft_source.get_trk_mag()-nd.aircraft_source.get_hdg_mag())*D2R);
nd.symbols.trkline.show();
},
is_false: func(nd) nd.symbols.trkline.hide(),
},
},
{
id:"trkInd2",
id:"curTrkPtr2",
impl: {
init: func(nd,symbol),
predicate: func(nd) (nd.in_mode("toggle_display_mode", ["APP","VOR","MAP"]) and nd.get_switch("toggle_centered")
and (nd.change_phase != 1)
and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting))),
and (nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting))
and abs(nd.aircraft_source.get_trk_mag() - nd.aircraft_source.get_hdg_mag()) <= 42),
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);
nd.symbols.curTrkPtr2.setRotation((nd.aircraft_source.get_trk_mag()-nd.aircraft_source.get_hdg_mag())*D2R);
nd.symbols.curTrkPtr2.show();
},
is_false: func(nd) nd.symbols.trkInd2.hide(),
is_false: func(nd) nd.symbols.curTrkPtr2.hide(),
},
},
{
@ -1371,9 +1370,10 @@ canvas.NDStyles["Airbus"] = {
init: func(nd,symbol),
predicate: func(nd) (nd.get_switch("toggle_display_mode") == "MAP" and
nd.get_switch("toggle_centered") and (nd.change_phase != 1) and
getprop(nd.options.defaults.lat_ctrl) != nd.options.defaults.managed_val and
(nd.adirs_property.getValue() == 1 or (adirs_3.getValue() == 1 and att_switch.getValue() == nd.attitude_heading_setting))),
getprop(nd.options.defaults.lat_ctrl) == 0 and abs(nd.aircraft_source.get_trk_mag() - nd.aircraft_source.get_hdg_mag()) <= 42 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.setRotation((nd.aircraft_source.get_trk_mag()-nd.aircraft_source.get_hdg_mag())*D2R);
nd.symbols.trkline2.show();
},
is_false: func(nd) nd.symbols.trkline2.hide(),
@ -1530,35 +1530,24 @@ canvas.NDStyles["Airbus"] = {
id:"wind",
impl: {
init: func(nd,symbol),
predicate: ALWAYS,
predicate: func(nd) (getprop("/instrumentation/airspeed-indicator/true-speed-kt") >= 100),
is_true: func(nd) {
var windDir = getprop("environment/wind-from-heading-deg");
if(!nd.get_switch("toggle_true_north"))
windDir = windDir + getprop("environment/magnetic-variation-deg");
nd.symbols.wind.setText(sprintf("%03.0f / %02.0f",windDir,getprop("environment/wind-speed-kt")));
var windDir = pts.Instrumentation.PFD.windDirection.getValue() or 0;
nd.symbols.wind.setText(sprintf("%03.0f / %02.0f",windDir,pts.Instrumentation.PFD.windSpeed.getValue() or 0));
},
is_false: NOTHING,
is_false: func(nd) {
nd.symbols.wind.setText("---/--");
}
},
},
{
id:"windArrow",
impl: {
init: func(nd,symbol),
predicate: func(nd) (!(nd.in_mode("toggle_display_mode", ["PLAN"]) and (nd.get_switch("toggle_display_type") == "LCD"))),
predicate: func(nd) (!(nd.in_mode("toggle_display_mode", ["PLAN"]) and (nd.get_switch("toggle_display_type") == "LCD")) and (pts.Instrumentation.PFD.windSpeed.getValue() or 0) >= 2 and getprop("/instrumentation/airspeed-indicator/true-speed-kt") >= 100),
is_true: func(nd) {
nd.symbols.windArrow.show();
var windArrowRot = getprop("environment/wind-from-heading-deg");
if(nd.in_mode("toggle_display_mode", ["MAP","PLAN"])) {
if(nd.get_switch("toggle_true_north"))
windArrowRot = windArrowRot - nd.aircraft_source.get_trk_tru();
else
windArrowRot = windArrowRot - nd.aircraft_source.get_trk_mag();
} else {
if(nd.get_switch("toggle_true_north"))
windArrowRot = windArrowRot - nd.aircraft_source.get_hdg_tru();
else
windArrowRot = windArrowRot - nd.aircraft_source.get_hdg_mag();
}
var windArrowRot = (pts.Instrumentation.PFD.windDirection.getValue() or 0) - nd.aircraft_source.get_hdg_tru();
nd.symbols.windArrow.setRotation(windArrowRot*D2R);
},
is_false: func(nd) nd.symbols.windArrow.hide(),

View file

@ -216,9 +216,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_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",
"ALT_digit_DN","ALT_digit_UP_metric","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","FPV","spdLimError","vsFMArate"];
"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","vsFMArate","tailstrikeInd","Metric_box","Metric_letter","Metric_cur_alt"];
},
off: 0,
on: 0,
@ -349,6 +349,7 @@ var canvas_PFD_base = {
PFD_2_mismatch.page.show();
}
},
showMetricAlt: 0,
updateCommon: func () {
# FMA MAN TOGA MCT FLX THR
# Set properties used a lot to a variable to avoid calling getValue() multiple times
@ -396,6 +397,12 @@ var canvas_PFD_base = {
me["AI_agl"].setText(sprintf("%s", math.round(math.clamp(gear_agl_cur, 0, 2500))));
if (gear_agl_cur < 400 and pts.Velocities.groundspeedKt.getValue() > 50 and pts.Fdm.JSBsim.Fadec.detent[0].getValue() <= 3 and pts.Fdm.JSBsim.Fadec.detent[1].getValue() <= 3) {
me["tailstrikeInd"].show();
} else {
me["tailstrikeInd"].hide();
}
if (fmgc.FMGCInternal.phase < 3 or fmgc.flightPlanController.arrivalDist >= 250) {
me["FMA_dh_box"].hide();
me["FMA_dh"].hide();
@ -1025,7 +1032,6 @@ var canvas_PFD_base = {
me["QNH_std"].hide();
me["QNH_box"].hide();
}
},
# Get Angle of Attack from ADR1 or, depending on Switching panel, ADR3
@ -1688,6 +1694,18 @@ var canvas_PFD_1 = {
me["ALT_scale"].show();
me.altitude = dmc.DMController.DMCs[0].outputs[1].getValue();
if (me.showMetricAlt) {
me["Metric_box"].show();
me["Metric_letter"].show();
me["Metric_cur_alt"].show();
me["Metric_cur_alt"].setText(sprintf("%5.0f", me.altitude * 0.3048));
} else {
me["Metric_box"].hide();
me["Metric_letter"].hide();
me["Metric_cur_alt"].hide();
}
me.altOffset = me.altitude / 500 - int(me.altitude / 500);
me.middleAltText = roundaboutAlt(me.altitude / 100);
me.middleAltOffset = nil;
@ -1715,6 +1733,14 @@ var canvas_PFD_1 = {
me["ALT_tens"].setTranslation(0, altTens * 1.392);
ap_alt_cur = ap_alt.getValue();
if (me.showMetricAlt) {
me["ALT_digit_UP_metric"].show();
me["ALT_digit_UP_metric"].setText(sprintf("%5.0fM", ap_alt_cur * 0.3048));
} else {
me["ALT_digit_UP_metric"].hide();
}
alt_diff_cur = dmc.DMController.DMCs[0].outputs[7].getValue();
if (alt_diff_cur >= -565 and alt_diff_cur <= 565) {
me["ALT_target"].setTranslation(0, (alt_diff_cur / 100) * -48.66856);
@ -1824,6 +1850,10 @@ var canvas_PFD_1 = {
me["ALT_box_flash"].hide();
me["ALT_box_amber"].hide();
me["ALT_box"].hide();
me["Metric_box"].hide();
me["Metric_letter"].hide();
me["Metric_cur_alt"].hide();
me["ALT_digit_UP_metric"].hide();
}
me.updateCommon();
@ -2459,6 +2489,18 @@ var canvas_PFD_2 = {
me["ALT_scale"].show();
me.altitude = dmc.DMController.DMCs[1].outputs[1].getValue();
if (me.showMetricAlt) {
me["Metric_box"].show();
me["Metric_letter"].show();
me["Metric_cur_alt"].show();
me["Metric_cur_alt"].setText(sprintf("%5.0f", me.altitude * 0.3048));
} else {
me["Metric_box"].hide();
me["Metric_letter"].hide();
me["Metric_cur_alt"].hide();
}
me.altOffset = me.altitude / 500 - int(me.altitude / 500);
me.middleAltText = roundaboutAlt(me.altitude / 100);
me.middleAltOffset = nil;
@ -2486,6 +2528,14 @@ var canvas_PFD_2 = {
me["ALT_tens"].setTranslation(0, altTens * 1.392);
ap_alt_cur = ap_alt.getValue();
if (me.showMetricAlt) {
me["ALT_digit_UP_metric"].show();
me["ALT_digit_UP_metric"].setText(sprintf("%5.0fM", ap_alt_cur * 0.3048));
} else {
me["ALT_digit_UP_metric"].hide();
}
alt_diff_cur = dmc.DMController.DMCs[1].outputs[7].getValue();
if (alt_diff_cur >= -565 and alt_diff_cur <= 565) {
me["ALT_target"].setTranslation(0, (alt_diff_cur / 100) * -48.66856);
@ -2595,6 +2645,10 @@ var canvas_PFD_2 = {
me["ALT_box_flash"].hide();
me["ALT_box_amber"].hide();
me["ALT_box"].hide();
me["Metric_box"].hide();
me["Metric_letter"].hide();
me["Metric_cur_alt"].hide();
me["ALT_digit_UP_metric"].hide();
}
me.updateCommon();

View file

@ -41,9 +41,9 @@
inkscape:window-maximized="1"
inkscape:window-y="-8"
inkscape:window-x="-8"
inkscape:cy="683.12157"
inkscape:cx="1026.1197"
inkscape:zoom="1.8101934"
inkscape:cy="1074.3176"
inkscape:cx="955.3885"
inkscape:zoom="2"
showgrid="true"
id="namedview371"
inkscape:window-height="705"
@ -580,6 +580,13 @@
id="path886"
d="m 448.25473,1194.8172 66.90422,59.142 h -59.49742 v -14.7583 h 11.11022 l -18.51702,-19.615 -18.51702,19.615 h 11.11022 v 14.7583 h -59.49741 z"
style="fill:none;stroke:#ff0000;stroke-width:7.42499971;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path
sodipodi:nodetypes="ccccccc"
inkscape:connector-curvature="0"
id="tailstrikeInd"
d="m 408.59584,403.53091 h 13.2497 l 26.49939,39.11651 26.49939,-39.11651 h 13.2497 l -39.74909,57.25812 z"
style="fill:none;stroke:#ff0000;stroke-width:4.19999981;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:label="#tailstrikeInd" />
</g>
<g
transform="translate(0,97.082371)"
@ -2262,11 +2269,11 @@
id="QNH_setting"
y="885.26117"
x="907.61713"
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:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
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:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75;stroke-opacity:1;"
xml:space="preserve"
transform="scale(1.0000144,0.9999856)"
inkscape:label="#text979"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3994px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke-width:0.75"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3994px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke-width:0.75;stroke:none;stroke-opacity:1;"
y="885.26117"
x="907.61713"
id="tspan977"
@ -6256,7 +6263,7 @@
x="823.7511"
sodipodi:role="line"
id="tspan1797">G</tspan></text>
<text
<text
inkscape:label="#text983"
xml:space="preserve"
style="font-style:normal;font-weight:normal;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:0.65757698"
@ -6269,4 +6276,50 @@
x="417.56354"
y="34.634907"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:35.99950027px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#179ab7;fill-opacity:1;stroke-width:0.65757698">-800</tspan></text>
<rect
inkscape:label="#rect4290"
y="896.48456"
x="788.52734"
height="36.03083"
width="153.94527"
id="Metric_box"
style="fill:none;fill-opacity:1;stroke:#c9d121;stroke-width:3.20831394;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" />
<text
id="Metric_cur_alt"
y="928.04248"
x="847.62854"
style="font-style:normal;font-weight:normal;font-size:12px;line-height:0%;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke:none;stroke-width:0.75"
xml:space="preserve"
transform="scale(1.0000144,0.9999856)"
inkscape:label="#text979"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3993988px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:center;text-anchor:middle;fill:#0dc04b;fill-opacity:1;stroke-width:0.75"
y="928.04248"
x="852.95343"
id="tspan977-3"
sodipodi:role="line">11070 </tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38.3993988px;line-height:1.25;font-family:'Bitstream Vera Sans';-inkscape-font-specification:'Bitstream Vera Sans';letter-spacing:0px;word-spacing:0px;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:0.75"
x="909.43152"
y="928.62128"
id="Metric_letter"
inkscape:label="#text1815"><tspan
sodipodi:role="line"
id="tspan1813"
x="909.43152"
y="928.62128"
style="font-size:38.3993988px;fill:#179ab7;fill-opacity:1;stroke-width:0.75">M</tspan></text>
<text
inkscape:label="#text975"
transform="scale(0.95382559,1.0484097)"
id="ALT_digit_UP_metric"
y="218.16887"
x="604.67737"
style="font-style:normal;font-weight:normal;font-size:12px;line-height:0%;font-family:sans-serif;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#179ab7;fill-opacity:1;stroke:none;stroke-width:0.75"
xml:space="preserve"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:42px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';text-align:start;text-anchor:start;fill:#179ab7;fill-opacity:1;stroke-width:0.75"
y="218.16887"
x="604.67737"
id="tspan5116-2"
sodipodi:role="line">10000M</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 341 KiB

After

Width:  |  Height:  |  Size: 344 KiB

View file

@ -2176,9 +2176,9 @@
<object-name>rmp-standby</object-name>
<object-name>rmp-standby-test</object-name>
<diffuse>
<red>0.89</red>
<green>0.37</green>
<blue>0.08</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</diffuse>
<ambient>
<red>0</red>
@ -2191,9 +2191,9 @@
<blue>0</blue>
</specular>
<emission>
<red>0.89</red>
<green>0.37</green>
<blue>0.08</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</emission>
</animation>

View file

@ -2176,9 +2176,9 @@
<object-name>rmp-standby</object-name>
<object-name>rmp-standby-test</object-name>
<diffuse>
<red>0.89</red>
<green>0.37</green>
<blue>0.08</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</diffuse>
<ambient>
<red>0</red>
@ -2191,9 +2191,9 @@
<blue>0</blue>
</specular>
<emission>
<red>0.89</red>
<green>0.37</green>
<blue>0.08</blue>
<red>1.00</red>
<green>0.355</green>
<blue>0.00</blue>
</emission>
</animation>

View file

@ -30,6 +30,9 @@ var ECAM_line5rc = props.globals.getNode("/ECAM/rightmsg/linec5", 1);
var ECAM_line6rc = props.globals.getNode("/ECAM/rightmsg/linec6", 1);
var ECAM_line7rc = props.globals.getNode("/ECAM/rightmsg/linec7", 1);
var ECAM_line8rc = props.globals.getNode("/ECAM/rightmsg/linec8", 1);
var enginesBothAtIdle = props.globals.getNode("/fdm/jsbsim/fadec/both-at-idle");
var enginesBothAtIdleTime = props.globals.initNode("/ECAM/Upper/idle-time", 0.0, "DOUBLE");
var enginesBothAtIdleTimeSaved = props.globals.initNode("/ECAM/Upper/idle-time-saved", 0.0, "DOUBLE");
var canvas_upperECAM = {
new: func(svg, name, type) {
@ -496,7 +499,7 @@ var canvas_upperECAM = {
"EGT1-XX","N21","N21-decpnt","N21-decimal","N21-XX","FF1","FF1-XX","N12-needle","N12-thr","N12-ylim","N12","N12-decpnt","N12-decimal","N12-box","N12-scale","N12-scale2","N12-scaletick","N12-scalenum","N12-XX","N12-XX2","N12-XX-box","EGT2-needle","EGT2",
"EGT2-scale","EGT2-box","EGT2-scale2","EGT2-scaletick","EGT2-XX","N22","N22-decpnt","N22-decimal","N22-XX","FF2","FF2-XX","FOB-LBS","FlapTxt","FlapDots","N1Lim-mode","N1Lim","N1Lim-decpnt","N1Lim-decimal","N1Lim-percent","N1Lim-XX","N1Lim-XX2","REV1",
"REV1-box","REV2","REV2-box","ECAM_Left","ECAML1","ECAML2","ECAML3","ECAML4","ECAML5","ECAML6","ECAML7","ECAML8","ECAMR1","ECAMR2","ECAMR3","ECAMR4","ECAMR5","ECAMR6","ECAMR7","ECAMR8","ECAM_Right","FOB-weight-unit","FFlow-weight-unit","SlatAlphaLock",
"SlatIndicator","FlapIndicator","SlatLine","FlapLine","aFloor","FlxLimDegreesC","FlxLimTemp"];
"SlatIndicator","FlapIndicator","SlatLine","FlapLine","aFloor","FlxLimDegreesC","FlxLimTemp","idleIndication"];
},
getKeysIAE: func() {
return ["EPR1-needle","EPR1-thr","EPR1-ylim","EPR1","EPR1-decpnt","EPR1-decimal","EPR1-box","EPR1-scale","EPR1-scaletick","EPR1-scalenum","EPR1-XX","EPR1-XX2","EGT1-needle","EGT1","EGT1-scale","EGT1-box","EGT1-scale2","EGT1-scaletick","EGT1-XX",
@ -504,7 +507,7 @@ var canvas_upperECAM = {
"EPR2-decimal","EPR2-box","EPR2-scale","EPR2-scaletick","EPR2-scalenum","EPR2-XX","EPR2-XX2","EGT2-needle","EGT2","EGT2-scale","EGT2-scale2","EGT2-box","EGT2-scaletick","EGT2-XX","N12-needle","N12-thr","N12-ylim","N12","N12-decpnt","N12-decimal",
"N12-scale","N12-scale2","N12-scaletick","N12-scalenum","N12-XX","N22","N22-decpnt","N22-decimal","N22-XX","FF2","FF2-XX","FOB-LBS","FlapTxt","FlapDots","EPRLim-mode","EPRLim","EPRLim-decpnt","EPRLim-decimal","EPRLim-XX","EPRLim-XX2","EPRMode",
"N1Lim-mode","N1Lim","N1Lim-decpnt","N1Lim-decimal","N1Lim-percent","N1Lim-XX","N1Lim-XX2","N1Mode","REV1","REV1-box","REV2","REV2-box","ECAM_Left","ECAML1","ECAML2","ECAML3","ECAML4","ECAML5","ECAML6","ECAML7","ECAML8","ECAMR1","ECAMR2","ECAMR3",
"ECAMR4","ECAMR5","ECAMR6","ECAMR7","ECAMR8","ECAM_Right","FFlow1-weight-unit", "FFlow2-weight-unit", "FOB-weight-unit","SlatAlphaLock","SlatIndicator","FlapIndicator","SlatLine","FlapLine","aFloor","FlxLimDegreesC","FlxLimTemp"];
"ECAMR4","ECAMR5","ECAMR6","ECAMR7","ECAMR8","ECAM_Right","FFlow1-weight-unit", "FFlow2-weight-unit", "FOB-weight-unit","SlatAlphaLock","SlatIndicator","FlapIndicator","SlatLine","FlapLine","aFloor","FlxLimDegreesC","FlxLimTemp","idleIndication"];
},
getKeysTest: func() {
return ["Test_white","Test_text"];
@ -531,6 +534,9 @@ var canvas_upperECAM = {
me[key].setColor(me.getColorString(node.getValue()));
}, 0, 0);
},
displayIdle: 0,
displayIdleDim: 0,
displayIdleTrigger: 0,
updateCommon: func(notification) {
me.updatePower();
@ -542,6 +548,37 @@ var canvas_upperECAM = {
return;
}
if (enginesBothAtIdle.getValue() and !me["aFloor"].getVisible() and !notification.gear1Wow and notification.athr) {
if (!me.displayIdleTrigger) {
enginesBothAtIdleTime.setValue(notification.elapsedTime);
me.displayIdleTrigger = 1;
}
if ((notification.elapsedTime - enginesBothAtIdleTime.getValue()) < 10) {
if ((notification.elapsedTime - enginesBothAtIdleTimeSaved.getValue()) > 1) {
enginesBothAtIdleTimeSaved.setValue(notification.elapsedTime);
me.displayIdleDim = !me.displayIdleDim;
}
}
me.displayIdle = 1;
} else {
me.displayIdle = 0;
me.displayIdleDim = 0;
me.displayIdleTrigger = 0;
enginesBothAtIdleTime.setValue(0);
enginesBothAtIdleTimeSaved.setValue(0);
}
if (me.displayIdle) {
me["idleIndication"].show();
if (me.displayIdleDim) {
me["idleIndication"].setColor(0.0509,0.7529,0.2941,0.5);
} else {
me["idleIndication"].setColor(0.0509,0.7529,0.2941,1);
}
} else {
me["idleIndication"].hide();
}
foreach(var update_item; me.update_items)
{
update_item.update(notification);

View file

@ -1476,4 +1476,17 @@
x="111.21719"
id="tspan3554"
sodipodi:role="line">A FLOOR</tspan></text>
<text
id="idleIndication"
y="76.19252"
x="579.36719"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;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:#0dc04b;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)"
inkscape:label="#text4387-9"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:1px"
y="76.19252"
x="579.36719"
id="tspan4389-1"
sodipodi:role="line">IDLE</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 90 KiB

View file

@ -1971,4 +1971,17 @@
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccc" />
</g>
<text
id="idleIndication"
y="76.19252"
x="579.36719"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;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:#0dc04b;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)"
inkscape:label="#text4387-9"><tspan
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:38px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';fill:#0dc04b;fill-opacity:1;stroke-width:1px"
y="76.19252"
x="579.36719"
id="tspan4389-1"
sodipodi:role="line">IDLE</tspan></text>
</svg>

Before

Width:  |  Height:  |  Size: 120 KiB

After

Width:  |  Height:  |  Size: 121 KiB

View file

@ -7,6 +7,7 @@
<name>Austrian Airlines (OE-LBU)</name>
<texture-fuselage>AUA-fuselage.png</texture-fuselage>
<texture-engine>CFM56-white.png</texture-engine>
<texture-placards>Fuselage/res/placards.png</texture-placards>
</livery>
</model>
</sim>

View file

@ -8,6 +8,7 @@
<texture-fuselage>SWR-fuselage.png</texture-fuselage>
<texture-engine>SWR-engine.png</texture-engine>
<logo>SWR.png</logo>
<texture-placards>Fuselage/res/placards.png</texture-placards>
</livery>
</model>
</sim>

View file

@ -7,6 +7,7 @@
<name>N680AW(Unpainted)</name>
<texture-fuselage>N680AW-fuselage.png</texture-fuselage>
<texture-engine>N680AW-engine.png</texture-engine>
<texture-placards>Fuselage/res/placards.png</texture-placards>
</livery>
</model>
</sim>

View file

@ -7,6 +7,7 @@
<name>QTR Qatar Airways (A7-AHW)</name>
<texture-fuselage>QTR-fuselage.png</texture-fuselage>
<texture-engine>QTR-engine.png</texture-engine>
<texture-placards>Fuselage/res/placards.png</texture-placards>
</livery>
</model>
</sim>

View file

@ -7,6 +7,7 @@
<name>SAS Scandinavian (OY-KAM)</name>
<texture-fuselage>SAS-fuselage.png</texture-fuselage>
<texture-engine>SAS-engine.png</texture-engine>
<texture-placards>Fuselage/res/placards.png</texture-placards>
</livery>
</model>
</sim>

View file

@ -36,6 +36,7 @@ var altAlertInhibit = nil;
var alt200 = nil;
var alt750 = nil;
var bigThree = nil;
var fltCtlLandAsap = 0;
var altAlertSteady = 0;
var altAlertFlash = 0;
@ -2098,7 +2099,7 @@ var messages_priority_2 = func {
altnLaw.active = 1;
altnLawProt.active = 1;
if (altnLawMaxSpeed.clearFlag == 0 and altnLawMaxSpeed2.clearFlag == 0 and !fbw.tripleADRFail) {
if (!(getprop("/ECAM/warnings/hyd/green-abnorm-lo-pr") and (getprop("/ECAM/warnings/hyd/blue-abnorm-lo-pr") or getprop("/ECAM/warnings/hyd/yellow-abnorm-lo-pr")))) {
if (!(systems.HYD.Warnings.greenAbnormLoPr.getValue() and (systems.HYD.Warnings.blueAbnormLoPr.getValue() or systems.HYD.Warnings.yellowAbnormLoPr.getValue()))) {
altnLawMaxSpeed.active = 1;
ECAM_controller.warningReset(altnLawMaxSpeed2);
} else {
@ -2135,7 +2136,7 @@ var messages_priority_2 = func {
if (getprop("/fdm/jsbsim/fadec/thr-locked-flash") == 0) {
athr_lock.msg = " ";
} else {
athr_lock.msg = msgSave
athr_lock.msg = msgSave;
}
athr_lock.active = 1;
athr_lock_1.active = 1;
@ -3148,7 +3149,7 @@ var messages_config_memo = func {
setprop("/ECAM/to-config-reset", 0);
}
if (getprop("/controls/autobrake/mode") == 3) {
if (systems.Autobrake.mode.getValue() == 3) {
toMemoLine1.msg = "T.O AUTO BRK MAX";
toMemoLine1.colour = "g";
} else {
@ -3411,14 +3412,20 @@ var messages_right_memo = func {
ldg_inhibit.active = 0;
}
if ((!pts.Gear.wow[1].getValue()) and (systems.ELEC.EmerElec.getValue() or getprop("/systems/fire/engine1/warning-active") == 1 or getprop("/systems/fire/engine2/warning-active") == 1 or getprop("/systems/fire/apu/warning-active") == 1 or getprop("/systems/failures/fire/cargo-aft-fire") == 1 or getprop("/systems/failures/fire/cargo-fwd-fire") == 1) or (((systems.HYD.Psi.green.getValue() < 1500 and pts.Engines.Engine.state[0].getValue() == 3) and (systems.HYD.Psi.yellow.getValue() < 1500 and pts.Engines.Engine.state[1].getValue() == 3)) or ((systems.HYD.Psi.green.getValue() < 1500 or systems.HYD.Psi.yellow.getValue() < 1500) and pts.Engines.Engine.state[0].getValue() == 3 and pts.Engines.Engine.state[1].getValue() == 3) and phaseVarMemo3 >= 3 and phaseVarMemo3 <= 8)) {
# todo: emer elec
if (!(FWC.Timer.gnd.getValue() == 1) and (systems.ELEC.EmerElec.getValue() or dualFailNode.getValue() == 1 or systems.eng1FireWarn.getValue() == 1 or systems.eng2FireWarn.getValue() == 1 or systems.apuFireWarn.getValue() == 1 or systems.aftCargoFireWarn.getValue() == 1 or systems.fwdCargoFireWarn.getValue() == 1 or (systems.HYD.Warnings.greenAbnormLoPr.getValue() and systems.HYD.Warnings.yellowAbnormLoPr.getValue()) or (systems.HYD.Warnings.greenAbnormLoPr.getValue() and systems.HYD.Warnings.blueAbnormLoPr.getValue()) or (systems.HYD.Warnings.blueAbnormLoPr.getValue() and systems.HYD.Warnings.yellowAbnormLoPr.getValue()))) {
land_asap_r.active = 1;
} else {
land_asap_r.active = 0;
}
if (land_asap_r.active == 0 and !pts.Gear.wow[1].getValue() and ((getprop("/fdm/jsbsim/propulsion/tank[0]/contents-lbs") < 1650 and getprop("/fdm/jsbsim/propulsion/tank[1]/contents-lbs") < 1650) or ((getprop("/systems/electrical/bus/dc-2") < 25 and (getprop("/systems/failures/fctl/elac1") == 1 or getprop("/systems/failures/fctl/sec1") == 1)) or (systems.HYD.Psi.green.getValue() < 1500 and (getprop("/systems/failures/fctl/elac1") == 1 and getprop("/systems/failures/fctl/sec1") == 1)) or (systems.HYD.Psi.yellow.getValue() < 1500 and (getprop("/systems/failures/fctl/elac1") == 1 and getprop("/systems/failures/fctl/sec1") == 1)) or (systems.HYD.Psi.blue.getValue() < 1500 and (getprop("/systems/failures/fctl/elac2") == 1 and getprop("/systems/failures/fctl/sec2") == 1))) or (phaseVarMemo3 >= 3 and phaseVarMemo3 <= 8 and (pts.Engines.Engine.state[0].getValue() != 3 or pts.Engines.Engine.state[1].getValue() != 3)))) {
if ((systems.ELEC.Bus.dc2.getValue() < 25 and (fbw.FBW.Failures.elac1.getValue() == 1 or fbw.FBW.Failures.sec1.getValue() == 1)) or ((systems.HYD.Psi.yellow.getValue() < 1500 or systems.HYD.Psi.green.getValue() < 1500) and (fbw.FBW.Failures.elac1.getValue() == 1 and fbw.FBW.Failures.sec1.getValue() == 1)) or (systems.HYD.Psi.blue.getValue() < 1500 and (fbw.FBW.Failures.elac2.getValue() == 1 and fbw.FBW.Failures.sec2.getValue() == 1))) {
fltCtlLandAsap = 1;
} else {
fltCtlLandAsap = 0;
}
if (land_asap_r.active == 0 and !(FWC.Timer.gnd.getValue() == 1) and (warningNodes.Timers.lowLevelBoth.getValue() == 1 or warningNodes.Logic.eng1Shutdown.getValue() or warningNodes.Logic.eng2Shutdown.getValue() or warningNodes.Logic.eng1Fail.getValue() or warningNodes.Logic.eng2Fail.getValue() or warningNodes.Timers.dcEmerConfig.getValue() == 1 or fltCtlLandAsap)) {
# todo avionics smoke and reverse unlocked
land_asap_a.active = 1;
} else {
land_asap_a.active = 0;
@ -3496,7 +3503,7 @@ var messages_right_memo = func {
nw_strg_disc.colour = "g";
}
if (getprop("/controls/pneumatics/switches/ram-air") == 1) {
if (systems.PNEU.Switch.ramAir.getValue() == 1) {
ram_air.active = 1;
} else {
ram_air.active = 0;
@ -3537,7 +3544,7 @@ var messages_right_memo = func {
company_msg.active = 0;
}
if (getprop("/controls/ice-protection/leng") == 1 or getprop("/controls/ice-protection/reng") == 1 or getprop("/systems/electrical/bus/dc-1") == 0 or getprop("/systems/electrical/bus/dc-2") == 0) {
if (getprop("/controls/ice-protection/leng") == 1 or getprop("/controls/ice-protection/reng") == 1 or systems.ELEC.Bus.dc1.getValue() < 25 or systems.ELEC.Bus.dc2.getValue() < 25) {
eng_aice.active = 1;
} else {
eng_aice.active = 0;
@ -3549,7 +3556,7 @@ var messages_right_memo = func {
wing_aice.active = 0;
}
if (getprop("/controls/pneumatics/switches/apu") == 1 and pts.APU.rpm.getValue() >= 95) {
if (systems.PNEU.Switch.apu.getValue() == 1 and pts.APU.rpm.getValue() >= 95) {
apu_bleed.active = 1;
} else {
apu_bleed.active = 0;
@ -3561,43 +3568,43 @@ var messages_right_memo = func {
apu_avail.active = 0;
}
if (getprop("/controls/lighting/landing-lights[1]") > 0 or getprop("/controls/lighting/landing-lights[2]") > 0) {
if (pts.Controls.Lighting.landingLights[1].getValue() > 0 or pts.Controls.Lighting.landingLights[2].getValue() > 0) {
ldg_lt.active = 1;
} else {
ldg_lt.active = 0;
}
if (getprop("/controls/gear/brake-fans") == 1) {
if (systems.BrakeSys.brakeFans.getValue() == 1) {
brk_fan.active = 1;
} else {
brk_fan.active = 0;
}
if (getprop("instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override") == 1) { # todo: emer elec
if (pts.Instrumentation.MKVII.Inputs.Discretes.flap3Override.getValue() == 1) { # todo: emer elec
gpws_flap3.active = 1;
} else {
gpws_flap3.active = 0;
}
if (!getprop("/systems/radio/vhf3-data-mode") and (phaseVarMemo3 == 1 or phaseVarMemo3 == 2 or phaseVarMemo3 == 6 or phaseVarMemo3 == 9 or phaseVarMemo3 == 10)) {
if (!rmp.vhf3_data_mode.getValue() and (phaseVarMemo3 == 1 or phaseVarMemo3 == 2 or phaseVarMemo3 == 6 or phaseVarMemo3 == 9 or phaseVarMemo3 == 10)) {
vhf3_voice.active = 1;
} else {
vhf3_voice.active = 0;
}
if (getprop("/controls/autobrake/mode") == 1 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
if (systems.Autobrake.mode.getValue() == 1 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
auto_brk_lo.active = 1;
} else {
auto_brk_lo.active = 0;
}
if (getprop("/controls/autobrake/mode") == 2 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
if (systems.Autobrake.mode.getValue() == 2 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
auto_brk_med.active = 1;
} else {
auto_brk_med.active = 0;
}
if (getprop("/controls/autobrake/mode") == 3 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
if (systems.Autobrake.mode.getValue() == 3 and (phaseVarMemo3 == 7 or phaseVarMemo3 == 8)) {
auto_brk_max.active = 1;
} else {
auto_brk_max.active = 0;

View file

@ -68,7 +68,7 @@ var FBW = {
rtlu2: props.globals.getNode("/systems/failures/fctl/rtlu-2"),
rtlu2: props.globals.getNode("/systems/failures/fctl/rtlu-2"),
ths: props.globals.getNode(""),
spoilerl1: props.globals.getNode(""),
spoilerl1: props.globals.getNode("/systems/failures/spoilers/spoiler-l1"),
spoilerl2: props.globals.getNode("/systems/failures/spoilers/spoiler-l2"),
spoilerl3: props.globals.getNode("/systems/failures/spoilers/spoiler-l3"),
spoilerl4: props.globals.getNode("/systems/failures/spoilers/spoiler-l4"),

View file

@ -491,6 +491,12 @@ var FCUController = {
}
}
},
MetricAlt: func() {
if (me.FCUworking) {
canvas_pfd.PFD_1.showMetricAlt = !canvas_pfd.PFD_1.showMetricAlt;
canvas_pfd.PFD_2.showMetricAlt = !canvas_pfd.PFD_2.showMetricAlt;
}
},
};
# Master / slave principle of operation depending on the autopilot / flight director engagement

View file

@ -1,12 +1,6 @@
# A320 Main Libraries
# Joshua Davidson (Octal450)
# Airbus A320 Custom Controls
# Copyright (c) 2021 Josh Davidson (Octal450)
############
# Controls #
############
controls.stepSpoilers = func(step) {
pts.Controls.Flight.speedbrakeArm.setValue(0);
if (step == 1) {
@ -16,7 +10,31 @@ controls.stepSpoilers = func(step) {
}
}
var speedbrakeKey = func() {
if (pts.Controls.Flight.speedbrakeArm.getBoolValue()) {
pts.Controls.Flight.speedbrakeArm.setBoolValue(0);
} else {
pts.Controls.Flight.speedbrakeTemp = pts.Controls.Flight.speedbrake.getValue();
if (pts.Gear.wow[1].getBoolValue() or pts.Gear.wow[2].getBoolValue()) {
if (pts.Controls.Flight.speedbrake.getValue() < 1) {
pts.Controls.Flight.speedbrake.setValue(1);
} else {
pts.Controls.Flight.speedbrake.setValue(0);
}
} else {
if (pts.Controls.Flight.speedbrake.getValue() < 0.5) {
pts.Controls.Flight.speedbrake.setValue(0.5);
} else if (pts.Controls.Flight.speedbrake.getValue() < 1) {
pts.Controls.Flight.speedbrake.setValue(1);
} else {
pts.Controls.Flight.speedbrake.setValue(0);
}
}
}
}
var deploySpeedbrake = func() {
pts.Controls.Flight.speedbrakeArm.setBoolValue(0);
if (pts.Gear.wow[1].getBoolValue() or pts.Gear.wow[2].getBoolValue()) {
if (pts.Controls.Flight.speedbrake.getValue() < 1.0) {
pts.Controls.Flight.speedbrake.setValue(1.0);
@ -24,22 +42,23 @@ var deploySpeedbrake = func() {
} else {
if (pts.Controls.Flight.speedbrake.getValue() < 0.5) {
pts.Controls.Flight.speedbrake.setValue(0.5);
} else if (pts.Controls.Flight.speedbrake.getValue() < 1.0) {
pts.Controls.Flight.speedbrake.setValue(1.0);
} else if (pts.Controls.Flight.speedbrake.getValue() < 1) {
pts.Controls.Flight.speedbrake.setValue(1);
}
}
}
var retractSpeedbrake = func() {
pts.Controls.Flight.speedbrakeArm.setBoolValue(0);
if (pts.Gear.wow[1].getBoolValue() or pts.Gear.wow[2].getBoolValue()) {
if (pts.Controls.Flight.speedbrake.getValue() > 0.0) {
pts.Controls.Flight.speedbrake.setValue(0.0);
if (pts.Controls.Flight.speedbrake.getValue() > 0) {
pts.Controls.Flight.speedbrake.setValue(0);
}
} else {
if (pts.Controls.Flight.speedbrake.getValue() > 0.5) {
pts.Controls.Flight.speedbrake.setValue(0.5);
} else if (pts.Controls.Flight.speedbrake.getValue() > 0.0) {
pts.Controls.Flight.speedbrake.setValue(0.0);
} else if (pts.Controls.Flight.speedbrake.getValue() > 0) {
pts.Controls.Flight.speedbrake.setValue(0);
}
}
}

View file

@ -54,6 +54,7 @@ var Controls = {
flapsPos: props.globals.getNode("/controls/flight/flaps-pos"),
speedbrake: props.globals.getNode("/controls/flight/speedbrake"),
speedbrakeArm: props.globals.getNode("/controls/flight/speedbrake-arm"),
speedbrakeTemp: 0,
rudder: props.globals.getNode("/controls/flight/rudder"),
rudderTrim: props.globals.getNode("/controls/flight/rudder-trim"),
},
@ -104,6 +105,9 @@ var Fdm = {
alpha: props.globals.getNode("/fdm/jsbsim/aero/alpha-deg"),
alphaNorm: props.globals.getNode("/fdm/jsbsim/aero/alpha-deg-norm"),
},
Fadec: {
detent: [props.globals.getNode("/fdm/jsbsim/fadec/control-1/detent"),props.globals.getNode("/fdm/jsbsim/fadec/control-2/detent")],
},
Fcs: {
brake: [props.globals.getNode("/fdm/jsbsim/fcs/left-brake-cmd-norm"),props.globals.getNode("/fdm/jsbsim/fcs/right-brake-cmd-norm")],
flapDeg: props.globals.getNode("/fdm/jsbsim/fcs/flap-pos-deg"),
@ -213,7 +217,7 @@ var Instrumentation = {
MKVII: {
Inputs: {
Discretes: {
flap3Override: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/momentary-flap3-override"),
flap3Override: props.globals.getNode("/instrumentation/mk-viii/inputs/discretes/momentary-flap-3-override"),
},
},
},
@ -221,6 +225,10 @@ var Instrumentation = {
gsDeflection: props.globals.getNode("/instrumentation/nav[0]/gs-needle-deflection-norm"),
locDeflection: props.globals.getNode("/instrumentation/nav[0]/heading-needle-deflection-norm"),
},
PFD: {
windDirection: props.globals.getNode("/instrumentation/pfd/wind-direction"),
windSpeed: props.globals.getNode("/instrumentation/pfd/wind-speed"),
},
TCAS: {
servicable: props.globals.getNode("/instrumentation/tcas/serviceable"),
Inputs: {

View file

@ -60,3 +60,15 @@ var printInput2 = func(key, i) {
setprop("FMGC/print/mcdu/page2/R4req", 1);
}
}
var data2Input = func(key, i) {
if (key == "L5") {
if (canvas_mcdu.myCLBWIND[i] == nil) {
canvas_mcdu.myCLBWIND[i] = windCLBPage.new(i);
} else {
canvas_mcdu.myCLBWIND[i].reload();
}
fmgc.windController.accessPage[i] = "DATA2";
setprop("MCDU[" ~ i ~ "]/page", "WINDCLB");
}
}

View file

@ -1,15 +0,0 @@
# A3XX mCDU by Joshua Davidson (Octal450), Jonathan Redpath, and Matthew Maring (mattmaring)
# Copyright (c) 2020 Matthew Maring (mattmaring)
var data2Input = func(key, i) {
if (key == "L5") {
if (canvas_mcdu.myCLBWIND[i] == nil) {
canvas_mcdu.myCLBWIND[i] = windCLBPage.new(i);
} else {
canvas_mcdu.myCLBWIND[i].reload();
}
fmgc.windController.accessPage[i] = "DATA2";
setprop("MCDU[" ~ i ~ "]/page", "WINDCLB");
}
}

View file

@ -168,6 +168,7 @@ var MCDU_reset = func(i) {
setprop("/FMGC/internal/eng-out-reduc", "1500");
setprop("/MCDUC/reducacc-set", 0);
fmgc.FMGCInternal.transAlt = 18000;
fmgc.FMGCInternal.transAltSet = 0;
# CLB PERF
setprop("/FMGC/internal/activate-once", 0);

View file

@ -358,8 +358,8 @@ var ATIS = {
raw = split('"}', raw)[0];
} else {
if (me.type == 0) {
raw = split('{"arr":"', raw)[1];
raw = split('","dep":', raw)[0];
raw = split('"arr":"', raw)[1];
raw = split('","dep":"', raw)[0];
} else {
raw = split('","dep":"', raw)[1];
raw = split('"}', raw)[0];

View file

@ -32,8 +32,6 @@ var ELEC = {
acEssBusFault: props.globals.getNode("/systems/failures/electrical/ac-ess-bus"),
ac1BusFault: props.globals.getNode("/systems/failures/electrical/ac-1-bus"),
ac2BusFault: props.globals.getNode("/systems/failures/electrical/ac-2-bus"),
bat1Fault: props.globals.getNode("/systems/failures/electrical/bat-1"),
bat2Fault: props.globals.getNode("/systems/failures/electrical/bat-2"),
dcEssBusFault: props.globals.getNode("/systems/failures/electrical/dc-ess-bus"),
dc1BusFault: props.globals.getNode("/systems/failures/electrical/dc-1-bus"),
dc2BusFault: props.globals.getNode("/systems/failures/electrical/dc-2-bus"),
@ -194,8 +192,6 @@ var ELEC = {
me.Fail.acEssBusFault.setBoolValue(0);
me.Fail.ac1BusFault.setBoolValue(0);
me.Fail.ac2BusFault.setBoolValue(0);
me.Fail.bat1Fault.setBoolValue(0);
me.Fail.bat2Fault.setBoolValue(0);
me.Fail.dcEssBusFault.setBoolValue(0);
me.Fail.dc1BusFault.setBoolValue(0);
me.Fail.dc2BusFault.setBoolValue(0);

View file

@ -7,7 +7,7 @@ var HYD = {
lcont: 0,
rcont: 0,
Brakes: {
accumPressPsi: props.globals.initNode("/systems/hydraulic/yellow-accumulator-psi-cmd", 0, "INT"),
accumPressPsi: props.globals.initNode("/systems/hydraulic/yellow-accumulator-psi-cmd", 3000, "INT"),
leftPressPsi: props.globals.initNode("/systems/hydraulic/brakes/pressure-left-psi", 0, "INT"),
rightPressPsi: props.globals.initNode("/systems/hydraulic/brakes/pressure-right-psi", 0, "INT"),
mode: props.globals.initNode("/systems/hydraulic/brakes/mode", 0, "INT"),
@ -62,6 +62,11 @@ var HYD = {
yellowFire: props.globals.getNode("/systems/hydraulic/sources/yellow-edp/fire-valve"),
greenFire: props.globals.getNode("/systems/hydraulic/sources/green-edp/fire-valve"),
},
Warnings: {
blueAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/blue-abnorm-lo-pr"),
greenAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/green-abnorm-lo-pr"),
yellowAbnormLoPr: props.globals.getNode("/ECAM/warnings/hyd/yellow-abnorm-lo-pr"),
},
init: func() {
me.resetFail();
me.Qty.blueInput.setValue(math.round((rand() * 2) + 6 , 0.1)); # Random between 6 and 8
@ -74,6 +79,7 @@ var HYD = {
me.Switch.rat.setValue(0);
me.Switch.yellowEDP.setValue(1);
me.Switch.yellowElec.setValue(0);
me.Brakes.accumPressPsi.setValue(3000);
},
resetFail: func() {
me.Fail.blueElec.setBoolValue(0);

View file

@ -530,7 +530,7 @@
<property>/systems/navigation/probes/tat-1/tat</property>
<quotient>
<pow>
<property>/velocities/TAS</property>
<property>/instrumentation/airspeed-indicator/true-speed-kt</property>
<value>2</value>
</pow>
<value>7569</value>

View file

@ -3,12 +3,10 @@
<!-- Airbus A320 Aerodynamics -->
<!-- Copyright (c) 2021 Josh Davidson (Octal450) -->
<aerodynamics> <!-- WIP REWORK 2020 by Josh Davidson (Octal450) -->
<aerodynamics>
<property value="0">ice/wingL</property>
<property value="0">ice/wingR</property>
<property value="0">tuneF</property>
<property value="0">tuneS</property>
<function name="aero/function/kCLge">
<description>Lift factor due to ground effect</description>
@ -497,7 +495,7 @@
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<property>aero/beta-rad</property>
<value>-0.8887</value>
<value>-0.6457</value>
</product>
</function>
@ -527,7 +525,7 @@
<property>metrics/Sw-sqft</property>
<property>aero/bi2vel</property>
<property>velocities/r-aero-rad_sec</property>
<value>0.8709</value>
<value>0.6983</value>
</product>
</function>
@ -537,7 +535,7 @@
<property>aero/qbar-psf</property>
<property>metrics/Sw-sqft</property>
<toradians><property>hydraulics/rudder/final-deg</property></toradians>
<value>-0.214</value>
<value>-0.145</value>
</product>
</function>
@ -575,7 +573,7 @@
<property>metrics/bw-ft</property>
<property>aero/bi2vel</property>
<property>velocities/p-aero-rad_sec</property>
<value>-0.58</value>
<value>-0.53</value>
</product>
</function>
@ -598,7 +596,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<toradians><property>hydraulics/aileron-l/final-deg</property></toradians>
<value>0.044</value>
<value>0.031</value>
</product>
</function>
@ -609,7 +607,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<toradians><property>hydraulics/aileron-r/final-deg</property></toradians>
<value>-0.044</value>
<value>-0.031</value>
</product>
</function>
@ -620,7 +618,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<toradians><property>fcs/spoiler-left-deg</property></toradians>
<value>-0.033</value>
<value>-0.023</value>
</product>
</function>
@ -631,7 +629,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<toradians><property>fcs/spoiler-right-deg</property></toradians>
<value>0.033</value>
<value>0.023</value>
</product>
</function>
@ -713,7 +711,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<toradians><property>hydraulics/elevator-l/final-deg</property></toradians>
<value>-0.557175</value>
<value>-0.345</value>
</product>
</function>
@ -724,7 +722,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<toradians><property>hydraulics/elevator-r/final-deg</property></toradians>
<value>-0.557175</value>
<value>-0.345</value>
</product>
</function>
@ -735,7 +733,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/cbarw-ft</property>
<toradians><property>hydraulics/stabilizer/final-deg</property></toradians>
<value>-1.975</value>
<value>-2.575</value>
</product>
</function>
@ -773,7 +771,7 @@
<property>metrics/bw-ft</property>
<property>aero/bi2vel</property>
<property>velocities/r-aero-rad_sec</property>
<value>-0.3</value>
<value>-0.25</value>
</product>
</function>
@ -784,7 +782,7 @@
<property>metrics/Sw-sqft</property>
<property>metrics/bw-ft</property>
<toradians><property>hydraulics/rudder/final-deg</property></toradians>
<value>0.061</value>
<value>0.042</value>
</product>
</function>

View file

@ -38,16 +38,16 @@
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-10000 0 10000 20000 30000 43000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2840 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2740 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2670 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2310 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.2060 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1270 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0580 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
</function>

View file

@ -7,6 +7,16 @@
<channel name="Animations">
<lag_filter name="spoilers/main-lever">
<input>spoilers/lever-cmd</input>
<c1>20</c1>
</lag_filter>
<lag_filter name="spoilers/lever-arm">
<input>/controls/flight/speedbrake-arm</input>
<c1>20</c1>
</lag_filter>
<fcs_function name="fadec/throttle-lever[0]">
<function>
<quotient>

View file

@ -25,14 +25,12 @@
</difference>
<table>
<independentVar lookup="row">/systems/electrical/sources/bat-1/percent</independentVar>
<independentVar lookup="column">/systems/failures/electrical/bat-1</independentVar>
<tableData>
0 1
0 0.0 0.0
10 24.0 4.0
50 25.5 5.0
85 26.5 6.0
100 31.0 7.0
0 0.0
10 24.0
50 25.5
85 26.5
100 31.0
</tableData>
</table>
</sum>
@ -270,14 +268,12 @@
</difference>
<table>
<independentVar lookup="row">/systems/electrical/sources/bat-2/percent</independentVar>
<independentVar lookup="column">/systems/failures/electrical/bat-2</independentVar>
<tableData>
0 1
0 0.0 0.0
10 24.0 4.0
50 25.5 5.0
85 26.5 6.0
100 31.0 7.0
0 0.0
10 24.0
50 25.5
85 26.5
100 31.0
</tableData>
</table>
</sum>

View file

@ -12,9 +12,9 @@
<vtailarea unit="FT2">248.79</vtailarea>
<location name="AERORP" unit="M">
<x>-2.6496</x>
<x>-2.2658</x>
<y>0</y>
<z>-0.75</z>
<z>-0.934</z>
</location>
<location name="EYEPOINT" unit="M">

View file

@ -9,6 +9,28 @@
<channel name="Spoiler Logic">
<switch name="spoilers/auto-speedbrake-arm"> <!-- Important for spoiler axis -->
<default value="/controls/flight/speedbrake-arm"/>
<test value="0">
/controls/flight/speedbrake gt 0
</test>
<output>/controls/flight/speedbrake-arm</output>
</switch>
<fcs_function name="spoilers/lever-input">
<function>
<table>
<independentVar lookup="row">/controls/flight/speedbrake</independentVar>
<tableData>
0.10 0.0
0.45 0.5
0.55 0.5
0.90 1.0
</tableData>
</table>
</function>
</fcs_function>
<switch name="spoilers/main-gear-or">
<default value="0"/>
<test logic="OR" value="1">
@ -25,8 +47,8 @@
</test>
</switch>
<switch name="spoilers/auto-speedbrake-cmd">
<default value="spoilers/auto-speedbrake-cmd"/>
<switch name="spoilers/auto-speedbrake">
<default value="spoilers/auto-speedbrake"/>
<test logic="OR" value="0"> <!-- Reset -->
fadec/control-1/detent ne 0
fadec/control-2/detent ne 0
@ -39,7 +61,7 @@
spoilers/main-gear-and eq 1
/velocities/groundspeed-kt ge 72
</test>
<test logic="AND" value="0.20"> <!-- PLD Set 10 degrees -->
<test logic="AND" value="0.2"> <!-- PLD Set 10 degrees -->
fadec/control-1/detent eq 0
fadec/control-2/detent eq 0
/controls/flight/speedbrake-arm eq 1
@ -48,51 +70,38 @@
</test>
</switch>
<switch name="spoilers/lever-cmd">
<default value="spoilers/lever-input"/>
<test value="spoilers/auto-speedbrake">
/controls/flight/speedbrake-arm eq 1
</test>
</switch>
<switch name="spoilers/max-spoiler">
<default value="1.0"/>
<test logic="AND" value="0.4">
spoilers/main-gear-or eq 0
fbw/fmgc/enabled eq 1
</test>
<test logic="AND" value="0.8">
spoilers/main-gear-or eq 0
fbw/fmgc/enabled eq 1
</test>
</switch>
<fcs_function name="spoilers/speedbrake-nul">
<fcs_function name="spoilers/main-cmd">
<function>
<table>
<independentVar lookup="row">/controls/flight/speedbrake</independentVar>
<tableData>
0.10 0.0
0.45 0.625
0.55 0.625
0.95 1.0
<independentVar lookup="row">spoilers/lever-cmd</independentVar>
<tableData> <!-- Half is 12.5/25 of 20/40 -->
0.0 0.000
0.5 0.625
1.0 1.000
</tableData>
</table>
</function>
</fcs_function>
<lag_filter name="spoilers/main-lever">
<input>spoilers/speedbrake-nul</input>
<c1>20</c1>
</lag_filter>
<summer name="spoilers/main-cmd">
<input>spoilers/speedbrake-nul</input>
<input>spoilers/auto-speedbrake-cmd</input>
<output>fbw/spoiler-output</output>
<clipto>
<min>0.0</min>
<min>0</min>
<max>spoilers/max-spoiler</max>
</clipto>
<output>fbw/spoiler-output</output>
</summer>
<lag_filter name="spoilers/lever-arm">
<input>/controls/flight/speedbrake-arm</input>
<c1>20</c1>
</lag_filter>
</fcs_function>
<fcs_function name="hydraulics/spoiler-droop-rate">
<function>
@ -125,7 +134,7 @@
<pure_gain name="hydraulics/spoiler-l1/cmd-deg">
<input>hydraulics/spoiler-l1/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-l1/rate">
@ -243,7 +252,7 @@
<pure_gain name="hydraulics/spoiler-l2/cmd-deg">
<input>hydraulics/spoiler-l2/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-l2/rate">
@ -339,7 +348,7 @@
<pure_gain name="hydraulics/spoiler-l3/cmd-deg">
<input>hydraulics/spoiler-l3/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-l3/rate">
@ -435,7 +444,7 @@
<pure_gain name="hydraulics/spoiler-l4/cmd-deg">
<input>hydraulics/spoiler-l4/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-l4/rate">
@ -507,7 +516,7 @@
<pure_gain name="hydraulics/spoiler-l5/cmd-deg">
<input>hydraulics/spoiler-l5/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-l5/rate">
@ -546,7 +555,7 @@
<pure_gain name="hydraulics/spoiler-r1/cmd-deg">
<input>hydraulics/spoiler-r1/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-r1/rate">
@ -664,7 +673,7 @@
<pure_gain name="hydraulics/spoiler-r2/cmd-deg">
<input>hydraulics/spoiler-r2/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-r2/rate">
@ -760,7 +769,7 @@
<pure_gain name="hydraulics/spoiler-r3/cmd-deg">
<input>hydraulics/spoiler-r3/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-r3/rate">
@ -856,7 +865,7 @@
<pure_gain name="hydraulics/spoiler-r4/cmd-deg">
<input>hydraulics/spoiler-r4/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-r4/rate">
@ -928,7 +937,7 @@
<pure_gain name="hydraulics/spoiler-r5/cmd-deg">
<input>hydraulics/spoiler-r5/switch</input>
<gain>50.0</gain>
<gain>50</gain>
</pure_gain>
<switch name="hydraulics/spoiler-r5/rate">

View file

@ -67,16 +67,16 @@
<independentVar lookup="row">velocities/mach</independentVar>
<independentVar lookup="column">atmosphere/density-altitude</independentVar>
<tableData>
-10000 0 10000 20000 30000 40000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2710 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2610 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2530 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2180 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.1930 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1140 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0450 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
-10000 0 10000 20000 30000 43000 50000
0.0 1.2600 1.0000 0.7400 0.5640 0.3920 0.2840 0.0000
0.2 1.1710 0.9740 0.6970 0.5360 0.3850 0.2740 0.0000
0.4 1.1500 0.9570 0.6920 0.5460 0.3870 0.2670 0.0000
0.6 1.1810 0.9410 0.7210 0.5660 0.3580 0.2310 0.0000
0.8 1.2290 1.0200 0.7820 0.5570 0.3040 0.2060 0.0000
0.9 1.2580 1.0200 0.7820 0.5220 0.2710 0.1270 0.0000
1.0 1.1810 0.9510 0.7210 0.4410 0.1740 0.0580 0.0000
1.2 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
1.4 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
</function>

View file

@ -577,14 +577,6 @@
<output>/systems/pressurization/targetvs</output>
</filter>
<filter>
<name>TAS</name>
<type>gain</type>
<gain>1.0</gain>
<input>/instrumentation/airspeed-indicator/true-speed-kt</input>
<output>/velocities/TAS</output>
</filter>
<filter>
<name>LBtoKG</name>
<type>gain</type>

View file

@ -574,4 +574,107 @@
<output>/instrumentation/iesi/pitch-deg</output>
</filter>
<filter>
<name>Wind East</name>
<type>gain</type>
<gain>1.0</gain>
<input>
<expression>
<difference>
<product>
<property>/velocities/speed-east-fps</property>
<value>0.592484</value> <!-- fps to kt -->
</product>
<product>
<cos><deg2rad><property>/orientation/pitch-deg</property></deg2rad></cos>
<sin><deg2rad><property>/orientation/heading-deg</property></deg2rad></sin>
<!--<floor>-->
<property>/systems/navigation/adr/output/tas-3</property>
<!--<value>100</value>
</floor>-->
</product>
</difference>
</expression>
</input>
<output>/instrumentation/pfd/wind-speed-east</output>
<min>-4096</min>
<max>4096</max>
</filter>
<filter>
<name>Wind North</name>
<type>gain</type>
<gain>1.0</gain>
<input>
<expression>
<difference>
<product>
<property>/velocities/speed-north-fps</property>
<value>0.592484</value> <!-- fps to kt -->
</product>
<product>
<cos><deg2rad><property>/orientation/pitch-deg</property></deg2rad></cos>
<cos><deg2rad><property>/orientation/heading-deg</property></deg2rad></cos>
<!--<floor>-->
<property>/systems/navigation/adr/output/tas-3</property>
<!--<value>100</value>
</floor>-->
</product>
</difference>
</expression>
</input>
<output>/instrumentation/pfd/wind-speed-north</output>
<min>-4096</min>
<max>4096</max>
</filter>
<filter>
<name>Wind Direction</name>
<type>exponential</type>
<filter-time>1.28</filter-time>
<input>
<expression>
<sum>
<rad2deg>
<atan2>
<property>/instrumentation/pfd/wind-speed-east</property>
<property>/instrumentation/pfd/wind-speed-north</property>
</atan2>
</rad2deg>
<value>180</value>
</sum>
</expression>
</input>
<output>/instrumentation/pfd/wind-direction</output>
<period>
<min>0</min>
<max>360</max>
</period>
</filter>
<filter>
<name>Wind Speed</name>
<type>exponential</type>
<filter-time>1.28</filter-time>
<input>
<expression>
<sqrt>
<sum>
<pow>
<property>/instrumentation/pfd/wind-speed-east</property>
<value>2</value>
</pow>
<pow>
<property>/instrumentation/pfd/wind-speed-north</property>
<value>2</value>
</pow>
</sum>
</sqrt>
</expression>
</input>
<output>/instrumentation/pfd/wind-speed</output>
<min>0</min>
<max>256</max>
</filter>
</PropertyList>