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(a380x/fws): ECAM abnormal procedures: Iteration 2 #9638

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
63d41e8
remove debug output
flogross89 Dec 6, 2024
d0f4a99
FAILURE PENDING, make sensed lines selectable
flogross89 Dec 6, 2024
64c62eb
update ECL rudder trim item
flogross89 Dec 6, 2024
ee8cdd4
fix abnormal sensed
flogross89 Dec 7, 2024
c3673c8
introduce conditions
flogross89 Dec 8, 2024
3fa719c
condition fixes
flogross89 Dec 8, 2024
75b2cdf
INOP update
flogross89 Dec 8, 2024
f6b4431
add abnormal non sensed procedures
flogross89 Dec 9, 2024
16939e9
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Dec 10, 2024
f2d3c1c
deferred procs pt 1
flogross89 Dec 10, 2024
d102e78
deferred pt 2
flogross89 Dec 12, 2024
b57c098
deferred 3
flogross89 Dec 14, 2024
f51f65a
before refactor
flogross89 Dec 15, 2024
05b0fc7
rewrite 1
flogross89 Dec 15, 2024
bda2fbf
deferred proc fixes
flogross89 Dec 15, 2024
8e5561f
deferred work
flogross89 Dec 18, 2024
ae6d0bf
some fixes
flogross89 Dec 21, 2024
f6094b1
deferred fixes
flogross89 Dec 21, 2024
5366a6d
deferred pt 4
flogross89 Dec 22, 2024
37beca4
reuse FwcFormatter from EWD
flogross89 Dec 22, 2024
e012fcc
fix ECAM CP integ lighting
flogross89 Dec 22, 2024
2029b8c
needs work on ecam fault combination+prio
flogross89 Dec 22, 2024
7cd8ce7
fix integ lighting (kccu and ecam cp)
flogross89 Dec 22, 2024
157db97
improve abnormal non sensed activation
flogross89 Dec 22, 2024
8f22271
some more fixes
flogross89 Dec 22, 2024
19913f2
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Dec 22, 2024
b5021cd
changelog
flogross89 Dec 22, 2024
de6f545
make FWS resettable through reset panel
flogross89 Dec 29, 2024
19f22f2
add deferred check list auto display
flogross89 Dec 29, 2024
543f311
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Dec 29, 2024
4781e1a
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Dec 29, 2024
473dc3a
refactor turnaround reset
flogross89 Dec 29, 2024
8f812e9
don't kill GPWS with FWS
flogross89 Dec 29, 2024
0f755f8
ECP FAULT, AUDIO FUNCTION LOST, FWS1+2 FAULT
flogross89 Dec 29, 2024
e5bd05c
EWD fallback fixes
flogross89 Dec 30, 2024
bb8e9c6
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Dec 30, 2024
24954d3
communication fixes
flogross89 Dec 30, 2024
0e0401d
BM's review comments
flogross89 Jan 3, 2025
d91b7c9
Update fbw-a380x/src/systems/systems-host/systems/FlightWarningSystem…
flogross89 Jan 3, 2025
8af7109
reset overhaul after discussion with BM
flogross89 Jan 3, 2025
faf5113
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Jan 3, 2025
c728ce0
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Jan 6, 2025
2fe26b8
reset ECL only if not manually reset, but still reset rest after 50mi…
flogross89 Jan 8, 2025
c14b877
Merge branch 'master' into feat-a380x-ecam-v2
flogross89 Jan 8, 2025
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
1 change: 1 addition & 0 deletions .github/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@
1. [ELEC] Improved elec system startup behaviour - @Gurgel100 (Pascal) - @saschl
1. [A380X] Improve pilot and copilot camera positions - @heclak (Heclak)
1. [A380X/EFIS] Illuminate ND range and mode selectors during light test - @BravoMike99 (bruno_pt99)
1. [A380X/FWS] Add support for deferred procedures, abnormal (non-)sensed procedures - @flogross89 (floridude)
1. [A380/PFD] Add DISCONNECT AP FOR LDG FMA message - @BravoMike99 (bruno_pt99)
1. [A380X/ENG] Adjust climb thrust to be more accurate - @BlueberryKing (BlueberryKing)
1. [A380X/EWD] Show THR limit in EWD instead of N1 - @flogross89 (floridude)
Expand Down
5 changes: 1 addition & 4 deletions fbw-a380x/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,13 +86,10 @@ This list is divided into standardized ATA chapters, if there are no noteworthy
- Vertical Display: Only fixed vertical range (until FL240) w/o FMS trajectory
- Independent QNH
- KCCU soft keyboard
- ECAM abnormal sensed: No navigation up/down, only CLEAR selectable for manual completion
- ECAM: Abnormal non-sensed procedures
- ECAM Deferred procedures
- ECAM ABN secondary failures
- ECAM: Completely accurate STS page implementation
- ECAM: AUTO RCL
- ECAM: Correct behavior of RCL / RCL LAST
- ECAM: Time limited failures
- Video: ETACS due to sim limitation
- Latest FMA indications for landing modes (e.g. LAND3 instead of CAT3)
- SD VIDEO page
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
<Include RelativeFile="behaviour\overhead\cargo-air-cond.xml" />
<Include RelativeFile="behaviour\overhead\fire.xml" />
<Include RelativeFile="behaviour\overhead\flight-control.xml" />
<Include RelativeFile="behaviour\overhead\reset.xml" />
<Include RelativeFile="behaviour\pedestal\pedestal-inputs.xml" />
<Include RelativeFile="behaviour\door_animations.xml" />
<Include RelativeFile="behaviour\efis-cp.xml" />
Expand Down Expand Up @@ -4979,6 +4980,15 @@
<SEQ2_CODE_DRIVES_VISIBILITY>False</SEQ2_CODE_DRIVES_VISIBILITY>
</UseTemplate>
</Component>

