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

refactor(build/efb): aircraft project prefix overhaul to better support different a/c and variants (v0.1) #8599

Merged
merged 54 commits into from
Apr 15, 2024

Conversation

2hwk
Copy link
Member

@2hwk 2hwk commented Mar 31, 2024

Partially Addresses #7665
Fixes #8499

Summary of Changes

Based on #8500 we will start to transition away from a panel.cfg/L:Var based approach towards a markup .json and build time based approach to handling multiple A/C, variants as well as liveries (by ATC tail registration)

This will ensure that the aircraft prefix is correctly set (not dependant on livery), as proposed by #8500, as well as allowing for easier flyPad configuration, management and changes in the future.

This modifies:

flyPad OS (3.2.1)

  • Ground > Payload

    • Use VFS config loaded from redux store
    • Optimised logic slightly
    • Ported over 32 changes to 38
    • Save deck selection in redux store
  • Ground > Services

    • Use VFS config loaded from redux store
  • Ground > Fuel

    • Use VFS config loaded from redux store
  • Ground > Pushback

    • Use VFS config loaded from redux store
  • Checklists

    • Use VFS config loaded from redux store
  • Dispatch > Overview

    • Use VFS config loaded from redux store
  • Settings > Throttle Config

    • Use VFS config loaded from redux store
  • Settings > About

    • Add SimVar "Title" to about page debug
  • Clean up fbw-aXX > fbw-common EFB refactor

Potential:

  • FBW Api - Add "title" and "aircraft" to FBW api request Not done

Extras-host

  • Added new module to load configuration from VFS/{aircraft}/{variant} json5 files
    • Override with VFS/{aircraft}/{variant}/{atc_id} json5 (not in this PR)

This also adds a new AIRCRAFT_PROJECT_PREFIX environ to the project .env which is mandatory.

Note: AIRCRAFT_VARIANT has been added, but in the future this will be created with the script/*.sh scripts.

Screenshots (if necessary)

References

Additional context

Discord username (if different from GitHub): 2cas

Testing instructions

  • Test all the following EFB pages, ensure functionality is as expected.

    • FlyPad Widget/Dashboard
      • Visual: Correct Aircraft Variant is displayed
    • Ground > Payload
      • Visual: Correct page is displayed - Graphics, text, etc.
      • Fuction: GSX Payload
      • Function: Non GSX manual loading
      • Function: Simbrief Loading
    • Ground > Services
      • Visual: Correct page is displayed - Graphics, text, etc.
      • Function: Basic check
    • Ground > Fuel
      • Visual: Correct page is displayed - Graphics, text, etc.
      • Function: Basic check
    • Ground > Pushback
      • Visual: Correct page is displayed - Graphics, text, etc.
      • Function: Basic check
  • Checklists

    • Visual: Correct page is displayed - Graphics, text, etc.
    • Function: Basic check
  • Dispatch > Overview

    • Visual: Correct page is displayed - Graphics, text, etc.
    • Visual: Aircraft information is correct for type
  • Settings > Throttle Config

    • Functionality check - Throttle configuration loads
    • Functionality check - remove ThrottleConfig.ini - ensure default values work
    • Functionality check - create new ThrottleConfig.ini via using the axis UI.
  • Settings > About

    • New livery title field in about page
  • General

    • EFB works when powered on initially and navigating to all the above pages
    • EFB works when power cycled off then on and navigating to all the above pages
    • EFB works when battery power is depleted and navigating to all the above pages
    • EFB works with various liveries i.e. https://flightsim.to/file/22878/fbw-a32nx-lufthansa-livery-d-aija
    • EFB checklists are correctly cleared when the EFB is power cycled off/on
    • EFB works when battery is depleted (use ingame time to manipulate and ensure battery simulation is on in settings)

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, click on the bottom PR tab
  4. Click on either flybywire-aircraft-a320-neo or flybywire-aircraft-a380-842 download link at the bottom of the page

@2hwk 2hwk changed the title refactor(build): aircraft prefix overhaul to better support different a/c, variants and liveries refactor(build): aircraft project prefix overhaul to better support different a/c, variants and liveries (v0.1) Mar 31, 2024
@2hwk 2hwk marked this pull request as ready for review April 6, 2024 14:21
@2hwk 2hwk requested a review from frankkopp April 6, 2024 14:21
@2hwk 2hwk added QA Tier 2 A32NX Related to the A32NX aircraft A380X Related to the A380X aircraft labels Apr 6, 2024
Copy link
Member

@frankkopp frankkopp left a comment

Choose a reason for hiding this comment

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

LGTM - a bit more documentation would have been nice ;)

@2hwk
Copy link
Member Author

2hwk commented Apr 6, 2024

LGTM - a bit more documentation would have been nice ;)

Yes, earmarked for v0.2 when I've gotten a better handle on the functional requirements and what boilerplate, middleware, etc is needed, as well as that commbus link with WASM.

@noonebling
Copy link

noonebling commented Apr 7, 2024

Quality Assurance Trainee Report

Discord : noonebling
Object of testing: 8599
Tier of Testing : 2
Date : 07/04/2024

Testing Process:
Tested all the EFB pages, with thorough checks on grahics, text, etc on Ground Payload, Services, Fuel and Pushback. Done with GSX and Simbrief integrated.
Tested Checklist pages for graphics, text and functions.
Checked Dispatch pages for graphics, text, aircraft information
Did functionality checks for throttle configs
New livery title field in about page works for different liveries
Checked every feature in the General testing instructions

Negatives:
N/A

Testing Results:
Passed

Conclusions:
Works as expected

@2hwk
Copy link
Member Author

2hwk commented Apr 7, 2024

As this could create merge conflicts with fms-v2, I'll hold off on merging until that is merged.

@2hwk 2hwk removed the QA Passed label Apr 7, 2024
@2hwk 2hwk added this to the v0.12.0 milestone Apr 8, 2024
@2hwk
Copy link
Member Author

2hwk commented Apr 8, 2024

QA pass label removed to let more QA trainees be able to run through this one while we wait for some large PR merges.

@2hwk 2hwk removed the Do Not Merge label Apr 15, 2024
@2hwk 2hwk added the QA Passed label Apr 15, 2024
@2hwk 2hwk merged commit ccec55b into flybywiresim:master Apr 15, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A32NX Related to the A32NX aircraft A380X Related to the A380X aircraft QA Passed QA Ready to Test QA Tier 2
Projects
Status: ✔️ Done
Development

Successfully merging this pull request may close these issues.

Build_Info.json not loaded within EFB because of non-reliable Aircraft Check
4 participants