diff --git a/A320-main.xml b/A320-main.xml index b079684d..006d78d6 100644 --- a/A320-main.xml +++ b/A320-main.xml @@ -690,20 +690,20 @@ - - - + + + 0 - + - - + + 25 @@ -1127,6 +1127,8 @@ 0 1 + 0 + 0 0 0 0 @@ -1137,6 +1139,8 @@ 0 1 + 0 + 0 0 0 0 @@ -1197,6 +1201,14 @@ 0 + + 0.6 + 0.65 + 0.01 + 0.78 + 0.83 + 0.95 + 0 diff --git a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas index ae43662d..3e08469d 100644 --- a/Models/Instruments/Upper-ECAM/Upper-ECAM.nas +++ b/Models/Instruments/Upper-ECAM/Upper-ECAM.nas @@ -1028,8 +1028,8 @@ input = { EPRthr_2: "/ECAM/Upper/EPRthr[1]", # fuel flow - fuelflow_1: "/engines/engine[0]/fuel-flow_actual", - fuelflow_2: "/engines/engine[1]/fuel-flow_actual", + fuelflow_1: "/engines/engine[0]/ff-actual", + fuelflow_2: "/engines/engine[1]/ff-actual", # flaps flapsPos: "/controls/flight/flaps-pos", diff --git a/Nasal/Systems/FADEC/engines-common.nas b/Nasal/Systems/FADEC/engines-common.nas index 14b32188..08417309 100644 --- a/Nasal/Systems/FADEC/engines-common.nas +++ b/Nasal/Systems/FADEC/engines-common.nas @@ -54,86 +54,86 @@ var doTOGAThrust = func { } } -# Reverse Thrust System +# Reverse Thrust System - TODO: Totally f*cked! Redo the whole d*mn thing! var toggleFastRevThrust = func { - if (pts.Systems.Thrust.state[0].getValue() == "IDLE" and pts.Systems.Thrust.state[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[0].getValue() == 0 and pts.Controls.Engines.Engine.reverser[1].getValue() == 0 and pts.Gear.wow[1].getValue() == 1 and pts.Gear.wow[2].getValue() == 1) { - if (pts.Sim.Input.Selected.engine[0].getBoolValue()) { - interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4); - pts.Controls.Engines.Engine.reverser[0].setValue(1); - pts.Controls.Engines.Engine.throttleRev[0].setValue(0.65); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(3.14); - } - if (pts.Sim.Input.Selected.engine[1].getBoolValue()) { - interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4); - pts.Controls.Engines.Engine.reverser[1].setValue(1); - pts.Controls.Engines.Engine.throttleRev[1].setValue(0.65); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(3.14); - } - } else if (pts.Controls.Engines.Engine.reverser[0].getValue() == 1 or pts.Controls.Engines.Engine.reverser[1].getValue() == 1) { - interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0); - interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0); - pts.Controls.Engines.Engine.throttleRev[0].setValue(0); - pts.Controls.Engines.Engine.throttleRev[1].setValue(0); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(0); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(0); - pts.Controls.Engines.Engine.reverser[0].setValue(0); - pts.Controls.Engines.Engine.reverser[1].setValue(0); - } + #if (pts.Systems.Thrust.state[0].getValue() == "IDLE" and pts.Systems.Thrust.state[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[0].getValue() == 0 and pts.Controls.Engines.Engine.reverser[1].getValue() == 0 and pts.Gear.wow[1].getValue() == 1 and pts.Gear.wow[2].getValue() == 1) { + # if (pts.Sim.Input.Selected.engine[0].getBoolValue()) { + # interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4); + # pts.Controls.Engines.Engine.reverser[0].setValue(1); + # pts.Controls.Engines.Engine.throttleRev[0].setValue(0.65); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(3.14); + # } + # if (pts.Sim.Input.Selected.engine[1].getBoolValue()) { + # interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4); + # pts.Controls.Engines.Engine.reverser[1].setValue(1); + # pts.Controls.Engines.Engine.throttleRev[1].setValue(0.65); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(3.14); + # } + #} else if (pts.Controls.Engines.Engine.reverser[0].getValue() == 1 or pts.Controls.Engines.Engine.reverser[1].getValue() == 1) { + # interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0); + # interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0); + # pts.Controls.Engines.Engine.throttleRev[0].setValue(0); + # pts.Controls.Engines.Engine.throttleRev[1].setValue(0); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(0); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(0); + # pts.Controls.Engines.Engine.reverser[0].setValue(0); + # pts.Controls.Engines.Engine.reverser[1].setValue(0); + #} } var doRevThrust = func { - if (pts.Gear.wow[1].getValue() != 1 and pts.Gear.wow[2].getValue() != 1) { - # Can't select reverse if not on the ground - return; - } - if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverser[0].getValue() == 1) { - var pos = pts.Controls.Engines.Engine.throttleRev[0].getValue(); - if (pos < 0.649) { - pts.Controls.Engines.Engine.throttleRev[0].setValue(pos + 0.15); - } - } - if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverser[1].getValue() == 1) { - var pos = pts.Controls.Engines.Engine.throttleRev[1].getValue(); - if (pos < 0.649) { - pts.Controls.Engines.Engine.throttleRev[1].setValue(pos + 0.15); - } - } - - if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Systems.Thrust.state[0].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[0].getValue() == 0) { - interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4); - pts.Controls.Engines.Engine.throttleRev[0].setValue(0.05); - pts.Controls.Engines.Engine.reverser[0].setValue(1); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(3.14); - } - if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Systems.Thrust.state[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[1].getValue() == 0) { - interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4); - pts.Controls.Engines.Engine.throttleRev[1].setValue(0.05); - pts.Controls.Engines.Engine.reverser[1].setValue(1); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(3.14); - } + #if (pts.Gear.wow[1].getValue() != 1 and pts.Gear.wow[2].getValue() != 1) { + # # Can't select reverse if not on the ground + # return; + #} + #if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverser[0].getValue() == 1) { + # var pos = pts.Controls.Engines.Engine.throttleRev[0].getValue(); + # if (pos < 0.649) { + # pts.Controls.Engines.Engine.throttleRev[0].setValue(pos + 0.15); + # } + #} + #if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverser[1].getValue() == 1) { + # var pos = pts.Controls.Engines.Engine.throttleRev[1].getValue(); + # if (pos < 0.649) { + # pts.Controls.Engines.Engine.throttleRev[1].setValue(pos + 0.15); + # } + #} + # + #if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Systems.Thrust.state[0].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[0].getValue() == 0) { + # interpolate("/engines/engine[0]/reverser-pos-norm", 1, 1.4); + # pts.Controls.Engines.Engine.throttleRev[0].setValue(0.05); + # pts.Controls.Engines.Engine.reverser[0].setValue(1); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(3.14); + #} + #if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Systems.Thrust.state[1].getValue() == "IDLE" and pts.Controls.Engines.Engine.reverser[1].getValue() == 0) { + # interpolate("/engines/engine[1]/reverser-pos-norm", 1, 1.4); + # pts.Controls.Engines.Engine.throttleRev[1].setValue(0.05); + # pts.Controls.Engines.Engine.reverser[1].setValue(1); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(3.14); + #} } var unRevThrust = func { - if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverser[0].getValue() == 1) { - var pos = pts.Controls.Engines.Engine.throttleRev[0].getValue(); - if (pos > 0.051) { - pts.Controls.Engines.Engine.throttleRev[0].setValue(pos - 0.15); - } else { - interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0); - pts.Controls.Engines.Engine.throttleRev[0].setValue(0); - pts.Controls.Engines.Engine.reverser[0].setValue(0); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(0); - } - } - if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverser[1].getValue() == 1) { - var pos = pts.Controls.Engines.Engine.throttleRev[1].getValue(); - if (pos > 0.051) { - pts.Controls.Engines.Engine.throttleRev[1].setValue(pos - 0.15); - } else { - interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0); - pts.Controls.Engines.Engine.throttleRev[1].setValue(0); - pts.Controls.Engines.Engine.reverser[1].setValue(0); - pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(0); - } - } + #if (pts.Sim.Input.Selected.engine[0].getBoolValue() and pts.Controls.Engines.Engine.reverser[0].getValue() == 1) { + # var pos = pts.Controls.Engines.Engine.throttleRev[0].getValue(); + # if (pos > 0.051) { + # pts.Controls.Engines.Engine.throttleRev[0].setValue(pos - 0.15); + # } else { + # interpolate("/engines/engine[0]/reverser-pos-norm", 0, 1.0); + # pts.Controls.Engines.Engine.throttleRev[0].setValue(0); + # pts.Controls.Engines.Engine.reverser[0].setValue(0); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[0].setValue(0); + # } + #} + #if (pts.Sim.Input.Selected.engine[1].getBoolValue() and pts.Controls.Engines.Engine.reverser[1].getValue() == 1) { + # var pos = pts.Controls.Engines.Engine.throttleRev[1].getValue(); + # if (pos > 0.051) { + # pts.Controls.Engines.Engine.throttleRev[1].setValue(pos - 0.15); + # } else { + # interpolate("/engines/engine[1]/reverser-pos-norm", 0, 1.0); + # pts.Controls.Engines.Engine.throttleRev[1].setValue(0); + # pts.Controls.Engines.Engine.reverser[1].setValue(0); + # pts.Fdm.JSBsim.Propulsion.Engine.reverserAngle[1].setValue(0); + # } + #} } diff --git a/Nasal/Systems/FADEC/fadec-common.nas b/Nasal/Systems/FADEC/fadec-common.nas index 510baba9..c7440b78 100644 --- a/Nasal/Systems/FADEC/fadec-common.nas +++ b/Nasal/Systems/FADEC/fadec-common.nas @@ -1,5 +1,5 @@ # A3XX FADEC/Throttle Control System - +# NOTE: Needs to be redone totally - so I will be breaking this file during the development of the new one # Copyright (c) 2020 Josh Davidson (Octal450) if (getprop("options/eng") == "IAE") { @@ -92,9 +92,7 @@ setlistener("/controls/engines/engine[0]/throttle-pos", func { if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) { fmgc.Input.athr.setValue(1); } - pts.Controls.Engines.Engine.throttleFdm[0].setValue(0.99); } else { - pts.Controls.Engines.Engine.throttleFdm[0].setValue(0.95); } } pts.Systems.Thrust.state[0].setValue("MCT"); @@ -105,7 +103,6 @@ setlistener("/controls/engines/engine[0]/throttle-pos", func { if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) { fmgc.Input.athr.setValue(1); } - pts.Controls.Engines.Engine.throttleFdm[0].setValue(0.99); pts.Systems.Thrust.state[0].setValue("TOGA"); unflex(); } @@ -125,7 +122,6 @@ setlistener("/controls/engines/engine[0]/throttle-pos", func { } else if (thr1 >= 0.95) { pts.Systems.Thrust.state[0].setValue("TOGA"); } - pts.Controls.Engines.Engine.throttleFdm[0].setValue(0.99); } }, 0, 0); @@ -153,9 +149,7 @@ setlistener("/controls/engines/engine[1]/throttle-pos", func { if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) { fmgc.Input.athr.setValue(1); } - pts.Controls.Engines.Engine.throttleFdm[1].setValue(0.99); } else { - pts.Controls.Engines.Engine.throttleFdm[1].setValue(0.95); } } pts.Systems.Thrust.state[1].setValue("MCT"); @@ -166,7 +160,6 @@ setlistener("/controls/engines/engine[1]/throttle-pos", func { if (pts.Gear.wow[0].getValue() and (engstate1 == 3 or engstate2 == 3)) { fmgc.Input.athr.setValue(1); } - pts.Controls.Engines.Engine.throttleFdm[1].setValue(0.99); pts.Systems.Thrust.state[1].setValue("TOGA"); unflex(); } @@ -186,7 +179,6 @@ setlistener("/controls/engines/engine[1]/throttle-pos", func { } else if (thr2 >= 0.95) { pts.Systems.Thrust.state[1].setValue("TOGA"); } - pts.Controls.Engines.Engine.throttleFdm[1].setValue(0.99); } }, 0, 0); @@ -290,14 +282,10 @@ var thrust_loop = maketimer(0.04, func { Thrust.alphaFloor.setValue(1); Thrust.togaLk.setValue(0); fmgc.Input.athr.setValue(1); - pts.Controls.Engines.Engine.throttleFdm[0].setValue(0.99); - pts.Controls.Engines.Engine.throttleFdm[1].setValue(0.99); } else if (Thrust.alphaFloor.getValue() and alpha < togaLock) { fmgc.Input.athr.setValue(1); Thrust.alphaFloor.setValue(0); Thrust.togaLk.setValue(1); - pts.Controls.Engines.Engine.throttleFdm[0].setValue(0.99); - pts.Controls.Engines.Engine.throttleFdm[1].setValue(0.99); } } else { Thrust.alphaFloor.setValue(0); diff --git a/Systems/a320-cfm56-5b4-engine-fadec.xml b/Systems/a320-cfm56-5b4-engine-fadec.xml index b9c64a85..0b1c4560 100644 --- a/Systems/a320-cfm56-5b4-engine-fadec.xml +++ b/Systems/a320-cfm56-5b4-engine-fadec.xml @@ -6,8 +6,18 @@ fadec/limit/rated-temp + fadec/limit/flex-active fadec/limit/flex-rated-temp fadec/limit/rated-thrust + fadec/limit/min-n1 + fadec/limit/max-n1 + + + /controls/engines/engine[0]/throttle-lever + /controls/engines/engine[0]/throttle-pos + /controls/engines/engine[1]/throttle-lever + /controls/engines/engine[1]/throttle-pos + /fdm/jsbsim/fadec/control-2/lever-n1 @@ -132,7 +142,7 @@ - +
/position/altitude-ftpropulsion/tat-c @@ -162,6 +172,18 @@ + + +
+ fadec/limit/toga + + 18.9 0 + 104.0 1 + +
+
+
+ fadec/limit/flex-rated-temp -/FMGC/internal/flex @@ -203,20 +225,265 @@ - + - + fadec/limit/flex-active eq 1 - --> + + + + + + + + fadec/limit/mct-flex-ref + 10 + + 0.5 + + + 10 + + + + + + + + fadec/limit/mct + + 18.9 0 + 104.0 1 + +
+
+
+ + + + + fadec/limit/toga-ref + 0.9 + + + + + + + + + + + fadec/limit/climb-ref + 10 + + 0.5 + + + 10 + + + + + + + + fadec/limit/climb + + 18.9 0 + 104.0 1 + +
+
+
+ +
+ + + + + + + + + + + + + + fadec/limit/min-n1 + + + fadec/control-1/throttle-pos + /systems/acconfig/options/fadec/idle-t + + + + fadec/limit/climb + fadec/limit/min-n1 + + + /systems/acconfig/options/fadec/climb-b + /systems/acconfig/options/fadec/idle-t + + + + + + + fadec/limit/min-n1 + fadec/limit/climb + + + + + + + fadec/limit/climb + + + fadec/control-1/throttle-pos + /systems/acconfig/options/fadec/climb-t + + + + fadec/limit/mct + fadec/limit/climb + + + /systems/acconfig/options/fadec/mct-b + /systems/acconfig/options/fadec/climb-t + + + + + + + fadec/limit/climb + fadec/limit/mct + + + + + + + fadec/limit/mct + + + fadec/control-1/throttle-pos + /systems/acconfig/options/fadec/mct-t + + + + fadec/limit/toga + fadec/limit/mct + + + /systems/acconfig/options/fadec/toga-b + /systems/acconfig/options/fadec/mct-t + + + + + + + fadec/limit/mct + fadec/limit/toga + + + + + + + fadec/control-1/throttle-pos gt /systems/acconfig/options/fadec/mct-t + + + fadec/control-1/throttle-pos gt /systems/acconfig/options/fadec/climb-t + + + + + + + fadec/control-1/lever-n1 + + 18.9 0 + 104.0 1 + +
+
+
+ + + + + + + + fadec/control-1/throttle-output + 0.75 + fcs/throttle-pos-norm[0] + + +
+ + + + + /engines/engine[0]/n1 + 2.25 + /engines/engine[0]/n1-actual + /engines/engine[3]/n1 + + + + /engines/engine[1]/n1 + 2.25 + /engines/engine[1]/n1-actual + /engines/engine[4]/n1 + + + + /engines/engine[0]/n2 + 2.25 + /engines/engine[0]/n2-actual + /engines/engine[3]/n2 + + + + /engines/engine[1]/n2 + 2.25 + /engines/engine[1]/n2-actual + /engines/engine[4]/n2 + + + + /engines/engine[0]/fuel-flow_pph + 3 + /engines/engine[0]/ff-actual + + + + /engines/engine[1]/fuel-flow_pph + 3 + /engines/engine[1]/ff-actual + diff --git a/Systems/a320-fcs.xml b/Systems/a320-fcs.xml index 262fe1b9..560106f5 100644 --- a/Systems/a320-fcs.xml +++ b/Systems/a320-fcs.xml @@ -12,10 +12,22 @@ - /velocities/airspeed-kt + aero/qbar-psf - 62 1.0 - 116 0.0 + 7 1 + 31 0 + +
+
+
+ + + + + aero/qbar-psf + + 7 0.333333 + 31 2
@@ -24,10 +36,22 @@ - /velocities/airspeed-kt + aero/qbar-psf - 72 1.0 - 121 0.0 + 8 1 + 32 0 + +
+
+
+ + + + + aero/qbar-psf + + 8 0.333333 + 32 2
@@ -105,18 +129,24 @@ + + + + hydraulics/aileron-l/pressure-switch-or eq 1 + /systems/failures/aileron-left eq 0 + + + - hydraulics/aileron-l/pressure-switch-or eq 1 + hydraulics/aileron-l/actuator-enabled eq 1 spoilers/anti-droop-final ne 0 /gear/gear[1]/wow eq 1 /gear/gear[2]/wow eq 1 - /systems/failures/aileron-left eq 0 - - hydraulics/aileron-l/pressure-switch-or eq 1 - /systems/failures/aileron-left eq 0 + + hydraulics/aileron-l/actuator-enabled eq 1 -1.0 @@ -129,9 +159,16 @@ 25 + + + + hydraulics/aileron-l/actuator-enabled eq 1 + + + hydraulics/aileron-l/cmd-deg - 82 + hydraulics/aileron-l/rate 26.5 hydraulics/aileron-l/final-deg @@ -184,18 +221,24 @@ + + + + hydraulics/aileron-r/pressure-switch-or eq 1 + /systems/failures/aileron-right eq 0 + + + - hydraulics/aileron-r/pressure-switch-or eq 1 + hydraulics/aileron-r/actuator-enabled eq 1 spoilers/anti-droop-final ne 0 /gear/gear[1]/wow eq 1 /gear/gear[2]/wow eq 1 - /systems/failures/aileron-right eq 0 - - hydraulics/aileron-r/pressure-switch-or eq 1 - /systems/failures/aileron-right eq 0 + + hydraulics/aileron-r/actuator-enabled eq 1 -1.0 @@ -208,9 +251,16 @@ 25 + + + + hydraulics/aileron-r/actuator-enabled eq 1 + + + hydraulics/aileron-r/cmd-deg - 82 + hydraulics/aileron-r/rate 26.5 hydraulics/aileron-r/final-deg @@ -258,25 +308,29 @@ - - - + + + /systems/hydraulic/blue-psi ge 1500 /systems/hydraulic/green-psi ge 1500 /systems/failures/elevator-left eq 0 - - /systems/fctl/elac1 eq 0 - /systems/fctl/sec1 eq 0 - /systems/fctl/elac2 eq 0 - /systems/fctl/sec2 eq 0 - + + + + + + + hydraulics/elevator-l/actuator-enabled eq 1 + /systems/fctl/elac1 eq 0 + /systems/fctl/sec1 eq 0 + /systems/fctl/elac2 eq 0 + /systems/fctl/sec2 eq 0 + hydraulics/elevator-l/actuator-enabled eq 1 hydraulics/elevator-l/pressure-switch-or eq 1 - /systems/failures/elevator-left eq 0 - /it-fbw/law ne 3 -1.0 @@ -293,9 +347,16 @@ + + + + hydraulics/elevator-l/actuator-enabled eq 1 + + + hydraulics/elevator-l/cmd-deg - 82 + hydraulics/elevator-l/rate 26.5 hydraulics/elevator-l/final-deg @@ -324,25 +385,29 @@ - - - + + + /systems/hydraulic/blue-psi ge 1500 /systems/hydraulic/yellow-psi ge 1500 - /systems/failures/elevator-right eq 0 - - /systems/fctl/elac1 eq 0 - /systems/fctl/sec1 eq 0 - /systems/fctl/elac2 eq 0 - /systems/fctl/sec2 eq 0 - + /systems/failures/elevator-left eq 0 + + + + + + + hydraulics/elevator-r/actuator-enabled eq 1 + /systems/fctl/elac1 eq 0 + /systems/fctl/sec1 eq 0 + /systems/fctl/elac2 eq 0 + /systems/fctl/sec2 eq 0 + hydraulics/elevator-r/actuator-enabled eq 1 hydraulics/elevator-r/pressure-switch-or eq 1 - /systems/failures/elevator-right eq 0 - /it-fbw/law ne 3 -1.0 @@ -359,16 +424,23 @@ + + + + hydraulics/elevator-r/actuator-enabled eq 1 + + + hydraulics/elevator-r/cmd-deg - 82 + hydraulics/elevator-r/rate 26.5 hydraulics/elevator-r/final-deg - + @@ -484,7 +556,7 @@ hydraulics/rudder/trim-deg -20 - 20 + 20 -0.8 @@ -506,10 +578,12 @@ hydraulics/rudder-swing - - /orientation/heading-deg - /environment/wind-from-heading-deg - + + + /orientation/heading-deg + /environment/wind-from-heading-deg + + /environment/wind-speed-kt 1.6666 @@ -525,7 +599,7 @@ hydraulics/rudder/swing-deg -25 - 25 + 25 -1.0 @@ -565,47 +639,7 @@ - - - - /controls/engines/engine[0]/throttle-output - 0.95 - fcs/throttle-pos-norm[0] - - - - /controls/engines/engine[1]/throttle-output - 0.95 - fcs/throttle-pos-norm[1] - - - - /engines/engine[0]/n1 - 2.25 - /engines/engine[0]/n1-actual - /engines/engine[3]/n1 - - - - /engines/engine[1]/n1 - 2.25 - /engines/engine[1]/n1-actual - /engines/engine[4]/n1 - - - - /engines/engine[0]/n2 - 2.25 - /engines/engine[0]/n2-actual - /engines/engine[3]/n2 - - - - /engines/engine[1]/n2 - 2.25 - /engines/engine[1]/n2-actual - /engines/engine[4]/n2 - + /controls/engines/engine[0]/throttle-lever diff --git a/Systems/a320-spoiler.xml b/Systems/a320-spoiler.xml index de962334..21779422 100644 --- a/Systems/a320-spoiler.xml +++ b/Systems/a320-spoiler.xml @@ -107,6 +107,18 @@ /controls/flight/speedbrake-arm 20 + + + + + aero/qbar-psf + + 9 1 + 33 6 + +
+
+
@@ -130,9 +142,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/green-psi ge 1500 + + + hydraulics/spoiler-l1/cmd-deg - 35 + hydraulics/spoiler-l1/rate 26.5 hydraulics/spoiler-l1/final-deg @@ -238,9 +260,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/yellow-psi ge 1500 + + + hydraulics/spoiler-l2/cmd-deg - 35 + hydraulics/spoiler-l2/rate 26.5 hydraulics/spoiler-l2/final-deg @@ -297,13 +329,13 @@ - /systems/hydraulic/yellow-psi ge 1500 + /systems/hydraulic/blue-psi ge 1500 spoilers/main-gear-and eq 0 /systems/failures/spoilers/spoiler-l3 eq 0 spoilers/main-cmd gt 0 - /systems/hydraulic/yellow-psi ge 1500 + /systems/hydraulic/blue-psi ge 1500 spoilers/main-gear-and eq 1 /systems/failures/spoilers/spoiler-l3 eq 0 spoilers/main-cmd gt 0 @@ -324,9 +356,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/blue-psi ge 1500 + + + hydraulics/spoiler-l3/cmd-deg - 35 + hydraulics/spoiler-l3/rate 26.5 hydraulics/spoiler-l3/final-deg @@ -395,7 +437,7 @@ spoilers/main-cmd gt 0 - /systems/hydraulic/blue-psi ge 1500 + /systems/hydraulic/yellow-psi ge 1500 /systems/failures/spoilers/spoiler-l4 eq 0 spoilers/main-cmd eq 0 @@ -410,9 +452,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/yellow-psi ge 1500 + + + hydraulics/spoiler-l4/cmd-deg - 35 + hydraulics/spoiler-l4/rate 26.5 hydraulics/spoiler-l4/final-deg @@ -472,9 +524,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/green-psi ge 1500 + + + hydraulics/spoiler-l5/cmd-deg - 35 + hydraulics/spoiler-l5/rate 26.5 hydraulics/spoiler-l5/final-deg @@ -501,9 +563,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/green-psi ge 1500 + + + hydraulics/spoiler-r1/cmd-deg - 35 + hydraulics/spoiler-r1/rate 26.5 hydraulics/spoiler-r1/final-deg @@ -609,9 +681,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/yellow-psi ge 1500 + + + hydraulics/spoiler-r2/cmd-deg - 35 + hydraulics/spoiler-r2/rate 26.5 hydraulics/spoiler-r2/final-deg @@ -668,13 +750,13 @@ - /systems/hydraulic/yellow-psi ge 1500 + /systems/hydraulic/blue-psi ge 1500 spoilers/main-gear-and eq 0 /systems/failures/spoilers/spoiler-r3 eq 0 spoilers/main-cmd gt 0 - /systems/hydraulic/yellow-psi ge 1500 + /systems/hydraulic/blue-psi ge 1500 spoilers/main-gear-and eq 1 /systems/failures/spoilers/spoiler-r3 eq 0 spoilers/main-cmd gt 0 @@ -695,9 +777,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/blue-psi ge 1500 + + + hydraulics/spoiler-r3/cmd-deg - 35 + hydraulics/spoiler-r3/rate 26.5 hydraulics/spoiler-r3/final-deg @@ -766,7 +858,7 @@ spoilers/main-cmd gt 0 - /systems/hydraulic/blue-psi ge 1500 + /systems/hydraulic/yellow-psi ge 1500 /systems/failures/spoilers/spoiler-r4 eq 0 spoilers/main-cmd eq 0 @@ -781,9 +873,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/yellow-psi ge 1500 + + + hydraulics/spoiler-r4/cmd-deg - 35 + hydraulics/spoiler-r4/rate 26.5 hydraulics/spoiler-r4/final-deg @@ -843,9 +945,19 @@ 50.0 + + + + /systems/acconfig/autoconfig-running eq 1 + + + /systems/hydraulic/green-psi ge 1500 + + + hydraulics/spoiler-r5/cmd-deg - 35 + hydraulics/spoiler-r5/rate 26.5 hydraulics/spoiler-r5/final-deg diff --git a/Systems/libraries.xml b/Systems/libraries.xml index 5ac1e079..082d22d0 100644 --- a/Systems/libraries.xml +++ b/Systems/libraries.xml @@ -32,22 +32,6 @@ 0.0 - - FF 1 - exponential - /engines/engine[0]/fuel-flow_pph - /engines/engine[0]/fuel-flow_actual - 0.32 - - - - FF 2 - exponential - /engines/engine[1]/fuel-flow_pph - /engines/engine[1]/fuel-flow_actual - 0.32 - - OIL PSI 1 gain @@ -230,62 +214,6 @@ 99 - - Throttle L - gain - 1.0 - - - - /controls/engines/engine[0]/reverser - 0 - - - /controls/engines/engine[0]/throttle - - - - - /controls/engines/engine[0]/reverser - 1 - - - 0 - - - /controls/engines/engine[0]/throttle-lever - /controls/engines/engine[0]/throttle-pos - - - - - Throttle R - gain - 1.0 - - - - /controls/engines/engine[1]/reverser - 0 - - - /controls/engines/engine[1]/throttle - - - - - /controls/engines/engine[1]/reverser - 1 - - - 0 - - - /controls/engines/engine[1]/throttle-lever - /controls/engines/engine[1]/throttle-pos - - - Target Pressurize Altitude CMD gain diff --git a/Systems/upper-ecam.xml b/Systems/upper-ecam.xml index 298e86b8..eb759a26 100644 --- a/Systems/upper-ecam.xml +++ b/Systems/upper-ecam.xml @@ -271,7 +271,7 @@ - /engines/engine[0]/n1-actual-cmd + /fdm/jsbsim/fadec/control-1/lever-n1 20.0-131 50.0 -64100.0 48 @@ -353,7 +353,7 @@
- /engines/engine[1]/n1-actual-cmd + /fdm/jsbsim/fadec/control-2/lever-n1 20.0-131 50.0 -64100.0 48