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(efb): flyPadOS 3 🚀 #6528

Merged
merged 114 commits into from
May 28, 2022
Merged

feat(efb): flyPadOS 3 🚀 #6528

merged 114 commits into from
May 28, 2022

Conversation

ErickSharp
Copy link
Contributor

@ErickSharp ErickSharp commented Jan 13, 2022

Fixes #3790
Fixes #4443
Fixes #4601
Fixes #5073
Fixes #5307
Fixes #5452
Fixes #5604
Fixes #5615
Fixes #5632
Fixes #5734
Fixes #6160
Fixes #6263
Fixes #6343
Fixes #6478
Fixes #6602
Fixes #6618
Fixes #6627
Fixes #6230
Fixes #4840
Fixes #4801
Fixes #6302
Fixes #5522
Fixes #7246

Summary of Changes

flypadOS 3 aims to unify the design language, code structure, and conventions present within the EFB. This is all in the hope of giving users a better experience, and giving developers a more consistent and easier codebase to work with. Landmark features include redone state management, updated page designs, theming, a battery charge/discharge implementation, and new functional pages like the checklist page.

  • Redone State Management
  • Notifications
  • Modals
  • More Power States
  • Redone Settings Page
  • Chart Bookmarking
  • Landing Calculator Redesign
  • Redone Dispatch Pages
  • Redone Flight Widget
  • Refreshed Weather Widget (Currently Being Worked On)
  • Theming
  • Checklist Page
  • Localization - (ongoing)
  • Battery Life
  • On-Screen Keyboard (WIP)
  • Presets for Interior Lighting and Aircraft States
  • Local File Charts
  • Pushback
    • Pushback control for direction and speed with smooth movements
    • Pushback UI with direction, speed, pause, parking brake, call/release tug, enable/disable system
    • Compatibility Mode with other pushback add-on (disable system)
    • Map (draggable, moving map centered on aircraft, moving aircraft)
    • Bug Fixing:
      • Lukla Test - nose wheel in the air at edge
    • Testing, debugging and tuning
  • Bug Fixing
    • TOD Calculator Issue
    • Landing Performance Calculator - Runway distance marking - text vanishes
    • Autobrightness needs improvement (will be PR)
  • Document pushback LVAR
  • Clean up / remove unfinished languages
  • Finishing Touches

Remove local files and health check do to simbridge not yet merged - code is only commented out.

Screenshots (if necessary)

Additional context

Testing instructions

General final testing of the whole flyPad before merging into Development.
Docs preview:https://docs-git-fork-frankkopp-flypados3-docs-flybywire.vercel.app/fbw-a32nx/feature-guides/flyPados3/

  • Focus on testing on each page and subpage - see documentation if it is unclear how to use a feature.
  • Look at performance impact using the dev mode fps counter. Check CoherentGTUIThread 90% value when using flyPad or when it is off (the difference is of interest). Also check impact on fps for you. More specifically check the impact on the CoherentGTUIThread 90% value between pushback system enabled and disabled.
  • Also check if documentation is correct
  • If you can check translation into your own language
  • Try to break it 🙂

Feedback in the dedicated Discord channel and/or report here as usual.

How to download the PR for QA

Every new commit to this PR will cause a new A32NX artifact 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 the A32NX download link at the bottom of the page

@davidwalschots davidwalschots changed the title flypadOS 3 feat: flypadOS 3 Jan 13, 2022
@wpine215
Copy link
Member

When you get the chance, can you add a checkbox list indicating what's finished and what's left to be done? Would be helpful to anyone who wants to help out with the remaining items so this can be merged soon,

@ErickSharp
Copy link
Contributor Author

When you get the chance, can you add a checkbox list indicating what's finished and what's left to be done? Would be helpful to anyone who wants to help out with the remaining items so this can be merged soon,

Sure thing, whenever I have some time later today I'll get a better description up with some screenshots.

@ErickSharp ErickSharp force-pushed the flypadosv3 branch 3 times, most recently from ec9a832 to 73fd784 Compare January 17, 2022 23:18
@ErickSharp
Copy link
Contributor Author

Just a disclaimer: I have a couple or so great contributors willing to spend some of their time to work alongside me. If they are still working and the majority of things on the list are complete, I may be able to squeeze one or two more things in here.

@ErickSharp
Copy link
Contributor Author

Failures page redesign is coming soon but won't be within this pull request as I need to edit files that would likely be better off in a separate pull request for review.

@ErickSharp ErickSharp marked this pull request as ready for review January 26, 2022 22:14
@ErickSharp ErickSharp marked this pull request as draft January 26, 2022 22:30
@donstim
Copy link
Contributor

donstim commented Jan 31, 2022

What does a redesign mean specifically, like the landing calculator redesign? Is it just to clean up the code for future improvements to the page, or is it to also fix issues and improve the existing calculator?

For example, there are existing issues #6478, #6343, and #5734. (Oh, I see that #5734 is listed in the description as being fixed.)

