Skip to content

Commit

Permalink
feat: docs for fms v2
Browse files Browse the repository at this point in the history
* feat: discont fms-v2 fixed

* feat: fms-v2 f-pln update

* feat: feature guide update based on PR text

* new features

* further updates to the version 2 documentation

* add check marks

* remove v1.5 from wx/terr

* Update docs/pilots-corner/advanced-guides/flight-planning/disco.md

* add rnp/rnav warning

* update cfms known issues

* add cloud break approaches

---------

Co-authored-by: Valastiri <[email protected]>
  • Loading branch information
2hwk and Valastiri authored Jun 14, 2024
1 parent 2d6883a commit 5c5b5c9
Show file tree
Hide file tree
Showing 3 changed files with 81 additions and 54 deletions.
98 changes: 76 additions & 22 deletions docs/fbw-a32nx/feature-guides/cFMS.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: Dive into the A32NX's custom FMS and stay informed with the latest

# Custom Flight Management System

This page outlines features and issues provided by the initial integration of our custom FMS. Please also make ensure you have read the [special notes](#special-notes) section.
This page outlines features and issues provided by the initial integration of our custom FMS. Please also make ensure you have read the [known issues](#known-issues) section.

{==

Expand All @@ -21,28 +21,82 @@ For guides on utilizing features included with our custom FMS, see the [Guides a

We will always list the latest updates in the following section. As we improve our custom flight management system, older versions will be listed in a collapsible format in the [Older Versions](#older-versions) section.

### Latest - Version 1.5

We have introduced new features to the custom flight management system as part of a minor update. Please see the list below:

- LNAV Updates
- Holding Patterns
- Turn direction constraints on non-TF legs
- Overfly restriction support
- ARINC424 Leg Types
- AF, CA, CI, CR, CF, DF, HF, HM, HA legs ([See List of Leg Types](../../pilots-corner/advanced-guides/flight-planning/leg-types.md))
- Turn Prediction Types
- Path capture
- Course capture
- Direct to fix turn
- Holding pattern entry turn
- Navigation Display
- Removed flight plan loading from local storage
- Corrected active waypoint ETA display
- Added `EfisVectors` systems with optimized transmit task queue + support for future display of OFFSET, SECONDARY, SECONDARY DASHED, MISSED APPROACH, ALTERNATE and EOSID flight paths.
### Latest - Version 2

FMS v2 is a complete rewrite of the entire flight planning system of the A32NX (and by extension A380X). It will also allow us to fully integrate planned features that have
been waiting for this rewrite to be completed.

It entirely replaces the old system, a derivative of the CJ4 mod flight plan system, with a completely custom one, purpose-built for simulating Honeywell Airbus FMS software found on the A320/A330/A340/A350/A380.

!!! warning "RNP/RNAV"
FMS v2 lays the groundwork for many of our upcoming features to be implemented properly.

However, it is important to note that the full functionality of flying RNP/RNAV procedures is not yet implemented. Pilots are still capable of flying the procedure
laterally in NAV mode, but the vertical profile will not be followed and requires intervention via Autopilot features or Pilot Flying.

This will be added in a future update.

!!! warning "Cloud Break Approaches"
Cloud break approaches that are not assigned to a runway are not a feature of the FMS in use onboard the A32NX (and it's real life counterpart).

If you have been using these procedures in the simulator, they are no longer available for selection in the MCDU.

#### New / Updated Capabilities

- [x] Introduction of missed approach capability
- Loading of legs, stringing
- Sequencing logic
- [x] Introduction of alternate flight plan capability
- Origin/Destination airport revisions (DEPARTURE, ARRIVAL)
- Element insertion/deletion on FPLN page
- Hold revisions
- Airway insertion
- [x] Improved logic and handling of FMS routing
- Stringing logic has been improved where discontinuities in your flight plan are more accurately represented and handled
- [x] Improved logic for constraints and speed/altitude restrictions
- Accurately loads a constraint at the first waypoint of a star
- Merging values when clearing discontinuities
- [x] STARs with multiple IAFs now string correctly

#### Major Technical Design Differences

- Flight plan data structure
- The main type of a flight plan is a `FlightPlanElement`, which resolves to type `FlightPlanLeg | Discontinuity`. Only the leg type actually contains information. This API is typed in a way that mandates proper verification of the type by the consumer and allows for semantic narrowing by TypeScript.
- Flight plans are divided into segments, which are finite in number and match the only possibilities in a Honeywell Airbus FMS. There is no support for out-of-order segments and operations on flight plans are limited to this layout, reducing the API surface.
- `FlightPlanManager` is split into two classes:
- `FlightPlanService` (for now a singleton - will likely change) - this exposes allowed and common operations on flight plans, accepting parameters to target a specific plan or sub-plan (alternate). It also encapsulates TMPY logic.
- `FlightPlanManager` - this exposes operations on managing the storage of flight plans (create, delete, copy, swap, etc.)

#### Motivation

- The previous flight planning system **possesses a segmenting system prone to breaking, causing potential bugs in many places.**
- The previous flight planning system **does not correctly manage origin and destination legs.** Those are often added ad-hoc, without real proper representation at appropriate times in the flight plan. This also results in problem correctly handling approach missed approach points and therefore, makes missed approach segments impossible.
- The previous system **operates on a flight plan data structure that does not suit the reality of an airliner flight planning system.** Legs are represented as waypoints, with irrelevant data strewn around like predictions, and important data present in untyped free-for-all dictionaries. Discontinuities exist solely as a property of the leg they come after, not as an actual flight plan element.
- The previous system is **not made in a way that can accommodate accurate stringing algorithms.**
- The previous system **does not support efficient flight plan synchronization across clients.**

### Older Versions

??? info "Version 1.5"

We have introduced new features to the custom flight management system as part of a minor update. Please see the list below:

- LNAV Updates
- Holding Patterns
- Turn direction constraints on non-TF legs
- Overfly restriction support
- ARINC424 Leg Types
- AF, CA, CI, CR, CF, DF, HF, HM, HA legs ([See List of Leg Types](../../pilots-corner/advanced-guides/flight-planning/leg-types.md))
- Turn Prediction Types
- Path capture
- Course capture
- Direct to fix turn
- Holding pattern entry turn
- Navigation Display
- Removed flight plan loading from local storage
- Corrected active waypoint ETA display
- Added `EfisVectors` systems with optimized transmit task queue + support for future display of OFFSET, SECONDARY, SECONDARY DASHED, MISSED APPROACH, ALTERNATE and EOSID flight paths.

??? info "Version 1"

This constitutes the original feature set of our custom flight management system.
Expand Down Expand Up @@ -79,7 +133,6 @@ We have introduced new features to the custom flight management system as part o
- Rendering of flight path on the ND of legs will be glitched or incorrect if you are flying faster than the appropriate/correct speed. - [See Special Notes](#flight-path-rendering).
- Syncing the aircraft flight plan with the sim's flight plan for default ATC and VFR map is not 100% supported. - [See Special Notes](#special-notes).
- Defining both FROM/TO in the world map shows in the FROM/TO INIT A page but does not populate the airport list in our METAR (AOC) integration.
- DIRECT-TO: Turning point is not correctly implemented yet.
- ETA in F-PLN A on the MCDU may not be 100% accurate.
- Flight plan frozen on loading in (Please post the specific route on which this occurs and under what circumstances, i.e. spawning in c&d using the MSFS flight planner, or simBrief, or loading in .PLN generated by simBrief or other external program).
- Fuel calculations might be incorrect.
Expand All @@ -96,7 +149,8 @@ Please see our [Flight Planning in MSFS Guide](flight-planning.md) for more info
- Terrain Radar is now available in the all versions via [SimBridge](../../index.md).
- Please see our [CFMS NOTAM](https://flybywiresim.com/notams/cfms/) for further WX/TER information.

It is important to note that the weather radar is not available yet with the latest version of our cFMS(v1.5). Our current focus is to deliver a more realistic flight planning and navigation experience while maintaining performance and reliability. However, we are not satisfied with how the default code performs together with our custom systems.
It is important to note that the weather radar is not available yet with the latest version of our cFMS(v2). Our current focus is to deliver a more realistic flight planning
and navigation experience while maintaining performance and reliability. However, we are not satisfied with how the default code performs together with our custom systems.

We believe the benefits that cFMS provides outweigh the temporary lack of WX functionality. Weather will still prove to be a challenge due to the lack of a native SDK API. We have posted about it on the MSFS forums, where it currently sits at the top of the wishlist, and Asobo are investigating how to best improve their API.

Expand Down
19 changes: 1 addition & 18 deletions docs/pilots-corner/a32nx-briefing/mcdu/f-pln.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,6 @@ Between two waypoints, the display shows:

If the route contains a published missed approach procedure, it is shown in blue after the destination runway. It turns green when the go-around phase becomes active. After the last waypoint of the missed approach, the display shows the alternate flight plan in NAV mode.

!!! info "Missed Approach Procedure and ALTN Flight Plan"
Currently not available or INOP in the FBW A32NX for Microsoft Flight Simulator.

In NAV mode, the TO waypoint can only be cleared by using the DIR key.

#### Predictions
Expand All @@ -63,7 +60,7 @@ Once predictions are calculated, constraints are replaced by speed and altitude
SPD and ALT CSTR may either be entered on the VERT REV page or directly on the F-PLN A page, whereas TIME CSTR may only be entered from the RTA page.

!!! info ""
Currently not available or INOP in the FBW A32NX for Microsoft Flight Simulator.
Currently TIME CSTR is not available or INOP in the FBW A32NX for Microsoft Flight Simulator.

#### Pseudo Waypoints

Expand Down Expand Up @@ -184,9 +181,6 @@ STAR revisions are done only at a destination airport (Destination page).
- Used to enable the alternate flight plan.
- Will create a temporary flight plan.
- Only available on departure, waypoint, and destination.

!!! info ""
Currently not available or INOP in the FBW A32NX for Microsoft Flight Simulator.

- NEW DEST (4R)
- Used to change the destination airport.
Expand Down Expand Up @@ -236,11 +230,6 @@ A vertical revision is rejected by the FMS, and NOT ALLOWED is displayed in the

- TITLE
- “VERT REV AT (location)”
- Shows the estimated fuel on board and the extra fuel consumed after taxi, trip, reserves, alternate and final.
Extra fuel might be negative if reserves will be used.

!!! info ""
Currently not available or INOP in the FBW A32NX for Microsoft Flight Simulator.

- CLB/DES SPD LIM (2L)
- CLB SPD is shown in the CLIMB phase, DES SPD in the DES phase
Expand Down Expand Up @@ -296,9 +285,6 @@ A vertical revision is rejected by the FMS, and NOT ALLOWED is displayed in the
- ALT ERROR (4R)
- During CLIMB and DESCENT, this shows how far the corresponding constraint will be missed (estimation).
- When estimated miss is > 250 ft.

!!! info ""
Currently not available or INOP in the FBW A32NX for Microsoft Flight Simulator.

- STEP ALTS (5R)
- Calls the [STEP ALTS page](#step-alts-page).
Expand All @@ -307,9 +293,6 @@ A vertical revision is rejected by the FMS, and NOT ALLOWED is displayed in the

- \*CLB OR DES* (6L, 6R)
- Shown if the system can't determine climb or descent after a constraint has been entered.

!!! info ""
Currently not available or INOP in the FBW A32NX for Microsoft Flight Simulator.

!!! note
Altitude and speed constraints may apply to the climb, descent, or approach phase, but never to the cruise phase.
Expand Down
18 changes: 4 additions & 14 deletions docs/pilots-corner/advanced-guides/flight-planning/disco.md
Original file line number Diff line number Diff line change
Expand Up @@ -89,26 +89,16 @@ If the aircraft is flying into a MANUAL leg, NAV mode remains engaged and predic

## Special Cases

!!! warning "SID and En-route F-PLN Discontinuity - Inaccuracy"
!!! warning "SID and En-route F-PLN Discontinuity"
**In most cases**, a discontinuity between the SID and your route is something that doesn't happen in real life.

With our current FMS, the A32NX will sometimes create a discontinuity that wouldn't typically be there. In these cases it would be okay to CLR the discontinuity -
In these rare exceptions, it would be okay to CLR the discontinuity -
<span style="color:red">**provided you fully understand your routing and can identify that it would not cause any en-route issues**.</span>

!!! danger ""
There are some important reasons why you shouldn't normally clear a discontinuity:

- Narrow turn radii between the two waypoints, where the discontinuity is present, which could not realistically be flown by the plane
- Different [leg types](leg-types.md), which are not compatible to be connected together
Even if the waypoints form a direct line, it's not completely safe to remove a discontinuity unless you understand the above points

This is a small problem with our current implementation. It will be corrected when we update to version 2 (fms-v2) of our implementation, which contains an even better
simulation of the Honeywell FMS.

!!! warning "STAR and Approach Discontinuity - Inaccuracy"
If your STAR contains other waypoints after the IAF (initial approach fix) that you have selected via an approach transition (VIA), the FMS will not automatically connect the STAR to the approach at the IAF.

This is a small problem with our current implementation. It will be corrected when we update to version 2 (fms-v2) of our implementation, which contains an even better
simulation of the Honeywell FMS.


Even if the waypoints form a direct line, it's not completely safe to remove a discontinuity unless you understand the above points.

0 comments on commit 5c5b5c9

Please sign in to comment.