Fix INITB Boxes, make Block, convert to LBS for now, until I can add an option

This commit is contained in:
Joshua Davidson 2017-05-27 01:11:14 -04:00
parent d398f177b2
commit 49a8931593
17 changed files with 478 additions and 542 deletions

View file

@ -99,13 +99,13 @@
<name>zfwcgzfw</name>
<offsets>
<x-m>-0.001</x-m>
<y-m>0.032</y-m>
<y-m>0.045</y-m>
<z-m>0.0755</z-m>
</offsets>
<alignment>right-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">text-value</type>
<format type="string">ZFWCG/ZFW</format>
<format type="string">ZFW/ZFWCG</format>
<truncate type="bool">false</truncate>
<font type="string">BoeingCDU-Large.ttf</font>
<property>autopilot/serviceable</property>
@ -170,7 +170,7 @@
<name>block</name>
<offsets>
<x-m>-0.001</x-m>
<y-m>0.040</y-m>
<y-m>0.045</y-m>
<z-m>0.065</z-m>
</offsets>
<alignment>right-center</alignment>
@ -190,6 +190,38 @@
</font-resolution>
</text>
<text>
<name>block2</name>
<offsets>
<x-m>-0.001</x-m>
<y-m>0.045</y-m>
<z-m>0.061</z-m>
</offsets>
<alignment>right-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">number-value</type>
<format type="string">%2.1f</format>
<truncate type="bool">false</truncate>
<font type="string">BoeingCDU-Large.ttf</font>
<property>/FMGC/internal/block</property>
<draw-text type="bool">true</draw-text>
<draw-alignment type="bool">false</draw-alignment>
<draw-boundingbox type="bool">false</draw-boundingbox>
<character-size>0.0050</character-size>
<font-resolution>
<width type="int">64</width>
<height type="int">64</height>
</font-resolution>
</text>
<animation>
<type>select</type>
<object-name>block2</object-name>
<condition>
<property>/FMGC/internal/block-set</property>
</condition>
</animation>
<!--<text>
<name>activedata3</name>
<offsets>
@ -518,6 +550,7 @@
<animation>
<type>material</type>
<object-name>taxi2</object-name>
<object-name>block2</object-name>
<diffuse>
<red>0</red>
<green>0.5</green>

View file

@ -3,154 +3,7 @@ MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0 0 0 shi 128 trans
MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 0 0 0 shi 128 trans 0
MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 1 1 1 shi 0 trans 0
OBJECT world
kids 9
OBJECT poly
name "blockfuel1"
loc -0.0582416 -0.000598909 -0.0312149
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.0061287
-0.00472546 -4.13274e-009 0.000360757
-0.000334941 0 0.000360757
-0.000334948 0 -0.0061287
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.584187 0.491233
0 0.584187 0.686756
1 0.491645 0.686756
2 0.491645 0.491233
kids 0
OBJECT poly
name "blockfuel2"
loc -0.0582416 -0.000598909 -0.04029
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00369452
-0.00472546 -4.13274e-009 0.000217468
-0.000334941 0 0.000217468
-0.000334948 0 -0.00369452
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.539904 0.495005
0 0.539904 0.688364
1 0.493309 0.688364
2 0.493309 0.495005
kids 0
OBJECT poly
name "zfwcg2"
loc -0.0692435 -0.000598909 -0.0225291
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00369452
-0.00472546 -4.13274e-009 0.000217468
-0.000334941 0 0.000217468
-0.000334948 0 -0.00369452
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.539904 0.495005
0 0.539904 0.688364
1 0.493309 0.688364
2 0.493309 0.495005
kids 0
OBJECT poly
name "slashzfw"
loc -0.0692601 -0.000598909 -0.0269022
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00310883
-0.00472546 -4.13274e-009 0.000182992
-0.000334941 0 0.000182992
-0.000334948 0 -0.00310883
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.700807 0.492498
0 0.700807 0.685856
1 0.670095 0.685856
2 0.670095 0.492498
kids 0
OBJECT poly
name "zfwcg1"
loc -0.0692955 -0.000598909 -0.0153257
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00554154
-0.00472546 -4.13274e-009 0.000326196
-0.000334941 0 0.000326196
-0.000334948 0 -0.00554154
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.584187 0.491233
0 0.584187 0.686756
1 0.491645 0.686756
2 0.491645 0.491233
kids 0
OBJECT poly
name "zfwvalue"
loc -0.0691401 -0.000598909 -0.0312149
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334948 0 -0.0061287
-0.000334941 0 0.000360757
-0.00472546 -4.13274e-009 0.000360757
-0.00472546 -4.13274e-009 -0.0061287
numsurf 1
SURF 0x0
mat 1
refs 4
0 0.584187 0.491233
3 0.584187 0.686756
2 0.491645 0.686756
1 0.491645 0.491233
kids 0
OBJECT poly
name "zfwvalue2"
loc -0.0691401 -0.000598909 -0.04029
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334948 0 -0.00369452
-0.000334941 0 0.000217468
-0.00472546 -4.13274e-009 0.000217468
-0.00472546 -4.13274e-009 -0.00369452
numsurf 1
SURF 0x0
mat 1
refs 4
0 0.539904 0.495005
3 0.539904 0.688364
2 0.493309 0.688364
1 0.493309 0.495005
kids 0
kids 4
OBJECT poly
name "box"
loc 0.00822081 -0.0901982 0
@ -339,7 +192,7 @@ refs 4
kids 0
OBJECT poly
name "face"
loc -0.0925569 -0.0235122 0.00196775
loc -0.092825 -0.0235122 0.000359011
data 10
enginepane
texture "amberbox.png"
@ -358,3 +211,45 @@ refs 4
1 4.45843e-005 0.000756443
2 0.634683 0.000756443
kids 0
OBJECT poly
name "blockbox"
loc -0.0582417 -0.000598909 -0.0188994
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334948 0 -0.0144772
-0.00472546 -4.13274e-009 -0.0144772
-0.000334948 0 -0.0261638
-0.00472546 -4.13274e-009 -0.0261638
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.860675 0.691819
1 0.699397 0.691819
0 0.699397 0.496296
2 0.860675 0.496296
kids 0
OBJECT poly
name "zfwzfwcgbox"
loc -0.0691401 -0.000598909 -0.0172594
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334941 0 -0.0006354
-0.00472546 -4.13274e-009 -0.0006354
-0.00472546 -4.13274e-009 -0.0262117
-0.000334948 0 -0.0262117
numsurf 1
SURF 0x0
mat 1
refs 4
0 0.508378 0.496296
3 0.861336 0.496296
2 0.861336 0.691819
1 0.508378 0.691819
kids 0