Others for which no issues have been opened (I can open them if you'd like) include:

  • Rather than just having an input for the ICAO code for the airport also have a dropdown for the runways at that airport. Upon selection of the runway, autofill the runway heading, runway altitude, Rwy slope, and Rwy LDA.
  • Autofill the Approach Speed input with the approach speed from the MCDU PERF APPR page (but also allow it to be overwritten)
  • Maybe allow the Rwy Condition to be obtained from the ATIS if it is provided

@donstim
Copy link
Contributor

donstim commented Jan 31, 2022

Will the boarding page include all of the improvements that have been discussed in the various Discord channels, or will this be done in a later PR? If in this PR, can the specific items be listed here, so that we can verify that it is a complete list?

@ErickSharp
Copy link
Contributor Author

Will the boarding page include all of the improvements that have been discussed in the various Discord channels, or will this be done in a later PR? If in this PR, can the specific items be listed here, so that we can verify that it is a complete list?

Depending on how much time other contributors and I have, we may be able to get further in depth visualizations and add more features but for now I think we will get a port of what is currently present in the MCDU with a new UI.

@ErickSharp
Copy link
Contributor Author

What does a redesign mean specifically, like the landing calculator redesign? Is it just to clean up the code for future improvements to the page, or is it to also fix issues and improve the existing calculator?

For example, there are existing issues #6478, #6343, and #5734. (Oh, I see that #5734 is listed in the description as being fixed.)

Others for which no issues have been opened (I can open them if you'd like) include:

  • Rather than just having an input for the ICAO code for the airport also have a dropdown for the runways at that airport. Upon selection of the runway, autofill the runway heading, runway altitude, Rwy slope, and Rwy LDA.
  • Autofill the Approach Speed input with the approach speed from the MCDU PERF APPR page (but also allow it to be overwritten)
  • Maybe allow the Rwy Condition to be obtained from the ATIS if it is provided

Redesign initially meant just updating the design of the page and cleaning up the code a bit. However, I can fix some of the issues that you mentioned. I want the drop down feature myself but I still need to find a source to get this data in the first place.

@donstim
Copy link
Contributor

donstim commented Jan 31, 2022

I want the drop down feature myself but I still need to find a source to get this data in the first place.

Navigraph should have it (as well as the LDA), but I don't know anything about where they provide it. I would think it should be available from some database in the base sim as well in order to do flight planning, etc.

@tracernz
Copy link
Member

tracernz commented Feb 3, 2022

source to get this data in the first place

runway heading, runway altitude, Rwy slope, and Rwy LDA

Runway heading and elevation is directly in the nav data. Also in there are total runway length, threshold displacement for each end, and threshold elevations for each end, from which you can calculate slope, and an approximation of LDA.

We already do the slope calculation in https://github.com/flybywiresim/a32nx/blob/master/flybywire-aircraft-a320-neo/html_ui/Pages/VCockpit/Instruments/FlightElements/A32NX_Runway.js#L32. If you can't wait this would be the data to use... if you can wait until we integrate msfs-navdata that would be the best as it wouldn't need reworked later.

@donstim
Copy link
Contributor

donstim commented Feb 4, 2022

@tracernz
Copy link
Member

tracernz commented Feb 4, 2022

Or the relevant text copied and pasted here Navigraph runway data.txt :

When I say "if you can wait until we integrate msfs-navdata"... msfs-navdata is the abstraction layer we're currently building that allows us to use either msfs native navdata from the sim, or raw navigraph data from them. 😉

@ErickSharp ErickSharp force-pushed the flypadosv3 branch 3 times, most recently from 84db6f3 to 34c616c Compare February 13, 2022 03:13
@davidwalschots
Copy link
Member

I'd like to note that there are various other PRs/branches which are based off of flypadosv3. Every time you force push your commits it creates extra work for those authors. Consider not rebasing to reduce the burden on your fellow authors.

@ErickSharp
Copy link
Contributor Author

I'd like to note that there are various other PRs/branches which are based off of flypadosv3. Every time you force push your commits it creates extra work for those authors. Consider not rebasing to reduce the burden on your fellow authors.

This is indeed something that I already consider, but Mav and I were ok with doing this most recent rebase. I find that if I don't rebase at least once every week to two weeks then I get crushed with all the incoming changes. I will keep it under consideration though and try to get everyone on the same page!

@ErickSharp ErickSharp changed the title feat: flypadOS 3 feat(efb): flyPadOS 3 🚀 Mar 1, 2022
@ErickSharp ErickSharp force-pushed the flypadosv3 branch 2 times, most recently from a6b1c24 to 25cf5ed Compare March 2, 2022 12:17
frankkopp and others added 18 commits May 28, 2022 18:31
* Rename preset wasm to flypad-backend (FlyPadBackend)
* Added Pushback and inertialDampener class
* Renamed console output prefix to FLYPAD_BACKEND
* Pushback movement with wasm (wip)
* Pushback movement with wasm
* Cleanup and documentation
* Using event instead of executor code for TUG_HEADING
* Added documentation to InertialDampener.h
* Simplification of constant declaration
* Fix rebase issue
* Fixed pushback steering for Hyd Control Surface PR
* Pushback improvement for up to 60kts wind
* Fix merge issue
@2hwk 2hwk added the QA Tier 2 label May 28, 2022
@frankkopp frankkopp merged commit 4a79a02 into master May 28, 2022
@frankkopp frankkopp deleted the flypadosv3 branch May 28, 2022 17:30
@frankkopp frankkopp restored the flypadosv3 branch May 28, 2022 17:30
@ErickSharp
Copy link
Contributor Author

WE DID IT!!!

@2hwk 2hwk removed the Exp Available on experimental branch (for testing) label May 31, 2022
@frankkopp frankkopp deleted the flypadosv3 branch January 4, 2023 11:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment