A32X: Brand new EPR calculation, better FADECs

This commit is contained in:
Joshua Davidson 2017-10-20 18:37:10 -04:00
parent cddc73b6fa
commit 449704e36c
4 changed files with 800 additions and 788 deletions

View file

@ -70,9 +70,9 @@ setlistener("/controls/engines/engine[0]/throttle-pos", func {
setprop("/it-autoflight/input/athr", 1);
}
if (getprop("/controls/engines/thrust-limit") == "FLX") {
setprop("/controls/engines/engine[0]/throttle-fdm", 0.97);
setprop("/controls/engines/engine[0]/throttle-fdm", 0.99);
} else {
setprop("/controls/engines/engine[0]/throttle-fdm", 0.94);
setprop("/controls/engines/engine[0]/throttle-fdm", 0.95);
}
setprop("/systems/thrust/state1", "MCT");
} else if (thr1 >= 0.83 and thr1 < 0.95) {
@ -85,7 +85,7 @@ setlistener("/controls/engines/engine[0]/throttle-pos", func {
if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) {
setprop("/it-autoflight/input/athr", 1);
}
setprop("/controls/engines/engine[0]/throttle-fdm", 0.97);
setprop("/controls/engines/engine[0]/throttle-fdm", 0.99);
setprop("/systems/thrust/state1", "TOGA");
unflex();
}
@ -105,7 +105,7 @@ setlistener("/controls/engines/engine[0]/throttle-pos", func {
} else if (thr1 >= 0.95) {
setprop("/systems/thrust/state1", "TOGA");
}
setprop("/controls/engines/engine[0]/throttle-fdm", 0.97);
setprop("/controls/engines/engine[0]/throttle-fdm", 0.99);
}
});
@ -130,9 +130,9 @@ setlistener("/controls/engines/engine[1]/throttle-pos", func {
setprop("/it-autoflight/input/athr", 1);
}
if (getprop("/controls/engines/thrust-limit") == "FLX") {
setprop("/controls/engines/engine[1]/throttle-fdm", 0.97);
setprop("/controls/engines/engine[1]/throttle-fdm", 0.99);
} else {
setprop("/controls/engines/engine[1]/throttle-fdm", 0.94);
setprop("/controls/engines/engine[1]/throttle-fdm", 0.95);
}
setprop("/systems/thrust/state2", "MCT");
} else if (thr2 >= 0.83 and thr2 < 0.95) {
@ -145,7 +145,7 @@ setlistener("/controls/engines/engine[1]/throttle-pos", func {
if (getprop("/gear/gear[1]/wow") == 1 or getprop("/gear/gear[2]/wow") == 1) {
setprop("/it-autoflight/input/athr", 1);
}
setprop("/controls/engines/engine[1]/throttle-fdm", 0.97);
setprop("/controls/engines/engine[1]/throttle-fdm", 0.99);
setprop("/systems/thrust/state2", "TOGA");
unflex();
}
@ -165,7 +165,7 @@ setlistener("/controls/engines/engine[1]/throttle-pos", func {
} else if (thr2 >= 0.95) {
setprop("/systems/thrust/state2", "TOGA");
}
setprop("/controls/engines/engine[1]/throttle-fdm", 0.97);
setprop("/controls/engines/engine[1]/throttle-fdm", 0.99);
}
});

View file

@ -44,7 +44,8 @@
</pitch>
</apu>
<hyd>
<!-- Disabled until proper PTU system implemented, to not annoy people -->
<!--hyd>
<name>PTU</name>
<mode>once</mode>
<path>airbus_ptu.wav</path>
@ -56,7 +57,7 @@
</volume>
<reference-dist>20.0</reference-dist>
<max-dist>100.0</max-dist>
</hyd>
</hyd-->
<announcement>
<name>PurserSnacks</name>

View file

