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>
|
||||
</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>
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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>
|
||||
|
|
Reference in a new issue