Merge branch 'dev' into fuel-prediction
This commit is contained in:
commit
32c5dc1a31
41 changed files with 1789 additions and 1627 deletions
|
@ -3950,8 +3950,6 @@
|
|||
<file>Aircraft/A320-family/Nasal/Libraries/property-tree-setup.nas</file>
|
||||
</pts>
|
||||
<libraries>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-main.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Effects/light-manager.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Libraries/libraries.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Libraries/buttons.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Libraries/shake.nas</file>
|
||||
|
@ -3963,8 +3961,6 @@
|
|||
</acconfig>
|
||||
<systems>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/APU.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Effects/effects.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Effects/thunder-effects.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/electrical.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/pneumatics.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/hydraulics.nas</file>
|
||||
|
@ -3973,14 +3969,27 @@
|
|||
<file>Aircraft/A320-family/Nasal/Systems/ADIRS/ADR.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/ADIRS/SwitchingPanel.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/Comm/HF.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/fire.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/brakes.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/brakesystem.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/tyresmoke.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/ground_services.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/payload.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Instruments/clock.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/fire.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/ground_services.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/icing.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/payload.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/tyresmoke.nas</file>
|
||||
</systems>
|
||||
<ecam>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-main.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-controller.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-logic.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-messages.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-phases.nas</file>
|
||||
</ecam>
|
||||
<effects>
|
||||
<file>Aircraft/A320-family/Nasal/Effects/light-manager.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Effects/effects.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/Effects/thunder-effects.nas</file>
|
||||
</effects>
|
||||
<fadec>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/FADEC/fadec-common.nas</file>
|
||||
</fadec>
|
||||
|
@ -4027,6 +4036,7 @@
|
|||
<file>Aircraft/A320-family/Nasal/MCDU/DATA.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/MCDU/STATUS.nas</file>
|
||||
</mcdu>
|
||||
<!-- Canvas -->
|
||||
<canvas_pfd>
|
||||
<file>Aircraft/A320-family/Models/Instruments/PFD/PFD.nas</file>
|
||||
</canvas_pfd>
|
||||
|
@ -4043,15 +4053,7 @@
|
|||
<canvas_mcdu>
|
||||
<file>Aircraft/A320-family/Models/Instruments/MCDU/MCDU.nas</file>
|
||||
</canvas_mcdu>
|
||||
<ecam>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-controller.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-logic.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-messages.nas</file>
|
||||
<file>Aircraft/A320-family/Nasal/ECAM/ECAM-phases.nas</file>
|
||||
</ecam>
|
||||
<icing>
|
||||
<file>Aircraft/A320-family/Nasal/Systems/icing.nas</file>
|
||||
</icing>
|
||||
<!-- Autopush -->
|
||||
<autopush>
|
||||
<file>Aircraft/A320-family/Nasal/Autopush/autopush.nas</file>
|
||||
</autopush>
|
||||
|
@ -4064,6 +4066,7 @@
|
|||
<autopush_route>
|
||||
<file>Aircraft/A320-family/Nasal/Autopush/autopush_route.nas</file>
|
||||
</autopush_route>
|
||||
<!-- Panels -->
|
||||
<rmp>
|
||||
<file>Aircraft/A320-family/Nasal/Panels/rmp.nas</file>
|
||||
</rmp>
|
||||
|
|
|
@ -4,8 +4,8 @@ Have at least following versions installed:
|
|||
* FlightGear 2019.2.0 or newer
|
||||
|
||||
## Install using ZIP Snapshot
|
||||
[Download](https://github.com/legoboyvdlp/A320-family/archive/master.zip) the zip file.
|
||||
Use your prefered archive utility to unzip the archive.
|
||||
[Download](https://github.com/legoboyvdlp/A320-family/archive/dev.zip) the zip file.
|
||||
Use your preferred archive utility to unzip the archive.
|
||||
Move the unpacked directory to your aircraft directory. This can be FGData/Aircraft, or a custom directory you've specified.
|
||||
|
||||
Rename the directory to `A320-family`.
|
||||
|
|
|
@ -806,17 +806,10 @@
|
|||
<animation>
|
||||
<type>rotate</type>
|
||||
<object-name>atc_stby</object-name>
|
||||
<factor>-35</factor>
|
||||
<offset-deg>70</offset-deg>
|
||||
<center>
|
||||
<x-m>0.01146</x-m>
|
||||
<y-m>0.213663</y-m>
|
||||
<z-m>-0.13086</z-m>
|
||||
</center>
|
||||
<factor>35</factor>
|
||||
<offset-deg>-70</offset-deg>
|
||||
<axis>
|
||||
<x>0</x>
|
||||
<y>0</y>
|
||||
<z>1</z>
|
||||
<object-name>atc_stby.axis</object-name>
|
||||
</axis>
|
||||
<property>controls/atc/mode-knob</property>
|
||||
</animation>
|
||||
|
@ -2030,7 +2023,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("sts");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("sts");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2049,7 +2042,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("apu");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("apu");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2068,7 +2061,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("bleed");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("bleed");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2087,7 +2080,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("press");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("press");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2106,7 +2099,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("elec");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("elec");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2125,7 +2118,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("hyd");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("hyd");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2144,7 +2137,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("fuel");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("fuel");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2163,7 +2156,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("eng");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("eng");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2182,7 +2175,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("cond");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("cond");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2201,7 +2194,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("door");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("door");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2220,7 +2213,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("wheel");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("wheel");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2239,7 +2232,7 @@
|
|||
</greater-than-equals>
|
||||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>libraries.ECAMControlPanel.sysPageBtn("fctl");</script>
|
||||
<script>ecam.ECAMControlPanel.sysPageBtn("fctl");</script>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
@ -2509,16 +2502,14 @@
|
|||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
libraries.ECAMControlPanel.rclBtn();
|
||||
ecam.ECAMControlPanel.rclBtn();
|
||||
ecam.FWC.Btn.recall.setValue(1);
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
ecam.FWC.Btn.recall.setValue(0);
|
||||
</script>
|
||||
<script>ecam.FWC.Btn.recall.setValue(0);</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</action>
|
||||
|
@ -2540,16 +2531,14 @@
|
|||
</condition>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
libraries.ECAMControlPanel.clrBtn();
|
||||
ecam.ECAMControlPanel.clrBtn();
|
||||
ecam.FWC.Btn.clr.setValue(1);
|
||||
</script>
|
||||
</binding>
|
||||
<mod-up>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>
|
||||
ecam.FWC.Btn.clr.setValue(0);
|
||||
</script>
|
||||
<script>ecam.FWC.Btn.clr.setValue(0);</script>
|
||||
</binding>
|
||||
</mod-up>
|
||||
</action>
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -188,7 +188,6 @@ var flex = props.globals.getNode("/FMGC/internal/flex", 1);
|
|||
var flexSet = props.globals.getNode("/FMGC/internal/flex-set", 1);
|
||||
var engOutAcc = props.globals.getNode("/FMGC/internal/eng-out-reduc", 1);
|
||||
var engOutAccSet = props.globals.getNode("/MCDUC/reducacc-set", 1);
|
||||
var transAlt = props.globals.getNode("/FMGC/internal/trans-alt", 1);
|
||||
var managedSpeed = props.globals.getNode("/it-autoflight/input/spd-managed", 1);
|
||||
|
||||
# CLB PERF
|
||||
|
@ -2315,7 +2314,7 @@ var canvas_MCDU_base = {
|
|||
me["Simple_L1"].setText(sprintf("%3.0f", v1.getValue()));
|
||||
me["Simple_L2"].setText(sprintf("%3.0f", vr.getValue()));
|
||||
me["Simple_L3"].setText(sprintf("%3.0f", v2.getValue()));
|
||||
me["Simple_L4"].setText(sprintf("%3.0f", transAlt.getValue()));
|
||||
me["Simple_L4"].setText(sprintf("%3.0f", fmgc.FMGCInternal.transAlt));
|
||||
me["Simple_L5"].setText(sprintf("%3.0f", clbReducFt.getValue()) ~ sprintf("/%3.0f", reducFt.getValue()));
|
||||
me["Simple_L6"].setText(" TO DATA");
|
||||
me["Simple_L1S"].setText(" V1");
|
||||
|
@ -2334,6 +2333,12 @@ var canvas_MCDU_base = {
|
|||
me["Simple_R5S"].setText("ENG OUT ACC");
|
||||
me["Simple_R6S"].setText("NEXT ");
|
||||
|
||||
if (fmgc.FMGCInternal.transAltSet) {
|
||||
me["Simple_L4"].setFontSize(normal);
|
||||
} else {
|
||||
me["Simple_L4"].setFontSize(small);
|
||||
}
|
||||
|
||||
if (getprop("/FMGC/status/phase") == 0 or getprop("/FMGC/status/phase") == 7) {
|
||||
me["Simple_L6_Arrow"].show();
|
||||
me["Simple_L6"].show();
|
||||
|
@ -2998,8 +3003,14 @@ var canvas_MCDU_base = {
|
|||
me["Simple_L3"].setText("---g/---");;
|
||||
}
|
||||
|
||||
me["Simple_L4S"].setText("TRANS ALT");
|
||||
me["Simple_L4"].setText(sprintf("%3.0f", transAlt.getValue()));
|
||||
me["Simple_L4S"].setText("TRANS FL");
|
||||
me["Simple_L4"].setText("FL" ~ sprintf("%2.0f", (fmgc.FMGCInternal.transAlt / 100)));
|
||||
|
||||
if (fmgc.FMGCInternal.transAltSet) {
|
||||
me["Simple_L4"].setFontSize(normal);
|
||||
} else {
|
||||
me["Simple_L4"].setFontSize(small);
|
||||
}
|
||||
|
||||
me["Simple_R1S"].setText("FINAL");
|
||||
if (fmgc.flightPlanController.flightplans[2].destination_runway != nil) {
|
||||
|
@ -5684,6 +5695,8 @@ var canvas_MCDU_base = {
|
|||
me["PROG"].hide();
|
||||
me["PERFTO"].hide();
|
||||
me["arrowsDepArr"].show();
|
||||
me["PERFAPPR"].hide();
|
||||
me["PERFGA"].hide();
|
||||
me["Simple_PageNum"].setText("X/X");
|
||||
me["Simple_PageNum"].hide();
|
||||
me["Simple_Title"].show();
|
||||
|
|
|
@ -854,6 +854,31 @@
|
|||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>airport</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>mcdu.pagebutton("airport", 0);</script>
|
||||
<condition>
|
||||
<and>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-1</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
<greater-than>
|
||||
<property>controls/lighting/DU/mcdu1</property>
|
||||
<value>0.01</value>
|
||||
</greater-than>
|
||||
</and>
|
||||
</condition>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>left</object-name>
|
||||
|
|
|
@ -854,6 +854,31 @@
|
|||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>airport</object-name>
|
||||
<action>
|
||||
<button>0</button>
|
||||
<repeatable>true</repeatable>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>mcdu.pagebutton("airport", 1);</script>
|
||||
<condition>
|
||||
<and>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-2</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
<greater-than>
|
||||
<property>controls/lighting/DU/mcdu2</property>
|
||||
<value>0.01</value>
|
||||
</greater-than>
|
||||
</and>
|
||||
</condition>
|
||||
</binding>
|
||||
</action>
|
||||
</animation>
|
||||
|
||||
<animation>
|
||||
<type>pick</type>
|
||||
<object-name>left</object-name>
|
||||
|
|
|
@ -6,7 +6,7 @@ var __self__ = caller(0)[0];
|
|||
|
||||
canvas.SymbolLayer.Controller.add(name, __self__);
|
||||
canvas.SymbolLayer.add(name, {
|
||||
parents: [canvas.MultiSymbolLayer],
|
||||
parents: [MultiSymbolLayer],
|
||||
type: name, # Symbol type
|
||||
df_controller: __self__, # controller to use by default -- this one
|
||||
df_options: { # default configuration options
|
||||
|
|
|
@ -6,7 +6,7 @@ var __self__ = caller(0)[0];
|
|||
|
||||
canvas.SymbolLayer.Controller.add(name, __self__);
|
||||
canvas.SymbolLayer.add(name, {
|
||||
parents: [canvas.MultiSymbolLayer],
|
||||
parents: [MultiSymbolLayer],
|
||||
type: name, # Symbol type
|
||||
df_controller: __self__, # controller to use by default -- this one
|
||||
df_options: { # default configuration options
|
||||
|
|
|
@ -69,7 +69,6 @@ var alt_inhg = props.globals.getNode("/instrumentation/altimeter/setting-inhg",
|
|||
var target_altitude = props.globals.getNode("/autopilot/settings/target-altitude-ft", 1);
|
||||
var altitude = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft", 1);
|
||||
var altitude_pfd = props.globals.getNode("/instrumentation/altimeter/indicated-altitude-ft-pfd", 1);
|
||||
var trans_alt = props.globals.getNode("/FMGC/internal/trans-alt", 1);
|
||||
var alt_diff = props.globals.getNode("/instrumentation/pfd/alt-diff", 1);
|
||||
var ground_diff = props.globals.getNode("/instrumentation/pfd/ground-diff", 1);
|
||||
var landing_diff = props.globals.getNode("/instrumentation/pfd/landing-diff", 1);
|
||||
|
@ -645,7 +644,7 @@ var canvas_PFD_base = {
|
|||
me["QNH"].hide();
|
||||
me["QNH_setting"].hide();
|
||||
|
||||
if (altitude.getValue() < trans_alt.getValue() and FMGCphase.getValue() == '4') {
|
||||
if (altitude.getValue() < fmgc.FMGCInternal.transAlt and FMGCphase.getValue() == '4') {
|
||||
if (qnh_going == 0) {
|
||||
qnh_going = 1;
|
||||
}
|
||||
|
@ -670,7 +669,7 @@ var canvas_PFD_base = {
|
|||
me["QNH_std"].hide();
|
||||
me["QNH_box"].hide();
|
||||
|
||||
if (altitude.getValue() >= trans_alt.getValue() and FMGCphase.getValue() == '2') {
|
||||
if (altitude.getValue() >= fmgc.FMGCInternal.transAlt and FMGCphase.getValue() == '2') {
|
||||
if (qnh_going == 0) {
|
||||
qnh_going = 1;
|
||||
}
|
||||
|
@ -695,7 +694,7 @@ var canvas_PFD_base = {
|
|||
|
||||
} else if (alt_inhg_mode.getValue() == 1) {
|
||||
|
||||
if (altitude.getValue() >= trans_alt.getValue() and FMGCphase.getValue() == '2') {
|
||||
if (altitude.getValue() >= fmgc.FMGCInternal.transAlt and FMGCphase.getValue() == '2') {
|
||||
if (qnh_going == 0) {
|
||||
qnh_going = 1;
|
||||
}
|
||||
|
|
|
@ -104,7 +104,7 @@ var warning = {
|
|||
},
|
||||
callPage: func() {
|
||||
if (me.sdPage == "nil" or me.hasCalled == 1) { return; }
|
||||
libraries.SystemDisplay.failCall(me.sdPage);
|
||||
ecam.SystemDisplay.failCall(me.sdPage);
|
||||
me.hasCalled = 1;
|
||||
}
|
||||
};
|
||||
|
@ -336,7 +336,7 @@ var ECAM_controller = {
|
|||
}
|
||||
|
||||
if (statusFlag == 1 and lines[0].getValue() == "") {
|
||||
libraries.SystemDisplay.manCall("sts");
|
||||
ecam.SystemDisplay.manCall("sts");
|
||||
statusFlag = 0;
|
||||
}
|
||||
},
|
||||
|
|
|
@ -1600,13 +1600,13 @@ var messages_right_memo = func {
|
|||
land_asap_a.active = 0;
|
||||
}
|
||||
|
||||
if (libraries.ap_active == 1 and apWarn.getValue() == 1) {
|
||||
if (ecam.ap_active == 1 and apWarn.getValue() == 1) {
|
||||
ap_off.active = 1;
|
||||
} else {
|
||||
ap_off.active = 0;
|
||||
}
|
||||
|
||||
if (libraries.athr_active == 1 and athrWarn.getValue() == 1) {
|
||||
if (ecam.athr_active == 1 and athrWarn.getValue() == 1) {
|
||||
athr_off.active = 1;
|
||||
} else {
|
||||
athr_off.active = 0;
|
||||
|
|
|
@ -102,7 +102,7 @@ var FCUController = {
|
|||
if (me.FCUworking and fbw.FBW.activeLaw.getValue() == 0) {
|
||||
if (!ap1.getBoolValue()) {
|
||||
ap1Input.setValue(1);
|
||||
libraries.apWarnNode.setValue(0);
|
||||
ecam.apWarnNode.setValue(0);
|
||||
} else {
|
||||
apOff("hard", 1);
|
||||
}
|
||||
|
@ -489,7 +489,7 @@ var updateActiveFMGC = func {
|
|||
# Autopilot Disconnection
|
||||
var apOff = func(type, side) {
|
||||
if ((ap1Input.getValue() and (side == 1 or side == 0)) or (ap2Input.getValue() and (side == 2 or side == 0))) {
|
||||
libraries.doApWarn(type);
|
||||
ecam.doApWarn(type);
|
||||
}
|
||||
|
||||
if (side == 0) {
|
||||
|
@ -509,7 +509,7 @@ var athrOff = func(type) {
|
|||
fadec.lockThr();
|
||||
}
|
||||
athrInput.setValue(0);
|
||||
libraries.doAthrWarn(type);
|
||||
ecam.doAthrWarn(type);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -403,12 +403,9 @@ var ITAF = {
|
|||
if (FPLN.wpFlyFrom < 0) {
|
||||
FPLN.wpFlyFrom = 0;
|
||||
}
|
||||
FPLN.currentCourse = getprop("/FMGC/flightplan[2]/wp[" ~ FPLN.wpFlyFrom ~ "]/course"); # Best left at getprop
|
||||
FPLN.currentCourse = fmgc.wpCourse[2][FPLN.wpFlyFrom].getValue();
|
||||
FPLN.wpFlyTo = FPLN.currentWPTemp + 1;
|
||||
if (FPLN.wpFlyTo < 0) {
|
||||
FPLN.wpFlyTo = 0;
|
||||
}
|
||||
FPLN.nextCourse = getprop("/FMGC/flightplan[2]/wp[" ~ FPLN.wpFlyTo ~ "]/course"); # Best left at getprop
|
||||
FPLN.nextCourse = fmgc.wpCourse[2][FPLN.wpFlyTo].getValue();
|
||||
FPLN.maxBankLimit = Internal.bankLimit.getValue();
|
||||
|
||||
FPLN.deltaAngle = math.abs(geo.normdeg180(FPLN.currentCourse - FPLN.nextCourse));
|
||||
|
@ -430,7 +427,7 @@ var ITAF = {
|
|||
Internal.lnavAdvanceNm.setValue(FPLN.turnDist);
|
||||
|
||||
# Advance logic done by flightplan controller
|
||||
if (FPLN.wp0Dist.getValue() <= FPLN.turnDist) {
|
||||
if (FPLN.wp0Dist.getValue() <= FPLN.turnDist and !Gear.wow1.getBoolValue()) {
|
||||
flightPlanController.autoSequencing();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -140,6 +140,11 @@ var FMGCinit = func {
|
|||
various2.start();
|
||||
}
|
||||
|
||||
var FMGCInternal = {
|
||||
transAlt: 18000,
|
||||
transAltSet: 0,
|
||||
};
|
||||
|
||||
############
|
||||
# FBW Trim #
|
||||
############
|
||||
|
@ -962,7 +967,7 @@ var ManagedSPD = maketimer(0.25, func {
|
|||
}
|
||||
} else {
|
||||
ManagedSPD.stop();
|
||||
libraries.mcpSPDKnbPull();
|
||||
fcu.FCUController.SPDPull();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -978,7 +983,7 @@ var switchDatabase = func {
|
|||
}
|
||||
|
||||
# Landing to phase 7
|
||||
setlistener("gear/gear[1]/wow", func() {
|
||||
setlistener("/gear/gear[1]/wow", func() {
|
||||
if (getprop("/gear/gear[1]/wow") == 0 and timer30secLanding.isRunning) {
|
||||
timer30secLanding.stop();
|
||||
setprop("/FMGC/internal/landing-time", -99);
|
||||
|
@ -991,7 +996,7 @@ setlistener("gear/gear[1]/wow", func() {
|
|||
}, 0, 0);
|
||||
|
||||
# Align IRS 1
|
||||
setlistener("systems/navigation/adr/operating-1", func() {
|
||||
setlistener("/systems/navigation/adr/operating-1", func() {
|
||||
if (timer48gpsAlign1.isRunning) {
|
||||
timer48gpsAlign1.stop();
|
||||
}
|
||||
|
@ -1003,7 +1008,7 @@ setlistener("systems/navigation/adr/operating-1", func() {
|
|||
}, 0, 0);
|
||||
|
||||
# Align IRS 2
|
||||
setlistener("systems/navigation/adr/operating-2", func() {
|
||||
setlistener("/systems/navigation/adr/operating-2", func() {
|
||||
if (timer48gpsAlign2.isRunning) {
|
||||
timer48gpsAlign2.stop();
|
||||
}
|
||||
|
@ -1015,7 +1020,7 @@ setlistener("systems/navigation/adr/operating-2", func() {
|
|||
}, 0, 0);
|
||||
|
||||
# Align IRS 3
|
||||
setlistener("systems/navigation/adr/operating-3", func() {
|
||||
setlistener("/systems/navigation/adr/operating-3", func() {
|
||||
if (timer48gpsAlign3.isRunning) {
|
||||
timer48gpsAlign3.stop();
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ var courseDistanceFromPrev = nil;
|
|||
var sizeWP = nil;
|
||||
var magTrueError = 0;
|
||||
|
||||
var DEBUG_DISCONT = 1;
|
||||
var DEBUG_DISCONT = 0;
|
||||
|
||||
# Props.getNode
|
||||
var magHDG = props.globals.getNode("/orientation/heading-magnetic-deg", 1);
|
||||
|
@ -93,7 +93,7 @@ var flightPlanController = {
|
|||
print("Load failed.");
|
||||
}
|
||||
# try to fix fgfp
|
||||
me.flightplans[3].destination = airportinfo(getprop("FMGC/internal/arr-arpt"));
|
||||
me.flightplans[3].destination = airportinfo(getprop("/FMGC/internal/arr-arpt"));
|
||||
me.destroyTemporaryFlightPlan(3, 1);
|
||||
},
|
||||
|
||||
|
@ -125,6 +125,8 @@ var flightPlanController = {
|
|||
|
||||
me.addDiscontinuity(1, plan);
|
||||
# reset mcdu if it exists
|
||||
if (canvas_mcdu.myFpln[0] != nil) { canvas_mcdu.myFpln[0].scroll = 0; }
|
||||
if (canvas_mcdu.myFpln[1] != nil) { canvas_mcdu.myFpln[1].scroll = 0; }
|
||||
if (canvas_mcdu.myArrival[0] != nil) { canvas_mcdu.myArrival[0].reset(); }
|
||||
if (canvas_mcdu.myArrival[1] != nil) { canvas_mcdu.myArrival[1].reset(); }
|
||||
if (canvas_mcdu.myDeparture[0] != nil) { canvas_mcdu.myDeparture[0].reset(); }
|
||||
|
@ -133,7 +135,7 @@ var flightPlanController = {
|
|||
me.flightPlanChanged(plan);
|
||||
},
|
||||
|
||||
autoSequencing: func() {
|
||||
calculateTimeAltitudeOnSequence: func() {
|
||||
me._timeTemp = math.round(getprop("/sim/time/utc/minute") + (getprop("/sim/time/utc/second") / 60));
|
||||
if (me._timeTemp < 10) {
|
||||
me._timeTemp = "0" ~ me._timeTemp;
|
||||
|
@ -141,7 +143,7 @@ var flightPlanController = {
|
|||
me.fromWptTime = getprop("/sim/time/utc/hour") ~ me._timeTemp;
|
||||
me._altTemp = getprop("/systems/navigation/adr/output/baro-alt-corrected-1-capt");
|
||||
|
||||
if (me._altTemp > getprop("FMGC/internal/trans-alt")) {
|
||||
if (me._altTemp > fmgc.FMGCInternal.transAlt) {
|
||||
me.fromWptAlt = "FL" ~ math.round(me._altTemp / 100);
|
||||
} else {
|
||||
if (me._altTemp > 0) {
|
||||
|
@ -150,6 +152,10 @@ var flightPlanController = {
|
|||
me.fromWptAlt = "M" ~ math.round(me._altTemp);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
autoSequencing: func() {
|
||||
me.calculateTimeAltitudeOnSequence();
|
||||
|
||||
# todo setlistener on sim/time/warp to recompute predictions
|
||||
|
||||
|
@ -177,7 +183,7 @@ var flightPlanController = {
|
|||
me.deleteWP(0, 2, 0, 1);
|
||||
} else {
|
||||
me.wptType = me.flightplans[2].getWP(me.currentToWptIndexTemp).wp_type;
|
||||
me.wptTypeNoAdvanceDelete = me.wptType == "radialIntercept" or me.wptType == "vectors" or me.wptType == "hdgToAlt";
|
||||
me.wptTypeNoAdvanceDelete = me.wptType == "radialIntercept" or me.wptType == "vectors" or me.wptType == "dmeIntercept" or me.wptType == "hdgToAlt";
|
||||
if (me.wptTypeNoAdvanceDelete) {
|
||||
me.currentToWptIndex.setValue(2);
|
||||
} else {
|
||||
|
@ -227,11 +233,11 @@ var flightPlanController = {
|
|||
# typeStr: optional argument to be passed to createWP, must be one of "sid", "star" "approach" "missed" or "pseudo"
|
||||
|
||||
childWPBearingDistance: func(wpt, bearing, dist, name, typeStr = "") {
|
||||
var coordinates = greatCircleMove(wpt.lat, wpt.lon, bearing, dist);
|
||||
var coordinates = greatCircleMove(wpt.lat, wpt.lon, num(bearing), num(dist));
|
||||
if (typeStr != "") {
|
||||
return createWP(coordinates, name);
|
||||
} else {
|
||||
return createWP(coordinates, name, typeStr);
|
||||
} else {
|
||||
return createWP(coordinates, name);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -304,9 +310,9 @@ var flightPlanController = {
|
|||
me.insertTP(plan, 1);
|
||||
}
|
||||
me.deleteWP(0, plan);
|
||||
me.flightPlanChanged(plan);
|
||||
var curAircraftPosDirTo = geo.aircraft_position();
|
||||
canvas_mcdu.myDirTo[plan].updateDist(me.flightplans[plan].getWP(1).courseAndDistanceFrom(curAircraftPosDirTo)[1]);
|
||||
me.flightPlanChanged(plan);
|
||||
},
|
||||
|
||||
deleteWP: func(index, n, a = 0, s = 0) { # a = 1, means adding a waypoint via deleting intermediate. s = 1, means autosequencing
|
||||
|
@ -330,6 +336,23 @@ var flightPlanController = {
|
|||
}
|
||||
},
|
||||
|
||||
# createDuplicateNames - helper to spawn DUPLICATENAMES page
|
||||
# args: ghostContainer, index, flag, plan
|
||||
# ghostContainer: vector of fgPositioned ghosts
|
||||
# index: index
|
||||
# flag: is it a navaids DUPLICATENAMES page or not?
|
||||
# plan: plan
|
||||
# flagPBD: do we return back to PBD handler or to default waypoint handler?
|
||||
|
||||
createDuplicateNames: func(ghostContainer, index, flag, plan, flagPBD = 0, bearing = -999, distance = -99) {
|
||||
if (canvas_mcdu.myDuplicate[plan] != nil) {
|
||||
canvas_mcdu.myDuplicate[plan].del();
|
||||
}
|
||||
canvas_mcdu.myDuplicate[plan] = nil;
|
||||
canvas_mcdu.myDuplicate[plan] = mcdu.duplicateNamesPage.new(ghostContainer, index, flag, plan, flagPBD, bearing, distance);
|
||||
setprop("MCDU[" ~ plan ~ "]/page", "DUPLICATENAMES");
|
||||
},
|
||||
|
||||
insertAirport: func(text, index, plan, override = 0, overrideIndex = -1) {
|
||||
if (index == 0) {
|
||||
return 1;
|
||||
|
@ -371,12 +394,7 @@ var flightPlanController = {
|
|||
}
|
||||
}
|
||||
} elsif (size(airport) >= 1) {
|
||||
if (canvas_mcdu.myDuplicate[plan] != nil) {
|
||||
canvas_mcdu.myDuplicate[plan].del();
|
||||
}
|
||||
canvas_mcdu.myDuplicate[plan] = nil;
|
||||
canvas_mcdu.myDuplicate[plan] = mcdu.duplicateNamesPage.new(airport, index, 0, plan);
|
||||
setprop("MCDU[" ~ plan ~ "]/page", "DUPLICATENAMES");
|
||||
me.createDuplicateNames(airport, index, 0, plan);
|
||||
return 2;
|
||||
}
|
||||
},
|
||||
|
@ -422,12 +440,7 @@ var flightPlanController = {
|
|||
}
|
||||
}
|
||||
} elsif (size(fix) >= 1) {
|
||||
if (canvas_mcdu.myDuplicate[plan] != nil) {
|
||||
canvas_mcdu.myDuplicate[plan].del();
|
||||
}
|
||||
canvas_mcdu.myDuplicate[plan] = nil;
|
||||
canvas_mcdu.myDuplicate[plan] = mcdu.duplicateNamesPage.new(fix, index, 0, plan);
|
||||
setprop("MCDU[" ~ plan ~ "]/page", "DUPLICATENAMES");
|
||||
me.createDuplicateNames(fix, index, 0, plan);
|
||||
return 2;
|
||||
}
|
||||
},
|
||||
|
@ -503,16 +516,92 @@ var flightPlanController = {
|
|||
}
|
||||
}
|
||||
} elsif (size(navaid) >= 1) {
|
||||
if (canvas_mcdu.myDuplicate[plan] != nil) {
|
||||
canvas_mcdu.myDuplicate[plan].del();
|
||||
}
|
||||
canvas_mcdu.myDuplicate[plan] = nil;
|
||||
canvas_mcdu.myDuplicate[plan] = mcdu.duplicateNamesPage.new(navaid, index, 1, plan);
|
||||
setprop("MCDU[" ~ plan ~ "]/page", "DUPLICATENAMES");
|
||||
me.createDuplicateNames(navaid, index, 1, plan);
|
||||
return 2;
|
||||
}
|
||||
},
|
||||
|
||||
# getWPforPBD - parse scratchpad text to find waypoint ghost for PBD
|
||||
# args: text, index, plan
|
||||
# text: scratchpad text
|
||||
# index: index at which waypoint will be inserted
|
||||
# plan: plan to which waypoint will be inserted
|
||||
# return:
|
||||
# 0: not in database
|
||||
# 1: notAllowed
|
||||
# 2: o.k.
|
||||
|
||||
getWPforPBD: func(text, index, plan, override = 0, overrideIndex = -1) {
|
||||
if (index == 0) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
var textSplit = split("/", text);
|
||||
|
||||
if (size(split(".", textSplit[2])) != 1 or size(textSplit[1]) < 2 or size(textSplit[1]) > 3) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
var wpGhost = nil;
|
||||
var wpGhostContainer = nil;
|
||||
var type = nil;
|
||||
|
||||
if (size(textSplit[0]) == 5) {
|
||||
wpGhostContainer = findFixesByID(textSplit[0]);
|
||||
if (size(wpGhostContainer) == 0) {
|
||||
return 0;
|
||||
}
|
||||
type = "fix";
|
||||
} elsif (size(textSplit[0]) == 4) {
|
||||
wpGhostContainer = findAirportsByICAO(textSplit[0]);
|
||||
if (size(wpGhostContainer) == 0) {
|
||||
return 0;
|
||||
}
|
||||
type = "airport";
|
||||
} elsif (size(textSplit[0]) == 3 or size(textSplit[0]) == 2) {
|
||||
wpGhostContainer = findNavaidsByID(textSplit[0]);
|
||||
if (size(wpGhostContainer) == 0) {
|
||||
return 0;
|
||||
}
|
||||
type = "navaid";
|
||||
} else {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (size(wpGhostContainer) == 0 or override) {
|
||||
if (!override) {
|
||||
wpGhost = wpGhostContainer[0];
|
||||
} else {
|
||||
wpGhost = wpGhostContainer[overrideIndex];
|
||||
}
|
||||
} else {
|
||||
if (type == "navaid") {
|
||||
me.createDuplicateNames(wpGhostContainer, index, 1, plan, 1, num(textSplit[1]), num(textSplit[2]));
|
||||
} else {
|
||||
me.createDuplicateNames(wpGhostContainer, index, 0, plan, 1, num(textSplit[1]), num(textSplit[2]));
|
||||
}
|
||||
return 2;
|
||||
}
|
||||
|
||||
var localMagvar = magvar(wpGhost.lat, wpGhost.lon);
|
||||
me.insertPlaceBearingDistance(wpGhost, textSplit[1] + localMagvar, textSplit[2], index, plan);
|
||||
return 2;
|
||||
},
|
||||
|
||||
|
||||
# insertPlaceBearingDistance - insert PBD waypoint at specified index,
|
||||
# at some specified bearing, distance from a specified location
|
||||
# args: wp, index, plan
|
||||
# wpt: waypoint ghost
|
||||
# index: index to insert at in plan
|
||||
# plan: plan to insert to
|
||||
|
||||
insertPlaceBearingDistance: func(wp, bearing, distance, index, plan) {
|
||||
me.flightplans[plan].insertWP(me.childWPBearingDistance(wp, bearing, distance, "PBD" ~ index), index);
|
||||
me.addDiscontinuity(index + 1, plan);
|
||||
me.flightPlanChanged(plan);
|
||||
},
|
||||
|
||||
scratchpad: func(text, index, plan) { # return 0 not in database, 1 not allowed, 2 success, 3 = not allowed due to dir to
|
||||
if (mcdu.dirToFlag) {
|
||||
return 3;
|
||||
|
@ -529,7 +618,9 @@ var flightPlanController = {
|
|||
var thePlan = plan;
|
||||
}
|
||||
|
||||
if (text == "CLR") {
|
||||
if (size(split("/", text)) == 3) {
|
||||
return me.getWPforPBD(text, index, thePlan);
|
||||
} elsif (text == "CLR") {
|
||||
return me.deleteWP(index, thePlan, 0);
|
||||
} elsif (size(text) > 12) {
|
||||
return me.insertLatLonFix(text, index, thePlan);
|
||||
|
|
|
@ -195,7 +195,7 @@ var triggerDoor = func(door, doorName, doorDesc) {
|
|||
|
||||
var systemsInit = func {
|
||||
fbw.FBW.init();
|
||||
light_manager.init();
|
||||
effects.light_manager.init();
|
||||
systems.ELEC.init();
|
||||
systems.PNEU.init();
|
||||
systems.HYD.init();
|
||||
|
@ -203,8 +203,9 @@ var systemsInit = func {
|
|||
systems.ADIRS.init();
|
||||
systems.eng_init();
|
||||
systems.APUController.init();
|
||||
systems.fire_init();
|
||||
systems.autobrake_init();
|
||||
systems.fire_init();
|
||||
systems.icingInit();
|
||||
fmgc.flightPlanController.reset();
|
||||
fadec.FADEC.init();
|
||||
fmgc.ITAF.init();
|
||||
|
@ -212,9 +213,8 @@ var systemsInit = func {
|
|||
mcdu.MCDU_init(0);
|
||||
mcdu.MCDU_init(1);
|
||||
systemsLoop.start();
|
||||
icing.icingInit();
|
||||
lightsLoop.start();
|
||||
libraries.ECAM.init();
|
||||
ecam.ECAM.init();
|
||||
libraries.variousReset();
|
||||
rmp.init();
|
||||
acp.init();
|
||||
|
@ -235,7 +235,7 @@ var systemsLoop = maketimer(0.1, func {
|
|||
systems.HYD.loop();
|
||||
systems.FUEL.loop();
|
||||
systems.ADIRS.loop();
|
||||
libraries.ECAM.loop();
|
||||
ecam.ECAM.loop();
|
||||
libraries.BUTTONS.update();
|
||||
fadec.FADEC.loop();
|
||||
rmp.rmpUpdate();
|
||||
|
|
|
@ -28,15 +28,18 @@ var duplicateNamesPage = {
|
|||
enableScroll: 0,
|
||||
scroll: 0,
|
||||
distances: nil,
|
||||
new: func(vector, index, type, computer) {
|
||||
var fp = {parents:[duplicateNamesPage]};
|
||||
fp.vector = vector;
|
||||
fp.index = index;
|
||||
fp.type = type; # 0 = other, 1 = navaid
|
||||
fp.computer = computer;
|
||||
fp._setupPageWithData();
|
||||
fp.distances = [];
|
||||
return fp;
|
||||
new: func(vector, index, type, computer, flagPBD = 0, pbdBrg = -999, pbdDist = -99) {
|
||||
var dn = {parents:[duplicateNamesPage]};
|
||||
dn.vector = vector;
|
||||
dn.index = index;
|
||||
dn.type = type; # 0 = other, 1 = navaid
|
||||
dn.flagPBD = flagPBD;
|
||||
dn.bearing = pbdBrg;
|
||||
dn.distance = pbdDist;
|
||||
dn.computer = computer;
|
||||
dn._setupPageWithData();
|
||||
dn.distances = [];
|
||||
return dn;
|
||||
},
|
||||
del: func() {
|
||||
return nil;
|
||||
|
@ -131,14 +134,19 @@ var duplicateNamesPage = {
|
|||
},
|
||||
pushButtonLeft: func(indexSelect) {
|
||||
if (!dirToFlag) {
|
||||
if (size(me.vector[0].id) == 5) {
|
||||
fmgc.flightPlanController.insertFix(me.vector[0].id, me.index, me.computer, 1, indexSelect - 1);
|
||||
setprop("MCDU[" ~ me.computer ~ "]/page", "F-PLNA");
|
||||
} elsif (size(me.vector[0].id) == 4) {
|
||||
fmgc.flightPlanController.insertAirport(me.vector[0].id, me.index, me.computer, 1, indexSelect - 1);
|
||||
setprop("MCDU[" ~ me.computer ~ "]/page", "F-PLNA");
|
||||
} elsif (size(me.vector[0].id) == 3 or size(me.vector[0].id)== 2) {
|
||||
fmgc.flightPlanController.insertNavaid(me.vector[0].id, me.index, me.computer, 1, indexSelect - 1);
|
||||
if (!me.flagPBD) {
|
||||
if (size(me.vector[0].id) == 5) {
|
||||
fmgc.flightPlanController.insertFix(me.vector[0].id, me.index, me.computer, 1, indexSelect - 1);
|
||||
setprop("MCDU[" ~ me.computer ~ "]/page", "F-PLNA");
|
||||
} elsif (size(me.vector[0].id) == 4) {
|
||||
fmgc.flightPlanController.insertAirport(me.vector[0].id, me.index, me.computer, 1, indexSelect - 1);
|
||||
setprop("MCDU[" ~ me.computer ~ "]/page", "F-PLNA");
|
||||
} elsif (size(me.vector[0].id) == 3 or size(me.vector[0].id)== 2) {
|
||||
fmgc.flightPlanController.insertNavaid(me.vector[0].id, me.index, me.computer, 1, indexSelect - 1);
|
||||
setprop("MCDU[" ~ me.computer ~ "]/page", "F-PLNA");
|
||||
}
|
||||
} else {
|
||||
fmgc.flightPlanController.getWPforPBD(me.vector[0].id ~ "/" ~ me.bearing ~ "/" ~ me.distance, me.index, me.computer, 1, indexSelect - 1);
|
||||
setprop("MCDU[" ~ me.computer ~ "]/page", "F-PLNA");
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -16,12 +16,12 @@ var fplnItem = {
|
|||
} elsif (me.wp.wp_name != "DISCONTINUITY") {
|
||||
var wptName = split("-", me.wp.wp_name);
|
||||
if (wptName[0] == "VECTORS") {
|
||||
return ["MANUAL", nil, me.colour];
|
||||
return ["MANUAL", me.getSubText(), me.colour];
|
||||
} else {
|
||||
if (size(wptName) == 2) {
|
||||
return[wptName[0] ~ wptName[1], nil, me.colour];
|
||||
return[wptName[0] ~ wptName[1], me.getSubText(), me.colour];
|
||||
} else {
|
||||
return [me.wp.wp_name, nil, me.colour];
|
||||
return [me.wp.wp_name, me.getSubText(), me.colour];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -31,19 +31,22 @@ var fplnItem = {
|
|||
return ["problem", nil, "ack"];
|
||||
}
|
||||
},
|
||||
getSubText: func() {
|
||||
return nil;
|
||||
},
|
||||
updateCenterText: func() {
|
||||
if (me.wp != nil) {
|
||||
if (me.wp.wp_name != "DISCONTINUITY") {
|
||||
if (me.index == fmgc.flightPlanController.currentToWptIndex.getValue() - 1 and fmgc.flightPlanController.fromWptTime != nil) {
|
||||
me.assembledStr[0] = fmgc.flightPlanController.fromWptTime ~ " ";
|
||||
me.assembledStr[0] = fmgc.flightPlanController.fromWptTime ~ " ";
|
||||
} else {
|
||||
me.assembledStr[0] = "---- ";
|
||||
me.assembledStr[0] = "---- ";
|
||||
}
|
||||
|
||||
if (me.index == fmgc.flightPlanController.currentToWptIndex.getValue()) {
|
||||
me.assembledStr[1] = "BRG" ~ me.getBrg();
|
||||
} elsif (me.index == (fmgc.flightPlanController.currentToWptIndex.getValue() + 1)) {
|
||||
me.assembledStr[1] = "TRK" ~ me.getTrack();
|
||||
me.assembledStr[1] = "BRG" ~ me.getBrg() ~ " ";
|
||||
} elsif (me.index == (fmgc.flightPlanController.currentToWptIndex.getValue() + 1) or me.index == (fmgc.flightPlanController.arrivalIndex[me.plan] + 1)) {
|
||||
me.assembledStr[1] = "TRK" ~ me.getTrack() ~ " ";
|
||||
} else {
|
||||
me.assembledStr[1] = nil;
|
||||
}
|
||||
|
@ -71,25 +74,32 @@ var fplnItem = {
|
|||
}
|
||||
},
|
||||
getBrg: func() {
|
||||
me.brg = fmgc.wpCourse[me.plan][me.index].getValue() - pts.Environment.magVar.getValue();
|
||||
me.brg = fmgc.wpCourse[me.plan][me.index].getValue() - magvar();
|
||||
if (me.brg < 0) { me.brg += 360; }
|
||||
if (me.brg > 360) { me.brg -= 360; }
|
||||
return sprintf("%03.0f", math.round(me.brg));
|
||||
},
|
||||
getTrack: func() {
|
||||
me.trk = fmgc.wpCoursePrev[me.plan][me.index].getValue() - pts.Environment.magVar.getValue();
|
||||
var wp = fmgc.flightPlanController.flightplans[me.plan].getWP(me.index);
|
||||
me.trk = fmgc.wpCoursePrev[me.plan][me.index].getValue() - magvar(wp.lat, wp.lon);
|
||||
if (me.trk < 0) { me.trk += 360; }
|
||||
if (me.trk > 360) { me.trk -= 360; }
|
||||
return sprintf("%03.0f", math.round(me.trk));
|
||||
},
|
||||
getSpd: func() {
|
||||
return "---";
|
||||
if (me.index == 0 and getprop("FMGC/internal/v1-set")) {
|
||||
return sprintf("%3.0f", math.round(getprop("FMGC/internal/v1")));
|
||||
} else {
|
||||
return "---";
|
||||
}
|
||||
},
|
||||
getAlt: func() {
|
||||
if (me.index == (fmgc.flightPlanController.currentToWptIndex.getValue() - 1) and fmgc.flightPlanController.fromWptAlt != nil) {
|
||||
return " " ~ fmgc.flightPlanController.fromWptAlt;
|
||||
if (me.index == 0 and left(me.wp.wp_name, 4) == getprop("/FMGC/internal/dep-arpt") and fmgc.flightPlanController.flightplans[me.plan].departure != nil) {
|
||||
return sprintf("%6.0f", math.round(fmgc.flightPlanController.flightplans[me.plan].departure.elevation * M2FT));
|
||||
} elsif (me.index == (fmgc.flightPlanController.currentToWptIndex.getValue() - 1) and fmgc.flightPlanController.fromWptAlt != nil) {
|
||||
return " " ~ fmgc.flightPlanController.fromWptAlt;
|
||||
} else {
|
||||
return "-----";
|
||||
return "------";
|
||||
}
|
||||
},
|
||||
getDist: func() {
|
||||
|
@ -260,12 +270,15 @@ var fplnPage = { # this one is only created once, and then updated - remember th
|
|||
createPlanList: func() {
|
||||
me.planList = [];
|
||||
if (me.temporaryFlagFpln) {
|
||||
for (var i = 0; i < me.plan.getPlanSize(); i += 1) {
|
||||
append(me.planList, fplnItem.new(me.plan.getWP(i), i, me.planIndex, me.computer, "yel"));
|
||||
}
|
||||
colour = "yel";
|
||||
} else {
|
||||
for (var i = 0; i < me.plan.getPlanSize(); i += 1) {
|
||||
append(me.planList, fplnItem.new(me.plan.getWP(i), i, me.planIndex, me.computer));
|
||||
colour = "grn";
|
||||
}
|
||||
for (var i = 0; i < me.plan.getPlanSize(); i += 1) {
|
||||
if (!me.temporaryFlagFpln and i > fmgc.flightPlanController.arrivalIndex[me.planIndex] and getprop("/FMGC/status/phase") != 6) {
|
||||
append(me.planList, fplnItem.new(me.plan.getWP(i), i, me.planIndex, me.computer, "blu"));
|
||||
} else {
|
||||
append(me.planList, fplnItem.new(me.plan.getWP(i), i, me.planIndex, me.computer, colour));
|
||||
}
|
||||
}
|
||||
append(me.planList, staticText.new(me.computer, me.getText("fplnEnd")));
|
||||
|
@ -280,9 +293,9 @@ var fplnPage = { # this one is only created once, and then updated - remember th
|
|||
if (size(me.outputList) >= 1) {
|
||||
me.L1 = me.outputList[0].updateLeftText();
|
||||
me.C1 = me.outputList[0].updateCenterText();
|
||||
me.C1[1] = "TIME ";
|
||||
me.C1[1] = "TIME ";
|
||||
me.R1 = me.outputList[0].updateRightText();
|
||||
me.R1[1] = "SPD/ALT ";
|
||||
me.R1[1] = "SPD/ALT ";
|
||||
} else {
|
||||
me.L1 = [nil, nil, "ack"];
|
||||
me.C1 = [nil, nil, "ack"];
|
||||
|
@ -327,16 +340,21 @@ var fplnPage = { # this one is only created once, and then updated - remember th
|
|||
},
|
||||
destInfo: func() {
|
||||
if (me.plan.getWP(fmgc.flightPlanController.arrivalIndex[me.planIndex]) != nil) {
|
||||
me.L6 = [left(me.plan.getWP(fmgc.flightPlanController.arrivalIndex[me.planIndex]).wp_name, 4), " DEST", "wht"];
|
||||
var destName = split("-", me.plan.getWP(fmgc.flightPlanController.arrivalIndex[me.planIndex]).wp_name);
|
||||
if (size(destName) == 2) {
|
||||
me.L6 = [destName[0] ~ destName[1], " DEST", "wht"];
|
||||
} else {
|
||||
me.L6 = [destName[0], " DEST", "wht"];
|
||||
}
|
||||
} else {
|
||||
me.L6 = ["----", " DEST", "wht"];
|
||||
}
|
||||
me.C6 = ["---- ", "TIME ", "wht"];
|
||||
if (fmgc.flightPlanController.arrivalDist != nil) {
|
||||
me.C6 = ["---- " ~ int(fmgc.flightPlanController.arrivalDist), "TIME DIST", "wht"];
|
||||
me.R6 = [sprintf("%4.0f", int(fmgc.flightPlanController.arrivalDist)) ~ " --.-", "DIST EFOB", "wht"];
|
||||
} else {
|
||||
me.C6 = ["---- ----", "TIME DIST", "wht"];
|
||||
me.R6 = ["---- --.-", "DIST EFOB", "wht"];
|
||||
}
|
||||
me.R6 = ["--.-", "EFOB", "wht"];
|
||||
},
|
||||
update: func() {
|
||||
#me.basePage();
|
||||
|
|
|
@ -36,7 +36,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/rte-percent", 5.0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (getprop("/FMGC/internal/trip-fuel") != 0) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -46,7 +46,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/rte-rsv", num(perc) / 100 * num(getprop("/FMGC/internal/trip-fuel")));
|
||||
setprop("/FMGC/internal/rte-percent", perc);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
}
|
||||
} else if (tfs >= 1 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 21.7) {
|
||||
setprop("/FMGC/internal/rte-rsv", scratchpad);
|
||||
|
@ -56,7 +56,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/rte-percent", 15.0); # need reasearch on this value
|
||||
}
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/alt-fuel-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -79,7 +79,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/alt-time", "0000");
|
||||
setprop("/FMGC/internal/alt-fuel-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/final-time-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -102,7 +102,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/final-fuel", tf);
|
||||
setprop("/FMGC/internal/final-fuel-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/final-time", scratchpad);
|
||||
setprop("/FMGC/internal/final-time-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/min-dest-fob-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -132,7 +132,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/min-dest-fob", tf);
|
||||
setprop("/FMGC/internal/min-dest-fob-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
if (num(getprop("/FMGC/internal/min-dest-fob")) < num(getprop("/FMGC/internal/final-fuel") + getprop("/FMGC/internal/alt-fuel"))) {
|
||||
genericMessage(i, "CHECK MIN DEST FOB", "wht");
|
||||
}
|
||||
|
@ -184,7 +184,7 @@ var fuelPredInput = func(key, i) {
|
|||
}
|
||||
}
|
||||
if ((zfwcg != nil and zfwcgs >= 1 and zfwcgs <= 5 and zfwcg > 0 and zfwcg <= 99.9) or (zfw != nil and zfws >= 1 and zfws <= 5 and zfw > 0 and zfw <= 999.9)) {
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -201,7 +201,7 @@ var fuelPredInput = func(key, i) {
|
|||
setprop("/FMGC/internal/block-calculating", 0);
|
||||
setprop("/FMGC/internal/block-confirmed", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -213,12 +213,12 @@ var fuelPredInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/fffq-sensor", "FF+FQ");
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find("/", scratchpad) == 0) {
|
||||
var sensor = substr(scratchpad, 1);
|
||||
if (sensor == "FF+FQ" or sensor == "FQ+FF" or sensor == "FF" or sensor == "FQ") {
|
||||
setprop("/FMGC/internal/fffq-sensor", sensor);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("FMGC/internal/fffq-sensor", sensor);
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
fmgc.updateARPT();
|
||||
#} else if (scratchpad == "") {
|
||||
#setprop("/FMGC/internal/alt-selected", 1);
|
||||
|
@ -28,7 +28,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
fmgc.updateARPT();
|
||||
#setprop("/FMGC/internal/alt-selected", 1);
|
||||
#setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
|
@ -43,13 +43,13 @@ var initInputA = func(key, i) {
|
|||
setprop("MCDUC/flight-num", "");
|
||||
setprop("MCDUC/flight-num-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var flts = size(scratchpad);
|
||||
if (flts >= 1 and flts <= 8) {
|
||||
setprop("MCDUC/flight-num", scratchpad);
|
||||
setprop("MCDUC/flight-num-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -59,7 +59,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/cost-index", 0);
|
||||
setprop("/FMGC/internal/cost-index-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var ci = int(scratchpad);
|
||||
var cis = size(scratchpad);
|
||||
|
@ -67,7 +67,7 @@ var initInputA = func(key, i) {
|
|||
if (ci != nil and ci >= 0 and ci <= 999) {
|
||||
setprop("/FMGC/internal/cost-index", ci);
|
||||
setprop("/FMGC/internal/cost-index-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -87,7 +87,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find("/", scratchpad) != -1) {
|
||||
var crztemp = split("/", scratchpad);
|
||||
if (find("FL", crztemp[0]) != -1) {
|
||||
|
@ -106,7 +106,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -122,7 +122,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -147,7 +147,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -170,7 +170,7 @@ var initInputA = func(key, i) {
|
|||
}
|
||||
fmgc.flightPlanController.reset();
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
#} else if (scratchpad == "") {
|
||||
#setprop("/FMGC/internal/alt-selected", 0);
|
||||
#setprop("MCDU[" ~ i ~ "]/page", "ROUTESELECTION");
|
||||
|
@ -186,7 +186,7 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/arr-arpt", fromto[1]);
|
||||
setprop("/FMGC/internal/tofrom-set", 1);
|
||||
#scratchpad
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
fmgc.flightPlanController.updateAirports(fromto[0], fromto[1], 2);
|
||||
setprop("/FMGC/internal/alt-selected", 0);
|
||||
#ref lat
|
||||
|
@ -223,13 +223,13 @@ var initInputA = func(key, i) {
|
|||
setprop("/FMGC/internal/tropo", 36090);
|
||||
setprop("/FMGC/internal/tropo-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tropo = size(scratchpad);
|
||||
if (tropo == 5 and scratchpad <= 99990) {
|
||||
setprop("/FMGC/internal/tropo-set", 1);
|
||||
setprop("/FMGC/internal/tropo", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
setprop("FMGC/internal/tropo-set", 1);
|
||||
setprop("FMGC/internal/tropo", scratchpad);
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -238,11 +238,11 @@ var initInputA = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/gndtemp-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil and getprop("/FMGC/status/phase") == 0 and size(scratchpad) >= 1 and size(scratchpad) <= 3 and scratchpad >= -99 and scratchpad <= 99) {
|
||||
setprop("/FMGC/internal/gndtemp", scratchpad);
|
||||
setprop("/FMGC/internal/gndtemp-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -14,7 +14,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/block-calculating", 1);
|
||||
}
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 4) {
|
||||
|
@ -22,7 +22,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/taxi-fuel", scratchpad);
|
||||
setprop("/FMGC/internal/taxi-fuel-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
fmgc.updateFuel();
|
||||
} else {
|
||||
notAllowed(i);
|
||||
|
@ -39,7 +39,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/rte-percent-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (getprop("/FMGC/internal/trip-fuel") != 0) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -51,7 +51,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/rte-percent", perc);
|
||||
setprop("/FMGC/internal/rte-percent-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
}
|
||||
} else if (tfs >= 1 and tfs <= 4 and tf != nil and tf >= 0 and tf <= 21.7) {
|
||||
setprop("/FMGC/internal/rte-rsv", scratchpad);
|
||||
|
@ -63,7 +63,7 @@ var initInputB = func(key, i) {
|
|||
}
|
||||
setprop("/FMGC/internal/rte-percent-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/alt-fuel-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -86,7 +86,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/alt-time", "0000");
|
||||
setprop("/FMGC/internal/alt-fuel-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -101,7 +101,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/final-time-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -109,7 +109,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/final-fuel", tf);
|
||||
setprop("/FMGC/internal/final-fuel-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/final-time", scratchpad);
|
||||
setprop("/FMGC/internal/final-time-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -131,7 +131,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/min-dest-fob-set", 0);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (find(".", scratchpad) != -1) {
|
||||
var tf = num(scratchpad);
|
||||
var tfs = size(scratchpad);
|
||||
|
@ -139,7 +139,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/min-dest-fob", tf);
|
||||
setprop("/FMGC/internal/min-dest-fob-set", 1);
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
if (num(getprop("/FMGC/internal/min-dest-fob")) < num(getprop("/FMGC/internal/final-fuel") + getprop("/FMGC/internal/alt-fuel"))) {
|
||||
genericMessage(i, "CHECK MIN DEST FOB", "wht");
|
||||
}
|
||||
|
@ -177,7 +177,7 @@ var initInputB = func(key, i) {
|
|||
}
|
||||
}
|
||||
if ((zfwcg != nil and zfwcgs >= 1 and zfwcgs <= 5 and zfwcg > 0 and zfwcg <= 99.9) or (zfw != nil and zfws >= 1 and zfws <= 5 and zfw > 0 and zfw <= 999.9)) {
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ var initInputB = func(key, i) {
|
|||
if (num(scratchpad) != nil and zfwcg >= 1 and zfwcg <= 5 and scratchpad > 0 and scratchpad <= 99.9) {
|
||||
setprop("/FMGC/internal/zfwcg", scratchpad);
|
||||
setprop("/FMGC/internal/zfwcg-set", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -227,7 +227,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/block-calculating", 0);
|
||||
setprop("/FMGC/internal/block-confirmed", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
var maxblock = getprop("/options/maxblock");
|
||||
|
@ -241,7 +241,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
setprop("/FMGC/internal/block-calculating", 0);
|
||||
setprop("/FMGC/internal/block-confirmed", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -267,7 +267,7 @@ var initInputB = func(key, i) {
|
|||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
if (find("TL", scratchpad) != -1 or find("HD", scratchpad) != -1) {
|
||||
var effwind = substr(scratchpad, 2);
|
||||
|
@ -277,7 +277,7 @@ var initInputB = func(key, i) {
|
|||
if (getprop("/FMGC/internal/block-confirmed")) {
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -289,7 +289,7 @@ var initInputB = func(key, i) {
|
|||
if (getprop("/FMGC/internal/block-confirmed")) {
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -300,7 +300,7 @@ var initInputB = func(key, i) {
|
|||
if (getprop("/FMGC/internal/block-confirmed")) {
|
||||
setprop("/FMGC/internal/fuel-calculating", 1);
|
||||
}
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -10,11 +10,11 @@ var perfAPPRInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/dest-qnh", -1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (num(scratchpad) != nil and (scratchpad >= 28.06 and scratchpad <= 31.01) or (scratchpad >= 745 and scratchpad <= 1050)) {
|
||||
# doesn't support accidental temp input yet
|
||||
setprop("/FMGC/internal/dest-qnh", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -22,10 +22,10 @@ var perfAPPRInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/dest-temp", -999);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (num(scratchpad) != nil and scratchpad >= -99 and scratchpad < 99) {
|
||||
setprop("/FMGC/internal/dest-temp", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ var perfAPPRInput = func(key, i) {
|
|||
setprop("/FMGC/internal/dest-mag", -1);
|
||||
setprop("/FMGC/internal/dest-wind", -1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (tfs >= 3 and tfs <= 7 and find("/", scratchpad) != -1) {
|
||||
var weather = split("/", scratchpad);
|
||||
var mag = int(weather[0]);
|
||||
|
@ -46,7 +46,7 @@ var perfAPPRInput = func(key, i) {
|
|||
if (mag != nil and wind != nil and mag >= 0 and mag <= 360 and wind >= 0 and wind <= 200) {
|
||||
setprop("/FMGC/internal/dest-mag", weather[0]);
|
||||
setprop("/FMGC/internal/dest-wind", weather[1]);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
fmgc.updateARPT();
|
||||
} else {
|
||||
notAllowed(i);
|
||||
|
@ -59,24 +59,33 @@ var perfAPPRInput = func(key, i) {
|
|||
}
|
||||
} else if (key == "L4") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/trans-alt", 18000);
|
||||
fmgc.FMGCInternal.transAlt = 18000;
|
||||
fmgc.FMGCInternal.transAltSet = 0;
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
} else if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 50000) {
|
||||
setprop("/FMGC/internal/trans-alt", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
var tfs = size(scratchpad);
|
||||
if (int(scratchpad) != nil and (tfs == 4 or tfs == 5) and scratchpad >= 1000 and scratchpad <= 39000) {
|
||||
fmgc.FMGCInternal.transAlt = math.round(scratchpad, 500);
|
||||
fmgc.FMGCInternal.transAltSet = 1;
|
||||
mcdu.clearScratchpad(i);
|
||||
} elsif (int(scratchpad) != nil and (tfs == 2 or tfs == 3) and scratchpad >= 10 and scratchpad <= 390) {
|
||||
fmgc.FMGCInternal.transAlt = math.round(scratchpad * 100, 5);
|
||||
fmgc.FMGCInternal.transAltSet = 1;
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
}
|
||||
} else if (key == "L5") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/vapp-speed-set", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 200) {
|
||||
setprop("/FMGC/internal/vapp-speed-set", 1);
|
||||
setprop("/FMGC/internal/computed-speeds/vapp_appr", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -86,13 +95,13 @@ var perfAPPRInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/baro", 99999);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil and scratchpad >= getprop("/FMGC/internal/ldg-elev") and scratchpad <= 5000 + getprop("/FMGC/internal/ldg-elev")) {
|
||||
if (getprop("/FMGC/internal/radio-no") == 0) {
|
||||
setprop("/FMGC/internal/radio", 99999);
|
||||
}
|
||||
setprop("/FMGC/internal/baro", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -101,16 +110,16 @@ var perfAPPRInput = func(key, i) {
|
|||
setprop("/FMGC/internal/radio", 99999);
|
||||
setprop("/FMGC/internal/radio-no", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (scratchpad == "NO") {
|
||||
setprop("/FMGC/internal/radio", 99999);
|
||||
setprop("/FMGC/internal/radio-no", 1);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil and scratchpad >= 0 and scratchpad <= 700) {
|
||||
setprop("/FMGC/internal/baro", 99999);
|
||||
setprop("/FMGC/internal/radio-no", 0);
|
||||
setprop("/FMGC/internal/radio", scratchpad);
|
||||
setprop("/MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ var perfCLBInput = func(key, i) {
|
|||
setprop("/FMGC/internal/cost-index", 0);
|
||||
setprop("/FMGC/internal/cost-index-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var ci = int(scratchpad);
|
||||
var cis = size(scratchpad);
|
||||
|
@ -18,6 +18,7 @@ var perfCLBInput = func(key, i) {
|
|||
setprop("/FMGC/internal/cost-index", ci);
|
||||
setprop("/FMGC/internal/cost-index-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ var perfCRZInput = func(key, i) {
|
|||
setprop("/FMGC/internal/cost-index", 0);
|
||||
setprop("/FMGC/internal/cost-index-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var ci = int(scratchpad);
|
||||
var cis = size(scratchpad);
|
||||
|
@ -17,7 +17,7 @@ var perfCRZInput = func(key, i) {
|
|||
if (ci != nil and ci >= 0 and ci <= 999) {
|
||||
setprop("/FMGC/internal/cost-index", ci);
|
||||
setprop("/FMGC/internal/cost-index-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -9,7 +9,7 @@ var perfDESInput = func(key, i) {
|
|||
setprop("/FMGC/internal/cost-index", 0);
|
||||
setprop("/FMGC/internal/cost-index-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var ci = int(scratchpad);
|
||||
var cis = size(scratchpad);
|
||||
|
@ -17,7 +17,7 @@ var perfDESInput = func(key, i) {
|
|||
if (ci != nil and ci >= 0 and ci <= 999) {
|
||||
setprop("/FMGC/internal/cost-index", ci);
|
||||
setprop("/FMGC/internal/cost-index-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@ var perfGAInput = func(key, i) {
|
|||
setprop("/FMGC/internal/accel-agl-ft", "1500");
|
||||
setprop("MCDUC/thracc-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 7 and tfs <= 9 and find("/", scratchpad) != -1) {
|
||||
|
@ -21,7 +21,7 @@ var perfGAInput = func(key, i) {
|
|||
setprop("systems/thrust/clbreduc-ft", thracc[0]);
|
||||
setprop("/FMGC/internal/accel-agl-ft", thracc[1]);
|
||||
setprop("MCDUC/thracc-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -36,13 +36,13 @@ var perfGAInput = func(key, i) {
|
|||
setprop("/FMGC/internal/eng-out-reduc", "1500");
|
||||
setprop("MCDUC/reducacc-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (int(scratchpad) != nil and tfs >= 3 and tfs <= 5) {
|
||||
setprop("/FMGC/internal/eng-out-reduc", scratchpad);
|
||||
setprop("MCDUC/reducacc-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -11,14 +11,14 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/v1", 0);
|
||||
setprop("/FMGC/internal/v1-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3) {
|
||||
if (int(scratchpad) != nil and scratchpad >= 100 and scratchpad <= 350) {
|
||||
setprop("/FMGC/internal/v1", scratchpad);
|
||||
setprop("/FMGC/internal/v1-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -35,7 +35,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/vr", 0);
|
||||
setprop("/FMGC/internal/vr-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3) {
|
||||
|
@ -43,6 +43,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/vr", scratchpad);
|
||||
setprop("/FMGC/internal/vr-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -60,7 +61,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/v2-set", 0);
|
||||
setprop("it-autoflight/settings/togaspd", 157);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3) {
|
||||
|
@ -68,7 +69,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/v2", scratchpad);
|
||||
setprop("/FMGC/internal/v2-set", 1);
|
||||
setprop("it-autoflight/settings/togaspd", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -81,14 +82,16 @@ var perfTOInput = func(key, i) {
|
|||
}
|
||||
} else if (key == "L4") {
|
||||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/trans-alt", 18000);
|
||||
fmgc.FMGCInternal.transAlt = 18000;
|
||||
fmgc.FMGCInternal.transAltSet = 0;
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (int(scratchpad) != nil and (tfs == 4 or tfs <= 5) and scratchpad >= 1000 and scratchpad <= 39000) {
|
||||
setprop("/FMGC/internal/trans-alt", int(scratchpad / 10) * 10);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
fmgc.FMGCInternal.transAlt = int(scratchpad / 10) * 10;
|
||||
fmgc.FMGCInternal.transAltSet = 1;
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -99,7 +102,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/accel-agl-ft", "1500");
|
||||
setprop("MCDUC/thracc-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (find("/", scratchpad) != -1) {
|
||||
|
@ -112,16 +115,16 @@ var perfTOInput = func(key, i) {
|
|||
setprop("systems/thrust/clbreduc-ft", int(thrred / 10) * 10);
|
||||
setprop("/FMGC/internal/accel-agl-ft", int(acc / 10) * 10);
|
||||
setprop("MCDUC/thracc-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (thrreds == 0 and int(acc) != nil and (accs >= 3 and accs <= 5) and acc >= 400 and acc <= 39000) {
|
||||
setprop("/FMGC/internal/accel-agl-ft", int(acc / 10) * 10);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
} else if (num(scratchpad) != nil and (tfs >= 3 and tfs <= 5) and scratchpad >= 400 and scratchpad <= 39000) {
|
||||
setprop("systems/thrust/clbreduc-ft", int(scratchpad / 10) * 10);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -132,7 +135,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/to-ths", "0.0");
|
||||
setprop("/FMGC/internal/flap-ths-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
if (find("/", scratchpad) != -1) {
|
||||
var flapths = split("/", scratchpad);
|
||||
|
@ -147,16 +150,16 @@ var perfTOInput = func(key, i) {
|
|||
if (flaps == 0 and getprop("/FMGC/internal/flap-ths-set")) {
|
||||
if (trims == 5 and find("DN", trim) != -1 and validtrima) {
|
||||
setprop("/FMGC/internal/to-ths", -1 * trima);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (trims == 5 and find("DN", trim) != -1 and validtrimb) {
|
||||
setprop("/FMGC/internal/to-ths", -1 * trimb);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrima) {
|
||||
setprop("/FMGC/internal/to-ths", trima);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrimb) {
|
||||
setprop("/FMGC/internal/to-ths", trimb);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -165,22 +168,22 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/to-flap", flap);
|
||||
setprop("/FMGC/internal/to-ths", -1 * trima);
|
||||
setprop("/FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (trims == 5 and find("DN", trim) != -1 and validtrimb) {
|
||||
setprop("/FMGC/internal/to-flap", flap);
|
||||
setprop("/FMGC/internal/to-ths", -1 * trimb);
|
||||
setprop("/FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrima) {
|
||||
setprop("/FMGC/internal/to-flap", flap);
|
||||
setprop("/FMGC/internal/to-ths", trima);
|
||||
setprop("/FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (trims == 5 and find("UP", trim) != -1 and validtrimb) {
|
||||
setprop("/FMGC/internal/to-flap", flap);
|
||||
setprop("/FMGC/internal/to-ths", trimb);
|
||||
setprop("/FMGC/internal/flap-ths-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -192,7 +195,7 @@ var perfTOInput = func(key, i) {
|
|||
if (!getprop("/FMGC/internal/flap-ths-set")) {
|
||||
setprop("/FMGC/internal/flap-ths-set", 1);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -202,7 +205,7 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/flex", 0);
|
||||
setprop("/FMGC/internal/flex-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 1 or tfs == 2) {
|
||||
|
@ -211,7 +214,7 @@ var perfTOInput = func(key, i) {
|
|||
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[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -224,13 +227,13 @@ var perfTOInput = func(key, i) {
|
|||
setprop("/FMGC/internal/eng-out-reduc", "1500");
|
||||
setprop("MCDUC/reducacc-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (int(scratchpad) != nil and (tfs == 4 or tfs == 5) and scratchpad >= 1000 and scratchpad <= 39000) {
|
||||
setprop("/FMGC/internal/eng-out-reduc", scratchpad);
|
||||
setprop("MCDUC/reducacc-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -12,12 +12,12 @@ var progCLBInput = func(key, i) {
|
|||
setprop("/FMGC/internal/decel", 0);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100) {
|
||||
setprop("/FMGC/internal/cruise-fl-prog", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
if (getprop("/FMGC/status/phase") == 5) {
|
||||
setprop("/FMGC/status/phase", 3);
|
||||
setprop("/FMGC/internal/activate-once", 0);
|
||||
|
|
|
@ -12,12 +12,12 @@ var progCRZInput = func(key, i) {
|
|||
setprop("/FMGC/internal/decel", 0);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100) {
|
||||
setprop("/FMGC/internal/cruise-fl-prog", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
if (getprop("/FMGC/status/phase") == 5) {
|
||||
setprop("/FMGC/status/phase", 3);
|
||||
setprop("/FMGC/internal/activate-once", 0);
|
||||
|
|
|
@ -12,12 +12,12 @@ var progDESInput = func(key, i) {
|
|||
setprop("/FMGC/internal/decel", 0);
|
||||
}
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100) {
|
||||
setprop("/FMGC/internal/cruise-fl-prog", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
if (getprop("/FMGC/status/phase") == 4 or getprop("/FMGC/status/phase") == 5 or getprop("/FMGC/status/phase") == 6) {
|
||||
setprop("/FMGC/status/phase", 3);
|
||||
setprop("/FMGC/internal/activate-once", 0);
|
||||
|
|
|
@ -8,12 +8,12 @@ var progTOInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/cruise-fl-prog", getprop("/FMGC/internal/cruise-fl"));
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else if (int(scratchpad) != nil) {
|
||||
var crzs = size(scratchpad);
|
||||
if (crzs >= 1 and crzs <= 3 and scratchpad > 0 and scratchpad <= 430 and altSet.getValue() <= scratchpad * 100 and getprop("/FMGC/internal/cruise-lvl-set")) {
|
||||
setprop("/FMGC/internal/cruise-fl-prog", scratchpad);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/vor1freq-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3 or tfs == 5 or tfs == 6) {
|
||||
|
@ -21,12 +21,12 @@ var radnavInput = func(key, i) {
|
|||
} else {
|
||||
setprop("instrumentation/nav[2]/frequencies/selected-mhz", scratchpad);
|
||||
setprop("/FMGC/internal/vor1freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
}
|
||||
} else if (scratchpad >= 112.00 and scratchpad <= 117.95) {
|
||||
setprop("instrumentation/nav[2]/frequencies/selected-mhz", scratchpad);
|
||||
setprop("/FMGC/internal/vor1freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -38,14 +38,14 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/vor1crs-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 3) {
|
||||
if (scratchpad >= 0 and scratchpad <= 360) {
|
||||
setprop("instrumentation/nav[2]/radials/selected-deg", scratchpad);
|
||||
setprop("/FMGC/internal/vor1crs-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/ils1freq-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3 or tfs == 5 or tfs == 6) {
|
||||
|
@ -68,7 +68,7 @@ var radnavInput = func(key, i) {
|
|||
or scratchpad == 111.10 or scratchpad == 111.15 or scratchpad == 111.30 or scratchpad == 111.35 or scratchpad == 111.50 or scratchpad == 111.55 or scratchpad == 111.70 or scratchpad == 111.75 or scratchpad == 111.90 or scratchpad == 111.95) {
|
||||
setprop("instrumentation/nav[0]/frequencies/selected-mhz", scratchpad);
|
||||
setprop("/FMGC/internal/ils1freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
if (num(getprop("/FMGC/internal/ils1freq-calculated")) != 0 and num(getprop("/FMGC/internal/ils1freq-calculated")) != num(getprop("instrumentation/nav[0]/frequencies/selected-mhz"))) {
|
||||
genericMessage(i, "RWY/LS MISMATCH", "amb");
|
||||
}
|
||||
|
@ -86,14 +86,14 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/ils1crs-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 3) {
|
||||
if (scratchpad >= 0 and scratchpad <= 360) {
|
||||
setprop("instrumentation/nav[0]/radials/selected-deg", scratchpad);
|
||||
setprop("/FMGC/internal/ils1crs-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -105,14 +105,14 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/adf1freq-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3 or tfs == 4) {
|
||||
if (scratchpad >= 190 and scratchpad <= 1750) {
|
||||
setprop("instrumentation/adf[0]/frequencies/selected-khz", scratchpad);
|
||||
setprop("/FMGC/internal/adf1freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -124,7 +124,7 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/vor2freq-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3 or tfs == 5 or tfs == 6) {
|
||||
|
@ -137,12 +137,12 @@ var radnavInput = func(key, i) {
|
|||
} else {
|
||||
setprop("instrumentation/nav[3]/frequencies/selected-mhz", scratchpad);
|
||||
setprop("/FMGC/internal/vor2freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
}
|
||||
} else if (scratchpad >= 112.00 and scratchpad <= 117.95) {
|
||||
setprop("instrumentation/nav[3]/frequencies/selected-mhz", scratchpad);
|
||||
setprop("/FMGC/internal/vor2freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -154,14 +154,14 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/vor2crs-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs >= 1 and tfs <= 3) {
|
||||
if (scratchpad >= 0 and scratchpad <= 360) {
|
||||
setprop("instrumentation/nav[3]/radials/selected-deg", scratchpad);
|
||||
setprop("/FMGC/internal/vor2crs-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
@ -173,14 +173,14 @@ var radnavInput = func(key, i) {
|
|||
if (scratchpad == "CLR") {
|
||||
setprop("/FMGC/internal/adf2freq-set", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad-msg", 0);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
var tfs = size(scratchpad);
|
||||
if (tfs == 3 or tfs == 4) {
|
||||
if (scratchpad >= 190 and scratchpad <= 1750) {
|
||||
setprop("instrumentation/adf[1]/frequencies/selected-khz", scratchpad);
|
||||
setprop("/FMGC/internal/adf2freq-set", 1);
|
||||
setprop("MCDU[" ~ i ~ "]/scratchpad", "");
|
||||
mcdu.clearScratchpad(i);
|
||||
} else {
|
||||
notAllowed(i);
|
||||
}
|
||||
|
|
|
@ -8,14 +8,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>20</y>
|
||||
|
@ -28,14 +29,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>-20</y>
|
||||
|
@ -48,14 +50,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>20</y>
|
||||
|
@ -68,14 +71,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>-20</y>
|
||||
|
@ -492,21 +496,23 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
<inner-angle>225</inner-angle>
|
||||
<outer-angle>135</outer-angle>
|
||||
<outer-gain>0.01</outer-gain>
|
||||
<outer-gain>0.60</outer-gain>
|
||||
</orientation>
|
||||
<reference-dist>30</reference-dist>
|
||||
<position>
|
||||
|
@ -521,21 +527,23 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
<inner-angle>225</inner-angle>
|
||||
<outer-angle>135</outer-angle>
|
||||
<outer-gain>0.01</outer-gain>
|
||||
<outer-gain>0.60</outer-gain>
|
||||
</orientation>
|
||||
<reference-dist>30</reference-dist>
|
||||
<position>
|
||||
|
@ -550,14 +558,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
|
@ -579,14 +589,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
|
@ -608,14 +620,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup-rear.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
@ -637,14 +651,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup-rear.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
|
|
@ -8,14 +8,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>20</y>
|
||||
|
@ -28,14 +29,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>-20</y>
|
||||
|
@ -48,14 +50,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>20</y>
|
||||
|
@ -68,14 +71,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/start/A320_cockpit_startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>-20</y>
|
||||
|
@ -448,21 +452,23 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
<inner-angle>225</inner-angle>
|
||||
<outer-angle>135</outer-angle>
|
||||
<outer-gain>0.01</outer-gain>
|
||||
<outer-gain>0.60</outer-gain>
|
||||
</orientation>
|
||||
<reference-dist>30</reference-dist>
|
||||
<position>
|
||||
|
@ -477,21 +483,23 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
<inner-angle>225</inner-angle>
|
||||
<outer-angle>135</outer-angle>
|
||||
<outer-gain>0.01</outer-gain>
|
||||
<outer-gain>0.60</outer-gain>
|
||||
</orientation>
|
||||
<reference-dist>30</reference-dist>
|
||||
<position>
|
||||
|
@ -506,14 +514,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
|
@ -535,14 +545,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
|
@ -564,14 +576,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup-rear.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
@ -593,14 +607,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/CFM56B/external/cfm-startup-rear.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
|
|
@ -8,14 +8,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/start/v2500-start1.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>20</y>
|
||||
|
@ -28,14 +29,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/start/v2500-start1.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>-20</y>
|
||||
|
@ -48,14 +50,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/start/v2500-start2.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>20</y>
|
||||
|
@ -68,14 +71,15 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/start/v2500-start2.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>1</factor>
|
||||
</volume>
|
||||
<position>
|
||||
<x>0</x>
|
||||
<y>-20</y>
|
||||
|
@ -309,21 +313,23 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/external/v2500-starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
<inner-angle>225</inner-angle>
|
||||
<outer-angle>135</outer-angle>
|
||||
<outer-gain>0.01</outer-gain>
|
||||
<outer-gain>0.60</outer-gain>
|
||||
</orientation>
|
||||
<reference-dist>30</reference-dist>
|
||||
<position>
|
||||
|
@ -338,21 +344,23 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/external/v2500-starter.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
<z>0</z>
|
||||
<inner-angle>225</inner-angle>
|
||||
<outer-angle>135</outer-angle>
|
||||
<outer-gain>0.01</outer-gain>
|
||||
<outer-gain>0.60</outer-gain>
|
||||
</orientation>
|
||||
<reference-dist>30</reference-dist>
|
||||
<position>
|
||||
|
@ -367,14 +375,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/external/v2500-startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
|
@ -396,14 +406,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/external/v2500-startup.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>-1</x>
|
||||
<y>0</y>
|
||||
|
@ -425,14 +437,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/external/v2500-startup-rear.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[0]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
@ -454,14 +468,16 @@
|
|||
<mode>once</mode>
|
||||
<path>Aircraft/A320-family/Sounds/SASA/V2500/external/v2500-startup-rear.wav</path>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
<not><property>/sim/sound/internal-custom</property></not>
|
||||
</and>
|
||||
<equals>
|
||||
<property>/engines/engine[1]/state</property>
|
||||
<value>2</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<volume>
|
||||
<property>/sim/sound/internal-custom</property>
|
||||
<factor>-1</factor>
|
||||
<offset>1</offset>
|
||||
</volume>
|
||||
<orientation>
|
||||
<x>1</x>
|
||||
<y>0</y>
|
||||
|
|
|
@ -748,15 +748,10 @@
|
|||
/systems/hydraulic/yellow-psi ge 1500
|
||||
/sim/model/autopush/connected eq 0
|
||||
/controls/gear/nws-switch eq 1
|
||||
/engines/engine[0]/state eq 3
|
||||
</test>
|
||||
<test logic="AND" value="1">
|
||||
position/wow eq 1
|
||||
hydraulics/tiller/elec-pwr eq 1
|
||||
/systems/hydraulic/yellow-psi ge 1500
|
||||
/sim/model/autopush/connected eq 0
|
||||
/controls/gear/nws-switch eq 1
|
||||
/engines/engine[1]/state eq 3
|
||||
<test logic="OR">
|
||||
/engines/engine[0]/state eq 3
|
||||
/engines/engine[1]/state eq 3
|
||||
</test>
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
|
@ -789,11 +784,13 @@
|
|||
|
||||
<switch name="fcs/steer-rate">
|
||||
<default value="0"/>
|
||||
<test logic="OR" value="12">
|
||||
hydraulics/tiller/hyd-pwr eq 1
|
||||
<test logic="OR" value="75">
|
||||
/sim/model/autopush/connected eq 1
|
||||
/systems/acconfig/autoconfig-running eq 1
|
||||
</test>
|
||||
<test logic="OR" value="12">
|
||||
hydraulics/tiller/hyd-pwr eq 1
|
||||
</test>
|
||||
</switch>
|
||||
|
||||
<actuator name="fcs/steer-deg">
|
||||
|
|
|
@ -247,11 +247,11 @@
|
|||
<tcas>
|
||||
<name>tcas</name>
|
||||
<number>0</number>
|
||||
<!--<vertical-range-ft>9900</vertical-range-ft>
|
||||
<vertical-range-ft>9900</vertical-range-ft>
|
||||
<lateral-range-nm>30</lateral-range-nm>
|
||||
<intruder-use-own-alt>1</intruder-use-own-alt>
|
||||
<intruder-inhibit-alt-ft>380</intruder-inhibit-alt-ft>
|
||||
<intruder-minimum-own-alt-ft>1700</intruder-minimum-own-alt-ft> uncomment for 2019.3 -->
|
||||
<intruder-minimum-own-alt-ft>1700</intruder-minimum-own-alt-ft>
|
||||
</tcas>
|
||||
|
||||
<radar>
|
||||
|
|
|
@ -508,6 +508,16 @@
|
|||
<legend>AIR</legend>
|
||||
<pref-height>25</pref-height>
|
||||
<pref-width>40</pref-width>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>mcdu.pagebutton("airport", 0);</script>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-1</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
</binding>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
|
|
|
@ -508,6 +508,23 @@
|
|||
<legend>AIR</legend>
|
||||
<pref-height>25</pref-height>
|
||||
<pref-width>40</pref-width>
|
||||
<button>
|
||||
<row>0</row>
|
||||
<col>0</col>
|
||||
<legend>AIR</legend>
|
||||
<pref-height>25</pref-height>
|
||||
<pref-width>40</pref-width>
|
||||
<binding>
|
||||
<command>nasal</command>
|
||||
<script>mcdu.pagebutton("airport", 1);</script>
|
||||
<condition>
|
||||
<greater-than-equals>
|
||||
<property>systems/electrical/bus/ac-2</property>
|
||||
<value>110</value>
|
||||
</greater-than-equals>
|
||||
</condition>
|
||||
</binding>
|
||||
</button>
|
||||
</button>
|
||||
|
||||
<button>
|
||||
|
|
Loading…
Add table
Reference in a new issue