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

ND Airport display filter #9436

Open
ksleungac opened this issue Nov 7, 2024 · 2 comments
Open

ND Airport display filter #9436

ksleungac opened this issue Nov 7, 2024 · 2 comments
Labels
A380X Related to the A380X aircraft Bug Something isn't working

Comments

@ksleungac
Copy link

ksleungac commented Nov 7, 2024

Aircraft Version

Stable

Build info

{
    "built": "2024-11-02T19:03:34+00:00",
    "ref": "refs/tags/v0.12.1",
    "sha": "2776100c286d3723826c62df36dc48207657d937",
    "actor": "Benjozork",
    "event_name": "manual",
    "pretty_release_name": "stable/v0.12.1",
    "version": "a380x-v0.12.1-rel.2776100"
}

Describe the bug

When displaying airports on the ND while using 'ARPT' button on the EFIS, airports with no suitable runways for the A380 are shown.

Expected behavior

Normally, airports with shorter runways than a certain threshold is filtered out from the ND display.

IRL, this runway length threshold is a value set by the operator. (Thanks @BravoMike99 for the information!)
In the sim, this should be a value set by the user in the EFB or some other way, as like in PMDG, this is bound to FMC-PMDG SETUP - AIRCRAFT.

For the A380, I would imagine even more airports will be filtered out not only by the runway length. Though I think it good to keep it simple for now.

Steps to reproduce

  1. Select ARPT on the EFIS for the ND.
  2. Observe so many small airports with no suitable runway shown.

References (optional)

No response

Additional info (optional)

No response

Discord Username (optional)

pzb-85

@ksleungac ksleungac added A380X Related to the A380X aircraft Bug Something isn't working labels Nov 7, 2024
@ksleungac
Copy link
Author

ksleungac commented Nov 7, 2024

I've been reading through the source of which I've found in fbw-a32nx/src/systems/fmgc/src/efis/EfisSymbols.ts
Where, for the ND ARPT display, the function hasSuitableRunway has hardcoded runway length of 1500 meters for filtering (likely an value for the A320).

    const hasSuitableRunway = (airport: Airport): boolean =>
      airport.longestRunwayLength >= 1500 && airport.longestRunwaySurfaceType === RunwaySurfaceType.Hard;

As consulted with the fellow development team member, the src for the A380x fmgc is located and shared with A32nx, and we would need to watch for the regression while changing sections as such.

Therefore, I think it would be best to not hard-code a value for a specific aircraft, rather to just let the user enter a value for the runway threshold in the Flypad - Settings - AircraftOptionsPinPrograms page, and take that value as the value for determining if an airport has a suitable runway. In this way I can keep this code working even if the refactor happens nor if affects a32nx.

so,

  1. I will be looking into EFB code to add such option that takes in such threshold value
  2. I will take that value as the filter in hasSuitableRunway
  3. I will try setting some default value for both a32nx/a380x.

I am new to here, and anyway having any kind of advice is welcome :)

@BravoMike99
Copy link
Contributor

BravoMike99 commented Nov 7, 2024

I'm not sure if the runway length is defined by the operator or if it is an hardcoded value in the systems(if present at all. Someone else might know better) To add to that, each operator usually has its own nav database which only contains airports which are suited for the operations, as such, the filtering was already done during the navdata creation, something which we don't have in the sim.

@beheh beheh changed the title ND Airpot display filter ND Airport display filter Nov 7, 2024
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 Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants