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(fms/efb): Pause at distance before top of descent #7165

Merged
merged 4 commits into from
Jun 13, 2022

Conversation

2hwk
Copy link
Member

@2hwk 2hwk commented May 7, 2022

Fixes #5211

Summary of Changes

  • New setting in EFB Realism - Pause at TOD (configurable by distance between 0-50 nm before TOD)
  • When enabled, flight will pause at the specified distance before TOD
  • If the TOD point shifts before your present position, or AP mode reverts in CRZ, will pause the simulation.

Items:

  • Pause at or before TOD
  • Pause if TOD has moved and is behind PPOS
  • Pause on AP mode reversion after transition altitude if AP is active
  • Disable when on VATSIM/IVAO

Screenshots (if necessary)

FlightSimulator_9Lr1EIKYeg.mp4

FlightSimulator_k9A9h6zrzO

References

Additional context

Discord username (if different from GitHub):2Cas#1022

Testing instructions

  • Open EFB settings > Realism > T/D Pause On.

  • Load up a flight plan and enter W/B, Fuel, FPLN-A, INIT-A and INIT-B as required to get a calculated vertical descent profile, as indicated by the apperance of Pseudo Waypoints on the ND and MCDU (T/C, T/D, etc).

After takeoff:

  • Climb out as per normal, arm and disarm AP (while below your origin airfield's transition altitude), nothing should happen.

  • Flying without AP engaged should not trigger any pause or popups.

After crossing transitional altitude, the sim will pause and a popup will be displayed when:

(Note: new popups will not occur for 10s after dismissing to prevent pop-up spam)

  • Disarming AP (moving joystick to max deflection, etc).

  • A change in Lateral (not vertical) guidance mode from NAV (as indicated on the PFD) i.e. HDG (can be triggered by reaching the end of a leg into a discont.)

  • If the approaching T/D point is within the distance specified in the T/D pause distance input (default 10nm).

After dismissing the T/D Reached popup dialogue:

  • AP reversion will no longer trigger a pause (either lateral mode changes/AP disconnect)

  • T/D dialog should never appear during descent or landing

  • When crossing T/D point, "T/D REACHED" should appear on PFD as before.

After landing:

  • Do a turnaround, enter a new flight plan to either the previous or a new destination, filling out all the MCDU pages as before.

  • Go into the EFB and set a custom T/D distance setting, anywhere between 0-50 nm.

  • Observe that the above behavior should remain consistent on the turnaround flight, T/D pause distance should follow the setting.

  • On this return flight, leave the pause at T/D dialog open for 10-30 minutes to measure the effect of leaving the plane in this suspended state over a moderate period of time.

  • Another flight may be done with the T/D Pause setting disabled, to ensure that NO pause dialogs occur in any of the above cases. A flight without active vertical guidance should similarly not trigger any pause pop-ups.

KNOWN ISSUES/SIM LIMITATIONS:

Sim Limitation:

Note that while aircraft simulation is suspended (i.e. fuel consumption, airspeed, altitude, physics), environmental simulation will continue (Notably Live Weather, Live Traffic/AI Traffic). Consequences of this include that TCAS TA/RAs will still be issued and if there is a significant change in the weather over time (say a few hours), your vertical descent profile and performance figures may no longer be accurate, which means that the actual T/D point may now have shifted from the originally calculated value.

The timestamp issued in the pause pop-up shows your real local system's time (localized to your locale) to help mitigate against this problem.

This is considered a sim limitation as the pause event we utilize does not affect the MSFS world environment. Along this line of thinking, we speculate that without historical live weather and traffic, it would not possible to inject or restore the state that the world was in when the pause was initiated (the time slider in the weather toolbar only affects lighting and will still reflect live wind and weather data).

Flying using a weather preset and without AI/live traffic avoids this limitation entirely, but would also be a compromise in other ways.

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

@svengcz
Copy link
Contributor

svengcz commented May 7, 2022

We should enable this only when VATSIM and IVAO are not set for weather data.
It should be impossible to activate this when pilots are flying online

@2hwk 2hwk force-pushed the 2c-tod-pause branch 2 times, most recently from 024aa6c to 0a264cf Compare May 8, 2022 14:18
@TayDex
Copy link

TayDex commented May 8, 2022

We should enable this only when VATSIM and IVAO are not set for weather data. It should be impossible to activate this when pilots are flying online

Though I often use Vatsim as weather source even when flying offline, and I'm sure I'm not the only one

@aguther aguther force-pushed the experimental branch 2 times, most recently from b634410 to 6a3b784 Compare May 8, 2022 18:29
@svengcz
Copy link
Contributor

svengcz commented May 8, 2022

We should enable this only when VATSIM and IVAO are not set for weather data. It should be impossible to activate this when pilots are flying online

Though I often use Vatsim as weather source even when flying offline, and I'm sure I'm not the only one

You're right, but this feature should be disabled per default and especially if something looks like an online flight.
Otherwise will it be a really bad feature for all other online-pilots and controllers.

@tracernz
Copy link
Member

tracernz commented May 9, 2022

We should enable this only when VATSIM and IVAO are not set for weather data. It should be impossible to activate this when pilots are flying online

I think many people use VATSIM METARs even when not flying online... it's the only way to get accurate weather for NZ for example because VATSIM have a contract with the weather provider.

@johnpmaguire
Copy link
Contributor

I don’t think FBW should be worrying about when a pilot is using this. It’s the user who has responsibility for their conduct online.

If it becomes an issue I’m sure VATSIM and Vpilot will find a solution similar to the auto disconnect for XPlane.

@2hwk
Copy link
Member Author

2hwk commented May 9, 2022

If there's a way to disable this purely when vPilot is detected I'm for it but in lieu of that I'll just remove that part of the logic for now since VATSIM METAR setting isn't a reliable indicator

@2hwk 2hwk marked this pull request as ready for review May 9, 2022 16:58
@2hwk 2hwk added the Exp Available on experimental branch (for testing) label May 9, 2022
@aguther aguther force-pushed the experimental branch 2 times, most recently from 8ac139f to 77eaab1 Compare May 9, 2022 20:52
@2hwk
Copy link
Member Author

2hwk commented May 10, 2022

Note: Lint is failing because of vnav branch, I didn't do anything 🙈

@aguther aguther force-pushed the experimental branch 4 times, most recently from 441ccff to c2fb3f4 Compare May 11, 2022 21:36
@2hwk 2hwk added this to the v0.9.0 milestone May 12, 2022
@2hwk 2hwk merged commit d3ce1d6 into flybywiresim:vnav Jun 13, 2022
@2hwk 2hwk removed the Exp Available on experimental branch (for testing) label Jun 13, 2022
BlueberryKing pushed a commit to BlueberryKing/a32nx that referenced this pull request Jun 18, 2022
…7165)

* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit to BlueberryKing/a32nx that referenced this pull request Jun 24, 2022
…7165)

* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit to BlueberryKing/a32nx that referenced this pull request Jul 3, 2022
…7165)

* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Jul 13, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Jul 24, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Aug 4, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Aug 4, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Aug 14, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Aug 15, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Aug 21, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Sep 6, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Sep 21, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Sep 28, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Oct 14, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Oct 21, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Oct 27, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Dec 14, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit that referenced this pull request Dec 29, 2022
* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
BlueberryKing pushed a commit to BlueberryKing/a32nx that referenced this pull request Jan 20, 2023
…7165)

* feat(efb): added settings for tod pause

* feat(fms): t/d pause with ap guard and custom t/d pause distance

* meta: changelog

* fix: incorporated suggested improvements
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pause at TOD