FMGC: Streamline autopilot speeds
This commit is contained in:
parent
d2dbb68201
commit
e6a6398ff6
9 changed files with 95 additions and 95 deletions
|
@ -4323,7 +4323,7 @@
|
|||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<type type="string">number-value</type>
|
||||
<format type="string">%3.0f</format>
|
||||
<property>it-autoflight/input/spd-kts</property>
|
||||
<property>it-autoflight/input/kts</property>
|
||||
<truncate>false</truncate>
|
||||
<font type="string">led.txf</font>
|
||||
<draw-text>true</draw-text>
|
||||
|
@ -4349,7 +4349,7 @@
|
|||
<axis-alignment>xy-plane</axis-alignment>
|
||||
<type type="string">number-value</type>
|
||||
<format type="string">%0.3f</format>
|
||||
<property>it-autoflight/input/spd-mach</property>
|
||||
<property>it-autoflight/input/mach</property>
|
||||
<truncate>false</truncate>
|
||||
<font type="string">led.txf</font>
|
||||
<draw-text>true</draw-text>
|
||||
|
|
|
@ -2531,9 +2531,9 @@ var canvas_MCDU_base = {
|
|||
} else {
|
||||
me["Simple_L1"].setText("SELECTED");
|
||||
if (getprop("/it-autoflight/input/kts-mach")) {
|
||||
me["Simple_L4"].setText(sprintf(" %3.3f", getprop("/it-autoflight/input/spd-mach")));
|
||||
me["Simple_L4"].setText(sprintf(" %3.3f", getprop("/it-autoflight/input/mach")));
|
||||
} else {
|
||||
me["Simple_L4"].setText(sprintf(" %s", int(getprop("/it-autoflight/input/spd-kts"))));
|
||||
me["Simple_L4"].setText(sprintf(" %s", int(getprop("/it-autoflight/input/kts"))));
|
||||
}
|
||||
me.fontLeft(0, 0, 0, default, 0, 0);
|
||||
}
|
||||
|
@ -2685,9 +2685,9 @@ var canvas_MCDU_base = {
|
|||
} else {
|
||||
me["Simple_L1"].setText("SELECTED");
|
||||
if (getprop("/it-autoflight/input/kts-mach")) {
|
||||
me["Simple_L4"].setText(sprintf(" %3.3f", getprop("/it-autoflight/input/spd-mach")));
|
||||
me["Simple_L4"].setText(sprintf(" %3.3f", getprop("/it-autoflight/input/mach")));
|
||||
} else {
|
||||
me["Simple_L4"].setText(sprintf(" %s", int(getprop("/it-autoflight/input/spd-kts"))));
|
||||
me["Simple_L4"].setText(sprintf(" %s", int(getprop("/it-autoflight/input/kts"))));
|
||||
}
|
||||
me.fontLeft(0, 0, 0, default, 0, 0);
|
||||
}
|
||||
|
@ -2846,9 +2846,9 @@ var canvas_MCDU_base = {
|
|||
} else {
|
||||
me["Simple_L1"].setText("SELECTED");
|
||||
if (getprop("/it-autoflight/input/kts-mach")) {
|
||||
me["Simple_L4"].setText(sprintf(" %3.3f", getprop("/it-autoflight/input/spd-mach")));
|
||||
me["Simple_L4"].setText(sprintf(" %3.3f", getprop("/it-autoflight/input/mach")));
|
||||
} else {
|
||||
me["Simple_L4"].setText(sprintf(" %3.0f", getprop("/it-autoflight/input/spd-kts")));
|
||||
me["Simple_L4"].setText(sprintf(" %3.0f", getprop("/it-autoflight/input/kts")));
|
||||
}
|
||||
me.fontLeft(0, 0, 0, default, 0, 0);
|
||||
}
|
||||
|
|
|
@ -82,8 +82,8 @@ var FMGC_max_spd = props.globals.getNode("/FMGC/internal/maxspeed", 1);
|
|||
var ind_spd_kt = props.globals.getNode("/instrumentation/airspeed-indicator/indicated-speed-kt", 1);
|
||||
var ind_spd_mach = props.globals.getNode("/instrumentation/airspeed-indicator/indicated-mach", 1);
|
||||
var at_mach_mode = props.globals.getNode("/it-autoflight/input/kts-mach", 1);
|
||||
var at_input_spd_mach = props.globals.getNode("/it-autoflight/input/spd-mach", 1);
|
||||
var at_input_spd_kts = props.globals.getNode("/it-autoflight/input/spd-kts", 1);
|
||||
var at_input_spd_mach = props.globals.getNode("/it-autoflight/input/mach", 1);
|
||||
var at_input_spd_kts = props.globals.getNode("/it-autoflight/input/kts", 1);
|
||||
var fd_roll = props.globals.getNode("/it-autoflight/fd/roll-bar", 1);
|
||||
var fd_pitch = props.globals.getNode("/it-autoflight/fd/pitch-bar", 1);
|
||||
var decision = props.globals.getNode("/instrumentation/mk-viii/inputs/arinc429/decision-height", 1);
|
||||
|
|
|
@ -2,37 +2,37 @@
|
|||
# Copyright (c) 2020 Josh Davidson (Octal450), Jonathan Redpath (legoboyvdlp)
|
||||
|
||||
# Nodes
|
||||
var fd1 = props.globals.getNode("it-autoflight/output/fd1", 1);
|
||||
var fd2 = props.globals.getNode("it-autoflight/output/fd2", 1);
|
||||
var ap1 = props.globals.getNode("it-autoflight/output/ap1", 1);
|
||||
var ap2 = props.globals.getNode("it-autoflight/output/ap2", 1);
|
||||
var athr = props.globals.getNode("it-autoflight/output/athr", 1);
|
||||
var fd1Input = props.globals.getNode("it-autoflight/input/fd1", 1);
|
||||
var fd2Input = props.globals.getNode("it-autoflight/input/fd2", 1);
|
||||
var ap1Input = props.globals.getNode("it-autoflight/input/ap1", 1);
|
||||
var ap2Input = props.globals.getNode("it-autoflight/input/ap2", 1);
|
||||
var athrInput = props.globals.getNode("it-autoflight/input/athr", 1);
|
||||
var ktsMach = props.globals.getNode("it-autoflight/input/kts-mach", 1);
|
||||
var iasSet = props.globals.getNode("it-autoflight/input/spd-kts", 1);
|
||||
var machSet = props.globals.getNode("it-autoflight/input/spd-mach", 1);
|
||||
var hdgSet = props.globals.getNode("it-autoflight/input/hdg", 1);
|
||||
var altSet = props.globals.getNode("it-autoflight/input/alt", 1);
|
||||
var altSetMode = props.globals.getNode("it-autoflight/config/altitude-dial-mode", 1);
|
||||
var vsSet = props.globals.getNode("it-autoflight/input/vs", 1);
|
||||
var fpaSet = props.globals.getNode("it-autoflight/input/fpa", 1);
|
||||
var iasNow = props.globals.getNode("instrumentation/airspeed-indicator/indicated-speed-kt", 1);
|
||||
var machNow = props.globals.getNode("instrumentation/airspeed-indicator/indicated-mach", 1);
|
||||
var spdManaged = props.globals.getNode("it-autoflight/input/spd-managed", 1);
|
||||
var showHDG = props.globals.getNode("it-autoflight/custom/show-hdg", 1);
|
||||
var trkFpaSW = props.globals.getNode("it-autoflight/custom/trk-fpa", 1);
|
||||
var latMode = props.globals.getNode("it-autoflight/output/lat", 1);
|
||||
var vertMode = props.globals.getNode("it-autoflight/output/vert", 1);
|
||||
var fpaModeInput = props.globals.getNode("it-autoflight/input/fpa", 1);
|
||||
var latModeInput = props.globals.getNode("it-autoflight/input/lat", 1);
|
||||
var vertModeInput = props.globals.getNode("it-autoflight/input/vert", 1);
|
||||
var vsModeInput = props.globals.getNode("it-autoflight/input/vs", 1);
|
||||
var locArm = props.globals.getNode("it-autoflight/output/loc-armed", 1);
|
||||
var apprArm = props.globals.getNode("it-autoflight/output/appr-armed", 1);
|
||||
var fd1 = props.globals.getNode("/it-autoflight/output/fd1", 1);
|
||||
var fd2 = props.globals.getNode("/it-autoflight/output/fd2", 1);
|
||||
var ap1 = props.globals.getNode("/it-autoflight/output/ap1", 1);
|
||||
var ap2 = props.globals.getNode("/it-autoflight/output/ap2", 1);
|
||||
var athr = props.globals.getNode("/it-autoflight/output/athr", 1);
|
||||
var fd1Input = props.globals.getNode("/it-autoflight/input/fd1", 1);
|
||||
var fd2Input = props.globals.getNode("/it-autoflight/input/fd2", 1);
|
||||
var ap1Input = props.globals.getNode("/it-autoflight/input/ap1", 1);
|
||||
var ap2Input = props.globals.getNode("/it-autoflight/input/ap2", 1);
|
||||
var athrInput = props.globals.getNode("/it-autoflight/input/athr", 1);
|
||||
var ktsMach = props.globals.getNode("/it-autoflight/input/kts-mach", 1);
|
||||
var iasSet = props.globals.getNode("/it-autoflight/input/kts", 1);
|
||||
var machSet = props.globals.getNode("/it-autoflight/input/mach", 1);
|
||||
var hdgSet = props.globals.getNode("/it-autoflight/input/hdg", 1);
|
||||
var altSet = props.globals.getNode("/it-autoflight/input/alt", 1);
|
||||
var altSetMode = props.globals.getNode("/it-autoflight/config/altitude-dial-mode", 1);
|
||||
var vsSet = props.globals.getNode("/it-autoflight/input/vs", 1);
|
||||
var fpaSet = props.globals.getNode("/it-autoflight/input/fpa", 1);
|
||||
var iasNow = props.globals.getNode("/instrumentation/airspeed-indicator/indicated-speed-kt", 1);
|
||||
var machNow = props.globals.getNode("/instrumentation/airspeed-indicator/indicated-mach", 1);
|
||||
var spdManaged = props.globals.getNode("/it-autoflight/input/spd-managed", 1);
|
||||
var showHDG = props.globals.getNode("/it-autoflight/custom/show-hdg", 1);
|
||||
var trkFpaSW = props.globals.getNode("/it-autoflight/custom/trk-fpa", 1);
|
||||
var latMode = props.globals.getNode("/it-autoflight/output/lat", 1);
|
||||
var vertMode = props.globals.getNode("/it-autoflight/output/vert", 1);
|
||||
var fpaModeInput = props.globals.getNode("/it-autoflight/input/fpa", 1);
|
||||
var latModeInput = props.globals.getNode("/it-autoflight/input/lat", 1);
|
||||
var vertModeInput = props.globals.getNode("/it-autoflight/input/vert", 1);
|
||||
var vsModeInput = props.globals.getNode("/it-autoflight/input/vs", 1);
|
||||
var locArm = props.globals.getNode("/it-autoflight/output/loc-armed", 1);
|
||||
var apprArm = props.globals.getNode("/it-autoflight/output/appr-armed", 1);
|
||||
var FCUworkingNode = props.globals.initNode("/FMGC/FCU-working", 0, "BOOL");
|
||||
|
||||
var FCU = {
|
||||
|
|
|
@ -14,8 +14,8 @@ var FPLN = {
|
|||
active: props.globals.getNode("/FMGC/flightplan[2]/active", 1),
|
||||
activeTemp: 0,
|
||||
currentCourse: 0,
|
||||
currentWP: props.globals.getNode("/FMGC/flightplan[2]/current-wp", 1),
|
||||
currentWPTemp: 0,
|
||||
currentWp: props.globals.getNode("/FMGC/flightplan[2]/current-wp", 1),
|
||||
currentWpTemp: 0,
|
||||
deltaAngle: 0,
|
||||
deltaAngleRad: 0,
|
||||
distCoeff: 0,
|
||||
|
@ -90,11 +90,11 @@ var Input = {
|
|||
fpaAbs: props.globals.initNode("/it-autoflight/input/fpa-abs", 0, "DOUBLE"), # Set by property rule
|
||||
hdg: props.globals.initNode("/it-autoflight/input/hdg", 0, "INT"),
|
||||
hdgCalc: 0,
|
||||
ias: props.globals.initNode("/it-autoflight/input/spd-kts", 250, "INT"),
|
||||
kts: props.globals.initNode("/it-autoflight/input/kts", 100, "INT"),
|
||||
ktsMach: props.globals.initNode("/it-autoflight/input/kts-mach", 0, "BOOL"),
|
||||
lat: props.globals.initNode("/it-autoflight/input/lat", 5, "INT"),
|
||||
latTemp: 5,
|
||||
mach: props.globals.initNode("/it-autoflight/input/spd-mach", 0.5, "DOUBLE"),
|
||||
mach: props.globals.initNode("/it-autoflight/input/mach", 0.5, "DOUBLE"),
|
||||
toga: props.globals.initNode("/it-autoflight/input/toga", 0, "BOOL"),
|
||||
trk: props.globals.initNode("/it-autoflight/input/trk", 0, "BOOL"),
|
||||
trueCourse: props.globals.initNode("/it-autoflight/input/true-course", 0, "BOOL"),
|
||||
|
@ -112,7 +112,7 @@ var Internal = {
|
|||
altPredicted: props.globals.initNode("/it-autoflight/internal/altitude-predicted", 0, "DOUBLE"),
|
||||
bankLimit: props.globals.initNode("/it-autoflight/internal/bank-limit", 30, "INT"),
|
||||
bankLimitAuto: 30,
|
||||
captVS: 0,
|
||||
captVs: 0,
|
||||
driftAngle: props.globals.initNode("/it-autoflight/internal/drift-angle-deg", 0, "DOUBLE"),
|
||||
flchActive: 0,
|
||||
fpa: props.globals.initNode("/it-autoflight/internal/fpa", 0, "DOUBLE"),
|
||||
|
@ -120,8 +120,8 @@ var Internal = {
|
|||
hdgErrorDeg: props.globals.initNode("/it-autoflight/internal/heading-error-deg", 0, "DOUBLE"),
|
||||
hdgPredicted: props.globals.initNode("/it-autoflight/internal/heading-predicted", 0, "DOUBLE"),
|
||||
lnavAdvanceNm: props.globals.initNode("/it-autoflight/internal/lnav-advance-nm", 0, "DOUBLE"),
|
||||
minVS: props.globals.initNode("/it-autoflight/internal/min-vs", -500, "INT"),
|
||||
maxVS: props.globals.initNode("/it-autoflight/internal/max-vs", 500, "INT"),
|
||||
minVs: props.globals.initNode("/it-autoflight/internal/min-vs", -500, "INT"),
|
||||
maxVs: props.globals.initNode("/it-autoflight/internal/max-vs", 500, "INT"),
|
||||
trk: props.globals.initNode("/it-autoflight/internal/track-deg", 0, "DOUBLE"),
|
||||
vs: props.globals.initNode("/it-autoflight/internal/vert-speed-fpm", 0, "DOUBLE"),
|
||||
vsTemp: 0,
|
||||
|
@ -220,13 +220,13 @@ var ITAF = {
|
|||
Output.thrMode.setValue(0);
|
||||
Output.lat.setValue(9);
|
||||
Output.vert.setValue(9);
|
||||
Internal.minVS.setValue(-500);
|
||||
Internal.maxVS.setValue(500);
|
||||
Internal.minVs.setValue(-500);
|
||||
Internal.maxVs.setValue(500);
|
||||
Internal.bankLimit.setValue(30);
|
||||
Internal.bankLimitAuto = 30;
|
||||
Internal.alt.setValue(10000);
|
||||
Internal.altCaptureActive = 0;
|
||||
Input.ias.setValue(100);
|
||||
Input.kts.setValue(100);
|
||||
Input.mach.setValue(0.5);
|
||||
Text.thr.setValue("THRUST");
|
||||
Text.arm.setValue(" ");
|
||||
|
@ -309,9 +309,9 @@ var ITAF = {
|
|||
Internal.altDiff = Internal.altTemp - Position.indicatedAltitudeFtTemp;
|
||||
|
||||
if (Output.vertTemp != 0 and Output.vertTemp != 2 and Output.vertTemp != 6 and Output.vertTemp != 9) {
|
||||
Internal.captVS = math.clamp(math.round(abs(Internal.vs.getValue()) / 5, 100), 50, 2500); # Capture limits
|
||||
Internal.captVs = math.clamp(math.round(abs(Internal.vs.getValue()) / 5, 100), 50, 2500); # Capture limits
|
||||
Custom.apFdOn = Output.ap1Temp or Output.ap2Temp or Output.fd1.getBoolValue() or Output.fd2.getBoolValue();
|
||||
if (abs(Internal.altDiff) <= Internal.captVS and !Gear.wow1Temp and !Gear.wow2Temp and Custom.apFdOn) {
|
||||
if (abs(Internal.altDiff) <= Internal.captVs and !Gear.wow1Temp and !Gear.wow2Temp and Custom.apFdOn) {
|
||||
if (Internal.altTemp >= Position.indicatedAltitudeFtTemp and Internal.vsTemp >= -25) { # Don't capture if we are going the wrong way
|
||||
me.setVertMode(3);
|
||||
} else if (Internal.altTemp < Position.indicatedAltitudeFtTemp and Internal.vsTemp <= 25) { # Don't capture if we are going the wrong way
|
||||
|
@ -380,7 +380,7 @@ var ITAF = {
|
|||
Input.bankLimitSWTemp = Input.bankLimitSW.getValue();
|
||||
Velocities.trueAirspeedKtTemp = Velocities.trueAirspeedKt.getValue();
|
||||
FPLN.activeTemp = FPLN.active.getValue();
|
||||
FPLN.currentWPTemp = FPLN.currentWP.getValue();
|
||||
FPLN.currentWpTemp = FPLN.currentWp.getValue();
|
||||
|
||||
# Bank Limit
|
||||
if (Velocities.trueAirspeedKtTemp >= 420) {
|
||||
|
@ -402,14 +402,14 @@ var ITAF = {
|
|||
|
||||
# Waypoint Advance Logic
|
||||
if (flightPlanController.num[2].getValue() > 0 and FPLN.activeTemp == 1) {
|
||||
if ((FPLN.currentWPTemp + 1) < flightPlanController.num[2].getValue()) {
|
||||
if ((FPLN.currentWpTemp + 1) < flightPlanController.num[2].getValue()) {
|
||||
Velocities.groundspeedMps = Velocities.groundspeedKt.getValue() * 0.5144444444444;
|
||||
FPLN.wpFlyFrom = FPLN.currentWPTemp;
|
||||
FPLN.wpFlyFrom = FPLN.currentWpTemp;
|
||||
if (FPLN.wpFlyFrom < 0) {
|
||||
FPLN.wpFlyFrom = 0;
|
||||
}
|
||||
FPLN.currentCourse = fmgc.wpCourse[2][FPLN.wpFlyFrom].getValue();
|
||||
FPLN.wpFlyTo = FPLN.currentWPTemp + 1;
|
||||
FPLN.wpFlyTo = FPLN.currentWpTemp + 1;
|
||||
FPLN.nextCourse = fmgc.wpCourse[2][FPLN.wpFlyTo].getValue();
|
||||
FPLN.maxBankLimit = Internal.bankLimit.getValue();
|
||||
|
||||
|
@ -436,7 +436,7 @@ var ITAF = {
|
|||
flightPlanController.autoSequencing();
|
||||
}
|
||||
|
||||
#if (FPLN.wp0Dist.getValue() <= FPLN.turnDist and !Gear.wow1.getBoolValue() and fmgc.flightPlanController.flightplans[2].getWP(FPLN.currentWPTemp).fly_type == "flyBy") {
|
||||
#if (FPLN.wp0Dist.getValue() <= FPLN.turnDist and !Gear.wow1.getBoolValue() and fmgc.flightPlanController.flightplans[2].getWP(FPLN.currentWpTemp).fly_type == "flyBy") {
|
||||
# flightPlanController.autoSequencing();
|
||||
#} elsif (FPLN.wp0Dist.getValue() <= 0.1) {
|
||||
# flightPlanController.autoSequencing();
|
||||
|
@ -569,7 +569,7 @@ var ITAF = {
|
|||
Output.lnavArm.setBoolValue(0);
|
||||
Output.locArm.setBoolValue(0);
|
||||
Output.apprArm.setBoolValue(0);
|
||||
me.syncHDG();
|
||||
me.syncHdg();
|
||||
Output.lat.setValue(0);
|
||||
Custom.showHdg.setBoolValue(1);
|
||||
Text.lat.setValue("HDG");
|
||||
|
@ -614,7 +614,7 @@ var ITAF = {
|
|||
me.armTextCheck();
|
||||
}
|
||||
} else if (n == 3) {
|
||||
me.syncHDG();
|
||||
me.syncHdg();
|
||||
Output.lnavArm.setBoolValue(0);
|
||||
Custom.showHdg.setBoolValue(1);
|
||||
me.armTextCheck();
|
||||
|
@ -629,7 +629,7 @@ var ITAF = {
|
|||
Output.vert.setValue(0);
|
||||
me.resetClimbRateLim();
|
||||
Text.vert.setValue("ALT HLD");
|
||||
me.syncALT();
|
||||
me.syncAlt();
|
||||
me.armTextCheck();
|
||||
} else if (n == 1) { # V/S
|
||||
if (abs(Input.altDiff) >= 25) {
|
||||
|
@ -638,7 +638,7 @@ var ITAF = {
|
|||
Output.apprArm.setBoolValue(0);
|
||||
Output.vert.setValue(1);
|
||||
Text.vert.setValue("V/S");
|
||||
me.syncVS();
|
||||
me.syncVs();
|
||||
me.armTextCheck();
|
||||
} else {
|
||||
Output.apprArm.setBoolValue(0);
|
||||
|
@ -682,7 +682,7 @@ var ITAF = {
|
|||
Output.apprArm.setBoolValue(0);
|
||||
Output.vert.setValue(5);
|
||||
Text.vert.setValue("FPA");
|
||||
me.syncFPA();
|
||||
me.syncFpa();
|
||||
me.armTextCheck();
|
||||
} else {
|
||||
Output.apprArm.setBoolValue(0);
|
||||
|
@ -807,16 +807,16 @@ var ITAF = {
|
|||
setClimbRateLim: func() {
|
||||
Internal.vsTemp = Internal.vs.getValue();
|
||||
if (Internal.alt.getValue() >= Position.indicatedAltitudeFt.getValue()) {
|
||||
Internal.maxVS.setValue(math.round(Internal.vsTemp));
|
||||
Internal.minVS.setValue(-500);
|
||||
Internal.maxVs.setValue(math.round(Internal.vsTemp));
|
||||
Internal.minVs.setValue(-500);
|
||||
} else {
|
||||
Internal.maxVS.setValue(500);
|
||||
Internal.minVS.setValue(math.round(Internal.vsTemp));
|
||||
Internal.maxVs.setValue(500);
|
||||
Internal.minVs.setValue(math.round(Internal.vsTemp));
|
||||
}
|
||||
},
|
||||
resetClimbRateLim: func() {
|
||||
Internal.minVS.setValue(-500);
|
||||
Internal.maxVS.setValue(500);
|
||||
Internal.minVs.setValue(-500);
|
||||
Internal.maxVs.setValue(500);
|
||||
},
|
||||
takeoffGoAround: func() {
|
||||
Output.vertTemp = Output.vert.getValue();
|
||||
|
@ -825,7 +825,7 @@ var ITAF = {
|
|||
me.setVertMode(7); # Must be before kicking AP off
|
||||
Text.vert.setValue("G/A CLB");
|
||||
Input.ktsMach.setBoolValue(0);
|
||||
me.syncIASGA();
|
||||
me.syncKtsGa();
|
||||
if (Gear.wow1.getBoolValue() or Gear.wow2.getBoolValue()) {
|
||||
me.ap1Master(0);
|
||||
me.ap2Master(0);
|
||||
|
@ -850,26 +850,26 @@ var ITAF = {
|
|||
Text.arm.setValue(" ");
|
||||
}
|
||||
},
|
||||
syncIAS: func() {
|
||||
Input.ias.setValue(math.clamp(math.round(Velocities.indicatedAirspeedKt.getValue()), 100, 350));
|
||||
syncKts: func() {
|
||||
Input.kts.setValue(math.clamp(math.round(Velocities.indicatedAirspeedKt.getValue()), 100, 350));
|
||||
},
|
||||
syncIASGA: func() { # Same as syncIAS, except doesn't go below V2
|
||||
Input.ias.setValue(math.clamp(math.round(Velocities.indicatedAirspeedKt.getValue()), Custom.FMGC.v2Speed.getValue(), 350));
|
||||
syncKtsGa: func() { # Same as syncKts, except doesn't go below V2
|
||||
Input.kts.setValue(math.clamp(math.round(Velocities.indicatedAirspeedKt.getValue()), Custom.FMGC.v2Speed.getValue(), 350));
|
||||
},
|
||||
syncMach: func() {
|
||||
Input.mach.setValue(math.clamp(math.round(Velocities.indicatedMach.getValue(), 0.001), 0.5, 0.82));
|
||||
},
|
||||
syncHDG: func() {
|
||||
syncHdg: func() {
|
||||
Input.hdg.setValue(math.round(Internal.hdgPredicted.getValue())); # Switches to track automatically
|
||||
},
|
||||
syncALT: func() {
|
||||
syncAlt: func() {
|
||||
Input.alt.setValue(math.clamp(math.round(Internal.altPredicted.getValue(), 100), 0, 50000));
|
||||
Internal.alt.setValue(math.clamp(math.round(Internal.altPredicted.getValue(), 100), 0, 50000));
|
||||
},
|
||||
syncVS: func() {
|
||||
syncVs: func() {
|
||||
Input.vs.setValue(math.clamp(math.round(Internal.vs.getValue(), 100), -6000, 6000));
|
||||
},
|
||||
syncFPA: func() {
|
||||
syncFpa: func() {
|
||||
Input.fpa.setValue(math.clamp(math.round(Internal.fpa.getValue(), 0.1), -9.9, 9.9));
|
||||
},
|
||||
# Custom Stuff Below
|
||||
|
@ -986,7 +986,7 @@ setlistener("/it-autoflight/input/kts-mach", func {
|
|||
if (Input.ktsMach.getBoolValue()) {
|
||||
ITAF.syncMach();
|
||||
} else {
|
||||
ITAF.syncIAS();
|
||||
ITAF.syncKts();
|
||||
}
|
||||
}, 0, 0);
|
||||
|
||||
|
|
|
@ -714,7 +714,7 @@ var reset_FMGC = func {
|
|||
setprop("/FMGC/status/phase", 0);
|
||||
fd1 = getprop("/it-autoflight/input/fd1");
|
||||
fd2 = getprop("/it-autoflight/input/fd2");
|
||||
spd = getprop("/it-autoflight/input/spd-kts");
|
||||
spd = getprop("/it-autoflight/input/kts");
|
||||
hdg = getprop("/it-autoflight/input/hdg");
|
||||
alt = getprop("/it-autoflight/input/alt");
|
||||
ITAF.init();
|
||||
|
@ -726,7 +726,7 @@ var reset_FMGC = func {
|
|||
mcdu.MCDU_reset(1);
|
||||
setprop("it-autoflight/input/fd1", fd1);
|
||||
setprop("it-autoflight/input/fd2", fd2);
|
||||
setprop("it-autoflight/input/spd-kts", spd);
|
||||
setprop("it-autoflight/input/kts", spd);
|
||||
setprop("it-autoflight/input/hdg", hdg);
|
||||
setprop("it-autoflight/input/alt", alt);
|
||||
setprop("systems/pressurization/mode", "GN");
|
||||
|
@ -868,8 +868,8 @@ var ManagedSPD = maketimer(0.25, func {
|
|||
mngktsmach = getprop("/FMGC/internal/mng-kts-mach");
|
||||
mng_spd = getprop("/FMGC/internal/mng-spd");
|
||||
mng_spd_cmd = getprop("/FMGC/internal/mng-spd-cmd");
|
||||
kts_sel = getprop("/it-autoflight/input/spd-kts");
|
||||
mach_sel = getprop("/it-autoflight/input/spd-mach");
|
||||
kts_sel = getprop("/it-autoflight/input/kts");
|
||||
mach_sel = getprop("/it-autoflight/input/mach");
|
||||
srsSPD = getprop("/it-autoflight/settings/togaspd");
|
||||
phase = getprop("/FMGC/status/phase"); # 0 is Preflight 1 is Takeoff 2 is Climb 3 is Cruise 4 is Descent 5 is Decel/Approach 6 is Go Around 7 is Done
|
||||
flap = getprop("/controls/flight/flaps-pos");
|
||||
|
@ -973,9 +973,9 @@ var ManagedSPD = maketimer(0.25, func {
|
|||
mng_spd = getprop("/FMGC/internal/mng-spd");
|
||||
|
||||
if (kts_sel != mng_spd and !ktsmach) {
|
||||
setprop("it-autoflight/input/spd-kts", mng_spd);
|
||||
setprop("it-autoflight/input/kts", mng_spd);
|
||||
} else if (mach_sel != mng_spd and ktsmach) {
|
||||
setprop("it-autoflight/input/spd-mach", mng_spd);
|
||||
setprop("it-autoflight/input/mach", mng_spd);
|
||||
}
|
||||
} else {
|
||||
ManagedSPD.stop();
|
||||
|
|
|
@ -100,7 +100,7 @@
|
|||
<value>0</value>
|
||||
</equals>
|
||||
</condition>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<property>/it-autoflight/input/kts</property>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
|
@ -115,7 +115,7 @@
|
|||
<property>/instrumentation/airspeed-indicator/indicated-speed-kt</property>
|
||||
<property>/instrumentation/airspeed-indicator/indicated-mach</property>
|
||||
</div>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<property>/it-autoflight/input/mach</property>
|
||||
</product>
|
||||
</expression>
|
||||
</input>
|
||||
|
@ -142,7 +142,7 @@
|
|||
</sum>
|
||||
</expression>
|
||||
</input>
|
||||
<input>/it-autoflight/input/spd-kts</input>
|
||||
<input>/it-autoflight/input/kts</input>
|
||||
<output>/it-autoflight/internal/flch-kts</output>
|
||||
<min>
|
||||
<expression>
|
||||
|
@ -198,7 +198,7 @@
|
|||
<type>noise-spike</type>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<input>/it-autoflight/input/spd-mach</input>
|
||||
<input>/it-autoflight/input/mach</input>
|
||||
<output>/it-autoflight/internal/flch-mach</output>
|
||||
<min>
|
||||
<expression>
|
||||
|
@ -270,7 +270,7 @@
|
|||
</floor>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/it-autoflight/input/spd-kts</output>
|
||||
<output>/it-autoflight/input/kts</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
@ -301,7 +301,7 @@
|
|||
</div>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/it-autoflight/input/spd-mach</output>
|
||||
<output>/it-autoflight/input/mach</output>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<type>noise-spike</type>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<input>/it-autoflight/input/spd-kts</input>
|
||||
<input>/it-autoflight/input/kts</input>
|
||||
<output>/it-autoflight/internal/athr-kts</output>
|
||||
<min>
|
||||
<expression>
|
||||
|
@ -69,7 +69,7 @@
|
|||
<type>noise-spike</type>
|
||||
<feedback-if-disabled>true</feedback-if-disabled>
|
||||
<initialize-to>output</initialize-to>
|
||||
<input>/it-autoflight/input/spd-mach</input>
|
||||
<input>/it-autoflight/input/mach</input>
|
||||
<output>/it-autoflight/internal/athr-mach</output>
|
||||
<min>
|
||||
<expression>
|
||||
|
|
|
@ -403,7 +403,7 @@
|
|||
<row>0</row>
|
||||
<col>3</col>
|
||||
<pref-width>50</pref-width>
|
||||
<property>/it-autoflight/input/spd-kts</property>
|
||||
<property>/it-autoflight/input/kts</property>
|
||||
<live type="bool">true</live>
|
||||
<enable>
|
||||
<and>
|
||||
|
@ -529,7 +529,7 @@
|
|||
<row>0</row>
|
||||
<col>3</col>
|
||||
<pref-width>50</pref-width>
|
||||
<property>/it-autoflight/input/spd-mach</property>
|
||||
<property>/it-autoflight/input/mach</property>
|
||||
<live type="bool">true</live>
|
||||
<enable>
|
||||
<and>
|
||||
|
|
Loading…
Reference in a new issue