Skip to content

Commit

Permalink
Added A380X API page
Browse files Browse the repository at this point in the history
  • Loading branch information
frankkopp committed Nov 4, 2024
1 parent 8c5bfe8 commit 3783244
Show file tree
Hide file tree
Showing 11 changed files with 1,134 additions and 7 deletions.
2 changes: 1 addition & 1 deletion docs/aircraft/a32nx/a32nx-api/a32nx-flightdeck-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ Flight Deck: [EXT LT Panel](../../../pilots-corner/a32nx/a32nx-briefing/flight-
| | | | | | |
| RWY TURN OFF | CIRCUIT SWITCH ON:21 | 0|1 | R/W | MSFS VAR | Left Rwy Turn Off Light + Switch |
| | CIRCUIT SWITCH ON:22 | 0|1 | R/W | MSFS VAR | Right Rwy Turn Off Light |
| | LIGHT TAXI:2 | 0|1 | R/W | SIMCONNECT VAR | Rwy Turn Off Light + Switch |
| | LIGHT TAXI:2 | 0|1 | R/W | SIMCONNECT VAR | Rwy Turn Off Light + Switch |
| | | | | | |
| LAND L + R | LANDING_LIGHTS_ON | 0..3 | - | SIMCONNECT EVENT | 0=all, 1=NOSE, 2=L, 3=R |
| | LANDING_LIGHTS_OFF | 0..3 | - | SIMCONNECT EVENT | 0=all, 1=NOSE, 2=L, 3=R |
Expand Down
2 changes: 1 addition & 1 deletion docs/aircraft/a380x/.pages
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,4 @@ nav:
# - support
# - INOP Systems: inop.md
- Feature Guides: feature-guides
# - API and Hardware: a32nx-api
- A380X APIs: a380x-api
5 changes: 5 additions & 0 deletions docs/aircraft/a380x/a380x-api/.pages
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
nav:
- Overview: index.md
- A380X Flight Deck API: a380x-flight-deck-api.md
- A380X Developer API: a380x-systems-api.md
- ...
1,026 changes: 1,026 additions & 0 deletions docs/aircraft/a380x/a380x-api/a380x-flight-deck-api.md

Large diffs are not rendered by default.

23 changes: 23 additions & 0 deletions docs/aircraft/a380x/a380x-api/a380x-systems-api.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
---
title: A380X Developer API
description: Documentation for the FlyByWire A32NX FlightDeck API.
---

# A380X Developer API

<span style="color: #ff0000;">TODO: Change content</span>


Flight-Deck API Documentation: [Flight-Deck API](a380x-flight-deck-api)

In addition to the above documentation, all custom variables and custom events are documented by our developers on our project's GitHub: [:fontawesome-brands-github:{: .github } - **Docs section on GitHub**](https://github.com/flybywiresim/aircraft/tree/master/fbw-a32nx/docs){target=new}

## Docs:

- [Custom LVARs](https://github.com/flybywiresim/aircraft/blob/master/fbw-a32nx/docs/a320-simvars.md){target=new}
- [Custom Events](https://github.com/flybywiresim/aircraft/blob/master/fbw-a32nx/docs/a320-events.md){target=new}

## Templates

- **SPAD.neXt:** [flybywire-aircraft-a320-neo.xml](https://github.com/flybywiresim/aircraft/tree/master/fbw-a32nx/docs/SPAD.neXt){target=new}
- **FSUIPC:** [flybywire-aircraft-a320-neo.evt](https://github.com/flybywiresim/aircraft/tree/master/fbw-a32nx/docs/FSUIPC){target=new}
73 changes: 73 additions & 0 deletions docs/aircraft/a380x/a380x-api/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: Overview
description: This section is aimed at sim pilots who want to use external hardware or software to connect to the FlyByWire A380X.
---

<span style="color: #ff0000;">TODO: Change content</span>

# FlyByWire A380X API

This section is aimed at sim pilots who intend to use external hardware or software to connect to the FlyByWire A32NX to read values and control the aircraft.

## General

Many sim pilots wish to use dedicated hardware or specific software to control their aircraft, which goes beyond just the normal flight stick and maybe a controller for thrust.

However, hardware alone is not sufficient to control an aircraft in Microsoft Flight Simulator (or any sim). Software is required to tell the sim what the different levers (axis) and buttons shall actually do.

Most hardware (or software) vendors ship their products with a driver for their hardware which translates hardware input into software commands which are then sent to the simulator.

The problem with this approach is that all aircraft need to actually use the same software commands (API) for this to work on. For Microsoft Flight Simulator, this has been achieved by most default aircraft delivered when MSFS launched. Unfortunately, the API used (SimConnect, MSFS API) is not able to handle more complex aircraft and in addition, there are other limitations that would go beyond this guide to explain.

To make it possible for 3rd party aircraft developers to go beyond these limitations, Microsoft Flight Simulator enables aircraft developers to create their own API, most commonly in the form of so called sim-vars and sim-events.

All the major custom aircraft on the market use this possibility. So, not only does the FlyByWire A32NX do this but e.g., the Aerosoft CRJ, PMDG DC-6, Working Title's CJ4 mod, Justflight PA-28 Arrow, etc.

What these advanced aircraft have in common is that any standard drivers for hardware (or software) controllers can not use the additional aircraft APIs (variables and events).

Therefore, much to the frustration of users, many hardware controllers do not correctly work with these aircraft with their default drivers.

But there is a solution to this problem.

## Solutions

To solve the issue described above, there are several software solutions which basically replace any default hardware drivers. These solutions take the hardware inputs and translate them into the correct software commands for the current aircraft and send them to the simulator.

The main feature of these solutions is that the hardware/software mapping is highly configurable and programmable, and in some cases even with a nice and user-friendly interface.

**Example:**

So, for example, the standard software command for the landing lights is the SimConnect event "LANDING_LIGHTS_ON".

But the Aerosoft CRJ aircraft requires these variables:

```title="Sample Variables"
- set ASCRJ_OVHD_LDG_LEFT -> 1
- set ASCRJ_OVHD_LDG_NOSE -> 1
- set ASCRJ_OVHD_LDG_RIGHT -> 1
```

The mentioned software solutions would then enable the user to map a hardware landing light button to these three aircraft specific variables instead of using the default SimConnect event.

The FlyByWire A32NX also requires specific variables to control its advanced features. The documentation for these variables and events can be found here:

Flight-Deck Documentation: [Flight-Deck API](a380x-flight-deck-api)

Developer Documentation: [A32NX API Documentation](a380x-systems-api)

The most common software solutions are:

- [SPAD.neXt](https://www.spadnext.com/home.html){target=new}
- [FSUIPC](http://www.fsuipc.com/){target=new}
- [Axis and Ohs](https://axisandohs.weebly.com/){target=new}

For SPAD.neXt we have some example configurations for common hardware controllers: [Common hardware with SPAD](hardware.md)









Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: The A380 Flight Deck Anti Ice Panel description.

[//]: # (TODO)
<!-- TODO
!!! note "API Documentation: [Anti Ice Panel API](../../../../../aircraft/a32nx/a32nx-api/a32nx-flightdeck-api.md#anti-ice-panel)"
!!! note "API Documentation: [Anti Ice Panel API](../../../../../aircraft/a32nx/a32nx-api/a380x-flight-deck-api.md#anti-ice-panel)"
-->

## Description
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: The A380 Flight Deck Auxiliary Power Unit (APU) description.

[//]: # (TODO)
<!-- TODO
!!! note "API Documentation: [APU Panel API](../../../../../aircraft/a32nx/a32nx-api/a32nx-flightdeck-api.md#apu-panel)"
!!! note "API Documentation: [APU Panel API](../../../../../aircraft/a32nx/a32nx-api/a380x-flight-deck-api.md#apu-panel)"
-->

## Description
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: The A380 Flight Deck Exterior Lights Panel description.

[//]: # (TODO)
<!-- TODO
!!! note "API Documentation: [EXT LT Panel API](../../../../../aircraft/a32nx/a32nx-api/a32nx-flightdeck-api.md#external-lights-panel)"
!!! note "API Documentation: [EXT LT Panel API](../../../../../aircraft/a32nx/a32nx-api/a380x-flight-deck-api.md#external-lights-panel)"
-->

## Description
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: The A380 Flight Deck Internal Lights Panel description.

[//]: # (TODO)
<!-- TODO
!!! note "API Documentation: [INT LT Panel API](../../../../../aircraft/a32nx/a32nx-api/a32nx-flightdeck-api.md#interior-lights-panel)"
!!! note "API Documentation: [INT LT Panel API](../../../../../aircraft/a32nx/a32nx-api/a380x-flight-deck-api.md#interior-lights-panel)"
-->

## Usage
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ description: The A380 Flight Deck Signs Panel description.

[//]: # (TODO)
<!-- TODO
!!! note "API Documentation: [Signs Panel API](../../../../../aircraft/a32nx/a32nx-api/a32nx-flightdeck-api.md#signs-panel)"
!!! note "API Documentation: [Signs Panel API](../../../../../aircraft/a32nx/a32nx-api/a380x-flight-deck-api.md#signs-panel)"
-->

## Usage
Expand Down

0 comments on commit 3783244

Please sign in to comment.