ITAF Update
This commit is contained in:
parent
5d1819ac6d
commit
855105568b
3 changed files with 80 additions and 84 deletions
|
@ -315,7 +315,6 @@
|
||||||
<fpa>0.30</fpa>
|
<fpa>0.30</fpa>
|
||||||
</cmd>
|
</cmd>
|
||||||
<autoland>
|
<autoland>
|
||||||
<kp-roll>0.10</kp-roll>
|
|
||||||
<kp-pitch>0.03</kp-pitch>
|
<kp-pitch>0.03</kp-pitch>
|
||||||
<kp-rudder>-0.25</kp-rudder>
|
<kp-rudder>-0.25</kp-rudder>
|
||||||
</autoland>
|
</autoland>
|
||||||
|
@ -323,7 +322,6 @@
|
||||||
<settings>
|
<settings>
|
||||||
<default-bank-limit>30</default-bank-limit> <!-- Set the Default Bank Limit -->
|
<default-bank-limit>30</default-bank-limit> <!-- Set the Default Bank Limit -->
|
||||||
<enable-cws>0</enable-cws> <!-- Enable/Disable CWS -->
|
<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-enable>1</land-enable> <!-- Enable/Disable Autoland -->
|
||||||
<land-flap>0.645</land-flap> <!-- Minimum Flap used for Landing -->
|
<land-flap>0.645</land-flap> <!-- Minimum Flap used for Landing -->
|
||||||
<retard-ft>40</retard-ft> <!-- Enable Thrust Retard -->
|
<retard-ft>40</retard-ft> <!-- Enable Thrust Retard -->
|
||||||
|
@ -331,6 +329,7 @@
|
||||||
<togaspd>162</togaspd> <!-- V2 + 10kts -->
|
<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 -->
|
<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 -->
|
<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>
|
</settings>
|
||||||
<output>
|
<output>
|
||||||
<ap1>0</ap1>
|
<ap1>0</ap1>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# IT AUTOFLIGHT System Controller
|
# IT AUTOFLIGHT System Controller
|
||||||
# Joshua Davidson (it0uchpods)
|
# Joshua Davidson (it0uchpods)
|
||||||
# V3.0.0 Build 180
|
# V3.0.0 Build 182
|
||||||
# This program is 100% GPL!
|
# This program is 100% GPL!
|
||||||
|
|
||||||
print("IT-AUTOFLIGHT: Please Wait!");
|
print("IT-AUTOFLIGHT: Please Wait!");
|
||||||
|
@ -51,7 +51,6 @@ var ap_init = func {
|
||||||
setprop("/it-autoflight/internal/fpa", 0);
|
setprop("/it-autoflight/internal/fpa", 0);
|
||||||
setprop("/it-autoflight/internal/prof-fpm", 0);
|
setprop("/it-autoflight/internal/prof-fpm", 0);
|
||||||
setprop("/it-autoflight/internal/top-of-des-nm", 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/thr", "PITCH");
|
||||||
setprop("/it-autoflight/mode/arm", "HDG");
|
setprop("/it-autoflight/mode/arm", "HDG");
|
||||||
setprop("/it-autoflight/mode/lat", "T/O");
|
setprop("/it-autoflight/mode/lat", "T/O");
|
||||||
|
@ -301,7 +300,6 @@ var vertical = func {
|
||||||
setprop("/instrumentation/nav[1]/gs-rate-of-climb", 0);
|
setprop("/instrumentation/nav[1]/gs-rate-of-climb", 0);
|
||||||
setprop("/it-autoflight/output/appr-armed", 1);
|
setprop("/it-autoflight/output/appr-armed", 1);
|
||||||
setprop("/it-autoflight/mode/arm", "ILS");
|
setprop("/it-autoflight/mode/arm", "ILS");
|
||||||
setprop("/it-autoflight/autoland/target-vs", "-650");
|
|
||||||
}
|
}
|
||||||
} else if (vertset == 3) {
|
} else if (vertset == 3) {
|
||||||
alandt.stop();
|
alandt.stop();
|
||||||
|
@ -366,7 +364,6 @@ var vertical = func {
|
||||||
alandt.stop();
|
alandt.stop();
|
||||||
alandt1.start();
|
alandt1.start();
|
||||||
prof_sys_stop();
|
prof_sys_stop();
|
||||||
setprop("/it-autoflight/autoland/target-vs", "-650");
|
|
||||||
} else if (vertset == 7) {
|
} else if (vertset == 7) {
|
||||||
alandt.stop();
|
alandt.stop();
|
||||||
alandt1.stop();
|
alandt1.stop();
|
||||||
|
@ -770,8 +767,12 @@ var make_appr_active = func {
|
||||||
var aland = func {
|
var aland = func {
|
||||||
var ap1 = getprop("/it-autoflight/output/ap1");
|
var ap1 = getprop("/it-autoflight/output/ap1");
|
||||||
var ap2 = getprop("/it-autoflight/output/ap2");
|
var ap2 = getprop("/it-autoflight/output/ap2");
|
||||||
|
var landoption = getprop("/it-autoflight/settings/autoland-without-ap");
|
||||||
if (getprop("/position/gear-agl-ft") <= 100) {
|
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/lat", 4);
|
||||||
setprop("/it-autoflight/input/vert", 6);
|
setprop("/it-autoflight/input/vert", 6);
|
||||||
} else {
|
} else {
|
||||||
|
@ -783,12 +784,10 @@ var aland = func {
|
||||||
|
|
||||||
var aland1 = func {
|
var aland1 = func {
|
||||||
var aglal = getprop("/position/gear-agl-ft");
|
var aglal = getprop("/position/gear-agl-ft");
|
||||||
var flarealt = getprop("/it-autoflight/settings/flare-altitude");
|
if (aglal <= 50 and aglal > 5) {
|
||||||
if (aglal <= flarealt and aglal > 5) {
|
|
||||||
setprop("/it-autoflight/mode/vert", "FLARE");
|
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();
|
alandt.stop();
|
||||||
alandt1.stop();
|
alandt1.stop();
|
||||||
setprop("/it-autoflight/output/loc-armed", 0);
|
setprop("/it-autoflight/output/loc-armed", 0);
|
||||||
|
|
|
@ -16,14 +16,6 @@
|
||||||
<seconds>5.0</seconds>
|
<seconds>5.0</seconds>
|
||||||
<filter-gain>0.0</filter-gain>
|
<filter-gain>0.0</filter-gain>
|
||||||
</predict-simple>
|
</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>
|
<predict-simple>
|
||||||
<name>IAS 5 SECOND PREDICTOR</name>
|
<name>IAS 5 SECOND PREDICTOR</name>
|
||||||
|
@ -216,15 +208,6 @@
|
||||||
</period>
|
</period>
|
||||||
<gain>1.0</gain>
|
<gain>1.0</gain>
|
||||||
</filter>
|
</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>
|
<filter>
|
||||||
<name>INTERNAL VERTICAL SPEED COMPUTER</name>
|
<name>INTERNAL VERTICAL SPEED COMPUTER</name>
|
||||||
|
@ -550,16 +533,10 @@
|
||||||
<config>
|
<config>
|
||||||
<Kp>
|
<Kp>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<not-equals>
|
||||||
<not-equals>
|
<property>/it-autoflight/output/lat</property>
|
||||||
<property>/it-autoflight/output/lat</property>
|
<value>2</value>
|
||||||
<value>2</value>
|
</not-equals>
|
||||||
</not-equals>
|
|
||||||
<not-equals>
|
|
||||||
<property>/it-autoflight/output/lat</property>
|
|
||||||
<value>4</value>
|
|
||||||
</not-equals>
|
|
||||||
</and>
|
|
||||||
</condition>
|
</condition>
|
||||||
<property>/it-autoflight/config/roll/kp</property>
|
<property>/it-autoflight/config/roll/kp</property>
|
||||||
</Kp>
|
</Kp>
|
||||||
|
@ -572,15 +549,6 @@
|
||||||
</condition>
|
</condition>
|
||||||
<property>/it-autoflight/config/roll/kp-vloc</property>
|
<property>/it-autoflight/config/roll/kp-vloc</property>
|
||||||
</Kp>
|
</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>
|
<beta>1.0</beta>
|
||||||
<alpha>0.1</alpha>
|
<alpha>0.1</alpha>
|
||||||
<gamma>0.0</gamma>
|
<gamma>0.0</gamma>
|
||||||
|
@ -705,42 +673,6 @@
|
||||||
</config>
|
</config>
|
||||||
</pid-controller>
|
</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>
|
<pid-controller>
|
||||||
<name>FLCH SPEED BY PITCH</name>
|
<name>FLCH SPEED BY PITCH</name>
|
||||||
<debug>false</debug>
|
<debug>false</debug>
|
||||||
|
@ -1015,6 +947,28 @@
|
||||||
</config>
|
</config>
|
||||||
</pid-controller>
|
</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>
|
<pid-controller>
|
||||||
<name>FPM HOLD</name>
|
<name>FPM HOLD</name>
|
||||||
<debug>false</debug>
|
<debug>false</debug>
|
||||||
|
@ -1037,6 +991,10 @@
|
||||||
<property>/it-autoflight/output/vert</property>
|
<property>/it-autoflight/output/vert</property>
|
||||||
<value>4</value>
|
<value>4</value>
|
||||||
</equals>
|
</equals>
|
||||||
|
<equals>
|
||||||
|
<property>/it-autoflight/output/vert</property>
|
||||||
|
<value>6</value>
|
||||||
|
</equals>
|
||||||
<equals>
|
<equals>
|
||||||
<property>/it-autoflight/output/vert</property>
|
<property>/it-autoflight/output/vert</property>
|
||||||
<value>7</value>
|
<value>7</value>
|
||||||
|
@ -1114,6 +1072,16 @@
|
||||||
<property>/it-autoflight/internal/prof-fpm</property>
|
<property>/it-autoflight/internal/prof-fpm</property>
|
||||||
<scale>0.16667</scale>
|
<scale>0.16667</scale>
|
||||||
</reference>
|
</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>
|
<reference>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<and>
|
||||||
|
@ -1151,13 +1119,43 @@
|
||||||
</output>
|
</output>
|
||||||
<config>
|
<config>
|
||||||
<Kp>
|
<Kp>
|
||||||
|
<condition>
|
||||||
|
<not-equals>
|
||||||
|
<property>/it-autoflight/output/vert</property>
|
||||||
|
<value>6</value>
|
||||||
|
</not-equals>
|
||||||
|
</condition>
|
||||||
<property>/it-autoflight/config/cmd/vs</property>
|
<property>/it-autoflight/config/cmd/vs</property>
|
||||||
</Kp>
|
</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>
|
<Ti>2.5</Ti>
|
||||||
<Td>0.001</Td>
|
<Td>0.001</Td>
|
||||||
<u_min>
|
<u_min>
|
||||||
|
<condition>
|
||||||
|
<not-equals>
|
||||||
|
<property>/it-autoflight/output/vert</property>
|
||||||
|
<value>6</value>
|
||||||
|
</not-equals>
|
||||||
|
</condition>
|
||||||
<value>-10</value>
|
<value>-10</value>
|
||||||
</u_min>
|
</u_min>
|
||||||
|
<u_min>
|
||||||
|
<condition>
|
||||||
|
<equals>
|
||||||
|
<property>/it-autoflight/output/vert</property>
|
||||||
|
<value>6</value>
|
||||||
|
</equals>
|
||||||
|
</condition>
|
||||||
|
<value>0</value>
|
||||||
|
</u_min>
|
||||||
<u_max>
|
<u_max>
|
||||||
<condition>
|
<condition>
|
||||||
<and>
|
<and>
|
||||||
|
@ -1295,7 +1293,7 @@
|
||||||
</condition>
|
</condition>
|
||||||
</enable>
|
</enable>
|
||||||
<input>
|
<input>
|
||||||
<property>/it-autoflight/internal/nav1-heading-error-deg</property>
|
<property>/it-autoflight/internal/nav-heading-error-deg</property>
|
||||||
</input>
|
</input>
|
||||||
<reference>
|
<reference>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
|
|
Reference in a new issue