Skip to content

Custom Autopilot / Fly-By-Wire

Important

  • The custom autopilot system needs at least a stable 17 fps to work properly. Any lower performance may result in unexpected behavior.
  • The A32NX forces the modern flight model and selection in the MSFS settings is not necessary.
  • It's crucial for the Autothrust system to have properly setup detents. Ensure that you have enough dead zone around the detents.
  • Typical issues when this is not done properly: constantly flashing "LVR CLB", FLX / TOGA not engaging or ATHR not holding speed correctly (the latter can also happen when in CLB/OP CLB or DES/OP DES and flying manually -> in that case you need to take care of holding speed with pitch)
  • Any mod or add-on that changes the physics or has an impact on the flight model is not supported

Sensitivity settings are highly hardware-dependent and can be different for each controller. The below recommendations are therefore initial starting points, and it might be necessary to adapt these for your controller and your preference.

We highly recommend using a sensitivity setting of -30% to better simulate the increased force you need to push or pull the real sidestick in the aircraft. Please see the screenshot below for an example:

Custom AP Sensitivity

Reporting issues

When reporting issues, please take the following into account:

  • Read the known and typical issues to be sure it's not already known or can be solved that way.
  • Have a look at your fps.
  • Note down which flight condition you are (in flight, on ground).
  • Note down what the FMA showed (or even better: take a screenshot or make a video).
  • You can press the DFDR button (right of the throttle levers and above the TCAS panel) to mark an event.
  • If you ask for support you might be asked for an FDR file, those can be found in the work folder (see below).

Work Folder Location

Microsoft Store Version

The work folder can be found here:

%LOCALAPPDATA%\Packages\Microsoft.FlightSimulator_8wekyb3d8bbwe\LocalState\packages\flybywire-aircraft-a320-neo\work\

Steam Version

The work folder can be found here:

%APPDATA%\Microsoft Flight Simulator\Packages\flybywire-aircraft-a320-neo\work\


Custom Autopilot and Autothrust System incl. new Engine model

⚠️ This is work in progress, there are still issues, see the Known Issues

⚠️ When throttle sensitivity is changed, the throttle configuration needs to be adapted in most cases.

ℹ It is recommended to use a linear sensitivity for the throttle axis.

ℹ The throttle configuration can be adapted using the EFB.

Typical Issues and How to Solve Them

FMA keeps blinking with message LVR CLB

If this is the case, your throttle is not calibrated properly. The values of the throttle axis range from -1.0 to 1.0 independently if you're using reverse on axis or not. When the current throttle position is larger or equal than the start position and smaller or equal than the end position of a detent, the throttles are considered to be in that detent.

