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

fix: fix ETA of TO waypoint display on ND #8252

Merged
merged 11 commits into from
Feb 14, 2024

Conversation

alexmilshtein
Copy link
Contributor

@alexmilshtein alexmilshtein commented Oct 14, 2023

  • fix: ETA of TO waypoint is not displayed prior to takeoff and after landing in real aircraft
  • doc: changelog

Fixes #8200

Summary of Changes

Fixes an issue where ETA of TO waypoint is visible on the ND prior to take-off and landing.
I decided to display it when the aircraft is detected to be off the ground and turn it off when it's on the ground (nose wheel pressure detected).

Screenshots (if necessary)

On the ground before the flight plan entered
Screenshot 2023-10-14 225607
On the ground after the flight plan entered
Screenshot 2023-10-14 225825
Take-off before rotation
Screenshot 2023-10-14 230305
Take-off after rotation
Screenshot 2023-10-14 230337
Approach
Screenshot 2023-10-15 000527
Roll-out with main gear on the ground
Screenshot 2023-10-15 000725
Roll-out with nose wheel on the ground
Screenshot 2023-10-15 000751

References

Take-off
https://www.youtube.com/watch?v=8DLYoj6S_lw&t=884s
Landing
https://youtu.be/rhI5XGwlnaI?t=269

Additional context

Discord username (if different from GitHub):
alexm1987

Testing instructions

  1. Start Cold and Dark
  2. Complete IRS alignment, observe PPOS is displayed on the ND but not ETA to TO and bearing. Before the change it was showing ETA 00:00 and bearing 000°.
  3. Enter the flight plan, observe that there's still no ETA displayed on the ND, but bearing and distance are visible now.
  4. Take-off as usual, as soon as GS (ground speed) goes above 100kts ETA becomes visible on the ND.
  5. Upon landing when there's no more active legs in the flight plan left, ND switches to PPOS: ETA, bearing and distance are not visible. Another possibility if you manage to slow down to 100kts GS when the active leg is still active, ETA becomes unavailable.

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

@BravoMike99
Copy link
Contributor

BravoMike99 commented Oct 14, 2023

Hi, on Honeywell FMGS aircraft which the FBW is simulating, the ETA becomes available as soon as the FMS transitions to the takeoff phase (GS greater than 90kts assuming takeoff power is set) while on rollout it seems to disappear somewhere below 100kts. The behavior you implemented seems to be the one of the Thales FMS which is the case on the videos you provided. In case you want to change that, here are a few videos with Honeywell: https://youtu.be/8EHTmIsz1oI https://youtu.be/UQE-g7yrY3w https://youtu.be/A1D2X9KELkM

@tracernz
Copy link
Member

Additionally, the value transmitted from the FMS should be changed rather than the ND code (it already transmits -1 when some other conditions that make the ETA not computed are present).

@pinatacolada
Copy link
Contributor

PPOS and MANUAL shouldn't have any predictions too, so no bearing track or distance.

@alexmilshtein
Copy link
Contributor Author

PPOS and MANUAL shouldn't have any predictions too, so no bearing track or distance.

@pinatacolada Can you, please, explain what MANUAL is in this context?

@pinatacolada
Copy link
Contributor

It's when the current leg is a MANUAL leg, the to waypoint is displayed as MANUAL without any prediction

@tracernz
Copy link
Member

FM/VM legs.

@alexmilshtein
Copy link
Contributor Author

alexmilshtein commented Oct 18, 2023

Hey all, I've refactored a bit:

  • ETA, distance, bearing is not shown when there no active leg, e.g. PPOS
  • Once flight plan is there on the ground, bearing and distance is visible
  • On take-off, once the ground speed reached 95kt, eta becomes visible
  • On landing, without Go-Around (missed approach) support, one cannot actually see ETA going away once the speed is below certain threshold, the reason being that once you land there are no more active legs, and ND switches to PPOS, so distance, bearing and eta are gone right away.

* fix: ETA of TO waypoint is not displayed prior to takeoff and after landing
  in real aircraft
* doc: changelog
* Move the logic to guidance controller, outside of ND and LnavDriver
This allows to update Efis after the are no more active legs
@tracernz tracernz added this to the v0.12.0 milestone Oct 24, 2023
@alepouna
Copy link
Member

QA Report

Discord: alepouna
Object of testing: #8252
Tier of Testing : 1
Date : 30/10/2023

Testing Process:

  • Start Cold and Dark
  • [PASS] Complete IRS alignment, observe PPOS is displayed on the ND but not ETA to TO. Before the change it was showing 00:00.
  • [PASS] Enter the flight plan, observer that there's still no ETA displayed on the ND.
  • [PASS] Take-off as usual, as soon as rotation happens and nose wheel lifts off the ground ETA is displayed.
  • [PASS] Land and observe that as soon as the nose wheel touches the runway ETA is gone.

Testing Results:
Passed

