Skip to content

Commit

Permalink
fix(a380x): Fix erroneous "T.O SPEEDS TOO LOW" warning (#9622)
Browse files Browse the repository at this point in the history
* remove Vs1g t/o speed check; fix approachVls function in FMS

* add T.O ECAM sensed

* disable to speeds to low for now

---------

Co-authored-by: Saschl <[email protected]>
  • Loading branch information
flogross89 and Saschl authored Dec 4, 2024
1 parent d492c00 commit 2927b71
Show file tree
Hide file tree
Showing 4 changed files with 46 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { Arinc429SignStatusMatrix, Arinc429Word, FmsOansData } from '@flybywires
import { FlapConf } from '@fmgc/guidance/vnav/common';
import { FlightPlanService } from '@fmgc/index';
import { MmrRadioTuningStatus } from '@fmgc/navigation/NavaidTuner';
import { Vmcl, Vmo, maxCertifiedAlt, maxGw, maxZfw } from '@shared/PerformanceConstants';
import { Vmcl, Vmo, maxCertifiedAlt, maxZfw } from '@shared/PerformanceConstants';
import { FmgcFlightPhase } from '@shared/flightphase';
import { FmgcDataService } from 'instruments/src/MFD/FMC/fmgc';
import { ADIRS } from 'instruments/src/MFD/shared/Adirs';
Expand Down Expand Up @@ -321,17 +321,10 @@ export class FmcAircraftInterface {
return false;
}

const taxiFuel = this.fmgc.data.taxiFuel.get() ?? 0;
const tow = (this.fmc.fmgc.getGrossWeightKg() ?? maxGw) - (this.fmgc.isAnEngineOn() ? 0 : taxiFuel);
const flapConf = this.fmgc.data.takeoffFlapsSetting.get();

return (
(this.flightPlanService.active.performanceData.v1 ?? Infinity) < Math.trunc(A380SpeedsUtils.getVmcg(zp)) ||
(this.flightPlanService.active.performanceData.vr ?? Infinity) < Math.trunc(1.05 * A380SpeedsUtils.getVmca(zp)) ||
(this.flightPlanService.active.performanceData.v2 ?? Infinity) < Math.trunc(1.1 * A380SpeedsUtils.getVmca(zp)) ||
(Number.isFinite(tow) &&
(this.flightPlanService.active.performanceData.v2 ?? Infinity) <
Math.trunc(1.13 * A380SpeedsUtils.getVs1g(tow, flapConf > 1 ? flapConf + 1 : flapConf, true)))
(this.flightPlanService.active.performanceData.v2 ?? Infinity) < Math.trunc(1.1 * A380SpeedsUtils.getVmca(zp))
);
}

Expand Down Expand Up @@ -370,7 +363,7 @@ export class FmcAircraftInterface {
this.toSpeedsNotInserted = toSpeedsNotInserted;
}

const toSpeedsTooLow = this.getToSpeedsTooLow();
const toSpeedsTooLow = false; // FIXME revert once speeds are checked this.getToSpeedsTooLow();
if (toSpeedsTooLow !== this.toSpeedsTooLow) {
this.toSpeedsTooLow = toSpeedsTooLow;
if (toSpeedsTooLow) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1850,6 +1850,27 @@ export const EcamAbnormalSensedAta212223: { [n: number]: AbnormalProcedure } = {
sensed: true,
items: [],
},
221800008: {
title: '\x1b<4m\x1b4mT.O\x1bm SPEEDS TOO LOW',
sensed: true,
items: [
{
name: 'TOW & T.O DATA',
sensed: false,
labelNotCompleted: 'CHECK',
},
],
},
221800009: {
title: '\x1b<4m\x1b4mT.O\x1bm V1/VR/V2 DISAGREE',
sensed: true,
items: [],
},
221800010: {
title: '\x1b<2m\x1b4mT.O\x1bm ACCELERATION DEGRADED',
sensed: true,
items: [],
},
230800001: {
title: '\x1b<4m\x1b4mCAB COM\x1bm CIDS 1+2+3 FAULT',
sensed: true,
Expand Down
2 changes: 1 addition & 1 deletion fbw-a380x/src/systems/shared/src/OperatingSpeeds.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ export class SpeedsLookupTables {
};

static getApproachVls(conf: number, cg: number, weight: number): number {
if (conf === 1) {
if (conf === 0) {
return SpeedsLookupTables.VLS_CONF_0.get(0, weight);
} else {
return SpeedsLookupTables.VLS_APPR_CONF[conf].get(cg, weight);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1550,14 +1550,34 @@ export class FwsAbnormalSensed {
},
221800007: {
// TO SPEEDS NOT INSERTED
flightPhaseInhib: [1, 4, 5, 6, 7, 8, 9, 10],
flightPhaseInhib: [1, 4, 5, 6, 7, 8, 9, 10, 12],
simVarIsActive: this.fws.toSpeedsNotInsertedWarning,
notActiveWhenFaults: [],
whichItemsToShow: () => [],
whichItemsChecked: () => [],
failure: 2,
sysPage: -1,
},
221800008: {
// TO SPEEDS TOO LOW
flightPhaseInhib: [1, 4, 5, 6, 7, 8, 9, 10, 12],
simVarIsActive: this.fws.toSpeedsTooLowWarning,
notActiveWhenFaults: [],
whichItemsToShow: () => [true],
whichItemsChecked: () => [false],
failure: 2,
sysPage: -1,
},
221800009: {
// TO V1/VR/V2 DISAGREE
flightPhaseInhib: [1, 4, 5, 6, 7, 8, 9, 10, 12],
simVarIsActive: this.fws.toV2VRV2DisagreeWarning,
notActiveWhenFaults: [],
whichItemsToShow: () => [],
whichItemsChecked: () => [],
failure: 2,
sysPage: -1,
},
// 23 - COMMUNICATION
230800012: {
// RMP 1 FAULT
Expand Down

0 comments on commit 2927b71

Please sign in to comment.