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/mfd): Vertical Revision speed limit modification #9845

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

BravoMike99
Copy link
Contributor

@BravoMike99 BravoMike99 commented Feb 9, 2025

Fixes #9841
Fixes #8962

Summary of Changes

Adds modification of speed limit through vertical revision page.
Fixes delete altitude & speed constraint button not generating a temporary flightplan.

Screenshots (if necessary)

image

References

Additional context

Discord username (if different from GitHub):
bruno_pt99

Testing instructions

Program a flight plan of your choice on the FMS.
With an altitude constraint entered on a waypoint, press the "DELETE ALT CSTR" button on the ALT VERT REV page. After doing so, verify a TMPY FPLN is generated and that the constraint is deleted after inserting it.
Repeat the previous process but for a speed constraint on the SPD VERT REV page.
On the MFD, select a waypoint with a climb speed constraint or with no constraint at all (if on the ground) & access the SPD VERT page. "CLB SPD LIM" should be shown like the above picture with a 250K 10000feet value (if above transition altitude, it will be shown as flight level).
Attempt to delete the SPD LIM via the input fields or the button. A temporary flight plan is generated and after insertion the "SPD LIM" disappears from the F-PLN page and the calculated speeds are no longer limited by such restriction.
With a previously deleted speed limit, access the vert revision page again and insert a value in the speed or altitude fields. After doing so, the other should be populated with 250kt if an altitude was inserted or 10000 feet if a speed was inserted. The fields should become bigger after a manual entry.
Play around with editing the speed limit fields and verify the speed limit is correctly updated on the PERF CLB (only visible on the ground currently) and on the F-PLN page.
Repeat the previous process but for the descent speed limit, In order to edit the descent speed limit the waypoint in question needs to have a descent speed constraint or the FMS must be in the descent phase. (You can always add a descent constraint yourself)
Verify that the magenta speed bug & the autopilot respect the speed limit after a manual edition and that the speed is not limited by it after deletion.

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

@BravoMike99 BravoMike99 marked this pull request as ready for review February 16, 2025 17:09
@BravoMike99 BravoMike99 added the A380X Related to the A380X aircraft label Feb 16, 2025
plan.setPerformanceData(alternate ? 'alternateClimbSpeedLimitAltitude' : 'climbSpeedLimitAltitude', null);
plan.setPerformanceData(
alternate ? 'isAlternateClimbSpeedLimitPilotEntered' : 'isClimbSpeedLimitPilotEntered',
false,
Copy link
Member

Choose a reason for hiding this comment

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

Deletion would be setting a pilot value of null IMO? Anything setting it to a non-default value would be a pilot entry.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I kept it as false for consistency as that's how it also is on the A32NX currently (default entry or deleted -> false). I can change both to null but in that case I need to update the performance data interface as the type there is just boolean currently.

Comment on lines 303 to 313
setPilotEntryClimbSpeedLimitSpeed(value: number, planIndex: FlightPlanIndex, alternate: boolean): Promise<void>;

setPilotEntryClimbSpeedLimitAltitude(value: number, planIndex: FlightPlanIndex, alternate: boolean): Promise<void>;

deleteClimbSpeedLimit(planIndex: FlightPlanIndex, alternate: boolean): Promise<void>;

setPilotEntryDescentSpeedLimitSpeed(value: number, planIndex: FlightPlanIndex, alternate: boolean): Promise<void>;

setPilotEntryDescentSpeedLimitAltitude(value: number, planIndex: FlightPlanIndex, alternate: boolean): Promise<void>;

deleteDescentSpeedLimit(planIndex: FlightPlanIndex, alternate: boolean): Promise<void>;
Copy link
Member

@tracernz tracernz Feb 17, 2025

Choose a reason for hiding this comment

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

These should all have full JSDocs for all parameters with unit and possible values (as should the existing ones, but too late for them).

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
Projects
Status: 🟡 Code Review: Ready for Review
Development

Successfully merging this pull request may close these issues.

VERT DEV negative values a380x/fms: spd lim/alt
2 participants