Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Improved expedited presets with quick ADIRS/APU/ENG start/stop #8581

Merged
merged 67 commits into from
Sep 15, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
7ea4b28
Fadec Rewrite
frankkopp Mar 2, 2024
9f24184
Added A32NX ADIRS quicks align mode for presets
frankkopp Mar 22, 2024
c3a5fc4
Added A32NX APU Shutdown Quick Mode
frankkopp Mar 23, 2024
3c614c8
PoC for quick APU start
frankkopp Mar 23, 2024
d5a1c51
Added support for quick start of APU
Gurgel100 Mar 23, 2024
5b54a55
Optimized quick mode
frankkopp Mar 23, 2024
8b6ed34
Quick Mode also for APU and some refining (A380X)
frankkopp Mar 24, 2024
72fa0fb
Rename quick mode var
frankkopp Mar 24, 2024
59e8667
Refactor of preset definitions
frankkopp Mar 24, 2024
1517a58
Cleanup, formatting, and commenting
frankkopp Mar 24, 2024
d7c73b4
Readded T.O Config as STEP
frankkopp Mar 24, 2024
ea72fe0
Some code clarifications to the A32NX EngineControlA32NX.cpp
frankkopp Mar 24, 2024
0f9777e
Workaround for annoying intermittent HOT AIR Fault issue
frankkopp Mar 24, 2024
879eac5
Fixed exp/quick mode setting to be read every cycle
frankkopp Mar 24, 2024
53320d4
Added expedite only steps
frankkopp Mar 24, 2024
a7af7e4
Added quick start to ADIRU initialization
frankkopp Mar 24, 2024
153d655
Cleanup, formatting, and commenting
frankkopp Mar 25, 2024
6ed1559
Skipping check for changes for large data definition improving perfor…
frankkopp Mar 25, 2024
037439d
Additional comment of quick mode var and renaming of function to use …
frankkopp Mar 25, 2024
df1cbd3
Added quick mode to ISIS selftest and standby
frankkopp Mar 25, 2024
fb97cbb
Refactor moving aircraft_preset_quick_mode to context to avoid multip…
frankkopp Mar 25, 2024
f255f05
Resetting EGT when quick mode shutdown of engines
frankkopp Mar 25, 2024
3b4b710
Clean up empty function
frankkopp Mar 25, 2024
3606f36
Clean up empty lines
frankkopp Mar 25, 2024
d34dced
Set more vars to zero/idle values to optimize quick startup/shutdown
frankkopp Mar 26, 2024
be603fc
Refactored presets logic to allow more flexibility in defining steps
frankkopp Mar 26, 2024
9ae6f49
Added some missing LVar docs to a320-simvars.md and a380-simvars.md
frankkopp Mar 26, 2024
145f482
Refactored AircraftPresets class by decomposing large update() method.
frankkopp Mar 26, 2024
cd28ede
Improved progress bar by resetting it to 0 when loading new preset to…
frankkopp Mar 26, 2024
2987bd0
Fixed a logging output
frankkopp Mar 26, 2024
e736f5e
Slightly refactored/simplified logging.h for cpp framework
frankkopp Mar 26, 2024
b662e58
Added CHANGELOG.md entry
frankkopp Apr 1, 2024
648a2ee
Fixed issue when using preset 1 without ext power and yellow pump cri…
frankkopp Apr 10, 2024
a83cf2e
Removed yellow elec pump actions as the A380X does not have it
frankkopp Apr 10, 2024
df61194
Added flaps/slats wait condition for non-expedited preset requests
frankkopp Apr 11, 2024
92bb0f9
Bruteforce quick mode
crocket63 Apr 12, 2024
3ea2320
Added expedited flaps/slates movement for expedited presets
frankkopp Apr 13, 2024
aa0adeb
Refactored AircraftPresets to use an XML configuration file
frankkopp Apr 13, 2024
2566e44
Cleanup, simplifying, documentation
frankkopp Apr 14, 2024
216b0a3
Fixing compile issue
frankkopp Apr 14, 2024
e1a1e49
Simplifying and refactoring for readability and maintainability
frankkopp Apr 14, 2024
fbff4f8
Added a check for valid pID
frankkopp Apr 15, 2024
32b8071
Fixed A32NX XML
frankkopp Apr 15, 2024
a1f0990
Fixed prefix issue with base data (developer stare / is ready) and le…
frankkopp Apr 16, 2024
38161ce
Minor preset xml fix
frankkopp Apr 16, 2024
64019f3
Removing A32NX_ prefix in rs files
frankkopp Apr 16, 2024
ece21f5
Added parameter for NamedVariable to allow for variables without prefix.
frankkopp Apr 16, 2024
94462cb
auto format changes
frankkopp Apr 16, 2024
72269ba
Added the A32NX_ prefix to variables again for easier full text searc…
frankkopp Apr 17, 2024
f1dec40
Fixed and improved engine imbalance calculation
frankkopp Apr 19, 2024
5ab2235
rebase fix
frankkopp Apr 19, 2024
baef486
PR review changes / comments and docs
frankkopp Apr 21, 2024
235bb5e
Cleanup and documentation
frankkopp Apr 22, 2024
a40d2bd
Fix procedures A32NX / fire test check
frankkopp Apr 22, 2024
6abb849
Fix lint fix rebase
frankkopp Apr 27, 2024
665c66c
Fix lint fix rebase
frankkopp Apr 27, 2024
0d9debe
fix: duct overheat triggering on pack shut down
mjuhe May 8, 2024
183523d
Removed procedure workaround for hot air
frankkopp May 9, 2024
b2c93f0
Commenting and documenting
frankkopp May 9, 2024
f365dd9
Commenting and documenting
frankkopp May 9, 2024
41a7ee4
Dubbing XML issue
frankkopp May 28, 2024
7711e40
Refactored using TinyXml2 lib
frankkopp May 28, 2024
36dd25c
Some cleanup
frankkopp May 29, 2024
3b4d246
Rebase fix
frankkopp Jul 1, 2024
b92e132
Fix fire test procedure when switching from expedited to normal durin…
frankkopp Jul 21, 2024
e6c8d65
Fix rebase to reapply LVAR Name change from LVars missing the A32NX_ …
frankkopp Aug 26, 2024
9bf0cb6
lint fix
frankkopp Aug 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
1. [EFB] Added warning for not compatible aircraft type to simbrief import - @2hwk (2Cas)
1. [EFCS] Fix ground spoiler retraction after increasing TLA slightly above 0 - @lukecologne (luke)
1. [FWC] Improved LDG LT memo to take into account light position - @BravoMike99 (bruno_pt99)
1. [EFB] Added warning for not compatible aircraft type to simbrief import - @2hwk (2Cas)
1. [PRESS] Add pressurization system failures - @mjuhe (Miquel Juhe)
1. [EFB] Added simrate indicator to status bar - @2hwk (2Cas)
1. [EFB] Added simrate and pause on TOD controls to control center - @2hwk (2Cas)
Expand All @@ -114,6 +115,9 @@
1. [FMS] Selected navaids are now reset on entering the done flight phase - @tracernz (Mike)
1. [FMS] Fix tailwind component of trip wind being treated as a headwind - @BlueberryKing (BlueberryKing)
1. [FMS] Improved NAVAID page - @tracernz (Mike)
1. [MCDU] Fixed ZFW Autofill with lbs during boarding @ShreyasKallingal
1. [FADEC] Added quick start for engines and APU - @frankkopp (Frank Kopp) - @Gurgel100 (Pascal)
1. [EFB] Added expedited presets - @frankkopp (Frank Kopp)

