ITAF Update

This commit is contained in:
Joshua Davidson 2017-05-23 16:51:48 -04:00
parent 5d1819ac6d
commit 855105568b
3 changed files with 80 additions and 84 deletions

View file

@ -315,7 +315,6 @@
<fpa>0.30</fpa>
</cmd>
<autoland>
<kp-roll>0.10</kp-roll>
<kp-pitch>0.03</kp-pitch>
<kp-rudder>-0.25</kp-rudder>
</autoland>
@ -323,7 +322,6 @@
<settings>
<default-bank-limit>30</default-bank-limit> <!-- Set the Default Bank Limit -->
<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 -->
@ -331,6 +329,7 @@
<togaspd>162</togaspd> <!-- V2 + 10kts -->
<lat-agl-ft>30</lat-agl-ft> <!-- Set to 999999 if you do not want T/O to change automatically to HDG, or LNAV -->
<reduc-agl-ft>3000</reduc-agl-ft> <!-- Set to 999999 if you do not want TOGA to change automatically to FLCH -->
<autoland-without-ap>1</autoland-without-ap> <!-- Engage LAND and FLARE Modes even if the AP is off -->
</settings>
<output>
<ap1>0</ap1>

View file

@ -1,6 +1,6 @@
# IT AUTOFLIGHT System Controller
# Joshua Davidson (it0uchpods)
# V3.0.0 Build 180
# V3.0.0 Build 182
# This program is 100% GPL!
print("IT-AUTOFLIGHT: Please Wait!");
@ -51,7 +51,6 @@ var ap_init = func {
setprop("/it-autoflight/internal/fpa", 0);
setprop("/it-autoflight/internal/prof-fpm", 0);
setprop("/it-autoflight/internal/top-of-des-nm", 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");
@ -301,7 +300,6 @@ var vertical = func {
setprop("/instrumentation/nav[1]/gs-rate-of-climb", 0);
setprop("/it-autoflight/output/appr-armed", 1);
setprop("/it-autoflight/mode/arm", "ILS");
setprop("/it-autoflight/autoland/target-vs", "-650");
}
} else if (vertset == 3) {
alandt.stop();
@ -366,7 +364,6 @@ var vertical = func {
alandt.stop();
alandt1.start();
prof_sys_stop();
setprop("/it-autoflight/autoland/target-vs", "-650");
} else if (vertset == 7) {
alandt.stop();
alandt1.stop();
@ -770,8 +767,12 @@ var make_appr_active = func {
var aland = func {
var ap1 = getprop("/it-autoflight/output/ap1");
var ap2 = getprop("/it-autoflight/output/ap2");
var landoption = getprop("/it-autoflight/settings/autoland-without-ap");
if (getprop("/position/gear-agl-ft") <= 100) {
if (ap1 or ap2) {
if (ap1 == 1 or ap2 == 1) {
setprop("/it-autoflight/input/lat", 4);
setprop("/it-autoflight/input/vert", 6);
} else if (ap1 == 0 and ap2 == 0 and landoption) {
setprop("/it-autoflight/input/lat", 4);
setprop("/it-autoflight/input/vert", 6);
} else {
@ -783,12 +784,10 @@ var aland = func {
var aland1 = func {
var aglal = getprop("/position/gear-agl-ft");
var flarealt = getprop("/it-autoflight/settings/flare-altitude");
if (aglal <= flarealt and aglal > 5) {
if (aglal <= 50 and aglal > 5) {
setprop("/it-autoflight/mode/vert", "FLARE");
setprop("/it-autoflight/autoland/target-vs", "-120");
}
if ((getprop("/it-autoflight/output/ap1") == 0) and (getprop("/it-autoflight/output/ap2") == 0)) {
if ((getprop("/it-autoflight/output/ap1") == 0) and (getprop("/it-autoflight/output/ap2") == 0) and (getprop("/it-autoflight/settings/autoland-without-ap") == 0)) {
alandt.stop();
alandt1.stop();
setprop("/it-autoflight/output/loc-armed", 0);

View file

@ -16,14 +16,6 @@
<seconds>5.0</seconds>
<filter-gain>0.0</filter-gain>
</predict-simple>
<predict-simple>
<name>VOR/LOC 5 SECONDS AHEAD</name>
<input>/it-autoflight/internal/nav1-track-error-deg</input>
<output>/it-autoflight/internal/nav1-error-5-sec-ahead</output>
<seconds>12</seconds>
<filter-gain>0.1</filter-gain>
</predict-simple>
<predict-simple>
<name>IAS 5 SECOND PREDICTOR</name>
@ -216,15 +208,6 @@
</period>
<gain>1.0</gain>
</filter>
<filter>
<name>VOR/LOC HEADING ERROR FILTER</name>
<debug>false</debug>
<type>noise-spike</type>
<input>/it-autoflight/internal/nav1-error-5-sec-ahead</input>
<output>/it-autoflight/internal/nav1-heading-error-deg-filtered</output>
<max-rate-of-change>90.0</max-rate-of-change>
</filter>
<filter>
<name>INTERNAL VERTICAL SPEED COMPUTER</name>
@ -550,16 +533,10 @@
<config>
<Kp>
<condition>
<and>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</not-equals>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</not-equals>
</and>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</not-equals>
</condition>
<property>/it-autoflight/config/roll/kp</property>
</Kp>
@ -572,15 +549,6 @@
</condition>
<property>/it-autoflight/config/roll/kp-vloc</property>
</Kp>
<Kp>
<condition>
<equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</equals>
</condition>
<property>/it-autoflight/config/autoland/kp-roll</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
@ -705,42 +673,6 @@
</config>
</pid-controller>
<pi-simple-controller>
<name>AUTOLAND VS HOLD</name>
<debug>false</debug>
<enable>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</equals>
</condition>
</enable>
<input>
<property>/it-autoflight/internal/vert-speed-fpm</property>
<scale>0.2</scale>
</input>
<reference>
<property>/it-autoflight/autoland/target-vs</property>
<scale>0.2</scale>
</reference>
<output>
<property>/it-autoflight/internal/target-pitch-deg</property>
</output>
<config>
<Kp>
<property>/it-autoflight/config/autoland/kp-pitch</property>
</Kp>
<Ki>0.010</Ki>
<min>
<value>0</value>
</min>
<max>
<value>15</value>
</max>
</config>
</pi-simple-controller>
<pid-controller>
<name>FLCH SPEED BY PITCH</name>
<debug>false</debug>
@ -1015,6 +947,28 @@
</config>
</pid-controller>
<filter>
<name>AUTOLAND FPM</name>
<type>gain</type>
<gain>1</gain>
<update-interval-secs type="double">0.05</update-interval-secs>
<input>
<expression>
<table>
<property>/position/gear-agl-ft</property>
<entry><ind>100</ind><dep>-600</dep></entry>
<entry><ind> 50</ind><dep>-500</dep></entry>
<entry><ind> 40</ind><dep>-400</dep></entry>
<entry><ind> 30</ind><dep>-300</dep></entry>
<entry><ind> 20</ind><dep>-200</dep></entry>
<entry><ind> 10</ind><dep>-150</dep></entry>
<entry><ind> 5</ind><dep>-100</dep></entry>
</table>
</expression>
</input>
<output>/it-autoflight/internal/target-fpm-c</output>
</filter>
<pid-controller>
<name>FPM HOLD</name>
<debug>false</debug>
@ -1037,6 +991,10 @@
<property>/it-autoflight/output/vert</property>
<value>4</value>
</equals>
<equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</equals>
<equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
@ -1114,6 +1072,16 @@
<property>/it-autoflight/internal/prof-fpm</property>
<scale>0.16667</scale>
</reference>
<reference>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</equals>
</condition>
<property>/it-autoflight/internal/target-fpm-c</property>
<scale>0.16667</scale>
</reference>
<reference>
<condition>
<and>
@ -1151,13 +1119,43 @@
</output>
<config>
<Kp>
<condition>
<not-equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</not-equals>
</condition>
<property>/it-autoflight/config/cmd/vs</property>
</Kp>
<Kp>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</equals>
</condition>
<property>/it-autoflight/config/autoland/kp-pitch</property>
</Kp>
<Ti>2.5</Ti>
<Td>0.001</Td>
<u_min>
<condition>
<not-equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</not-equals>
</condition>
<value>-10</value>
</u_min>
<u_min>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</equals>
</condition>
<value>0</value>
</u_min>
<u_max>
<condition>
<and>
@ -1295,7 +1293,7 @@
</condition>
</enable>
<input>
<property>/it-autoflight/internal/nav1-heading-error-deg</property>
<property>/it-autoflight/internal/nav-heading-error-deg</property>
</input>
<reference>
<value>0</value>