A3XX: Fix some FMGC bugs and trimReset bugs
This commit is contained in:
parent
4778bf8d3b
commit
3354c40a93
3 changed files with 104 additions and 19 deletions
|
@ -26,6 +26,7 @@ setprop("/FMGC/internal/ils1-mcdu", "XXX/999.99");
|
|||
setprop("/FMGC/internal/ils2-mcdu", "XXX/999.99");
|
||||
setprop("/FMGC/internal/vor1-mcdu", "XXX/999.99");
|
||||
setprop("/FMGC/internal/vor2-mcdu", "999.99/XXX");
|
||||
setprop("/gear/gear[0]/wow-fmgc", 1);
|
||||
|
||||
setlistener("/sim/signals/fdm-initialized", func {
|
||||
var database1 = getprop("/FMGC/internal/navdatabase");
|
||||
|
@ -135,29 +136,17 @@ var FMGCinit = func {
|
|||
various2.start();
|
||||
}
|
||||
|
||||
#############
|
||||
# TO Status #
|
||||
#############
|
||||
############
|
||||
# FBW Trim #
|
||||
############
|
||||
|
||||
setlistener("/gear/gear[1]/wow", func {
|
||||
flarecheck();
|
||||
setlistener("/gear/gear[0]/wow-fmgc", func {
|
||||
trimReset();
|
||||
});
|
||||
|
||||
setlistener("/gear/gear[2]/wow", func {
|
||||
flarecheck();
|
||||
});
|
||||
|
||||
var flarecheck = func {
|
||||
var trimReset = func {
|
||||
gear0 = getprop("/gear/gear[0]/wow");
|
||||
state1 = getprop("/systems/thrust/state1");
|
||||
state2 = getprop("/systems/thrust/state2");
|
||||
flaps = getprop("/controls/flight/flap-pos");
|
||||
if (gear0 == 1 and (state1 == "MCT" or state1 == "MAN THR" or state1 == "TOGA") and (state2 == "MCT" or state2 == "MAN THR" or state2 == "TOGA") and flaps < 5) {
|
||||
setprop("/FMGC/status/to-state", 1);
|
||||
}
|
||||
if (getprop("/position/gear-agl-ft") >= 55) {
|
||||
setprop("/FMGC/status/to-state", 0);
|
||||
}
|
||||
if (gear0 == 1 and getprop("/FMGC/status/to-state") == 0 and (flaps >= 5 or (flaps >= 4 and getprop("/instrumentation/mk-viii/inputs/discretes/momentary-flap3-override") == 1))) {
|
||||
interpolate("/controls/flight/elevator-trim", 0.0, 1.5);
|
||||
}
|
||||
|
@ -220,6 +209,13 @@ var phasecheck = maketimer(0.2, func {
|
|||
newvertarm = getprop("/modes/pfd/fma/pitch-mode2-armed");
|
||||
thr1 = getprop("/controls/engines/engine[0]/throttle-pos");
|
||||
thr2 = getprop("/controls/engines/engine[1]/throttle-pos");
|
||||
gear0 = getprop("/gear/gear[0]/wow");
|
||||
state1 = getprop("/systems/thrust/state1");
|
||||
state2 = getprop("/systems/thrust/state2");
|
||||
|
||||
if (getprop("/gear/gear[0]/wow") != getprop("/gear/gear[0]/wow-fmgc")) {
|
||||
setprop("/gear/gear[0]/wow-fmgc", getprop("/gear/gear[0]/wow"));
|
||||
}
|
||||
|
||||
if ((n1_left < 70 or n1_right < 70 or gs < 90) and mode == " " and gear0 == 1 and phase == 1) {
|
||||
setprop("/FMGC/status/phase", "0");
|
||||
|
@ -293,6 +289,13 @@ var phasecheck = maketimer(0.2, func {
|
|||
setprop("/FMGC/internal/minspeed", 134);
|
||||
setprop("/FMGC/internal/alpha-prot-speed", 123);
|
||||
}
|
||||
|
||||
if (gear0 == 1 and (state1 == "MCT" or state1 == "MAN THR" or state1 == "TOGA") and (state2 == "MCT" or state2 == "MAN THR" or state2 == "TOGA") and flaps < 5) {
|
||||
setprop("/FMGC/status/to-state", 1);
|
||||
}
|
||||
if (getprop("/position/gear-agl-ft") >= 55) {
|
||||
setprop("/FMGC/status/to-state", 0);
|
||||
}
|
||||
});
|
||||
|
||||
var reset_FMGC = func {
|
||||
|
|
|
@ -279,11 +279,93 @@
|
|||
<!-- =============================================================== -->
|
||||
<!-- Other stuff -->
|
||||
<!-- =============================================================== -->
|
||||
|
||||
<filter>
|
||||
<name>Ground Horizon</name>
|
||||
<type>gain</type>
|
||||
<gain>1</gain>
|
||||
<enable>
|
||||
<condition>
|
||||
<not-equals>
|
||||
<property>/options/test-canvas</property>
|
||||
<value>1</value>
|
||||
</not-equals>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<condition>
|
||||
<and>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>0</value>
|
||||
</equals>
|
||||
</and>
|
||||
</condition>
|
||||
<expression>
|
||||
<dif>
|
||||
<table>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<entry><ind> 1</ind><dep> 0</dep></entry>
|
||||
<entry><ind>150</ind><dep> 16</dep></entry>
|
||||
</table>
|
||||
<table>
|
||||
<property>/orientation/pitch-deg</property>
|
||||
<entry><ind> 0</ind><dep> 0</dep></entry>
|
||||
<entry><ind>16</ind><dep>-16</dep></entry>
|
||||
</table>
|
||||
</dif>
|
||||
</expression>
|
||||
</input>
|
||||
<input>
|
||||
<condition>
|
||||
<or>
|
||||
<equals>
|
||||
<property>/gear/gear[1]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
<equals>
|
||||
<property>/gear/gear[2]/wow</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</or>
|
||||
</condition>
|
||||
<expression>
|
||||
<dif>
|
||||
<table>
|
||||
<property>/position/gear-agl-ft</property>
|
||||
<entry><ind> 1</ind><dep> 0</dep></entry>
|
||||
<entry><ind>150</ind><dep> 16</dep></entry>
|
||||
</table>
|
||||
<table>
|
||||
<property>/orientation/pitch-deg</property>
|
||||
<entry><ind>-16</ind><dep> 16</dep></entry>
|
||||
<entry><ind> 0</ind><dep> 0</dep></entry>
|
||||
<entry><ind> 16</ind><dep>-16</dep></entry>
|
||||
</table>
|
||||
</dif>
|
||||
</expression>
|
||||
</input>
|
||||
<output>/instrumentation/pfd/horizon-ground</output>
|
||||
<min>-16</min>
|
||||
<max>16</max>
|
||||
</filter>
|
||||
|
||||
<filter>
|
||||
<name>Ground Horizon</name>
|
||||
<type>gain</type>
|
||||
<gain>1</gain>
|
||||
<enable>
|
||||
<condition>
|
||||
<equals>
|
||||
<property>/options/test-canvas</property>
|
||||
<value>1</value>
|
||||
</equals>
|
||||
</condition>
|
||||
</enable>
|
||||
<input>
|
||||
<condition>
|
||||
<and>
|
||||
|
|
|
@ -1 +1 @@
|
|||
3060
|
||||
3061
|
Reference in a new issue