## 0.11.0

Expand Down
50 changes: 39 additions & 11 deletions fbw-a32nx/docs/a320-simvars.md
Original file line number Diff line number Diff line change
Expand Up @@ -1238,13 +1238,29 @@
- Number (0.0..1.0)
- While loading a preset this will contain the percentage of the total progress of loading

- A32NX_AIRCRAFT_PRESET_LOAD_EXPEDITE
- Bool
- When set to true the loading process will be expedited and the loading will be done as fast as possible

- A32NX_PUSHBACK_SYSTEM_ENABLED
- Bool
- Read/Write
- 0 when pushback system is completely disabled, 1 when system is enabled
- When disabled pushback UI in the flyPadOS 3 is disabled and movement updates are suspended.
- This prevents conflicts with other pushback add-ons

- A32NX_PUSHBACK_SPD_FACTOR
- Number -1.0..1.0
- Read/Write
- Speed factor for pushback
- 0.0 is stopped, 1.0 is full speed forward, -1.0 is full speed backward

- A32NX_PUSHBACK_HDG_FACTOR
- Number -1.0..1.0
- Read/Write
- Turn factor for pushback
- -1.0 is full left, 0.0 is straight, 1.0 is full right

- A32NX_DEVELOPER_STATE
- Bool
- Persistent
Expand Down Expand Up @@ -1278,6 +1294,16 @@
- 2 | LEFT
- 3 | RIGHT