View file

@ -10,4 +10,12 @@
<path>INITBOX.ac</path>
<animation>
<type>select</type>
<object-name>blockbox</object-name>
<condition>
<not><property>/FMGC/internal/block-set</property></not>
</condition>
</animation>
</PropertyList>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -99,13 +99,13 @@
<name>zfwcgzfw</name>
<offsets>
<x-m>-0.001</x-m>
<y-m>0.032</y-m>
<y-m>0.045</y-m>
<z-m>0.0755</z-m>
</offsets>
<alignment>right-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">text-value</type>
<format type="string">ZFWCG/ZFW</format>
<format type="string">ZFW/ZFWCG</format>
<truncate type="bool">false</truncate>
<font type="string">BoeingCDU-Large.ttf</font>
<property>autopilot/serviceable</property>
@ -170,7 +170,7 @@
<name>block</name>
<offsets>
<x-m>-0.001</x-m>
<y-m>0.040</y-m>
<y-m>0.045</y-m>
<z-m>0.065</z-m>
</offsets>
<alignment>right-center</alignment>
@ -190,6 +190,38 @@
</font-resolution>
</text>
<text>
<name>block2</name>
<offsets>
<x-m>-0.001</x-m>
<y-m>0.045</y-m>
<z-m>0.061</z-m>
</offsets>
<alignment>right-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">number-value</type>
<format type="string">%2.1f</format>
<truncate type="bool">false</truncate>
<font type="string">BoeingCDU-Large.ttf</font>
<property>/FMGC/internal/block</property>
<draw-text type="bool">true</draw-text>
<draw-alignment type="bool">false</draw-alignment>
<draw-boundingbox type="bool">false</draw-boundingbox>
<character-size>0.0050</character-size>
<font-resolution>
<width type="int">64</width>
<height type="int">64</height>
</font-resolution>
</text>
<animation>
<type>select</type>
<object-name>block2</object-name>
<condition>
<property>/FMGC/internal/block-set</property>
</condition>
</animation>
<!--<text>
<name>activedata3</name>
<offsets>
@ -518,6 +550,7 @@
<animation>
<type>material</type>
<object-name>taxi2</object-name>
<object-name>block2</object-name>
<diffuse>
<red>0</red>
<green>0.5</green>

View file

