1
0
Fork 0

Correct autopilot max bank angle to 30 deg, THR IDLE in autoland at 30 feet, altitude capture at delta 20 feet, and LAND arms at 400 rather than 300

This commit is contained in:
legoboyvdlp R 2020-07-19 23:58:21 +01:00
parent a97a012d68
commit a1d20d78fb

View file

@ -270,16 +270,17 @@ var ITAF = {
# Autoland Logic # Autoland Logic
if (Output.latTemp == 2) { if (Output.latTemp == 2) {
if (Position.gearAglFtTemp <= 150) { if (Position.gearAglFtTemp <= 50) { # ALIGN
me.setLatMode(4); me.setLatMode(4);
} }
} }
if (Output.vertTemp == 2) { if (Output.vertTemp == 2) {
if (Position.gearAglFtTemp <= 300 and Position.gearAglFtTemp >= 5) { if (Position.gearAglFtTemp <= 400 and Position.gearAglFtTemp >= 5) {
Text.vert.setValue("LAND"); Text.vert.setValue("LAND");
}
if (Position.gearAglFtTemp <= 100 and Position.gearAglFtTemp >= 5) { if (Position.gearAglFtTemp <= 100) { # switch to internal flare logic at 100 feet -- but on FMA at 50!
me.setVertMode(6); me.setVertMode(6);
}
} }
} else if (Output.vertTemp == 6) { } else if (Output.vertTemp == 6) {
if (Position.gearAglFtTemp <= 50 and Position.gearAglFtTemp >= 5) { if (Position.gearAglFtTemp <= 50 and Position.gearAglFtTemp >= 5) {
@ -317,14 +318,15 @@ var ITAF = {
# Altitude Hold Min/Max Reset # Altitude Hold Min/Max Reset
if (Internal.altCaptureActive) { if (Internal.altCaptureActive) {
if (abs(Internal.altDiff) <= 25) { if (abs(Internal.altDiff) <= 20) {
me.resetClimbRateLim(); me.resetClimbRateLim();
Text.vert.setValue("ALT HLD"); Text.vert.setValue("ALT HLD");
} }
} }
# Thrust Mode Selector # Thrust Mode Selector
if (Output.athr.getBoolValue() and Output.vertTemp != 7 and (Output.ap1Temp or Output.ap2Temp) and Position.gearAglFt.getValue() <= 18 and (Output.vertTemp == 2 or Output.vertTemp == 6)) { if (Output.athr.getBoolValue() and Output.vertTemp != 7 and (Output.ap1Temp or Output.ap2Temp) and Position.gearAglFt.getValue() <= 30 and (Output.vertTemp == 2 or Output.vertTemp == 6)) {
# Manual says 40 feet -- but video reference shows 30!
Output.thrMode.setValue(1); Output.thrMode.setValue(1);
Text.thr.setValue("RETARD"); Text.thr.setValue("RETARD");
} else if (Output.vertTemp == 4) { } else if (Output.vertTemp == 4) {
@ -372,7 +374,6 @@ var ITAF = {
} }
}, },
slowLoop: func() { slowLoop: func() {
Input.bankLimitSWTemp = Input.bankLimitSW.getValue();
Velocities.trueAirspeedKtTemp = Velocities.trueAirspeedKt.getValue(); Velocities.trueAirspeedKtTemp = Velocities.trueAirspeedKt.getValue();
FPLN.activeTemp = FPLN.active.getValue(); FPLN.activeTemp = FPLN.active.getValue();
FPLN.currentWpTemp = FPLN.currentWp.getValue(); FPLN.currentWpTemp = FPLN.currentWp.getValue();
@ -383,7 +384,7 @@ var ITAF = {
} else if (Velocities.trueAirspeedKtTemp >= 340) { } else if (Velocities.trueAirspeedKtTemp >= 340) {
Internal.bankLimitAuto = 20; Internal.bankLimitAuto = 20;
} else { } else {
Internal.bankLimitAuto = 25; Internal.bankLimitAuto = 30;
} }
Internal.bankLimit.setValue(Internal.bankLimitAuto); Internal.bankLimit.setValue(Internal.bankLimitAuto);