merge conflicts

This commit is contained in:
Jonathan Redpath 2017-02-03 12:25:10 +00:00
commit 592cbfb3e8
12 changed files with 808 additions and 523 deletions

View file

@ -4,7 +4,7 @@
<sim>
<author>Joshua Davidson (it0uchpods/411)</author>
<author>Joshua Davidson (it0uchpods/411), J Redpath (YV-LEGO)</author>
<model>
<pushback>
@ -249,7 +249,8 @@
<vorloc>-4.0</vorloc>
<alt>0.025</alt>
<vs>0.07</vs>
<flch>-0.30</flch>
<fpa>0.30</fpa>
<flch>-0.35</flch>
<gs>0.10</gs>
</cmd>
<autoland>
@ -259,12 +260,15 @@
</autoland>
</config>
<settings>
<flare-altitude>40</flare-altitude>
<land-enable>1</land-enable>
<land-flap>0.645</land-flap>
<retard-ft>40</retard-ft>
<retard-enable>0</retard-enable>
<toga-pitch>15</toga-pitch>
<enable-cws>0</enable-cws> <!-- Enable/Disable CWS -->
<flare-altitude>40</flare-altitude> <!-- Autoland Flare AGL -->
<land-enable>1</land-enable> <!-- Enable/Disable Autoland -->
<land-flap>0.645</land-flap> <!-- Minimum Flap used for Landing -->
<retard-ft>40</retard-ft> <!-- Enable Thrust Retard -->
<retard-enable>0</retard-enable> <!-- AGL to Thrust Retard -->
<togaspd>157</togaspd> <!-- V2 + 10kts -->
<lat-agl-ft>100</lat-agl-ft> <!-- Set to 999999 if you do not want T/O to change automatically to HDG, or LNAV -->
<reduc-agl-ft>1500</reduc-agl-ft> <!-- Set to 999999 if you do not want TOGA to change automatically to FLCH -->
</settings>
</it-autoflight>

View file

@ -527,9 +527,14 @@
<button>1</button>
<repeatable>false</repeatable>
<binding>
<command>property-assign</command>
<property>/it-autoflight/input/vert</property>
<value>1</value>
<command>nasal</command>
<script>
if (getprop("/it-autoflight/settings/use-true-hdg-error") == 0) {
setprop("/it-autoflight/input/vert", 1);
} else if (getprop("/it-autoflight/settings/use-true-hdg-error") == 1) {
setprop("/it-autoflight/input/vert", 5);
}
</script>
</binding>
</action>
<action>
@ -644,9 +649,12 @@
<value>1</value>
</binding>
<binding>
<command>property-assign</command>
<property>/it-autoflight/settings/use-fpa</property>
<value>1</value>
<command>nasal</command>
<script>
if (getprop("/it-autoflight/output/vert") == 5) {
setprop("/it-autoflight/input/vert", 1);
}
</script>
</binding>
</action>
</animation>
@ -663,9 +671,12 @@
<value>0</value>
</binding>
<binding>
<command>property-assign</command>
<property>/it-autoflight/settings/use-fpa</property>
<value>0</value>
<command>nasal</command>
<script>
if (getprop("/it-autoflight/output/vert") == 1) {
setprop("/it-autoflight/input/vert", 5);
}
</script>
</binding>
</action>
</animation>

Binary file not shown.

After

Width:  |  Height:  |  Size: 484 KiB

View file

@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8" ?>
<PropertyList>
<sim>
<model>
<livery>
<name>Brussels Airlines</name>
<texture>Liveries/A319/BRU.png</texture>
</livery>
</model>
</sim>
</PropertyList>

View file

@ -43,7 +43,7 @@ setlistener("/it-autoflight/mode/lat", func {
} else if (lat == "ALGN") {
setprop("/modes/pfd/fma/roll-mode", "ALN");
} else if (lat == "T/O") {
setprop("/modes/pfd/fma/roll-mode", " ");
setprop("/modes/pfd/fma/roll-mode", "RWY");
}
});
@ -117,9 +117,9 @@ var fd = func {
if (fd1 and fd2) {
setprop("/modes/pfd/fma/fd-mode", "1FD2");
} else if (fd1 and !fd2) {
setprop("/modes/pfd/fma/fd-mode", "FD1");
setprop("/modes/pfd/fma/fd-mode", "1FD-");
} else if (fd2 and !fd1) {
setprop("/modes/pfd/fma/fd-mode", "FD2");
setprop("/modes/pfd/fma/fd-mode", "-FD2");
} else {
setprop("/modes/pfd/fma/fd-mode", " ");
}

View file

@ -1,5 +1,5 @@
# IT AUTOFLIGHT System Controller by Joshua Davidson (it0uchpods/411).
# V3.0.0 Build 112
# V3.0.0 Build 127
# This program is 100% GPL!
print("IT-AUTOFLIGHT: Please Wait!");
@ -12,12 +12,12 @@ var ap_init = func {
setprop("/it-autoflight/input/cws", 0);
setprop("/it-autoflight/input/fd1", 0);
setprop("/it-autoflight/input/fd2", 0);
setprop("/it-autoflight/input/spd-kts", 200);
setprop("/it-autoflight/input/spd-mach", 0.68);
setprop("/it-autoflight/input/hdg", 360);
setprop("/it-autoflight/input/alt", 10000);
setprop("/it-autoflight/input/vs", 0);
setprop("/it-autoflight/input/fpa", 0);
setprop("/it-autoflight/input/lat", 5);
setprop("/it-autoflight/input/lat-arm", 0);
setprop("/it-autoflight/input/vert", 7);
setprop("/it-autoflight/input/bank-limit", 30);
setprop("/it-autoflight/input/trk", 0);
@ -32,6 +32,8 @@ var ap_init = func {
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/thr-mode", 2);
setprop("/it-autoflight/output/retard", 0);
setprop("/it-autoflight/output/lat", 5);
setprop("/it-autoflight/output/vert", 7);
setprop("/it-autoflight/settings/min-pitch", -8);
setprop("/it-autoflight/settings/max-pitch", 8);
setprop("/it-autoflight/internal/min-pitch", -8);
@ -39,9 +41,14 @@ var ap_init = func {
setprop("/it-autoflight/internal/alt", 10000);
setprop("/it-autoflight/internal/cwsr", 0);
setprop("/it-autoflight/internal/cwsp", 0);
setprop("/it-autoflight/internal/fpa", 0);
setprop("/it-autoflight/autoland/target-vs", "-650");
setprop("/it-autoflight/mode/thr", "PITCH");
setprop("/it-autoflight/mode/arm", "HDG");
setprop("/it-autoflight/mode/lat", "T/O");
setprop("/it-autoflight/mode/vert", "T/O CLB");
setprop("/it-autoflight/input/spd-kts", 200);
setprop("/it-autoflight/input/spd-mach", 0.68);
thrustmode();
update_arms();
print("IT-AUTOFLIGHT: Done!");
@ -58,11 +65,14 @@ setlistener("/it-autoflight/input/ap1", func {
setprop("/it-autoflight/sound/enableapoffsound", 0);
}
} else if (apmas == 1) {
if ((getprop("/gear/gear[1]/wow") == 0) and (getprop("/gear/gear[2]/wow") == 0)) {
setprop("/controls/flight/rudder", 0);
setprop("/it-autoflight/input/cws", 0);
setprop("/it-autoflight/output/ap1", 1);
setprop("/it-autoflight/sound/enableapoffsound", 1);
setprop("/it-autoflight/sound/apoffsound", 0);
}
}
});
# AP 2 Master System
@ -76,11 +86,14 @@ setlistener("/it-autoflight/input/ap2", func {
setprop("/it-autoflight/sound/enableapoffsound2", 0);
}
} else if (apmas == 1) {
if ((getprop("/gear/gear[1]/wow") == 0) and (getprop("/gear/gear[2]/wow") == 0)) {
setprop("/controls/flight/rudder", 0);
setprop("/it-autoflight/input/cws", 0);
setprop("/it-autoflight/output/ap2", 1);
setprop("/it-autoflight/sound/enableapoffsound2", 1);
setprop("/it-autoflight/sound/apoffsound2", 0);
}
}
});
# AT Master System
@ -97,17 +110,15 @@ setlistener("/it-autoflight/input/athr", func {
setlistener("/it-autoflight/input/cws", func {
var cwsmas = getprop("/it-autoflight/input/cws");
if (cwsmas == 1) {
setprop("/it-autoflight/sound/enableapoffsound", 1);
setprop("/it-autoflight/sound/apoffsound", 0);
setprop("/it-autoflight/sound/enableapoffsound2", 1);
setprop("/it-autoflight/sound/apoffsound2", 0);
setprop("/it-autoflight/output/ap1", 0);
setprop("/it-autoflight/output/ap2", 0);
if ((getprop("/gear/gear[1]/wow") == 0) and (getprop("/gear/gear[2]/wow") == 0)) {
setprop("/it-autoflight/input/ap1", 0);
setprop("/it-autoflight/input/ap2", 0);
setprop("/it-autoflight/internal/cws-roll-deg", getprop("/orientation/roll-deg"));
setprop("/it-autoflight/internal/cws-pitch-deg", getprop("/orientation/pitch-deg"));
cwsrollt.start();
cwspitcht.start();
setprop("/it-autoflight/output/cws", 1);
}
} else if (cwsmas == 0) {
cwsrollt.stop();
cwspitcht.stop();
@ -138,7 +149,11 @@ setlistener("/it-autoflight/input/fd2", func {
# Master Lateral
setlistener("/it-autoflight/input/lat", func {
if ((getprop("/gear/gear[1]/wow") == 0) and (getprop("/gear/gear[2]/wow") == 0)) {
lateral();
} else {
lat_arm();
}
});
var lateral = func {
@ -169,11 +184,11 @@ var lateral = func {
alandt1.stop();
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0);
var hdgnow = int(getprop("/orientation/heading-magnetic-deg")+0.5);
setprop("/it-autoflight/input/hdg", hdgnow);
setprop("/it-autoflight/output/lat", 0);
setprop("/it-autoflight/mode/lat", "HDG");
setprop("/it-autoflight/mode/arm", " ");
var hdgnow = int(getprop("/orientation/heading-magnetic-deg")+0.5);
setprop("/it-autoflight/input/hdg", hdgnow);
} else if (latset == 4) {
setprop("/it-autoflight/output/lat", 4);
setprop("/it-autoflight/mode/lat", "ALGN");
@ -182,9 +197,27 @@ var lateral = func {
}
}
var lat_arm = func {
var latset = getprop("/it-autoflight/input/lat");
if (latset == 0) {
setprop("/it-autoflight/input/lat-arm", 0);
setprop("/it-autoflight/mode/arm", "HDG");
} else if (latset == 1) {
setprop("/it-autoflight/input/lat-arm", 1);
setprop("/it-autoflight/mode/arm", "LNV");
} else if (latset == 3) {
var hdgnow = int(getprop("/orientation/heading-magnetic-deg")+0.5);
setprop("/it-autoflight/input/hdg", hdgnow);
setprop("/it-autoflight/input/lat-arm", 0);
setprop("/it-autoflight/mode/arm", "HDG");
}
}
# Master Vertical
setlistener("/it-autoflight/input/vert", func {
if ((getprop("/gear/gear[1]/wow") == 0) and (getprop("/gear/gear[2]/wow") == 0)) {
vertical();
}
});
var vertical = func {
@ -266,7 +299,28 @@ var vertical = func {
setprop("/it-autoflight/mode/arm", " ");
}
} else if (vertset == 5) {
# FPA not ready yet, so do nothing
alandt.stop();
alandt1.stop();
fpa_calct.start();
var altinput = getprop("/it-autoflight/input/alt");
setprop("/it-autoflight/internal/alt", altinput);
var fpanow = (int(10*getprop("/it-autoflight/internal/fpa")))*0.1;
if (fpanow < 9.9 and fpanow > -9.9) {
setprop("/it-autoflight/input/fpa", fpanow);
} else if (fpanow >= 9.9) {
setprop("/it-autoflight/input/fpa", 9.9);
} else if (fpanow <= -9.9) {
setprop("/it-autoflight/input/fpa", -9.9);
}
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/vert", 5);
setprop("/it-autoflight/mode/vert", "FPA");
if (getprop("/it-autoflight/output/loc-armed")) {
setprop("/it-autoflight/mode/arm", "LOC");
} else {
setprop("/it-autoflight/mode/arm", " ");
}
thrustmode();
} else if (vertset == 6) {
setprop("/it-autoflight/output/vert", 6);
setprop("/it-autoflight/mode/vert", "LAND 3");
@ -280,7 +334,6 @@ var vertical = func {
setprop("/it-autoflight/mode/arm", " ");
var altinput = getprop("/it-autoflight/input/alt");
setprop("/it-autoflight/internal/alt", altinput);
togasel();
thrustmode();
alandt.stop();
alandt1.stop();
@ -300,6 +353,18 @@ var alt_on = func {
setprop("/it-autoflight/internal/min-pitch", -8);
}
var fpa_calc = func {
var VS = getprop("/velocities/vertical-speed-fps");
var TAS = getprop("/velocities/uBody-fps");
if(TAS < 10) TAS = 10;
if(VS < -200) VS =-200;
if (abs(VS/TAS) <= 1) {
var FPangle = math.asin(VS/TAS);
FPangle *=90;
setprop("/it-autoflight/internal/fpa", FPangle);
}
}
setlistener("/it-autoflight/input/kts-mach", func {
var modez = getprop("/it-autoflight/input/kts-mach");
if (modez == 0) {
@ -311,22 +376,74 @@ setlistener("/it-autoflight/input/kts-mach", func {
}
});
# Capture Logic
# TOGA
setlistener("/it-autoflight/input/toga", func {
if (getprop("/it-autoflight/input/toga") == 1) {
setprop("/it-autoflight/input/vert", 7);
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/input/toga", 0);
togasel();
}
});
var togasel = func {
if ((getprop("/gear/gear[1]/wow") == 0) and (getprop("/gear/gear[2]/wow") == 0)) {
var iasnow = int(getprop("/instrumentation/airspeed-indicator/indicated-speed-kt")+0.5);
setprop("/it-autoflight/input/spd-kts", iasnow);
setprop("/it-autoflight/input/kts-mach", 0);
setprop("/it-autoflight/mode/vert", "G/A CLB");
} else {
setprop("/it-autoflight/input/lat", 5);
setprop("/it-autoflight/mode/lat", "T/O");
setprop("/it-autoflight/mode/vert", "T/O CLB");
}
}
setlistener("/it-autoflight/mode/vert", func {
var vertm = getprop("/it-autoflight/mode/vert");
if (vertm == "T/O CLB") {
reduct.start();
latarmt.start();
} else {
reduct.stop();
latarmt.stop();
}
});
var toga_reduc = func {
if (getprop("/position/gear-agl-ft") >= getprop("/it-autoflight/settings/reduc-agl-ft")) {
setprop("/it-autoflight/input/vert", 4);
}
}
var latarms = func {
if (getprop("/position/gear-agl-ft") >= getprop("/it-autoflight/settings/lat-agl-ft")) {
setprop("/it-autoflight/input/lat", getprop("/it-autoflight/input/lat-arm"));
}
}
# Altitude Capture and FPA Timer Logic
setlistener("/it-autoflight/output/vert", func {
var vertm = getprop("/it-autoflight/output/vert");
if (vertm == 1) {
altcaptt.start();
fpa_calct.stop();
} else if (vertm == 4) {
altcaptt.start();
fpa_calct.stop();
} else if (vertm == 5) {
altcaptt.start();
} else if (vertm == 7) {
altcaptt.start();
fpa_calct.stop();
} else {
altcaptt.stop();
fpa_calct.stop();
}
});
# Altitude Capture
var altcapt = func {
var vsnow = getprop("/it-autoflight/internal/vert-speed-fpm");
if ((vsnow >= 0 and vsnow < 500) or (vsnow < 0 and vsnow > -500)) {
@ -463,31 +580,10 @@ setlistener("/it-autoflight/input/hdg", func {
setprop("/autopilot/settings/heading-bug-deg", getprop("/it-autoflight/input/hdg"));
});
# TOGA
setlistener("/it-autoflight/input/toga", func {
if (getprop("/it-autoflight/input/toga") == 1) {
setprop("/it-autoflight/input/vert", 7);
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/input/toga", 0);
}
});
var togasel = func {
if ((getprop("/gear/gear[1]/wow") == 0) and (getprop("/gear/gear[2]/wow") == 0)) {
setprop("/it-autoflight/mode/vert", "G/A CLB");
} else {
setprop("/it-autoflight/input/lat", 5);
setprop("/it-autoflight/mode/lat", "T/O");
setprop("/it-autoflight/mode/vert", "T/O CLB");
}
}
# LOC and G/S arming
var update_arms = func {
update_locarmelec();
update_apparmelec();
settimer(update_arms, 0.5);
}
@ -585,7 +681,6 @@ var aland1 = func {
# Autoland Stage 2 Logic (Rollout)
# CWS
var cwsroll = func {
var ail = getprop("/controls/flight/aileron");
@ -621,3 +716,6 @@ var alandt = maketimer(0.5, aland);
var alandt1 = maketimer(0.5, aland1);
var cwsrollt = maketimer(0.1, cwsroll);
var cwspitcht = maketimer(0.1, cwspitch);
var reduct = maketimer(0.5, toga_reduc);
var latarmt = maketimer(0.5, latarms);
var fpa_calct = maketimer(0.1, fpa_calc);

View file

@ -198,14 +198,6 @@ var aglgears = func {
aglgears();
setlistener("/instrumentation/altimeter/indicated-altitude-ft", func {
setprop("/instrumentation/altimeter/indicated-altitude-ft-pfd", getprop("/instrumentation/altimeter/indicated-altitude-ft") / 100);
});
setlistener("/instrumentation/vertical-speed-indicator/indicated-speed-fpm", func {
setprop("/instrumentation/vertical-speed-indicator/indicated-speed-fpm-pfd", getprop("/instrumentation/vertical-speed-indicator/indicated-speed-fpm") / 100);
});
setlistener("/controls/parking-brake", func {
if (getprop("/controls/parking-brake") == 1) {
setprop("/electrical/switches/ext-pwr", 1);

BIN
Paintkit/BRU.xcf Normal file

Binary file not shown.

View file

@ -757,12 +757,6 @@
<button>
<pref-width>40</pref-width>
<legend>FPA</legend>
<enable>
<equals>
<property>/it-autoflight/settings/disabled-button</property>
<value>blahblahblahblah</value>
</equals>
</enable>
<binding>
<command>property-assign</command>
<property>/it-autoflight/input/vert</property>
@ -949,6 +943,90 @@
</button>
</group>
<group>
<layout>table</layout>
<text>
<row>0</row>
<col>0</col>
<label>FPA:</label>
</text>
<button>
<row>0</row>
<col>1</col>
<pref-width>25</pref-width>
<pref-height>25</pref-height>
<legend>&lt;&lt;</legend>
<binding>
<command>property-adjust</command>
<property>/it-autoflight/input/fpa</property>
<min>-9.9</min>
<max>9.9</max>
<step>-1</step>
<wrap>false</wrap>
</binding>
</button>
<button>
<row>0</row>
<col>2</col>
<pref-width>25</pref-width>
<pref-height>25</pref-height>
<legend>&lt;</legend>
<binding>
<command>property-adjust</command>
<property>/it-autoflight/input/fpa</property>
<min>-9.9</min>
<max>9.9</max>
<step>-0.1</step>
<wrap>false</wrap>
</binding>
</button>
<input>
<row>0</row>
<col>3</col>
<pref-width>55</pref-width>
<property>/it-autoflight/input/fpa</property>
<live type="bool">true</live>
<binding>
<command>dialog-apply</command>
</binding>
</input>
<button>
<row>0</row>
<col>4</col>
<pref-width>25</pref-width>
<pref-height>25</pref-height>
<legend>&gt;</legend>
<binding>
<command>property-adjust</command>
<property>/it-autoflight/input/fpa</property>
<min>-9.9</min>
<max>9.9</max>
<step>0.1</step>
<wrap>false</wrap>
</binding>
</button>
<button>
<row>0</row>
<col>5</col>
<halign>left</halign>
<pref-width>25</pref-width>
<pref-height>25</pref-height>
<legend>&gt;&gt;</legend>
<binding>
<command>property-adjust</command>
<property>/it-autoflight/input/fpa</property>
<min>-9.9</min>
<max>9.9</max>
<step>1</step>
<wrap>false</wrap>
</binding>
</button>
</group>
</group>
</PropertyList>

View file

@ -116,4 +116,40 @@
<output>/engines/engine[1]/fuel-flow_actual</output>
</filter>
<filter>
<name>Altitude PFD</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<floor>
<div>
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
<value>100</value>
</div>
</floor>
</expression>
</input>
<output>/instrumentation/altimeter/indicated-altitude-ft-pfd</output>
</filter>
<filter>
<name>V/S PFD</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<floor>
<div>
<property>/instrumentation/vertical-speed-indicator/indicated-speed-fpm</property>
<value>100</value>
</div>
</floor>
</expression>
</input>
<output>/instrumentation/vertical-speed-indicator/indicated-speed-fpm-pfd</output>
</filter>
</PropertyList>

View file

@ -164,8 +164,8 @@
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<entry><ind>0.22</ind> <dep>0.00</dep></entry>
<entry><ind>0.50</ind> <dep>0.30</dep></entry>
<entry><ind>0.85</ind> <dep>0.25</dep></entry>
<entry><ind>0.95</ind> <dep>0.00</dep></entry>
<entry><ind>0.90</ind> <dep>0.25</dep></entry>
<entry><ind>0.99</ind> <dep>0.08</dep></entry>
</table>
</product>
</expression>
@ -185,8 +185,8 @@
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<entry><ind>0.22</ind> <dep>0.00</dep></entry>
<entry><ind>0.50</ind> <dep>0.30</dep></entry>
<entry><ind>0.85</ind> <dep>0.25</dep></entry>
<entry><ind>0.95</ind> <dep>0.00</dep></entry>
<entry><ind>0.90</ind> <dep>0.25</dep></entry>
<entry><ind>0.99</ind> <dep>0.08</dep></entry>
</table>
</product>
</expression>
@ -346,7 +346,7 @@
<product>
<table>
<product><property>/engines/engine[0]/n1</property><value>0.01</value> </product>
<entry><ind>0.95</ind> <dep>0.80</dep></entry>
<entry><ind>0.90</ind> <dep>0.80</dep></entry>
<entry><ind>1.01</ind> <dep>0.90</dep></entry>
<entry><ind>1.08</ind> <dep>0.96</dep></entry>
</table>
@ -366,7 +366,7 @@
<product>
<table>
<product><property>/engines/engine[1]/n1</property><value>0.01</value> </product>
<entry><ind>0.95</ind> <dep>0.80</dep></entry>
<entry><ind>0.90</ind> <dep>0.80</dep></entry>
<entry><ind>1.01</ind> <dep>0.90</dep></entry>
<entry><ind>1.08</ind> <dep>0.96</dep></entry>
</table>

View file

@ -78,7 +78,6 @@
<gain>1.0</gain>
</filter>
<filter>
<name>LNAV HDG ERROR DEG</name>
<debug>false</debug>
@ -550,6 +549,44 @@
</config>
</pid-controller>
<pid-controller>
<name>FPA HOLD</name>
<debug>false</debug>
<enable>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>5</value>
</equals>
</condition>
</enable>
<input>
<property>/it-autoflight/internal/fpa</property>
</input>
<reference>
<property>/it-autoflight/input/fpa</property>
</reference>
<output>
<property>/it-autoflight/internal/target-pitch-deg</property>
</output>
<config>
<Kp>
<property>/it-autoflight/config/cmd/fpa</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>1.0</Ti>
<Td>0.00001</Td>
<u_min>
<value>-10</value>
</u_min>
<u_max>
<value>30</value>
</u_max>
</config>
</pid-controller>
<pi-simple-controller>
<name>AUTOLAND VS HOLD</name>
<debug>false</debug>
@ -635,10 +672,6 @@
<property>/it-autoflight/output/vert</property>
<value>4</value>
</equals>
<equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
</equals>
</or>
</condition>
</enable>
@ -731,6 +764,61 @@
</config>
</pid-controller>
<pid-controller>
<name>TOGA SPEED BY PITCH</name>
<debug>false</debug>
<enable>
<condition>
<or>
<equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
</equals>
</or>
</condition>
</enable>
<input>
<property>/it-autoflight/internal/lookahead-10-sec-airspeed-kt</property>
</input>
<reference>
<condition>
<equals>
<property>/it-autoflight/mode/vert</property>
<value>T/O CLB</value>
</equals>
</condition>
<property>/it-autoflight/settings/togaspd</property>
</reference>
<reference>
<condition>
<equals>
<property>/it-autoflight/mode/vert</property>
<value>G/A CLB</value>
</equals>
</condition>
<property>/it-autoflight/input/spd-kts</property>
</reference>
<output>
<property>/it-autoflight/internal/target-pitch-deg</property>
</output>
<config>
<Kp>
<property>/it-autoflight/config/cmd/flch</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>10.0</Ti>
<Td>0.00001</Td>
<u_min>
<value>1.5</value>
</u_min>
<u_max>
<value>25.0</value>
</u_max>
</config>
</pid-controller>
<pid-controller>
<name>IT-CONTROLLER: PITCH</name>
<debug>false</debug>
@ -752,23 +840,8 @@
<property>/orientation/pitch-deg</property>
</input>
<reference>
<condition>
<not-equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
</not-equals>
</condition>
<property>/it-autoflight/internal/target-pitch-deg</property>
</reference>
<reference>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
</equals>
</condition>
<property>/it-autoflight/settings/toga-pitch</property>
</reference>
<output>
<property>/it-autoflight/internal/elevator-cmd</property>
</output>
@ -1202,12 +1275,6 @@
<type>gain</type>
<gain>1.0</gain>
<input>
<condition>
<not-equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
</not-equals>
</condition>
<expression>
<dif>
<property>/it-autoflight/internal/target-pitch-deg</property>
@ -1215,20 +1282,6 @@
</dif>
</expression>
</input>
<input>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
</equals>
</condition>
<expression>
<dif>
<property>/it-autoflight/settings/toga-pitch</property>
<property>/orientation/pitch-deg</property>
</dif>
</expression>
</input>
<output>/it-autoflight/fd/pitch-bar</output>
</filter>