@ -3,154 +3,7 @@ MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 0 0 0 shi 128 trans
MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 1 1 1 spec 0 0 0 shi 128 trans 0
MATERIAL "ac3dmat1" rgb 1 1 1 amb 1 1 1 emis 0 0 0 spec 1 1 1 shi 0 trans 0
OBJECT world
kids 9
OBJECT poly
name "blockfuel1"
loc -0.0582416 -0.000598909 -0.0312149
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.0061287
-0.00472546 -4.13274e-009 0.000360757
-0.000334941 0 0.000360757
-0.000334948 0 -0.0061287
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.584187 0.491233
0 0.584187 0.686756
1 0.491645 0.686756
2 0.491645 0.491233
kids 0
OBJECT poly
name "blockfuel2"
loc -0.0582416 -0.000598909 -0.04029
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00369452
-0.00472546 -4.13274e-009 0.000217468
-0.000334941 0 0.000217468
-0.000334948 0 -0.00369452
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.539904 0.495005
0 0.539904 0.688364
1 0.493309 0.688364
2 0.493309 0.495005
kids 0
OBJECT poly
name "zfwcg2"
loc -0.0692435 -0.000598909 -0.0225291
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00369452
-0.00472546 -4.13274e-009 0.000217468
-0.000334941 0 0.000217468
-0.000334948 0 -0.00369452
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.539904 0.495005
0 0.539904 0.688364
1 0.493309 0.688364
2 0.493309 0.495005
kids 0
OBJECT poly
name "slashzfw"
loc -0.0692601 -0.000598909 -0.0269022
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00310883
-0.00472546 -4.13274e-009 0.000182992
-0.000334941 0 0.000182992
-0.000334948 0 -0.00310883
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.700807 0.492498
0 0.700807 0.685856
1 0.670095 0.685856
2 0.670095 0.492498
kids 0
OBJECT poly
name "zfwcg1"
loc -0.0692955 -0.000598909 -0.0153257
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.00472546 -4.13274e-009 -0.00554154
-0.00472546 -4.13274e-009 0.000326196
-0.000334941 0 0.000326196
-0.000334948 0 -0.00554154
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.584187 0.491233
0 0.584187 0.686756
1 0.491645 0.686756
2 0.491645 0.491233
kids 0
OBJECT poly
name "zfwvalue"
loc -0.0691401 -0.000598909 -0.0312149
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334948 0 -0.0061287
-0.000334941 0 0.000360757
-0.00472546 -4.13274e-009 0.000360757
-0.00472546 -4.13274e-009 -0.0061287
numsurf 1
SURF 0x0
mat 1
refs 4
0 0.584187 0.491233
3 0.584187 0.686756
2 0.491645 0.686756
1 0.491645 0.491233
kids 0
OBJECT poly
name "zfwvalue2"
loc -0.0691401 -0.000598909 -0.04029
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334948 0 -0.00369452
-0.000334941 0 0.000217468
-0.00472546 -4.13274e-009 0.000217468
-0.00472546 -4.13274e-009 -0.00369452
numsurf 1
SURF 0x0
mat 1
refs 4
0 0.539904 0.495005
3 0.539904 0.688364
2 0.493309 0.688364
1 0.493309 0.495005
kids 0
kids 4
OBJECT poly
name "box"
loc 0.00822081 -0.0901982 0
@ -339,7 +192,7 @@ refs 4
kids 0
OBJECT poly
name "face"
loc -0.0925569 -0.0235122 0.00196775
loc -0.092825 -0.0235122 0.000359011
data 10
enginepane
texture "amberbox.png"
@ -358,3 +211,45 @@ refs 4
1 4.45843e-005 0.000756443
2 0.634683 0.000756443
kids 0
OBJECT poly
name "blockbox"
loc -0.0582417 -0.000598909 -0.0188994
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334948 0 -0.0144772
-0.00472546 -4.13274e-009 -0.0144772
-0.000334948 0 -0.0261638
-0.00472546 -4.13274e-009 -0.0261638
numsurf 1
SURF 0x0
mat 1
refs 4
3 0.860675 0.691819
1 0.699397 0.691819
0 0.699397 0.496296
2 0.860675 0.496296
kids 0
OBJECT poly
name "zfwzfwcgbox"
loc -0.0691401 -0.000598909 -0.0172594
data 10
enginepane
texture "amberbox.png"
crease 30.000002
numvert 4
-0.000334941 0 -0.0006354
-0.00472546 -4.13274e-009 -0.0006354
-0.00472546 -4.13274e-009 -0.0262117
-0.000334948 0 -0.0262117
numsurf 1
SURF 0x0
mat 1
refs 4
0 0.508378 0.496296
3 0.861336 0.496296
2 0.861336 0.691819
1 0.508378 0.691819
kids 0

View file