@ -11,57 +11,57 @@
<PropertyList>
<filter>
<name>MAN One</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>MAN One</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[0]/throttle-pos</property>
<entry><ind>0.00</ind><dep>0.00</dep></entry>
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
<entry><ind>0.78</ind><dep>0.95</dep></entry>
<entry><ind>0.83</ind><dep>0.95</dep></entry>
<entry><ind>0.95</ind><dep>0.99</dep></entry>
</table>
</expression>
</input>
</expression>
</input>
<output>/controls/engines/engine[0]/throttle-man</output>
</filter>
</filter>
<filter>
<name>MAN Two</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>MAN Two</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[1]/throttle-pos</property>
<entry><ind>0.00</ind><dep>0.00</dep></entry>
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
<entry><ind>0.78</ind><dep>0.95</dep></entry>
<entry><ind>0.83</ind><dep>0.95</dep></entry>
<entry><ind>0.95</ind><dep>0.99</dep></entry>
</table>
</expression>
</input>
</expression>
</input>
<output>/controls/engines/engine[1]/throttle-man</output>
</filter>
</filter>
<filter>
<name>MAN CMD One</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>MAN CMD One</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<product>
<table>
<property>/controls/engines/engine[0]/throttle-pos</property>
@ -69,24 +69,24 @@
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
<entry><ind>0.78</ind><dep>0.95</dep></entry>
<entry><ind>0.83</ind><dep>0.95</dep></entry>
<entry><ind>0.95</ind><dep>0.99</dep></entry>
</table>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
</expression>
</input>
<output>/controls/engines/engine[0]/throttle-cmd-man</output>
</filter>
</filter>
<filter>
<name>MAN CMD Two</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>MAN CMD Two</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<product>
<table>
<property>/controls/engines/engine[1]/throttle-pos</property>
@ -94,23 +94,23 @@
<entry><ind>0.01</ind><dep>0.00</dep></entry>
<entry><ind>0.60</ind><dep>0.91</dep></entry>
<entry><ind>0.65</ind><dep>0.91</dep></entry>
<entry><ind>0.78</ind><dep>0.94</dep></entry>
<entry><ind>0.83</ind><dep>0.94</dep></entry>
<entry><ind>0.95</ind><dep>0.97</dep></entry>
<entry><ind>0.78</ind><dep>0.95</dep></entry>
<entry><ind>0.83</ind><dep>0.95</dep></entry>
<entry><ind>0.95</ind><dep>0.99</dep></entry>
</table>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
</expression>
</input>
<output>/controls/engines/engine[1]/throttle-cmd-man</output>
</filter>
</filter>
<filter>
<name>N1 CMD 1</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<filter>
<name>N1 CMD 1</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<condition>
<and>
<equals>
@ -123,35 +123,35 @@
</equals>
</and>
</condition>
<expression>
<table>
<expression>
<table>
<product>
<value>0.97</value>
<value>0.99</value>
<property>/engines/flx-throttle</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/controls/engines/engine[0]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/controls/engines/engine[0]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[0]/n1-actual-cmd</output>
</filter>
</filter>
<filter>
<name>N1 CMD 2</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<filter>
<name>N1 CMD 2</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<condition>
<and>
<equals>
@ -164,94 +164,28 @@
</equals>
</and>
</condition>
<expression>
<table>
<expression>
<table>
<product>
<value>0.97</value>
<value>0.99</value>
<property>/engines/flx-throttle</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/controls/engines/engine[1]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/controls/engines/engine[1]/throttle-cmd-man</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[1]/n1-actual-cmd</output>
</filter>
<filter>
<name>N1 A/THR CMD 1</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[0]/throttle-cmd-cmd</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[0]/n1-actual-athr-cmd</output>
</filter>
<filter>
<name>N1 A/THR CMD 2</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/controls/engines/engine[1]/throttle-cmd-cmd</property>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[1]/n1-actual-athr-cmd</output>
</filter>
<filter>
<name>N1 A/THR DIFFERENCE 1</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<dif>
<property>/engines/engine[0]/n1-actual</property>
<property>/engines/engine[0]/n1-actual-athr-cmd</property>
</dif>
</expression>
</input>
<output>/engines/engine[0]/n1-actual-diff</output>
</filter>
<filter>
<name>N1 A/THR DIFFERENCE 2</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<dif>
<property>/engines/engine[1]/n1-actual</property>
<property>/engines/engine[1]/n1-actual-athr-cmd</property>
</dif>
</expression>
</input>
<output>/engines/engine[1]/n1-actual-diff</output>
</filter>
</filter>
<filter>
<name>Throttle 1</name>
@ -441,73 +375,73 @@
</output>
</filter>
<filter>
<name>N1 Limit TOGA</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>N1 Limit TOGA</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.97</value>
<value>0.99</value>
<property>/controls/engines/throttle-scale</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
</expression>
</input>
<output>/systems/thrust/n1/toga-lim</output>
</filter>
</filter>
<filter>
<name>N1 Limit MCT</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>N1 Limit MCT</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.94</value>
<value>0.95</value>
<property>/controls/engines/throttle-scale</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
</expression>
</input>
<output>/systems/thrust/n1/mct-lim</output>
</filter>
</filter>
<filter>
<name>N1 Limit FLX</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>N1 Limit FLX</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.97</value>
<value>0.99</value>
<property>/engines/flx-throttle</property>
</product>
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
</expression>
</input>
<output>/systems/thrust/n1/flx-lim</output>
</filter>
</filter>
<filter>
<name>N1 Limit CLB</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<filter>
<name>N1 Limit CLB</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<product>
<value>0.91</value>
@ -516,16 +450,16 @@
<entry><ind>0.00</ind><dep> 19.7</dep></entry>
<entry><ind>1.00</ind><dep>103.8</dep></entry>
</table>
</expression>
</input>
</expression>
</input>
<output>/systems/thrust/n1/clb-lim</output>
</filter>
</filter>
<filter>
<name>Throttle Output One</name>
<type>gain</type>
<gain>1</gain>
<input>
<filter>
<name>Throttle Output One</name>
<type>gain</type>
<gain>1</gain>
<input>
<condition>
<and>
<equals>
@ -538,29 +472,29 @@
</equals>
</and>
</condition>
<expression>
<expression>
<product>
<property>/controls/engines/engine[0]/throttle-fdm</property>
<property>/engines/flx-throttle</property>
</product>
</expression>
</input>
<input>
<expression>
</expression>
</input>
<input>
<expression>
<product>
<property>/controls/engines/engine[0]/throttle-fdm</property>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
</expression>
</input>
<output>/controls/engines/engine[0]/throttle-output</output>
</filter>
</filter>
<filter>
<name>Throttle Output Two</name>
<type>gain</type>
<gain>1</gain>
<input>
<filter>
<name>Throttle Output Two</name>
<type>gain</type>
<gain>1</gain>
<input>
<condition>
<and>
<equals>
@ -573,28 +507,28 @@
</equals>
</and>
</condition>
<expression>
<expression>
<product>
<property>/controls/engines/engine[1]/throttle-fdm</property>
<property>/engines/flx-throttle</property>
</product>
</expression>
</input>
<input>
<expression>
</expression>
</input>
<input>
<expression>
<product>
<property>/controls/engines/engine[1]/throttle-fdm</property>
<property>/controls/engines/throttle-scale</property>
</product>
</expression>
</input>
</expression>
</input>
<output>/controls/engines/engine[1]/throttle-output</output>
</filter>
</filter>
<filter>
<name>EGT L</name>
<type>gain</type>
<gain>1</gain>
<filter>
<name>EGT L</name>
<type>gain</type>
<gain>1</gain>
<enable>
<condition>
<and>
@ -609,22 +543,22 @@
</and>
</condition>
</enable>
<input>
<expression>
<table>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/engines/engine[0]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[0]/egt-actual</output>
</filter>
</filter>
<filter>
<name>EGT R</name>
<type>gain</type>
<gain>1</gain>
<filter>
<name>EGT R</name>
<type>gain</type>
<gain>1</gain>
<enable>
<condition>
<and>
@ -639,16 +573,16 @@
</and>
</condition>
</enable>
<input>
<expression>
<table>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
</expression>
</input>
<input>
<expression>
<table>
<property>/engines/engine[1]/n1-actual</property>
<entry><ind> 19.7</ind><dep>434</dep></entry>
<entry><ind>110.0</ind><dep>620</dep></entry>
</table>
</expression>
</input>
<output>/engines/engine[1]/egt-actual</output>
</filter>
</filter>
</PropertyList>

File diff suppressed because it is too large Load diff