Skip to content

Commit

Permalink
fix(A380X/MFD): Fixed the crossing climb/descent speed limit pseudo-w…
Browse files Browse the repository at this point in the history
…aypoint label on the A380X (#9738)

* fix:add condition to check if a380 to pick correct ident

* add new attribute LIM_PSEUDO_WPT_LABEL to VnavConfig

* update changelog
  • Loading branch information
bulenteroglu authored Jan 23, 2025
1 parent 46de2c8 commit 78ef3c9
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 4 deletions.
1 change: 1 addition & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,7 @@
1. [A380X/MFD] Fixed the altitude prediction not rounding to the nearest 10 on the FPLN page - @bulenteroglu (senolitam)
1. [A380X/MFD] Use slashed zero as default font for FMS pages - @bulenteroglu (senolitam)
1. [A380X/ND] Remove leading zeros from terrain elevation display - @BravoMike99 (bruno_pt99)
1. [A380X/MFD] Fixed the crossing climb/descent speed limit pseudo-waypoint label on the A380X - @bulenteroglu (senolitam)
1. [A32NX/FWS] Fix autopilot instinctive disconnect button logic for 3D model - @flogross89 (floridude)
1. [A380X/EFIS] Fix VV pb indicator not turning on when TRK-FPA mode is selected - @heclak (Heclak)
1. [EFB] Added troubleshooting page, under about page, for advanced support - @tracernz (Mike)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ const vnavConfig: VnavConfig = {
VNAV_USE_LATCHED_DESCENT_MODE: false,
IDLE_N1_MARGIN: 2,
MAXIMUM_FUEL_ESTIMATE: 40000,
LIM_PSEUDO_WPT_LABEL: '(LIM)',
};

const flightModelParams: FlightModelParameters = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ const vnavConfig: VnavConfig = {
VNAV_USE_LATCHED_DESCENT_MODE: false,
IDLE_N1_MARGIN: 3,
MAXIMUM_FUEL_ESTIMATE: 250_000,
LIM_PSEUDO_WPT_LABEL: '(SPDLIM)',
};

const flightModelParams: FlightModelParameters = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,13 @@ export interface VnavConfig {
* This value is in lbs.
*/
MAXIMUM_FUEL_ESTIMATE: number;

/**
* Label used for pseudo-waypoints that mark where the aircraft crosses
* climb/descent speed limit altitudes.
* Configurable since different Airbus aircraft use different labels (e.g. A320 vs A380).
*/
LIM_PSEUDO_WPT_LABEL: '(LIM)' | '(SPDLIM)';
}

/** Only covers aircraft specific configs, no debug switches */
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ export class GuidanceController {
this.windProfileFactory,
this.acConfig,
);
this.pseudoWaypoints = new PseudoWaypoints(flightPlanService, this, this.atmosphericConditions);
this.pseudoWaypoints = new PseudoWaypoints(flightPlanService, this, this.atmosphericConditions, this.acConfig);
this.efisVectors = new EfisVectors(this.bus, this.flightPlanService, this, efisInterfaces);
this.symbolConfig = acConfig.fmSymbolConfig;
}
Expand Down
10 changes: 7 additions & 3 deletions fbw-a32nx/src/systems/fmgc/src/guidance/lnav/PseudoWaypoints.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,11 @@ import { LateralMode } from '@shared/autopilot';
import { FlightPlanService } from '@fmgc/flightplanning/FlightPlanService';
import { VerticalCheckpoint, VerticalCheckpointReason } from '@fmgc/guidance/vnav/profile/NavGeometryProfile';
import { AtmosphericConditions } from '@fmgc/guidance/vnav/AtmosphericConditions';
import { AircraftConfig } from '@fmgc/flightplanning/AircraftConfigTypes';

const PWP_IDENT_TOC = '(T/C)';
const PWP_IDENT_STEP_CLIMB = '(S/C)';
const PWP_IDENT_STEP_DESCENT = '(S/D)';
const PWP_IDENT_SPD_LIM = '(LIM)';
const PWP_IDENT_TOD = '(T/D)';
const PWP_IDENT_DECEL = '(DECEL)';
const PWP_IDENT_FLAP1 = '(FLAP1)';
Expand Down Expand Up @@ -82,6 +82,7 @@ export class PseudoWaypoints implements GuidanceComponent {
private readonly flightPlanService: FlightPlanService,
private readonly guidanceController: GuidanceController,
private readonly atmosphericConditions: AtmosphericConditions,
private readonly acConfig: AircraftConfig,
) {}

acceptVerticalProfile() {
Expand Down Expand Up @@ -368,6 +369,9 @@ export class PseudoWaypoints implements GuidanceComponent {
): PseudoWaypoint | undefined {
let [efisSymbolLla, distanceFromLegTermination, alongLegIndex] = [undefined, undefined, undefined];

const PWP_IDENT_SPD_LIM = this.acConfig.vnavConfig.LIM_PSEUDO_WPT_LABEL;
const PWP_SPD_LIM_HEADER = PWP_IDENT_SPD_LIM === '(LIM)' ? '\xa0(SPD)' : undefined;

const isLatAutoControlArmedOrActive =
this.guidanceController.vnavDriver.isLatAutoControlActive() ||
this.guidanceController.vnavDriver.isLatAutoControlArmedWithIntercept();
Expand Down Expand Up @@ -419,7 +423,7 @@ export class PseudoWaypoints implements GuidanceComponent {
efisSymbolLla,
distanceFromStart: checkpoint.distanceFromStart,
displayedOnMcdu: true,
mcduHeader: '\xa0(SPD)',
mcduHeader: PWP_SPD_LIM_HEADER,
flightPlanInfo: this.formatFlightPlanInfo(checkpoint),
displayedOnNd: false,
};
Expand All @@ -432,7 +436,7 @@ export class PseudoWaypoints implements GuidanceComponent {
efisSymbolLla,
distanceFromStart: checkpoint.distanceFromStart,
displayedOnMcdu: true,
mcduHeader: '\xa0(SPD)',
mcduHeader: PWP_SPD_LIM_HEADER,
flightPlanInfo: this.formatFlightPlanInfo(checkpoint),
displayedOnNd: false,
};
Expand Down

0 comments on commit 78ef3c9

Please sign in to comment.