Ensure that:

  • detents are large enough defined, so hardware inaccuracy is taken into account (i.e., detents on the Thrustmaster TCA are not that hard and values can quite differ even if one thinks it's in the detent)
  • there is enough range between the detents (meaning the end position of a detent and start position of the next detent are at least as wide as the detents)

Important: if you have issues, don't look at the animation part to check if it's in the detent. Check the values in the EFB, those are relevant and not the animation.

Autothrust does not hold target speed in manual flight

Important rule is to always monitor the FMA. If you're in manual flight, and you're in CLB, OP CLB, DES or OP DES the Autothrust applies either THR CLB (limited by the throttle levers) or THR IDLE. The speed needs to be controlled by pitch and in manual flight the pilot is responsible to do so by following the flight director orders.

If this is not your desired mode, you can do two things:

  • engage another vertical mode (i.e., V/S or FPA)
  • disengage both flight directors, this will force the Autothrust into SPEED mode

Reminder: Speed is only controlled properly using thrust when Autothrust is engaged and active, thrust levers are in detent CLB, active FMA mode is SPEED or MACH.

SRS does not engage on take-off

SRS mode needs at least a V2 entered on TO PERF page. Additionally, it does only engage when the detents are set properly. If no FLX temperature is set, this needs to be TOGA. If a FLX temperature is set, it's FLX/MCT or TOGA.

Other conditions:

  • plane needs to be at least 30 s on ground
  • Flaps extended at least in position 1+F
RWY does not engage on take-off

There is currently no auto-tune available for the LOC on take-off. You need to enter the right frequency manually. Besides that, RWY mode only engages with the following conditions:

  • LOC signal valid
  • LOC deviation smaller than 1/2 dot
  • Deviation between plane heading and LOC bearing is < 20°
  • Plane needs to be at least 30 s on ground
  • Flaps extended at least in position 1+F
LVR CLB flashes immediately after lift-off

Ensure that both thrust reduction and acceleration altitude on TO PERF page are properly set up.

LAND mode does not engage

Before reaching 400 ft radio altitude, the FMA needs to show LOC and G/S. If one of them is still in capture mode (LOC* or G/S*) you need to perform a go around maneuver or land manually, LAND will not engage that way.

Autoland does not perform as expected

The Autoland system is quite complex and is dependent on multiple environmental conditions to work properly, such as:

  • LOC accuracy in terms of
  • alignment of heading to the runway heading
  • alignment on the runway centerline
  • availability down to 0 ft and also during roll-out
  • G/S accuracy in terms of
  • alignment to the correct height (50 ft over runway threshold)
  • availability down to 50 ft
  • ground in front of the runway threshold needs to be more or less stable (no fast raising terrain) beginning 200 ft radio altitude

Reminder: If the autoland warning light goes on, it's IRL procedure to go around!

Unfortunately, many runways (either using Navigraph or not) have issues for LOC and/or G/S, either in terms of alignment or availability. On many runways, you lose the LOC during ROLL OUT. In that case, the rollout has to be performed manually by disengaging the AP.

Flight controls are not working after reload of the sim or airplane

Ensure that no SimConnect.cfg is in the Documents folder of your user profile. An older version of Kinetic Assistant installed that file, and it's causing issues with SimConnect connection between our custom systems and the sim.

Autopilot is oscillating on approach or in flight

Ensure that you get enough frames per second (see on top).

Climb performance is not satisfying or plane drops or increases nose heavily on approach

Ensure that you don't have any mods or add-ons installed that have influence on the flight model or other physics.

Autopilot oscillates when using time compression

In most cases, a time compression up to 4x is safe to use. Nevertheless, depending on environmental conditions and the performance of your computer, oscillations can still occur.

The reason it can work for some and not for others is how time compression works. For example, when using time compression of 2x for the custom systems it's like having 1/2 of your displayed fps, when you're using 4x it's like 1/4 of it. So considering the 17 fps requirement, it means you need ~ 30 fps and ~ 45 fps for 4x to work somehow, at least for smooth cruise.

When you encounter heavy turbulence, it might be needed that time compression is reduced.

Use RUDDER AXIS PLUS and RUDDER AXIS MINUS binding with normal axis instead of Xbox-Controller

In MSFS, there is a special binding for rudder available for use with Xbox-Controllers (it's bound by default). This binding is Rudder Axis Plus and Rudder Axis Minus. In the case of an Xbox-Controller, the rudder in centered when both axes (Plus and Minus) are in the middle of the range. When using a "normal" axis with those two bindings, this can cause issues because usual axes use the full range.

To enable the use with normal axes, the following needs to be done.

Put a file named ModelConfiguration.ini into the work folder (see "Work folder location" on this page) that has the following option set to true:

ModelConfiguration.ini
[flight_controls]
disable_xbox_compatibility_rudder_axis_plus_minus = true

Known Issues

Requirements and Incompatibilities

  • ❌ Minimum performance requirement is stable 17 fps
  • ❌ No support for AI copilot
  • ❌ Proper throttle calibration via EFB required

Not Solved or Missing (This List is Not Conclusive)

Fly-By-Wire
  • ❌ Alternative Law
  • ❌ Direct Law (in flight)
  • ❌ Simulation of hydraulic system with impact on flight model
Flight Management
  • ❌ Due to lack of VNAV, DES mode is currently only using SPD/MACH
  • ❌ Due to lack of VNAV, RNAV approaches are not supported yet
Autopilot
  • ❌ Engine out operations are not fully considered yet
  • ❌ Autoland with one engine out is not supported
Autothrust
  • ❌ N1 cannot be achieved in certain situations; an update of the engine model is in the works
Autothrust
  • ❌ Secondary parameters are not finished yet and are wrong

Mapping of Events to Control Autopilot / Autothrust

⚠️ Not all events are working, and it's also difficult to map all default events because there is no 100% match.

The recommendation is to use a combination of default events and the custom events to trigger the FCU. This has been tested with the Honeycomb Bravo Throttle using SPAD.next or FSUIPC.

ℹ An event file is required for FSUIPC. This needs to be placed in the FSUIPC folder beside the ini-file to be recognized. Then you can select those custom events for button press (for FS Control).

ℹ A profile XML is required for SPAD.neXt. This needs to be placed in your configured SPAD.neXt profile folder. Then you can create a new profile based on that or by editing the XML files you can take over the custom events in your existing profile.

You can grab the required files with the links below.

FSUIPC Event File SPAD.neXt Profile


Default Events

Event Function
AP_MASTER Toggles AP 1 master
AUTOPILOT_OFF Disconnect AP (like red button on sidestick)
AUTOPILOT_DISENGAGE_TOGGLE Same as AP_MASTER
AP_SPD_VAR_INC Clockwise dial Speed knob on FCU
AP_SPD_VAR_DEC Anti-clockwise dial Speed knob on FCU
HEADING_BUG_INC Clockwise dial Heading knob on FCU
HEADING_BUG_DEC Anti-clockwise dial Heading knob on FCU
AP_ALT_VAR_INC Clockwise dial ALT knob on FCU
AP_ALT_VAR_DEC Anti-clockwise dial ALT knob on FCU
AP_VS_VAR_INC Clockwise dial V/S knob on FCU
AP_VS_VAR_DEC Anti-clockwise dial V/S knob on FCU
AP_APR_HOLD Push APPR button on FCU
AP_LOC_HOLD Push LOC button on FCU
AUTO_THROTTLE_ARM Push A/THR button on FCU
AUTO_THROTTLE_DISCONNECT Disconnect A/THR (like red button on throttle levers)
AUTO_THROTTLE_TO_GA Apply TOGA thrust

Custom Events

Event Function
A32NX.FCU_AP_1_PUSH Push AP1 on FCU
A32NX.FCU_AP_2_PUSH Push AP2 on FCU
A32NX.FCU_AP_DISCONNECT_PUSH Disconnect AP (like red button on sidestick)
A32NX.FCU_ATHR_PUSH Push A/THR on FCU
A32NX.FCU_ATHR_DISCONNECT_PUSH Disconnect A/THR (like red button on throttle levers)
A32NX.FCU_SPD_INC Clockwise dial Speed knob on FCU
A32NX.FCU_SPD_DEC Anti-clockwise dial Speed knob on FCU
A32NX.FCU_SPD_SET Set Speed value on FCU (when in MACH mode 78 == M0.78)
A32NX.FCU_SPD_PUSH Push Speed knob on FCU
A32NX.FCU_SPD_PULL Pull Speed knob on FCU
A32NX.FCU_SPD_MACH_TOGGLE_PUSH Push SPD/MACH toggle on FCU
A32NX.FCU_HDG_INC Clockwise dial Heading knob on FCU
A32NX.FCU_HDG_DEC Anti-clockwise dial Heading knob on FCU
A32NX.FCU_HDG_SET Set Heading value on FCU
A32NX.FCU_HDG_PUSH Push Heading knob on FCU
A32NX.FCU_HDG_PULL Pull Heading knob on FCU
A32NX.FCU_TRK_FPA_TOGGLE_PUSH Push TRK/FPA toggle on FCU
A32NX.FCU_ALT_INC Clockwise dial Altitude knob on FCU (parameter 0 = use FCU increment, 100 = 100, 1000 = 1000)
A32NX.FCU_ALT_DEC Anti-clockwise dial Altitude knob on FCU (parameter 0 = use FCU increment, 100 = 100, 1000 = 1000)
A32NX.FCU_ALT_INCREMENT_TOGGLE Toggle Altitude increment on FCU
A32NX.FCU_ALT_INCREMENT_SET Set Altitude increment on FCU (parameter 100 or 1000)
A32NX.FCU_ALT_SET Set Altitude value on FCU
A32NX.FCU_ALT_PUSH Push Altitude knob on FCU
A32NX.FCU_ALT_PULL Pull Altitude knob on FCU
A32NX.FCU_VS_INC Clockwise dial V/S knob on FCU
A32NX.FCU_VS_DEC Anti-clockwise dial V/S knob on FCU
A32NX.FCU_VS_SET Set Speed value on FCU (when in TRK/FPA mode 10 == 1.0°)
A32NX.FCU_VS_PUSH Push V/S knob on FCU
A32NX.FCU_VS_PULL Pull V/S knob on FCU
A32NX.FCU_LOC_PUSH Push LOC button on FCU
A32NX.FCU_APPR_PUSH Push APPR button on FCU
A32NX.FCU_EXPED_PUSH Push EXPED button on FCU

FCU Variables

The following gives an overview of the used variables in relation to the FCU. For a more detailed explanation of the values, please refer to this page:

SimVars Documentation

Common
Variable Function
L:A32NX_AUTOPILOT_1_ACTIVE Indicates if Autopilot 1 is engaged
L:A32NX_AUTOPILOT_2_ACTIVE Indicates if Autopilot 2 is engaged
L:A32NX_AUTOTHRUST_STATUS Indicates the current status of the ATHR system
L:A32NX_FCU_LOC_MODE_ACTIVE Indicates if LOC button on the FCU is illuminated
L:A32NX_FCU_APPR_MODE_ACTIVE Indicates if APPR button on the FCU is illuminated
L:A32NX_TRK_FPA_MODE_ACTIVE Indicates if TRK/FPA mode is active
Speed
Variable Function
L:A32NX_AUTOPILOT_SPEED_SELECTED Selected Speed in FCU (can be knots or mach)
AUTOPILOT AIRSPEED HOLD VAR Current Airspeed target (can be selected or managed)
L:A32NX_FCU_SPD_MANAGED_DASHES Indicates if managed speed/mach mode is active and a numerical value is not displayed
L:A32NX_FCU_SPD_MANAGED_DOT Indicates if managed speed/mach mode is active
Heading
Variable Function
L:A32NX_AUTOPILOT_HEADING_SELECTED Selected Heading in FCU
L:A32NX_FCU_HDG_MANAGED_DASHES Indicates if managed heading mode is active and a numerical value is not displayed
L:A32NX_FCU_HDG_MANAGED_DOT Indicates if managed heading mode is active or armed
Altitude + V/S
Variable Function
AUTOPILOT ALTITUDE LOCK VAR:3 Selected Altitude in FCU
L:A32NX_FCU_ALT_MANAGED Indicates if managed altitude mode is active (dot)
L:A32NX_AUTOPILOT_FPA_SELECTED Selected FPA in FCU
L:A32NX_AUTOPILOT_VS_SELECTED Selected V/S in FCU
L:A32NX_FCU_VS_MANAGED Indicates if managed VS/FPA mode is active
L:A32NX_FMA_EXPEDITE_MODE Indicates if expedite mode is engaged

Last update: April 18, 2023