@@ -112,6 +115,8 @@ export class GuidanceController {

verticalProfileComputationParametersObserver: VerticalProfileComputationParametersObserver;

lastActiveLeg: Leg | null;
Copy link
Member

Choose a reason for hiding this comment

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

What is this used for?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is used to update efis with the data based on the active leg computed by the LnavDriver.
If there's no more active leg, ETA, bearing and distance will be updated not to appear on the ND.

Copy link
Member

Choose a reason for hiding this comment

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

Ah, my apologies, I missed that somehow 😄. Nevertheless, I think the property is redundant because we already store activeGeometry and activeLegIdx in the GuidanceController, so we can just derive the active leg there, rather than having it set in LnavDriver. This is just a minor thing though, so let me know if you have a different opinion.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

no worries, probably you're right on this one.
I've made the change, have a look.

Co-authored-by: BBK <[email protected]>
Copy link
Member

@BlueberryKing BlueberryKing left a comment

Choose a reason for hiding this comment

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

Nice work!

@alepouna
Copy link
Member

alepouna commented Nov 2, 2023

QA Report

Discord: alepouna
Object of testing: #8252
Tier of Testing : 1
Date : 02/11/2023

Testing Process:

  • Start Cold and Dark
  • [PASS] Complete IRS alignment, observe PPOS is displayed on the ND but not ETA to TO. Before the change it was showing 00:00.
  • [FAIL] Enter the flight plan, observer that there's still no ETA displayed on the ND.
    image

Negatives:
See above

Testing Results:
Not Passed

Edit:
Fixed instructions and negative comment as I skipped one step on the report writeup.

@github-actions github-actions bot removed the QA Passed label Nov 2, 2023
@alexmilshtein
Copy link
Contributor Author

alexmilshtein commented Nov 3, 2023

QA Report

Discord: alepouna Object of testing: #8252 Tier of Testing : 1 Date : 02/11/2023

Testing Process:

  • Start Cold and Dark
  • [FAIL] Complete IRS alignment, observe PPOS is displayed on the ND but not ETA to TO. Before the change it was showing 00:00.
    image

Negatives: See above

Testing Results: Not Passed

There's some confusion here :)
Not showing any ETA and bearing when it's PPOS is intentional. This is implemented to take on-board the feedback #8252 (comment)
ETA to TO is visible only when:

  • Flight plan is active
  • GS > 100 kts during take-off and later phases, not pre take-off
    Bearing and distance are visible only when there's an active leg in the flight plan.

Update:
Re-read this again.
Maybe I'm interpreting this wrong, let me have a quick look first.

@alexmilshtein
Copy link
Contributor Author

I tested this out for the preflight phase:
Before alignment no bearing, distance and prediction on ND.
Screenshot 2023-11-03 194806
After alignment before flight plan is entered
Screenshot 2023-11-03 194920
After flight plan is entered bearing and distance are visible, but not ETA
Screenshot 2023-11-03 195007

Please, try building with --no-cache

@BravoMike99
Copy link
Contributor

BravoMike99 commented Nov 3, 2023

It might also be a good idea to update the summary of changes & testing instructions to the honeywell behavior (GS based) as they still refer the Thales behavior/before the changes.

@alexmilshtein
Copy link
Contributor Author

It might also be a good idea to update the summary of changes & testing instructions to the honeywell behavior (GS based) as they still refer the Thales behavior/before the changes.

You're right, I should've updated instructions.
The steps are now updated to reflect Honeywell specific behaviour.

@alepouna
Copy link
Member

alepouna commented Nov 6, 2023

Please, try building with --no-cache

I have downloaded the artifact provided by the GitHub action as it is the same (to my knowledge) artifact that is provided to the end users. I have re-downloaded the artifact and still can reproduce the issue.

PS: My mistake earlier for the confusion on the issue, I "ate" a step on the testing instruction report. Have updated my comment.

@alexmilshtein
Copy link
Contributor Author

Please, try building with --no-cache

I have downloaded the artifact provided by the GitHub action as it is the same (to my knowledge) artifact that is provided to the end users. I have re-downloaded the artifact and still can reproduce the issue.

PS: My mistake earlier for the confusion on the issue, I "ate" a step on the testing instruction report. Have updated my comment.

Can you, please, provide the flight plan you’re using? I’ll try to replicate it. I’m not sure why it’s not working for you.

@alexmilshtein
Copy link
Contributor Author

I honestly don't know what's going on here.
I've downloaded the artifact myself and checked, it's not showing ETA when on the ground.
Screenshot 2023-11-10 003218
Screenshot 2023-11-10 003236

@Mack674
Copy link

Mack674 commented Feb 11, 2024

Quality Assurance Tester Report

Discord: Mack674#2274
Object of testing: #8252
Tier of Testing: 1
Date: 11/02/2024

Testing Process:
(Full flight EGLL - EGCC)

  • Powered up from C&D at LHR
  • Did a routine flight according to procedures
  • Observed ND indications behaviour
  • Logged off at gate at MAN

Negatives: N/A

Testing Results: Passed

Conclusions: Works as intended, great job!

Media:
8252-1gatel
8252-2taxi
8252-3roll1
8252-4roll2
8252-5crz
8252-6gatem

@tracernz tracernz enabled auto-merge (squash) February 14, 2024 04:59
@tracernz tracernz merged commit 5b563ff into flybywiresim:master Feb 14, 2024
7 checks passed
@2hwk 2hwk modified the milestones: v0.12.0, v0.11.2 Feb 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: ✔️ Done
Development

Successfully merging this pull request may close these issues.

ND: ETA of TO waypoint displayed prior to takeoff
9 participants