From b301edbc7696eb75b1f8ffb442d7f222ad3632d6 Mon Sep 17 00:00:00 2001 From: Joshua Davidson Date: Mon, 4 Jun 2018 22:20:26 -0400 Subject: [PATCH] Control: Fix incorrect handling of stick inputs in roll bank protection --- Nasal/it-fbw.nas | 10 +++++++++- Systems/a320-fcs.xml | 14 +++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/Nasal/it-fbw.nas b/Nasal/it-fbw.nas index a1a84610..52ccb88b 100644 --- a/Nasal/it-fbw.nas +++ b/Nasal/it-fbw.nas @@ -226,7 +226,15 @@ var update_loop = func { var fbw_loop = func { var ail = getprop("/controls/flight/aileron"); - if (ail > 0.4 or ail < -0.4) { + if (ail > 0.4 and getprop("/orientation/roll-deg") >= -33.5) { + setprop("/it-fbw/roll-lim", "67"); + if (getprop("/it-fbw/roll-back") == 1 and getprop("/orientation/roll-deg") <= 33.5 and getprop("/orientation/roll-deg") >= -33.5) { + setprop("/it-fbw/roll-back", 0); + } + if (getprop("/it-fbw/roll-back") == 0 and (getprop("/orientation/roll-deg") > 33.5 or getprop("/orientation/roll-deg") < -33.5)) { + setprop("/it-fbw/roll-back", 1); + } + } else if (ail < -0.4 and getprop("/orientation/roll-deg") <= 33.5) { setprop("/it-fbw/roll-lim", "67"); if (getprop("/it-fbw/roll-back") == 1 and getprop("/orientation/roll-deg") <= 33.5 and getprop("/orientation/roll-deg") >= -33.5) { setprop("/it-fbw/roll-back", 0); diff --git a/Systems/a320-fcs.xml b/Systems/a320-fcs.xml index 5e7ade9e..d618a1ef 100644 --- a/Systems/a320-fcs.xml +++ b/Systems/a320-fcs.xml @@ -329,7 +329,7 @@ - + attitude/roll-rad @@ -345,6 +345,18 @@ + + + + attitude/roll-rad lt 0 + fbw/roll/r-r-33 ge fbw/roll/r-r-rb-f + + + attitude/roll-rad gt 0 + fbw/roll/r-r-33 le fbw/roll/r-r-rb-f + + +