@ -10,4 +10,12 @@
<path>INITBOX.ac</path>
<animation>
<type>select</type>
<object-name>blockbox</object-name>
<condition>
<not><property>/FMGC/internal/block-set</property></not>
</condition>
</animation>
</PropertyList>

View file

@ -822,8 +822,8 @@
<alignment>center-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">number-value</type>
<format type="string">%5.1f</format>
<property>consumables/fuel/total-fuel-kg</property>
<format type="string">%5.0f</format>
<property>consumables/fuel/total-fuel-lbs</property>
<truncate type="bool">false</truncate>
<font type="string">helvetica_bold.txf</font>
<draw-text type="bool">true</draw-text>

View file

@ -1020,8 +1020,8 @@
<alignment>center-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">number-value</type>
<format type="string">%5.1f</format>
<property>consumables/fuel/total-fuel-kg</property>
<format type="string">%5.0f</format>
<property>consumables/fuel/total-fuel-lbs</property>
<truncate type="bool">false</truncate>
<font type="string">helvetica_bold.txf</font>
<draw-text type="bool">true</draw-text>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

View file

@ -822,8 +822,8 @@
<alignment>center-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">number-value</type>
<format type="string">%5.1f</format>
<property>consumables/fuel/total-fuel-kg</property>
<format type="string">%5.0f</format>
<property>consumables/fuel/total-fuel-lbs</property>
<truncate type="bool">false</truncate>
<font type="string">helvetica_bold.txf</font>
<draw-text type="bool">true</draw-text>

View file

@ -1020,8 +1020,8 @@
<alignment>center-center</alignment>
<axis-alignment>yz-plane</axis-alignment>
<type type="string">number-value</type>
<format type="string">%5.1f</format>
<property>consumables/fuel/total-fuel-kg</property>
<format type="string">%5.0f</format>
<property>consumables/fuel/total-fuel-lbs</property>
<truncate type="bool">false</truncate>
<font type="string">helvetica_bold.txf</font>
<draw-text type="bool">true</draw-text>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View file