<Component ID="Overhead_Reset_Left">
<UseTemplate Name="FBW_Airbus_RESET_PANEL_BUTTON">
<COMPONENT>FWS1</COMPONENT>
</UseTemplate>
<UseTemplate Name="FBW_Airbus_RESET_PANEL_BUTTON">
<COMPONENT>FWS2</COMPONENT>
</UseTemplate>
</Component>
</Component>

<CameraTitle>OverheadLower</CameraTitle>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,12 @@
<SEQ1_CODE_DRIVES_VISIBILITY>False</SEQ1_CODE_DRIVES_VISIBILITY>
<SEQ1_POWERED>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_POWERED>
<POTENTIOMETER_SEQ1>85</POTENTIOMETER_SEQ1>
<SEQ1_EMISSIVE_CODE>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_EMISSIVE_CODE>

<SEQ2_EMISSIVE_DRIVES_VISIBILITY>False</SEQ2_EMISSIVE_DRIVES_VISIBILITY>
<SEQ2_CODE_DRIVES_VISIBILITY>False</SEQ2_CODE_DRIVES_VISIBILITY>
<SEQ2_POWERED>(L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool)</SEQ2_POWERED>
<SEQ2_EMISSIVE_CODE>(L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool)</SEQ2_EMISSIVE_CODE>

<!-- Internal -->
<STATE_SIMVAR>L:A32NX_ECAM_SD_CURRENT_PAGE_INDEX</STATE_SIMVAR>
Expand All @@ -39,6 +41,10 @@
<UseTemplate Name="ASOBO_GT_Push_Button_Airliner">
<ANIM_NAME>#NODE_ID#</ANIM_NAME>
<LEFT_SINGLE_CODE>
(L:A32NX_FWS_ECP_FAILED, Bool) #STATE_ID# 14 != and if{
quit
}

(#STATE_SIMVAR#) #STATE_ID# != if{
#STATE_ID# (&gt;#STATE_SIMVAR#)
} els{
Expand All @@ -54,18 +60,26 @@
<Template Name="FBW_ECAM_BUTTON_SubTemplate">
<DefaultTemplateParameters>
<NODE_ID>PUSH_ECAM_#BASE_NAME#</NODE_ID>
<ANIM_NAME_BUTTON>PUSH_ECAM_#BASE_NAME#</ANIM_NAME_BUTTON>
<BACKLIGHT_NODE_ID>PUSH_ECAM_#BASE_NAME#_SEQ1</BACKLIGHT_NODE_ID>
<WWISE_EVENT_1>mcdubuttons</WWISE_EVENT_1>
<NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1>
<WWISE_EVENT_2>mcdubuttons</WWISE_EVENT_2>
<NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1>
<NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2>
<SEQ2_POWERED>1</SEQ2_POWERED>

<SEQ1_EMISSIVE_DRIVES_VISIBILITY>False</SEQ1_EMISSIVE_DRIVES_VISIBILITY>
<SEQ1_CODE_DRIVES_VISIBILITY>False</SEQ1_CODE_DRIVES_VISIBILITY>
<SEQ1_POWERED>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_POWERED>
<POTENTIOMETER_SEQ1>85</POTENTIOMETER_SEQ1>
<SEQ1_EMISSIVE_CODE>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_EMISSIVE_CODE>

<SEQ2_EMISSIVE_DRIVES_VISIBILITY>False</SEQ2_EMISSIVE_DRIVES_VISIBILITY>
<SEQ2_CODE_DRIVES_VISIBILITY>False</SEQ2_CODE_DRIVES_VISIBILITY>
<SEQ2_POWERED>(L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool)</SEQ2_POWERED>
<SEQ2_EMISSIVE_CODE>(L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool)</SEQ2_EMISSIVE_CODE>
</DefaultTemplateParameters>

<Component ID="#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Push_Button_Held">
<ANIM_NAME>#ANIM_NAME_BUTTON#</ANIM_NAME>
<UseTemplate Name="ASOBO_GT_Push_Button_Airliner">
<ANIM_NAME>#NODE_ID#</ANIM_NAME>
<Condition NotEmpty="SIMVAR">
<True>
<LEFT_SINGLE_CODE>
Expand All @@ -86,16 +100,6 @@
</Condition>
</UseTemplate>
</Component>

<Condition Check="POTENTIOMETER">
<True>
<Component ID="#BACKLIGHT_NODE_ID#" Node="#BACKLIGHT_NODE_ID#">
<UseTemplate Name="ASOBO_GT_Emissive_Potentiometer">
<EMISSIVE_CODE>#SEQ2_POWERED#</EMISSIVE_CODE>
</UseTemplate>
</Component>
</True>
</Condition>
</Template>

<Template Name="FBW_ECAM_BUTTON_Template">
Expand All @@ -112,49 +116,68 @@
<DefaultTemplateParameters>
<BASE_NAME>UNKNOWN</BASE_NAME>
<NODE_ID>PUSH_ECAM_#BASE_NAME#</NODE_ID>
<ANIM_NAME_BUTTON>PUSH_ECAM_#BASE_NAME#</ANIM_NAME_BUTTON>
<LED_NODE_ID>PUSH_ECAM_#BASE_NAME#_SEQ2</LED_NODE_ID>
<BACKLIGHT_NODE_ID>PUSH_ECAM_#BASE_NAME#_SEQ1</BACKLIGHT_NODE_ID>
<WWISE_EVENT_1>mcdubuttons</WWISE_EVENT_1>
<NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1>
<WWISE_EVENT_2>mcdubuttons</WWISE_EVENT_2>
<NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1>
<NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2>
<SEQ1_POWERED>1</SEQ1_POWERED>
<SEQ2_POWERED>1</SEQ2_POWERED>

<SEQ1_EMISSIVE_DRIVES_VISIBILITY>False</SEQ1_EMISSIVE_DRIVES_VISIBILITY>
<SEQ1_CODE_DRIVES_VISIBILITY>False</SEQ1_CODE_DRIVES_VISIBILITY>
<SEQ1_POWERED>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_POWERED>
<POTENTIOMETER_SEQ1>85</POTENTIOMETER_SEQ1>
<SEQ1_EMISSIVE_CODE>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_EMISSIVE_CODE>

<SEQ2_EMISSIVE_DRIVES_VISIBILITY>False</SEQ2_EMISSIVE_DRIVES_VISIBILITY>
<SEQ2_CODE_DRIVES_VISIBILITY>False</SEQ2_CODE_DRIVES_VISIBILITY>
<SEQ2_POWERED>(L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool)</SEQ2_POWERED>
</DefaultTemplateParameters>

<Component ID="#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Push_Button_Held">
<UseTemplate Name="ASOBO_GT_Push_Button_Airliner">
<ANIM_NAME>#ANIM_NAME_BUTTON#</ANIM_NAME>
<LEFT_SINGLE_CODE>
1 (&gt;L:#SIMVAR#)
</LEFT_SINGLE_CODE>
<LEFT_LEAVE_CODE>
0 (&gt;L:#SIMVAR#)
</LEFT_LEAVE_CODE>
<SEQ2_EMISSIVE_CODE>(L:A32NX_ECAM_SFAIL) -1 &gt; #SEQ2_POWERED# and</SEQ2_EMISSIVE_CODE>
</UseTemplate>
</Component>
</Template>

<Template Name="A32NX_ECAM_MORE_BUTTON_Template">
<DefaultTemplateParameters>
<BASE_NAME>UNKNOWN</BASE_NAME>
<NODE_ID>PUSH_ECAM_#BASE_NAME#</NODE_ID>
<WWISE_EVENT_1>mcdubuttons</WWISE_EVENT_1>
<WWISE_EVENT_2>mcdubuttons</WWISE_EVENT_2>
<NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1>
<NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2>

<Component ID="#LED_NODE_ID#" Node="#LED_NODE_ID#">
<UseTemplate Name="ASOBO_GT_Emissive_Gauge">
<EMISSIVE_CODE>
(L:A32NX_ECAM_SFAIL) -1 &gt;
(L:A32NX_OVHD_INTLT_ANN) 0 == (L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool) and or
#SEQ1_POWERED# and
</EMISSIVE_CODE>
<SEQ1_EMISSIVE_DRIVES_VISIBILITY>False</SEQ1_EMISSIVE_DRIVES_VISIBILITY>
<SEQ1_CODE_DRIVES_VISIBILITY>False</SEQ1_CODE_DRIVES_VISIBILITY>
<SEQ1_POWERED>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_POWERED>
<POTENTIOMETER_SEQ1>85</POTENTIOMETER_SEQ1>
<SEQ1_EMISSIVE_CODE>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_EMISSIVE_CODE>

<SEQ2_EMISSIVE_DRIVES_VISIBILITY>False</SEQ2_EMISSIVE_DRIVES_VISIBILITY>
<SEQ2_CODE_DRIVES_VISIBILITY>False</SEQ2_CODE_DRIVES_VISIBILITY>
<SEQ2_POWERED>(L:A32NX_ELEC_DC_ESS_BUS_IS_POWERED, Bool)</SEQ2_POWERED>
</DefaultTemplateParameters>

<Component ID="#NODE_ID#" Node="#NODE_ID#">
<UseTemplate Name="ASOBO_GT_Push_Button_Airliner">
<ANIM_NAME>#ANIM_NAME_BUTTON#</ANIM_NAME>
<LEFT_SINGLE_CODE>
1 (&gt;L:#SIMVAR#)
</LEFT_SINGLE_CODE>
<LEFT_LEAVE_CODE>
0 (&gt;L:#SIMVAR#)
</LEFT_LEAVE_CODE>
<SEQ2_EMISSIVE_CODE>(L:A32NX_SD_MORE_SHOWN, Bool) #SEQ2_POWERED# and</SEQ2_EMISSIVE_CODE>
</UseTemplate>
</Component>

<Condition Check="POTENTIOMETER">
<True>
<Component ID="#BACKLIGHT_NODE_ID#" Node="#BACKLIGHT_NODE_ID#">
<UseTemplate Name="ASOBO_GT_Emissive_Potentiometer">
<EMISSIVE_CODE>#SEQ2_POWERED#</EMISSIVE_CODE>
</UseTemplate>
</Component>
</True>
</Condition>
</Template>

<Template Name="FBW_A380X_Components_ECAM_CP">
Expand Down Expand Up @@ -438,7 +461,7 @@
<!-- ECAM MORE -->
<UseTemplate Name="FBW_Anim_Interactions">
<ANIM_TYPE>BUTTON</ANIM_TYPE>
<ANIM_TEMPLATE>FBW_ECAM_BUTTON_Template</ANIM_TEMPLATE>
<ANIM_TEMPLATE>A32NX_ECAM_MORE_BUTTON_Template</ANIM_TEMPLATE>
<BASE_NAME>MORE</BASE_NAME>
<PART_ID>ECAM_MORE</PART_ID>
<TOOLTIPID>ECAM MORE...</TOOLTIPID>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
<NORMALIZED_TIME_1>0.1</NORMALIZED_TIME_1>
<NORMALIZED_TIME_2>0.5</NORMALIZED_TIME_2>
<SEQ1_POWERED>1</SEQ1_POWERED>
<!-- TODO change to A380X as soon as systems use new prefix -->
<PLANE_NAME>A32NX</PLANE_NAME>
</DefaultTemplateParameters>

Expand All @@ -20,6 +19,7 @@
<POTENTIOMETER_SEQ1>85</POTENTIOMETER_SEQ1>
<ANIM_NAME>PUSH_KCCU#SIDE#_#KEY#_ANIM</ANIM_NAME>
<SEQ1_POWERED>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_POWERED>
<SEQ1_EMISSIVE_CODE>(L:A32NX_ELEC_DC_1_BUS_IS_POWERED, Bool)</SEQ1_EMISSIVE_CODE>
<NO_SEQ2/>
<LEFT_SINGLE_CODE>(&gt;H:#PLANE_NAME#_KCCU_#SIDE#_#KEY#)</LEFT_SINGLE_CODE>
</UseTemplate>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<!-- Copyright (c) 2024 FlyByWire Simulations -->
<!-- SPDX-License-Identifier: GPL-3.0 -->

<ModelBehaviors>
<Template Name="FBW_Airbus_RESET_PANEL_BUTTON">
<DefaultTemplateParameters>
<NODE_ID>CB_#COMPONENT#</NODE_ID>
<DISABLE_SEQ1 />
<DISABLE_SEQ2 />
<ROUND />
</DefaultTemplateParameters>

<UseTemplate Name="FBW_Push_Toggle">
<TOGGLE_SIMVAR>L:A32NX_RESET_PANEL_#COMPONENT#</TOGGLE_SIMVAR>
</UseTemplate>
</Template>
</ModelBehaviors>
Binary file not shown.
Loading
Loading