- A32NX_AIRLINER_CRUISE_ALTITUDE
- Number (feet)
- Current cruise altitude of the aircraft
- note: this LVar was named incorrectly before missing the prefix:`AIRLINER_CRUISE_ALTITUDE`

- A32NX_AIRLINER_TO_FLEX_TEMP
- Number (degrees Celsius)
- Current takeoff flex temperature of the aircraft
- note: this LVar was named incorrectly before missing the prefix:`AIRLINER_TO_FLEX_TEMP`

## Model/XML Interface

These variables are the interface between the 3D model and the systems/code.
Expand Down Expand Up @@ -2636,17 +2662,19 @@ In the variables below, {number} should be replaced with one item in the set: {
- Sets a timer to control engine {index} start-up/shutdown events

- A32NX_ENGINE_IMBALANCE
- Number (2-bit coded decimal)
- Defines random engine imbalance of parameters
Bits (from Left) | Parameter
--- | ---
0-1 | Engine affected (01 or 02)
2-3 | EGT (max 20º imbalance)
4-5 | FF (max 36 Kg/h imbalance)
6-7 | N2 (max 0.3% imbalance)
8-9 | Oil Qty (max 2 Qt imbalance)
10-11 | Oil Pressure (max 3 psi imbalance)
12-13 | Idle Oil Pressure (+/- 6 psi imbalance)
- Number (encoded)
- Encoded engine imbalance values. Use the algorithm in the code `LVarEncoder::extract8Int8FromDouble` to decode
- `fbw-common/src/wasm/cpp-msfs-framework/lib/lvar_encoder.hpp`
- Parameters for encoding are:
- 1 = Engine Number of the engine which is imbalanced
- 2 = Engine EGT imbalance
- 3 = Engine FF imbalance
- 4 = Engine N2 imbalance
- 5 = Engine Oil Quantity imbalance
- 6 = Engine Oil Pressure imbalance
- 7 = Engine Oil Idle Pressure imbalance
- 8 = Engine Oil Temperature imbalance


- A32NX_ENGINE_N1:{index}
- Number (% N1)
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ class A32NX_FWC {

// ESLD 1.0.79 + 1.0.80
const eng1TLA = SimVar.GetSimVarValue("L:A32NX_AUTOTHRUST_TLA:1", "number");
const eng1TLAFTO = SimVar.GetSimVarValue("L:AIRLINER_TO_FLEX_TEMP", "number") !== 0; // is a flex temp is set?
const eng1TLAFTO = SimVar.GetSimVarValue("L:A32NX_AIRLINER_TO_FLEX_TEMP", "number") !== 0; // is a flex temp is set?
const eng1MCT = eng1TLA > 33.3 && eng1TLA < 36.7;
const eng1TLAFullPwr = eng1TLA > 43.3;
const eng2TLA = SimVar.GetSimVarValue("L:A32NX_AUTOTHRUST_TLA:2", "number");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2586,7 +2586,7 @@ class FMCMainDisplay extends BaseAirliners {
const newLevel = this.cruiseLevel;
// Keep simvar in sync for the flight phase manager
if (newLevel !== oldCruiseLevel) {
SimVar.SetSimVarValue('L:AIRLINER_CRUISE_ALTITUDE', 'number', Number.isFinite(newLevel * 100) ? newLevel * 100 : 0);
SimVar.SetSimVarValue('L:A32NX_AIRLINER_CRUISE_ALTITUDE', 'number', Number.isFinite(newLevel * 100) ? newLevel * 100 : 0);
}
}

Expand Down Expand Up @@ -3118,7 +3118,7 @@ class FMCMainDisplay extends BaseAirliners {
this.perfTOTemp = NaN;
// In future we probably want a better way of checking this, as 0 is
// in the valid flex temperature range (-99 to 99).
SimVar.SetSimVarValue("L:AIRLINER_TO_FLEX_TEMP", "Number", 0);
SimVar.SetSimVarValue("L:A32NX_AIRLINER_TO_FLEX_TEMP", "Number", 0);
return true;
}
let value = parseInt(s);
Expand All @@ -3137,7 +3137,7 @@ class FMCMainDisplay extends BaseAirliners {
value = 0.1;
}
this.perfTOTemp = value;
SimVar.SetSimVarValue("L:AIRLINER_TO_FLEX_TEMP", "Number", value);
SimVar.SetSimVarValue("L:A32NX_AIRLINER_TO_FLEX_TEMP", "Number", value);
return true;
}

Expand Down Expand Up @@ -4677,7 +4677,7 @@ class FMCMainDisplay extends BaseAirliners {
if (plan) {
this.currFlightPlanService.setPerformanceData('cruiseFlightLevel', level);
// used by FlightPhaseManager
SimVar.SetSimVarValue('L:AIRLINER_CRUISE_ALTITUDE', 'number', Number.isFinite(level * 100) ? level * 100 : 0);
SimVar.SetSimVarValue('L:A32NX_AIRLINER_CRUISE_ALTITUDE', 'number', Number.isFinite(level * 100) ? level * 100 : 0);
}
}

Expand Down
19 changes: 10 additions & 9 deletions fbw-a32nx/src/systems/fmgc/src/flightphase/FlightPhaseManager.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
// SPDX-License-Identifier: GPL-3.0

import {
Phase,
PreFlightPhase,
TakeOffPhase,
ApproachPhase,
ClimbPhase,
CruisePhase,
DescentPhase,
ApproachPhase,
GoAroundPhase,
DonePhase,
GoAroundPhase,
Phase,
PreFlightPhase,
TakeOffPhase,
} from '@fmgc/flightphase/Phase';
import { Arinc429Word, ConfirmationNode } from '@flybywiresim/fbw-sdk';
import { VerticalMode } from '@shared/autopilot';
Expand All @@ -26,7 +26,7 @@ export interface FlightPhaseManagerEvents {
function canInitiateDes(distanceToDestination: number): boolean {
const fl = Math.round(Simplane.getAltitude() / 100);
const fcuSelFl = Simplane.getAutoPilotDisplayedAltitudeLockValue('feet') / 100;
const cruiseFl = SimVar.GetSimVarValue('L:AIRLINER_CRUISE_ALTITUDE', 'number') / 100;
const cruiseFl = SimVar.GetSimVarValue('L:A32NX_AIRLINER_CRUISE_ALTITUDE', 'number') / 100;

// Can initiate descent? OR Can initiate early descent?
return (
Expand Down Expand Up @@ -62,7 +62,6 @@ export class FlightPhaseManager {
}

constructor(private readonly bus: EventBus) {}

init(): void {
console.log(`FMGC Flight Phase: ${this.phase}`);
this.phases[this.phase].init();
Expand All @@ -82,12 +81,14 @@ export class FlightPhaseManager {
this.handleSlewSituation(_deltaTime);
} else if (this.phase !== this.initialPhase) {
// ensure correct init of phase

this.changePhase(this.initialPhase);
}
}

/** @deprecated Use {@link FlightPhaseManagerEvents} instead. */
addOnPhaseChanged(cb: (prev: FmgcFlightPhase, next: FmgcFlightPhase) => void): void {
/** @deprecated Use {@link FlightPhaseManagerEvents} instead. */ addOnPhaseChanged(
cb: (prev: FmgcFlightPhase, next: FmgcFlightPhase) => void,
): void {
this.phaseChangeListeners.push(cb);
}

Expand Down
10 changes: 5 additions & 5 deletions fbw-a32nx/src/systems/fmgc/src/flightphase/Phase.ts
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ export class ClimbPhase extends Phase {
}

shouldActivateNextPhase(_deltaTime) {
const cruiseFl = SimVar.GetSimVarValue('L:AIRLINER_CRUISE_ALTITUDE', 'number') / 100;
const cruiseFl = SimVar.GetSimVarValue('L:A32NX_AIRLINER_CRUISE_ALTITUDE', 'number') / 100;
const fl = Math.round(SimVar.GetSimVarValue('INDICATED ALTITUDE:3', 'feet') / 100);

// If no cruise alt has been entered, cruiseFl is 0. We don't want to switch to cruise phase in that case
Expand All @@ -95,7 +95,7 @@ export class DescentPhase extends Phase {
shouldActivateNextPhase(_deltaTime) {
const fl = Math.round(SimVar.GetSimVarValue('INDICATED ALTITUDE:3', 'feet') / 100);
const fcuSelFl = Simplane.getAutoPilotDisplayedAltitudeLockValue('feet') / 100;
const cruiseFl = SimVar.GetSimVarValue('L:AIRLINER_CRUISE_ALTITUDE', 'number') / 100;
const cruiseFl = SimVar.GetSimVarValue('L:A32NX_AIRLINER_CRUISE_ALTITUDE', 'number') / 100;

if (fl === cruiseFl && fcuSelFl === fl) {
this.nextPhase = FmgcFlightPhase.Cruise;
Expand All @@ -111,7 +111,7 @@ export class ApproachPhase extends Phase {
landingConfirmation = new ConfirmationNode(30 * 1000);

init() {
SimVar.SetSimVarValue('L:AIRLINER_TO_FLEX_TEMP', 'Number', 0);
SimVar.SetSimVarValue('L:A32NX_AIRLINER_TO_FLEX_TEMP', 'Number', 0);
this.nextPhase = FmgcFlightPhase.Done;
}

Expand All @@ -129,7 +129,7 @@ export class ApproachPhase extends Phase {

export class GoAroundPhase extends Phase {
init() {
SimVar.SetSimVarValue('L:AIRLINER_TO_FLEX_TEMP', 'Number', 0);
SimVar.SetSimVarValue('L:A32NX_AIRLINER_TO_FLEX_TEMP', 'Number', 0);
this.nextPhase = FmgcFlightPhase.GoAround;
}

Expand All @@ -141,7 +141,7 @@ export class GoAroundPhase extends Phase {

export class DonePhase extends Phase {
init() {
SimVar.SetSimVarValue('L:AIRLINER_TO_FLEX_TEMP', 'Number', 0);
SimVar.SetSimVarValue('L:A32NX_AIRLINER_TO_FLEX_TEMP', 'Number', 0);
this.nextPhase = FmgcFlightPhase.Done;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ export class SimBriefUplinkAdapter {
});

// used by FlightPhaseManager
SimVar.SetSimVarValue('L:AIRLINER_CRUISE_ALTITUDE', 'number', Number(ofp.cruiseAltitude));
SimVar.SetSimVarValue('L:A32NX_AIRLINER_CRUISE_ALTITUDE', 'number', Number(ofp.cruiseAltitude));

plan.setFlightNumber(route.callsign);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
// Copyright (c) 2021-2023 FlyByWire Simulations
//
// SPDX-License-Identifier: GPL-3.0

import { EventBus, SimVarDefinition, SimVarValueType, SimVarPublisher } from '@microsoft/msfs-sdk';

export type EwdSimvars = {
Expand Down Expand Up @@ -110,7 +106,7 @@ export enum EwdVars {
throttle2Position = 'L:XMLVAR_Throttle2Position',
fwcFlightPhase = 'L:A32NX_FWC_FLIGHT_PHASE',
idleN1 = 'L:A32NX_ENGINE_IDLE_N1',
flexTemp = 'L:AIRLINER_TO_FLEX_TEMP',
flexTemp = 'L:A32NX_AIRLINER_TO_FLEX_TEMP',
satRaw = 'L:A32NX_ADIRS_ADR_1_STATIC_AIR_TEMPERATURE',
totalFuel = 'FUEL TOTAL QUANTITY WEIGHT',
slatsFlapsStatusRaw = 'L:A32NX_SFCC_SLAT_FLAP_SYSTEM_STATUS_WORD',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,20 @@ export const ISISDisplayUnit: React.FC<ISISDisplayUnitProps> = ({ indicatedAirsp
const [dcEssLive] = useSimVar('L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED', 'bool');
const [dcHotLive] = useSimVar('L:A32NX_ELEC_DC_HOT_1_BUS_IS_POWERED', 'bool');

// This is set by the Aircraft Presets to facilitate quick startup or shutdown of the aircraft.
// In the context of ISIS, this means quick startup (skipping self-test)
const [aircraftPresetQuickMode] = useSimVar('L:A32NX_AIRCRAFT_PRESET_QUICK_MODE', 'Bool', 200);

const hasElectricity = (indicatedAirspeed > 50 && dcHotLive) || dcEssLive;

useUpdate((deltaTime) => {
if (timer !== null) {
if (timer > 0) {
// aircraft preset quick mode skips self-test
if (aircraftPresetQuickMode) {
setTimer(0);
return;
}
setTimer(timer - deltaTime / 1000);
} else if (state === DisplayUnitState.Standby) {
setState(DisplayUnitState.Off);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -257,7 +257,7 @@ export enum PFDVars {
radioAltitude2 = 'L:A32NX_RA_2_RADIO_ALTITUDE',
crzAltMode = 'L:A32NX_FMA_CRUISE_ALT_MODE',
tcasModeDisarmed = 'L:A32NX_AUTOPILOT_TCAS_MESSAGE_DISARM',
flexTemp = 'L:AIRLINER_TO_FLEX_TEMP',
flexTemp = 'L:A32NX_AIRLINER_TO_FLEX_TEMP',
autoBrakeMode = 'L:A32NX_AUTOBRAKES_ARMED_MODE',
autoBrakeActive = 'L:A32NX_AUTOBRAKES_ACTIVE',
autoBrakeDecel = 'L:A32NX_AUTOBRAKES_DECEL_LIGHT',
Expand Down
5 changes: 2 additions & 3 deletions fbw-a32nx/src/wasm/extra-backend-a32nx/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,14 @@ set(SOURCE_FILES
)

set(INCLUDE_FILES
${CMAKE_CURRENT_SOURCE_DIR}/src/AircraftPresets/AircraftPresetProcedures_A32NX.h
${CMAKE_CURRENT_SOURCE_DIR}/src/LightingPresets/LightingPresets_A32NX.h
${CMAKE_CURRENT_SOURCE_DIR}/src/Pushback/Pushback_A32NX.h
${FBW_COMMON}/cpp-msfs-framework/Example/ExampleModule.h
${FBW_COMMON}/cpp-msfs-framework/Example/longtext.h
${FBW_COMMON}/extra-backend/Pushback/Pushback.h
${FBW_COMMON}/extra-backend/AircraftPresets/AircraftPresets.h
${FBW_COMMON}/extra-backend/AircraftPresets/PresetProcedures.h
${FBW_COMMON}/extra-backend/AircraftPresets/ProcedureStep.h
${FBW_COMMON}/extra-backend/AircraftPresets/PresetProcedures.hpp
${FBW_COMMON}/extra-backend/AircraftPresets/ProcedureStep.hpp
${FBW_COMMON}/extra-backend/LightingPresets/LightingPresets.h
)

Expand Down
Loading