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/oans): EXIT missed, flags/crosses, visual fixes #9725

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

Conversation

flogross89
Copy link
Contributor

@flogross89 flogross89 commented Jan 6, 2025

Fixes #9672
Fixes #9514
Fixes #9798

Summary of Changes

  • Change color of mouse cursor to magenta if OANS visible
  • Add magenta lubber line in OANS ARC/NAV mode
  • Add EXIT MISSED logic, display in FMA and triple click
  • Update ARPT SEL on both sides when airport is selected manually
  • Add SET PLAN MODE (waiting for references)
  • Add option to select runways and taxiways via MAP DATA tab
  • Add option to center map on selected map data entities
  • Add option to add crosses and flags via the MAP DATA tab
  • Add option to add crosses and flags via the context menu
  • Add option to delete crosses and flags via the context menu
  • Enable TS strict mode, fix errors
  • Implement ARPT NAV reset panel p/b

Out of scope:

  • LDG SHIFT

Screenshots (if necessary)

image

References

Additional context

Discord username (if different from GitHub):

Testing instructions

Build: https://www.swisstransfer.com/d/64a37f95-7134-41e4-a725-f8154c196e90 (use this instead of the GitHub build)

  1. Confirm that issues are solved
  2. BTV: Perform landing, select exit before DRY line. "EXIT MISSED" should appear in the FMA once it becomes clear that the exit will be missed (confirmation time: 5 seconds)
  3. Select different runway, taxiways and parking stands through the MAP DATA tab, "CENTER MAP ON xxx" should work
  4. Adding flags and crosses to taxiways should work: One symbol at least every 250m, on each of the taxiway lines
  5. Addings flags and crosses should be possible via the context menu: Double click on desired location in the ND, select "ADD x"
  6. Pull ARPT NAV reset knob in overhead reset panel, OANS should be disabled

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

@flogross89 flogross89 added QA A380 Only QA only for A380 required A380X Related to the A380X aircraft labels Jan 6, 2025
@flogross89 flogross89 added this to the v0.13.0 milestone Jan 6, 2025
@flogross89 flogross89 force-pushed the feat-a380x-oans-flags branch from ec3c825 to f334ad1 Compare January 10, 2025 03:52
@flogross89 flogross89 marked this pull request as ready for review January 14, 2025 04:25
@flogross89 flogross89 requested a review from Benjozork January 20, 2025 01:00
@@ -4982,6 +4982,9 @@
</Component>

<Component ID="Overhead_Reset_Panel">
<UseTemplate Name="FBW_Airbus_RESET_PANEL_BUTTON">
Copy link
Member

Choose a reason for hiding this comment

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

We should probably extract this to its own .xml file at some point, like other newer behaviours. Probably not in this PR though

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Agree, makes sense to tackle this in a dedicated PR

# Conflicts:
#	fbw-a380x/src/systems/instruments/src/ND/OansControlPanel.tsx
#	fbw-a380x/src/systems/instruments/src/ND/instrument.tsx
Copy link
Member

Choose a reason for hiding this comment

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

Are those images meant to be duplicated?

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 converted these to png to improve performance after a request from tracer, but wanted to keep the SVG source files.

true,
);

private readonly fillColor = this.color.map((c) => (c === MouseCursorColor.MAGENTA ? '#ff94ff' : '#ffff00'));
Copy link
Member

Choose a reason for hiding this comment

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

Leaked subscription

@@ -141,12 +178,18 @@ export class OansControlPanel extends DisplayComponent<OansProps> {
this.pposLongWord,
);

private readonly setPlanModeDisplay = ConsumerSubject.create(this.sub.on('oans_show_set_plan_mode'), false).map(
Copy link
Member

Choose a reason for hiding this comment

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

Leaked subscription

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Could you elaborate a bit on that? Is the .map leaking or the this.sub.on ?

@@ -51,7 +51,7 @@ export class OancMovingModeOverlay extends DisplayComponent<OancMapOverlayProps>
bus={this.props.bus}
visible={this.roseModeVisible}
rotation={this.props.rotation.map((r) => {
const word = Arinc429Word.empty();
const word = Arinc429Register.empty();
Copy link
Member

Choose a reason for hiding this comment

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

This still allocates an object every time. This is meant to be stored as a class property and updated.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

changed it, hope it's better now

@flogross89 flogross89 force-pushed the feat-a380x-oans-flags branch from bfb07e2 to 816ca4c Compare January 26, 2025 16:28
@flogross89 flogross89 requested a review from Benjozork January 26, 2025 16:31
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 QA A380 Only QA only for A380 required
Projects
Status: 🔴 Code Review: In progress
3 participants