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

Conversation

flogross89
Copy link
Contributor

@flogross89 flogross89 commented Dec 8, 2024

Fixes #9222
Fixes #9212
Fixes #8988

Summary of Changes

  • Rework abnormal sensed procedures to allow up/down navigation and completion of not-sensed items
  • Add "LAND ASAP" / "LAND ANSA" recommendation in EWD
  • Add support for sensed and not-sensed conditions, including item activation/deactivation
  • Add ABN non-sensed procedures
  • Add support for deferred procedures
  • Secondary failures
  • Re-use FWC message line formatter from EWD for PFD
  • Fix ECAM CP integ lighting
  • Open SD page for currently active abnormal procedure
  • Enable de-selection of STS page
  • Implement behavior for turnarounds and resets (depending on feat(a380x/fws): Automatic normal checklist reset #9614 )
  • FWS failure + failure indications (WD NOT AVAIL etc.)
  • FWS fault, FWS audio function fault from EFB, WD fallback procedure
  • Add ,[] to ECAM font (no references available)
  • Reminder: Consolidate reset panel XML with feat(a380x/fms): FMC reset through overhead reset panel #9685 after merge

Out of scope:

  • Time limited failures
  • Proper STS page (wait for SD port)

Screenshots (if necessary)

abn_1s
abn_2s
abn_3s
image

https://streamable.com/oses9h

References

Additional context

Discord username (if different from GitHub):

Testing instructions

  1. Verify that normal checklists still work as expected
  2. Select and de-select STS page, verify it works via the SD
  3. Activate ABN non-sensed procedure (only SMOKE/FUMES implement atm); Go through procedure as intended
  4. Trigger simple failure of your choosing through the EFB, make sure corresponding fault is implemented (ask in Discord if unsure)
  5. Trigger complex failure of your choosing through the EFB, for example hydraulic failures
  6. For all procedures, navigation (up/down), check and clear buttons should work as intended
  7. For some faults, deferred procedures are going to be added. Access them through the C/L menu, activate them and complete them as intended. The menu title should be amber for non-completed deferred procedures, white for completed ones.
  8. Trigger FWS 1 fault via EFB, ECAM should continue to work. Trigger FWS 1+2 fault via EFB, ECAM should stop working, the EWD should display the above fallback screen (... MONITOR), and the PFD should display MEMO and LIMITATIONS NOT AVAIL
  9. This is a very complex PR, so there will be a lot of test cases which I can't type out here, feel free to experiment

How to download the PR for QA

Every new commit to this PR will cause new A32NX and A380X artifacts to be created, built, and uploaded.

  1. Make sure you are signed in to GitHub
  2. Click on the Checks tab on the PR
  3. On the left side, find and click on the PR Build tab
  4. Click on either flybywire-aircraft-a320-neo, flybywire-aircraft-a380-842 (4K) or flybywire-aircraft-a380-842 (8K) download link at the bottom of the page

@flogross89 flogross89 changed the title feat(a380x): ECAM abnormal procedures: Iteration 2 feat(a380x/fws): ECAM abnormal procedures: Iteration 2 Dec 8, 2024
@Benjozork Benjozork added A380X Related to the A380X aircraft ECAM FWS Flight Warning Computer (ata-31) labels Dec 12, 2024
@flogross89 flogross89 added this to the v0.13.0 milestone Dec 22, 2024
@flogross89 flogross89 added the QA A380 Only QA only for A380 required label Dec 22, 2024
Copy link
Contributor

@BravoMike99 BravoMike99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some FWS logic comments:

this.fwsCore.init();
}
}, true);
this.fws1Failed.sub((f) => SimVar.SetSimVarValue('L:A32NX_FWS1_IS_HEALTHY', SimVarValueType.Bool, !f));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ideally these would be set inside the FWS itself after the startup completed/shutdown but since the code keeps running regardless of that timer I guess we can ignore it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also move the bootstrapping to the FWS classes, but this would require a larger refactor. Since when both FWS are failed, the FWS instance is destroyed and no update call is happening anymore

@flogross89 flogross89 requested a review from BravoMike99 January 3, 2025 01:06
@flogross89 flogross89 requested a review from BravoMike99 January 6, 2025 03:41
Copy link
Contributor

@BravoMike99 BravoMike99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from this minor thing LGTM

Copy link
Contributor

@BravoMike99 BravoMike99 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good now 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A380X Related to the A380X aircraft ECAM FWS Flight Warning Computer (ata-31) QA A380 Only QA only for A380 required QA Ready to Test
Projects
Status: 🟣 QA Review: Ready to Test
4 participants