-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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(w&b): rust refactor of payload management #7715
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2hwk
changed the title
refactor: #7442 flypad boarding refactor >> #7695 GSX integration
refactor(efb): #7442 flypad boarding refactor >> #7695 GSX integration
Jan 17, 2023
2hwk
force-pushed
the
flypad-weight-balance-gsx
branch
from
January 18, 2023 04:04
92ef0e9
to
95df89a
Compare
2hwk
added
Waiting for PR merge
Waiting for PR to be merged to fix the issue.
Waiting on Core Decision
labels
Jan 21, 2023
This will now probably be delayed until after |
2hwk
force-pushed
the
flypad-weight-balance-gsx
branch
from
January 28, 2023 17:17
4eee1b7
to
8e02144
Compare
2hwk
changed the title
refactor(efb): #7442 flypad boarding refactor >> #7695 GSX integration
refactor(efb): Rust refactor of pax boarding >> #7442 + #7695 GSX integration
Jan 28, 2023
2hwk
changed the title
refactor(efb): Rust refactor of pax boarding >> #7442 + #7695 GSX integration
refactor(w&b): Rust refactor of pax boarding >> #7442 + #7695 GSX integration
Jan 28, 2023
2hwk
force-pushed
the
flypad-weight-balance-gsx
branch
3 times, most recently
from
January 29, 2023 04:34
b668224
to
b99f60e
Compare
2hwk
force-pushed
the
flypad-weight-balance-gsx
branch
3 times, most recently
from
February 4, 2023 12:26
60ac5d0
to
e1c7ac1
Compare
2hwk
removed
the
Waiting for PR merge
Waiting for PR to be merged to fix the issue.
label
Feb 11, 2023
2hwk
force-pushed
the
flypad-weight-balance-gsx
branch
2 times, most recently
from
February 11, 2023 01:36
b96135c
to
807f35b
Compare
2hwk
changed the title
refactor(w&b): Rust refactor of pax boarding >> #7442 + #7695 GSX integration
refactor(w&b): Rust refactor of pax boarding
Feb 11, 2023
2hwk
force-pushed
the
flypad-weight-balance-gsx
branch
from
February 13, 2023 02:10
1b24149
to
9c2f2eb
Compare
2hwk
added a commit
that referenced
this pull request
Mar 19, 2023
Note: Need to resolve an issue with unit conversion already noted by testers |
Saschl
pushed a commit
that referenced
this pull request
Mar 24, 2023
2hwk
changed the title
refactor(w&b): Rust refactor of pax boarding
refactor(w&b): Rust refactor of payload management
Mar 27, 2023
2hwk
changed the title
refactor(w&b): Rust refactor of payload management
refactor(w&b): rust refactor of payload management
Mar 27, 2023
…on, per pax/pax bag weight in kg
2hwk
force-pushed
the
flypad-weight-balance-gsx
branch
from
March 27, 2023 03:28
1359598
to
7fb8b98
Compare
beheh
pushed a commit
that referenced
this pull request
Mar 28, 2023
beheh
pushed a commit
that referenced
this pull request
Mar 29, 2023
beheh
pushed a commit
that referenced
this pull request
Mar 29, 2023
igor8518
pushed a commit
to igor8518/a32nx
that referenced
this pull request
Apr 1, 2023
QA Report
Negatives:
Result:
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #[issue_no]
Summary of Changes
Applied ontop of GSX Integration to ensure compatibility with new backend refactoring.
See: #7442 for more information and #7695
This refactor:
TOTAL_ROWS_{}_{}
Local:Vars which are redundant with this bitpacked pax representation.trait
to pipe this data into other modules.This has several benefits:
Performance is much faster than using LocalStorage, where before frametimes could spike by 20ms or more with just 4 pax stations when trying to store several pax flag vars, now the impact is barely noticable to the end user (~1-2ms, which can be further improved).
Enables state saving/loading of seating by MSFS's default save file system
Allows manipulation of passenger seating in WASM (rust/C++), and allows other systems to be able to read current passenger location on a per passenger level of granularity (vs per section/payload station as before)
External programs can now set a seating layout:
PAX_FLAG_{}_DESIRED
Local:Var with a bitpacked 64-bit long number, i.e. 7, or1111111
would set the first 7 seats in a passenger section (station) as seated, then start the boarding by setting theBOARDING_STARTED_BY_USR
Local:Var astrue
. This will start the boarding process as though it was triggered by the EFB.PAX_FLAG_DESIRED_{}
andPAX_FLAG_{}
directly alongside writing the relevant aircraft variablePAYLOAD STATION WEIGHT:{}
Changes
Screenshots (if necessary)
No visual changes
References
Additional context
Discord username (if different from GitHub):2Cas#1022
Testing instructions
Payload page should work as before
New Payload Backend
1. Go to Ground > Services page and check that all elements are correctly rendered2. Go to Payload page,
3. Adjust seating by clicking on the seating layout. This should add new seats and increase the table value for planned passengers.
4. Add baggage by clicking on the 4 sliders, this should affect the desired cargo value in the table.
5. Change per passenger and per bag weight from 84 and 20 to higher/lower values (or leave at default)
6. Input desired passenger and desired cargo in the table
7. Check that ZFW calculation is accurate (Empty Weight is 42500KG, add passenger, passenger bags and cargo weight to this value and this should match desired ZFW)
8. Board passengers with desired time setting (Real/Fast/Instant). Should be able to change speed while passengers are boarding and have it transition between boarding times seamlessly.
9. Deboard passengers (either by inputting in the table, or clicking on the seating layout, or using the deboard button).
10. Go to the main EFB dashboard by clicking the FBW Logo in the top left, import a simbrief OFP
11. Go back to the payload page and click the cloud icon next to the table to load the OFP. Check that all relevant table values are correctly imported.
12. Load passengers/cargo again
13. Fill out INIT-A and INIT-B in MCDU (Init fuel pred). Check that MLDW indicator now shows on the performance envelope chart.14. Proceed with normal flight operations. Check that when in air, MTOW envelope is replaced by the FLIGHT envelope.
15. Check that visuals in all themes (dark/light/blue) are correct and readable, with both bright daytime and at night (in sim time)
16. Press COND page and check that air conditioning is still functioning as expected when the air conditioning knobs are adjusted.
17. Create a new save file with the new seating loadout, then load it. The seating layout should show when you go into the EFB's payload page.<- Delayed/Not Officially supported for now (watch this space)18. Check that all the above steps work for LBS as well as KG
Check GSX Integration still works
There's a few things to be aware of when using GSX Sync. PLEASE READ each of these carefully, documentation is planned for release.
NOTE: There are some bugs with GSX core (not related to this PR) that occur when using jet bridges occasionally, so for the purposes of testing, if this is encountered please take note.
3rd Party Options
. Inside there are two options to give you the freedom on what to sync with GSX. This activates the synchronisation. Without it GSX won't sync as expected. It's important to note various items and fields get disabled in the payload and fuel page with these options enabled.An aircraft profile is provided, you don't need to do anything GSX picks up on this
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.