Skip to content

Commit 7c6f3d2

Browse files
authored
chore(a380x): port fcu and make fixes (flybywiresim#8919)
* chore: straight port of fcu * chore: add actual type information The type errors are now all real. * chore: clean up css vars * chore: missed one * chore: fix erroneous typings * feat: port altitude * feat: port baro and fix presel * doc: fixme * feat(fcu): pointers * fix: add radio nav publisher since it's referenced already * fix: publisher * fix: eslintrc * chore: fix lint (except bugs from old fcu) * fix: allow element to be undefined * fix: logic errors in vs manager (from old code) * fix: logic errors in hdg manager (from old code) * fix: accept undefined element * fix: comment for 2cas * fix: type error in mode manager * fix: type errors in speed manager * fix: add some fixmes
1 parent 53c9f3c commit 7c6f3d2

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+2316
-5820
lines changed

fbw-a32nx/mach.config.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,10 +47,10 @@ module.exports = {
4747
],
4848
};
4949

50-
function msfsAvionicsInstrument(name, folder = name) {
50+
function msfsAvionicsInstrument(name, index = 'instrument.tsx') {
5151
return {
5252
name,
53-
index: `src/systems/instruments/src/${folder}/instrument.tsx`,
53+
index: `src/systems/instruments/src/${name}/${index}`,
5454
simulatorPackage: {
5555
type: 'baseInstrument',
5656
templateId: `A32NX_${name}`,

fbw-a380x/mach.config.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ module.exports = {
3030
instruments: [
3131
msfsAvionicsInstrument('Clock'),
3232
msfsAvionicsInstrument('EWD'),
33+
msfsAvionicsInstrument('FCU', 'FcuBaseInstrument.ts'),
3334
msfsAvionicsInstrument('MFD'),
3435
msfsAvionicsInstrument('ND'),
3536
msfsAvionicsInstrument('PFD'),
@@ -44,10 +45,10 @@ module.exports = {
4445
],
4546
};
4647

47-
function msfsAvionicsInstrument(name, folder = name) {
48+
function msfsAvionicsInstrument(name, index = 'instrument.tsx') {
4849
return {
4950
name,
50-
index: `src/systems/instruments/src/${folder}/instrument.tsx`,
51+
index: `src/systems/instruments/src/${name}/${index}`,
5152
simulatorPackage: {
5253
type: 'baseInstrument',
5354
templateId: `A380X_${name}`,

fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/model/behaviour/legacy/generated/A32NX_Interior_FCU.xml

Lines changed: 9 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@
3535
<ANIMTIP_1>TT:COCKPIT.TOOLTIPS.AUTOPILOT_PANEL_BARO_KNOB_DECREASE</ANIMTIP_1>
3636
<ANIMTIP_1_ON_CURSOR>TurnLeft</ANIMTIP_1_ON_CURSOR>
3737
<BARO_ID>#ID#</BARO_ID>
38-
<MODE_BARO>0</MODE_BARO>
38+
<MODE_QFE>0</MODE_QFE>
3939
<MODE_QNH>1</MODE_QNH>
40-
<MODE_STD_BARO>2</MODE_STD_BARO>
40+
<MODE_STD_QFE>2</MODE_STD_QFE>
4141
<MODE_STD_QNH>3</MODE_STD_QNH>
4242
<NODE_ID>AUTOPILOT_Knob_Baro_#ID##SUFFIX_ID#</NODE_ID>
4343
<PART_ID>AUTOPILOT_Knob_Baro</PART_ID>
@@ -46,73 +46,41 @@
4646
<Component ID="#NODE_ID#" Node="#NODE_ID#">
4747
<UseTemplate Name="ASOBO_GT_Knob_Infinite_PushPull">
4848
<ANTICLOCKWISE_CODE>
49-
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_BARO# != (L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QNH# != and if{
49+
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QFE# != (L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QNH# != and if{
5050
(L:XMLVAR_Baro_Selector_HPA_#BARO_ID#) if{
5151
#BARO_ID# (A:KOHLSMAN SETTING MB:1, mbars) -- 16 * (&gt;K:2:KOHLSMAN_SET)
5252
} els{
5353
#BARO_ID# (&gt;K:KOHLSMAN_DEC)
5454
}
5555
} els{
56-
(L:XMLVAR_Baro_Selector_HPA_#BARO_ID#) if{
57-
(L:A380X_EFIS_L_BARO_PRESELECTED) 1 - (&gt;L:A380X_EFIS_L_BARO_PRESELECTED)
58-
} els{
59-
(L:A380X_EFIS_L_BARO_PRESELECTED) 0.01 - (&gt;L:A380X_EFIS_L_BARO_PRESELECTED)
60-
}
56+
(&gt;H:A380X_FCU_BARO_PRESEL_DEC)
6157
}
6258
</ANTICLOCKWISE_CODE>
6359

6460
<CLOCKWISE_CODE>
65-
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_BARO# != (L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QNH# != and if{
61+
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QFE# != (L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QNH# != and if{
6662
(L:XMLVAR_Baro_Selector_HPA_#BARO_ID#) if{
6763
#BARO_ID# (A:KOHLSMAN SETTING MB:1, mbars) ++ 16 * (&gt;K:2:KOHLSMAN_SET)
6864
} els{
6965
#BARO_ID# (&gt;K:KOHLSMAN_INC)
7066
}
7167
} els{
72-
(L:XMLVAR_Baro_Selector_HPA_#BARO_ID#) if{
73-
(L:A380X_EFIS_L_BARO_PRESELECTED) 1 + (&gt;L:A380X_EFIS_L_BARO_PRESELECTED)
74-
} els{
75-
(L:A380X_EFIS_L_BARO_PRESELECTED) 0.01 + (&gt;L:A380X_EFIS_L_BARO_PRESELECTED)
76-
}
68+
(&gt;H:A380X_FCU_BARO_PRESEL_INC)
7769
}
7870
</CLOCKWISE_CODE>
7971

8072
<PULL_CODE>
81-
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_BARO# == if{
82-
#MODE_STD_BARO# (&gt;L:XMLVAR_Baro#BARO_ID#_Mode)
83-
} els{
84-
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_QNH# == if{
85-
#MODE_STD_QNH# (&gt;L:XMLVAR_Baro#BARO_ID#_Mode)
86-
(L:XMLVAR_Baro_Selector_HPA_#BARO_ID#) if{
87-
1013.25 (&gt;L:A380X_EFIS_L_BARO_PRESELECTED)
88-
} els{
89-
29.92 (&gt;L:A380X_EFIS_L_BARO_PRESELECTED)
90-
}
91-
}
92-
}
73+
#MODE_STD_QNH# (&gt;L:XMLVAR_Baro#BARO_ID#_Mode)
9374
</PULL_CODE>
9475
<PUSH_CODE>
95-
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_BARO# == if{
96-
#MODE_BARO# (&gt;L:XMLVAR_Baro#BARO_ID#_Mode)
97-
} els{
98-
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QNH# == if{
99-
(L:XMLVAR_Baro_Selector_HPA_#BARO_ID#) if{
100-
#BARO_ID# (L:A380X_EFIS_L_BARO_PRESELECTED) 16 * (&gt;K:2:KOHLSMAN_SET)
101-
} els{
102-
#BARO_ID# (L:A380X_EFIS_L_BARO_PRESELECTED) 541.822 * (&gt;K:2:KOHLSMAN_SET)
103-
}
104-
#MODE_QNH# (&gt;L:XMLVAR_Baro#BARO_ID#_Mode)
105-
} els{
106-
(L:XMLVAR_Baro#BARO_ID#_Mode) ! (&gt;L:XMLVAR_Baro#BARO_ID#_Mode)
107-
}
108-
}
76+
#MODE_QNH# (&gt;L:XMLVAR_Baro#BARO_ID#_Mode)
10977
</PUSH_CODE>
11078

11179
<CENTER_RADIUS>0</CENTER_RADIUS>
11280
<COUNT>36</COUNT>
11381
<OVERRIDE_PUSH_ANIM_CODE>
11482
0 100
115-
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_BARO# ==
83+
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QFE# ==
11684
(L:XMLVAR_Baro#BARO_ID#_Mode) #MODE_STD_QNH# == or ?
11785
50
11886
(O:_PushAnimVar) ?

fbw-a380x/src/base/flybywire-aircraft-a380-842/SimObjects/AirPlanes/FlyByWire_A380_842/panel/panel.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ size_mm=5120,5120
8282
pixel_size=5120,5120
8383
texture=$FCU
8484

85-
htmlgauge00=LegacyA380X/FCU/A380_FCU.html, 0,0,5120,5120
85+
htmlgauge00=A380X/FCU/FCU.html, 0,0,5120,5120
8686

8787
[VCockpit10]
8888
size_mm=512,512
Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,14 @@
11
<!-- Copyright (c) 2023-2024 FlyByWire Simulations -->
22
<!-- SPDX-License-Identifier: GPL-3.0 -->
33

4-
<!--TODO: Do we even need this files?`If not it should be removed -->
5-
64
<PlaneHTMLConfig>
7-
5+
<Instrument>
6+
<Name>A380X_FCU</Name>
7+
<Electric>
8+
<Or>
9+
<Simvar name="L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED" unit="Boolean"/>
10+
<Simvar name="L:A32NX_ELEC_DC_2_BUS_IS_POWERED" unit="Boolean"/>
11+
</Or>
12+
</Electric>
13+
</Instrument>
814
</PlaneHTMLConfig>
Loading
Loading
Loading
Loading

fbw-a380x/src/base/flybywire-aircraft-a380-842/html_ui/Pages/VCockpit/Instruments/LegacyA380X/FCU/A380_FCU.html

Lines changed: 0 additions & 113 deletions
This file was deleted.

0 commit comments

Comments
 (0)