@ -28,9 +28,11 @@ var MCDU_reset = func {
setprop("/FMGC/internal/v1", 0);
setprop("/FMGC/internal/vr", 0);
setprop("/FMGC/internal/v2", 0);
setprop("/FMGC/internal/block", 0.0);
setprop("/FMGC/internal/v1-set", 0);
setprop("/FMGC/internal/vr-set", 0);
setprop("/FMGC/internal/v2-set", 0);
setprop("/FMGC/internal/block-set", 0);
setprop("/FMGC/internal/to-flap", 0);
setprop("/FMGC/internal/to-ths", "0.0");
setprop("/FMGC/internal/tofrom-set", 0);
@ -89,6 +91,10 @@ var rskbutton = func(btn) {
if (getprop("/MCDU[0]/page") == "INITA") {
initInputA("R1");
}
} else if (btn == "2") {
if (getprop("/MCDU[0]/page") == "INITB") {
initInputB("R2");
}
} else if (btn == "3") {
if (getprop("/MCDU[0]/page") == "INITA") {
initInputA("R3");
@ -218,6 +224,32 @@ var initInputA = func(key) {
}
}
var initInputB = func(key) {
var scratchpad = getprop("/MCDU[0]/scratchpad");
if (key == "R2") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/block", 0.0);
setprop("/FMGC/internal/block-set", 0);
setprop("/MCDU[0]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 3 or tfs == 4) {
if (scratchpad >= 1.0 and scratchpad <= 45.0) {
setprop("/FMGC/internal/block", scratchpad);
setprop("/FMGC/internal/block-set", 1);
setprop("/MCDU[0]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
}
}
}
}
var PerfTOInput = func(key) {
var scratchpad = getprop("/MCDU[0]/scratchpad");
if (key == "L1") {

View file

@ -3,15 +3,15 @@
##################################################################
var MCDU_init = func {
setprop("/MCDU[0]/brightness", "1.0");
setprop("/MCDU[1]/brightness", "1.0");
MCDU_reset(); # Reset MCDU, clears data
}
var MCDU_reset = func {
setprop("/it-autoflight/settings/togaspd", 157);
setprop("/MCDU[0]/last-fmgc-page", "STATUS");
setprop("/MCDU[0]/page", "STATUS");
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/last-fmgc-page", "STATUS");
setprop("/MCDU[1]/page", "STATUS");
setprop("/MCDU[1]/scratchpad", "");
setprop("/MCDUC/flight-num", "");
setprop("/MCDUC/thracc-set", 0);
setprop("/MCDUC/reducacc-set", 0);
@ -28,9 +28,11 @@ var MCDU_reset = func {
setprop("/FMGC/internal/v1", 0);
setprop("/FMGC/internal/vr", 0);
setprop("/FMGC/internal/v2", 0);
setprop("/FMGC/internal/block", 0.0);
setprop("/FMGC/internal/v1-set", 0);
setprop("/FMGC/internal/vr-set", 0);
setprop("/FMGC/internal/v2-set", 0);
setprop("/FMGC/internal/block-set", 0);
setprop("/FMGC/internal/to-flap", 0);
setprop("/FMGC/internal/to-ths", "0.0");
setprop("/FMGC/internal/tofrom-set", 0);
@ -42,43 +44,43 @@ var MCDU_reset = func {
var lskbutton = func(btn) {
if (btn == "1") {
if (getprop("/MCDU[0]/page") == "MCDU") {
setprop("/MCDU[0]/page", getprop("/MCDU[0]/last-fmgc-page"));
} else if (getprop("/MCDU[0]/page") == "TO") {
if (getprop("/MCDU[1]/page") == "MCDU") {
setprop("/MCDU[1]/page", getprop("/MCDU[1]/last-fmgc-page"));
} else if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("L1");
}
} else if (btn == "2") {
if (getprop("/MCDU[0]/page") == "INITA") {
if (getprop("/MCDU[1]/page") == "INITA") {
PerfInput("L2");
} else if (getprop("/MCDU[0]/page") == "TO") {
} else if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("L2");
}
} else if (btn == "3") {
if (getprop("/MCDU[0]/page") == "INITA") {
if (getprop("/MCDU[1]/page") == "INITA") {
initInputA("L3");
} else if (getprop("/MCDU[0]/page") == "TO") {
} else if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("L3");
}
} else if (btn == "4") {
if (getprop("/MCDU[0]/page") == "DATA") {
setprop("/MCDU[0]/page", "STATUS");
} else if (getprop("/MCDU[0]/page") == "TO") {
if (getprop("/MCDU[1]/page") == "DATA") {
setprop("/MCDU[1]/page", "STATUS");
} else if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("L4");
}
} else if (btn == "5") {
if (getprop("/MCDU[0]/page") == "INITA") {
if (getprop("/MCDU[1]/page") == "INITA") {
initInputA("L5");
} else if (getprop("/MCDU[0]/page") == "TO") {
} else if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("L5");
} else if (getprop("/MCDU[0]/page") == "CLB") {
} else if (getprop("/MCDU[1]/page") == "CLB") {
perfCLBInput("L5");
}
} else if (btn == "6") {
if (getprop("/MCDU[0]/page") == "INITA") {
if (getprop("/MCDU[1]/page") == "INITA") {
initInputA("L6");
} else if (getprop("/MCDU[0]/page") == "CLB") {
} else if (getprop("/MCDU[1]/page") == "CLB") {
perfCLBInput("L6");
} else if (getprop("/MCDU[0]/page") == "CRZ") {
} else if (getprop("/MCDU[1]/page") == "CRZ") {
perfCRZInput("L6");
}
}
@ -86,74 +88,78 @@ var lskbutton = func(btn) {
var rskbutton = func(btn) {
if (btn == "1") {
if (getprop("/MCDU[0]/page") == "INITA") {
if (getprop("/MCDU[1]/page") == "INITA") {
initInputA("R1");
}
} else if (btn == "2") {
if (getprop("/MCDU[1]/page") == "INITB") {
initInputB("R2");
}
} else if (btn == "3") {
if (getprop("/MCDU[0]/page") == "INITA") {
if (getprop("/MCDU[1]/page") == "INITA") {
initInputA("R3");
} else if (getprop("/MCDU[0]/page") == "TO") {
} else if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("R3");
}
} else if (btn == "4") {
if (getprop("/MCDU[0]/page") == "TO") {
if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("R4");
}
} else if (btn == "5") {
if (getprop("/MCDU[0]/page") == "TO") {
if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("R5");
}
} else if (btn == "6") {
if (getprop("/MCDU[0]/page") == "TO") {
if (getprop("/MCDU[1]/page") == "TO") {
PerfTOInput("R6");
} else if (getprop("/MCDU[0]/page") == "CLB") {
} else if (getprop("/MCDU[1]/page") == "CLB") {
perfCLBInput("R6");
} # else if (getprop("/MCDU[0]/page") == "CRZ") {
} # else if (getprop("/MCDU[1]/page") == "CRZ") {
# perfCRZInput("R6");
#}
}
}
var initInputA = func(key) {
var scratchpad = getprop("/MCDU[0]/scratchpad");
var scratchpad = getprop("/MCDU[1]/scratchpad");
if (key == "L3") {
if (scratchpad == "CLR") {
setprop("/MCDUC/flight-num", "");
setprop("/MCDUC/flight-num-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var flts = size(scratchpad);
if (flts >= 1 and flts <= 8) {
setprop("/MCDUC/flight-num", scratchpad);
setprop("/MCDUC/flight-num-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "L5") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/cost-index", 0);
setprop("/FMGC/internal/cost-index-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var ci = int(scratchpad);
var cis = size(scratchpad);
if (cis >= 1 and cis <= 3) {
if (ci == nil) {
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
} else if (ci >= 0 and ci <= 120) {
setprop("/FMGC/internal/cost-index", ci);
setprop("/FMGC/internal/cost-index-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "L6") {
@ -161,25 +167,25 @@ var initInputA = func(key) {
setprop("/FMGC/internal/cruise-ft", 10000);
setprop("/FMGC/internal/cruise-fl", 100);
setprop("/FMGC/internal/cruise-lvl-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var crz = int(scratchpad);
var crzs = size(scratchpad);
if (crzs >= 1 and crzs <= 3) {
if (crz == nil) {
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
} else if (crz > 0 and crz <= 430) {
setprop("/FMGC/internal/cruise-ft", crz * 100);
setprop("/FMGC/internal/cruise-fl", crz);
setprop("/FMGC/internal/cruise-lvl-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "R1") {
@ -188,7 +194,7 @@ var initInputA = func(key) {
setprop("/FMGC/internal/arr-arpt", "");
setprop("/FMGC/internal/tofrom-set", 0);
fmgc.updateARPT();
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 9) {
@ -200,15 +206,15 @@ var initInputA = func(key) {
setprop("/FMGC/internal/arr-arpt", fromto[1]);
setprop("/FMGC/internal/tofrom-set", 1);
fmgc.updateARPT();
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "GPS PRIMARY");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "GPS PRIMARY");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "R3") {
@ -218,48 +224,74 @@ var initInputA = func(key) {
}
}
var initInputB = func(key) {
var scratchpad = getprop("/MCDU[1]/scratchpad");
if (key == "R2") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/block", 0.0);
setprop("/FMGC/internal/block-set", 0);
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 3 or tfs == 4) {
if (scratchpad >= 1.0 and scratchpad <= 45.0) {
setprop("/FMGC/internal/block", scratchpad);
setprop("/FMGC/internal/block-set", 1);
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
}
}
var PerfTOInput = func(key) {
var scratchpad = getprop("/MCDU[0]/scratchpad");
var scratchpad = getprop("/MCDU[1]/scratchpad");
if (key == "L1") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/v1", 0);
setprop("/FMGC/internal/v1-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 3) {
if (scratchpad >= 100 and scratchpad <= 200) {
setprop("/FMGC/internal/v1", scratchpad);
setprop("/FMGC/internal/v1-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "L2") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/vr", 0);
setprop("/FMGC/internal/vr-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 3) {
if (scratchpad >= 100 and scratchpad <= 200) {
setprop("/FMGC/internal/vr", scratchpad);
setprop("/FMGC/internal/vr-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "L3") {
@ -267,7 +299,7 @@ var PerfTOInput = func(key) {
setprop("/FMGC/internal/v2", 0);
setprop("/FMGC/internal/v2-set", 0);
setprop("/it-autoflight/settings/togaspd", 157);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 3) {
@ -275,33 +307,33 @@ var PerfTOInput = func(key) {
setprop("/FMGC/internal/v2", scratchpad);
setprop("/FMGC/internal/v2-set", 1);
setprop("/it-autoflight/settings/togaspd", scratchpad + 15);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "L4") {
if (scratchpad == "CLR") {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
} else {
var tfs = size(scratchpad);
if (tfs == 4 or tfs == 5) {
if (scratchpad >= 1000 and scratchpad <= 18000) {
setprop("/FMGC/internal/trans-alt", scratchpad);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "L5") {
@ -309,7 +341,7 @@ var PerfTOInput = func(key) {
setprop("/systems/thrust/clbreduc-ft", "1500");
setprop("/FMGC/internal/reduc-agl-ft", "3000");
setprop("/MCDUC/thracc-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 9) {
@ -320,24 +352,24 @@ var PerfTOInput = func(key) {
setprop("/systems/thrust/clbreduc-ft", thracc[0]);
setprop("/FMGC/internal/reduc-agl-ft", thracc[1]);
setprop("/MCDUC/thracc-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "R6") {
setprop("/MCDU[0]/page", "CLB");
setprop("/MCDU[1]/page", "CLB");
} else if (key == "R3") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/to-flap", 0);
setprop("/FMGC/internal/to-ths", "0.0");
setprop("/FMGC/internal/flap-ths-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 7) {
@ -346,21 +378,21 @@ var PerfTOInput = func(key) {
setprop("/FMGC/internal/to-flap", flapths[0]);
setprop("/FMGC/internal/to-ths", flapths[1]);
setprop("/FMGC/internal/flap-ths-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "R4") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/flex", 0);
setprop("/FMGC/internal/flex-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs == 1 or tfs == 2) {
@ -369,99 +401,99 @@ var PerfTOInput = func(key) {
setprop("/FMGC/internal/flex-set", 1);
var flex_calc = getprop("/FMGC/internal/flex") - getprop("/environment/temperature-degc");
setprop("/FMGC/internal/flex-cmd", flex_calc);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "R5") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/eng-out-reduc", "3500");
setprop("/MCDUC/reducacc-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var tfs = size(scratchpad);
if (tfs >= 3 and tfs <= 5) {
setprop("/FMGC/internal/eng-out-reduc", scratchpad);
setprop("/MCDUC/reducacc-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
}
}
var perfCLBInput = func(key) {
var scratchpad = getprop("/MCDU[0]/scratchpad");
var scratchpad = getprop("/MCDU[1]/scratchpad");
if (key == "L5") {
if (scratchpad == "CLR") {
setprop("/FMGC/internal/cost-index", 0);
setprop("/FMGC/internal/cost-index-set", 0);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
var ci = int(scratchpad);
var cis = size(scratchpad);
if (cis >= 1 and cis <= 3) {
if (ci == nil) {
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
} else if (ci >= 0 and ci <= 120) {
setprop("/FMGC/internal/cost-index", ci);
setprop("/FMGC/internal/cost-index-set", 1);
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[1]/scratchpad", "");
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
} else {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "NOT ALLOWED");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "NOT ALLOWED");
}
}
} else if (key == "L6") {
setprop("/MCDU[0]/page", "TO");
setprop("/MCDU[1]/page", "TO");
} else if (key == "R6") {
setprop("/MCDU[0]/page", "CRZ");
setprop("/MCDU[1]/page", "CRZ");
}
}
var perfCRZInput = func(key) {
if (key == "L6") {
setprop("/MCDU[0]/page", "CLB");
setprop("/MCDU[1]/page", "CLB");
}
# if (key == "R6") {
# setprop("/MCDU[0]/page", "DES");
# setprop("/MCDU[1]/page", "DES");
# }
}
var arrowbutton = func(btn) {
if (btn == "left") {
if (getprop("/MCDU[0]/page") == "DATA") {
setprop("/MCDU[0]/page", "DATA2");
} else if (getprop("/MCDU[0]/page") == "DATA2") {
setprop("/MCDU[0]/page", "DATA");
if (getprop("/MCDU[1]/page") == "DATA") {
setprop("/MCDU[1]/page", "DATA2");
} else if (getprop("/MCDU[1]/page") == "DATA2") {
setprop("/MCDU[1]/page", "DATA");
}
if (getprop("/MCDU[0]/page") == "INITA") {
setprop("/MCDU[0]/page", "INITB");
} else if (getprop("/MCDU[0]/page") == "INITB") {
setprop("/MCDU[0]/page", "INITA");
if (getprop("/MCDU[1]/page") == "INITA") {
setprop("/MCDU[1]/page", "INITB");
} else if (getprop("/MCDU[1]/page") == "INITB") {
setprop("/MCDU[1]/page", "INITA");
}
} else if (btn == "right") {
if (getprop("/MCDU[0]/page") == "DATA") {
setprop("/MCDU[0]/page", "DATA2");
} else if (getprop("/MCDU[0]/page") == "DATA2") {
setprop("/MCDU[0]/page", "DATA");
if (getprop("/MCDU[1]/page") == "DATA") {
setprop("/MCDU[1]/page", "DATA2");
} else if (getprop("/MCDU[1]/page") == "DATA2") {
setprop("/MCDU[1]/page", "DATA");
}
if (getprop("/MCDU[0]/page") == "INITA") {
setprop("/MCDU[0]/page", "INITB");
} else if (getprop("/MCDU[0]/page") == "INITB") {
setprop("/MCDU[0]/page", "INITA");
if (getprop("/MCDU[1]/page") == "INITA") {
setprop("/MCDU[1]/page", "INITB");
} else if (getprop("/MCDU[1]/page") == "INITB") {
setprop("/MCDU[1]/page", "INITA");
}
} else if (btn == "up") {
# Nothing for now
@ -473,163 +505,163 @@ var arrowbutton = func(btn) {
var pagebutton = func(btn) {
if (btn == "perf") {
if (getprop("/FMGC/status/phase") == 0 or getprop("/FMGC/status/phase") == 1) {
setprop("/MCDU[0]/page", "TO");
setprop("/MCDU[1]/page", "TO");
} else if (getprop("/FMGC/status/phase") == 2) {
setprop("/MCDU[0]/page", "CLB");
setprop("/MCDU[1]/page", "CLB");
} else if (getprop("/FMGC/status/phase") == 3) {
setprop("/MCDU[0]/page", "CRZ");
setprop("/MCDU[1]/page", "CRZ");
}
} else if (btn == "init") {
setprop("/MCDU[0]/page", "INITA");
setprop("/MCDU[1]/page", "INITA");
} else if (btn == "data") {
setprop("/MCDU[0]/page", "DATA");
setprop("/MCDU[1]/page", "DATA");
} else if (btn == "mcdu") {
setprop("/MCDU[0]/last-fmgc-page", getprop("/MCDU[0]/page"));
setprop("/MCDU[0]/page", "MCDU");
setprop("/MCDU[1]/last-fmgc-page", getprop("/MCDU[1]/page"));
setprop("/MCDU[1]/page", "MCDU");
}
}
var button = func(btn) {
var scratchpad = getprop("/MCDU[0]/scratchpad");
var scratchpad = getprop("/MCDU[1]/scratchpad");
if (btn == "A") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "A");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "A");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "B") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "B");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "B");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "C") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "C");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "C");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "D") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "D");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "D");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "E") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "E");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "E");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "F") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "F");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "F");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "G") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "G");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "G");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "H") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "H");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "H");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "I") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "I");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "I");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "J") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "J");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "J");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "K") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "K");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "K");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "L") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "L");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "L");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "M") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "M");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "M");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "N") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "N");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "N");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "O") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "O");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "O");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "P") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "P");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "P");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "Q") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "Q");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "Q");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "R") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "R");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "R");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "S") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "S");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "S");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "T") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "T");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "T");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "U") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "U");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "U");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "V") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "V");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "V");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "W") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "W");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "W");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "X") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "X");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "X");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "Y") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "Y");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "Y");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "Z") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "Z");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "Z");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "SLASH") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "/");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "/");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "SP") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ " ");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ " ");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "CLR") {
var scratchpad = getprop("/MCDU[0]/scratchpad");
var scratchpad = getprop("/MCDU[1]/scratchpad");
if (size(scratchpad) == 0) {
setprop("/MCDU[0]/scratchpad-msg", "1");
setprop("/MCDU[0]/scratchpad", "CLR");
} else if (getprop("/MCDU[0]/scratchpad-msg") == 1) {
setprop("/MCDU[0]/scratchpad", "");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad-msg", "1");
setprop("/MCDU[1]/scratchpad", "CLR");
} else if (getprop("/MCDU[1]/scratchpad-msg") == 1) {
setprop("/MCDU[1]/scratchpad", "");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (size(scratchpad) > 0) {
setprop("/MCDU[0]/scratchpad", left(scratchpad, size(scratchpad)-1));
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", left(scratchpad, size(scratchpad)-1));
setprop("/MCDU[1]/scratchpad-msg", "0");
}
} else if (btn == "0") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "0");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "0");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "1") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "1");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "1");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "2") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "2");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "2");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "3") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "3");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "3");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "4") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "4");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "4");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "5") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "5");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "5");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "6") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "6");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "6");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "7") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "7");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "7");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "8") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "8");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "8");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "9") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "9");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "9");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "DOT") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ ".");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ ".");
setprop("/MCDU[1]/scratchpad-msg", "0");
} else if (btn == "PLUSMINUS") {
setprop("/MCDU[0]/scratchpad", scratchpad ~ "-");
setprop("/MCDU[0]/scratchpad-msg", "0");
setprop("/MCDU[1]/scratchpad", scratchpad ~ "-");
setprop("/MCDU[1]/scratchpad-msg", "0");
}
}
var screenFlash = func(time) {
var page = getprop("/MCDU[0]/page");
setprop("/MCDU[0]/page", "NONE");
var page = getprop("/MCDU[1]/page");
setprop("/MCDU[1]/page", "NONE");
settimer(func {
setprop("/MCDU[0]/page", page);
setprop("/MCDU[1]/page", page);
}, time);
}