ITAF Update 170

This commit is contained in:
Joshua Davidson 2017-04-05 15:36:34 -04:00
parent d9262119b4
commit d4069ab9da
2 changed files with 80 additions and 42 deletions

View file

@ -329,7 +329,7 @@ var vertical = func {
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
var alt = getprop("/it-autoflight/internal/alt");
var dif = calt - alt;
if (dif < 550 and dif > -550) {
if (dif < 250 and dif > -250) {
alt_on();
} else {
flch_on();
@ -377,7 +377,7 @@ var vertical = func {
prof_sys_stop();
thrustmodet.start();
} else if (vertset == 8) {
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1) {
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1 and getprop("/it-autoflight/internal/prof-wp-alt") >= 100) {
alandt.stop();
alandt1.stop();
setprop("/it-autoflight/output/appr-armed", 0);
@ -394,7 +394,7 @@ var vertical = func {
}
prof_maint.start();
} else {
gui.popupTip("Please make sure you have a route set, and that it is Activated!");
gui.popupTip("Please make sure you have a route, and waypoints with altitude restrictions set, and that the route is Activated!");
}
}
}
@ -402,11 +402,11 @@ var vertical = func {
var vert_arm = func {
var vertset = getprop("/it-autoflight/input/vert");
if (vertset == 8) {
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1) {
if (getprop("/autopilot/route-manager/route/num") > 0 and getprop("/autopilot/route-manager/active") == 1 and getprop("/it-autoflight/internal/prof-wp-alt") >= 100) {
setprop("/it-autoflight/input/prof-arm", 1);
setprop("/it-autoflight/mode/prof", "ARMED");
} else {
gui.popupTip("Please make sure you have a route set, and that it is Activated!");
gui.popupTip("Please make sure you have a route, and waypoints with altitude restrictions set, and that the route is Activated!");
}
} else {
setprop("/it-autoflight/input/prof-arm", 0);
@ -492,6 +492,7 @@ var togasel = func {
setprop("/it-autoflight/input/lat", 3);
} else {
setprop("/it-autoflight/input/lat", 5);
lateral();
setprop("/it-autoflight/mode/lat", "T/O");
setprop("/it-autoflight/mode/vert", "T/O CLB");
}
@ -817,6 +818,9 @@ var prof_main = func {
setprop("/it-autoflight/internal/prof-wp-alt", vnav_alt_wp);
}
vnav_alt_selector();
if (getprop("/it-autoflight/internal/prof-wp-alt") < 100) {
setprop("/it-autoflight/input/vert", 4);
}
} else {
setprop("/it-autoflight/input/vert", 4);
}
@ -859,28 +863,44 @@ var prof_run = func {
var vnav_alt_wp = getprop("/autopilot/route-manager/route/wp",wp_curr,"altitude-ft");
if ((wptnum - 1) < getprop("/autopilot/route-manager/route/num")) {
var vnav_alt_wp_prev = getprop("/autopilot/route-manager/route/wp",wp_curr - 1,"altitude-ft");
if (vnav_alt_wp_prev > vnav_alt_wp) {
vnav_des_todt.start();
setprop("/it-autoflight/internal/prof-mode", "DES");
} else if (vnav_alt_wp_prev == vnav_alt_wp) {
vnav_des_todt.stop();
setprop("/it-autoflight/internal/top-of-des-nm", 0);
setprop("/it-autoflight/internal/prof-mode", "XX");
} else if (vnav_alt_wp_prev <= vnav_alt_wp) {
vnav_des_todt.stop();
setprop("/it-autoflight/internal/top-of-des-nm", 0);
setprop("/it-autoflight/internal/prof-mode", "CLB");
var altcurr = getprop("/instrumentation/altimeter/indicated-altitude-ft");
if (vnav_alt_wp_prev >= 100) {
if (vnav_alt_wp_prev > vnav_alt_wp) {
vnav_des_todt.start();
setprop("/it-autoflight/internal/prof-mode", "DES");
} else if (vnav_alt_wp_prev == vnav_alt_wp) {
vnav_des_todt.stop();
setprop("/it-autoflight/internal/top-of-des-nm", 0);
setprop("/it-autoflight/internal/prof-mode", "XX");
} else if (vnav_alt_wp_prev <= vnav_alt_wp) {
vnav_des_todt.stop();
setprop("/it-autoflight/internal/top-of-des-nm", 0);
setprop("/it-autoflight/internal/prof-mode", "CLB");
}
} else if (vnav_alt_wp_prev < 100) {
if (altcurr > vnav_alt_wp) {
vnav_des_todt.start();
setprop("/it-autoflight/internal/prof-mode", "DES");
} else if (altcurr == vnav_alt_wp) {
vnav_des_todt.stop();
setprop("/it-autoflight/internal/top-of-des-nm", 0);
setprop("/it-autoflight/internal/prof-mode", "XX");
} else if (altcurr <= vnav_alt_wp) {
vnav_des_todt.stop();
setprop("/it-autoflight/internal/top-of-des-nm", 0);
setprop("/it-autoflight/internal/prof-mode", "CLB");
}
}
} else {
vnav_des_todt.stop();
setprop("/it-autoflight/internal/top-of-des-nm", 0);
}
if (vnav_alt_wp > 100) {
if (vnav_alt_wp >= 100) {
if (getprop("/it-autoflight/internal/prof-mode") == "CLB") {
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
var valt = getprop("/it-autoflight/internal/prof-alt");
var vdif = calt - valt;
if (vdif > 550 or vdif < -550) {
if (vdif > 250 or vdif < -250) {
prof_clb();
} else {
vnav_alt_sel();
@ -889,7 +909,7 @@ var prof_run = func {
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
var valt = getprop("/it-autoflight/internal/prof-alt");
var vdif = calt - valt;
if (vdif > 550 or vdif < -550) {
if (vdif > 250 or vdif < -250) {
prof_des_spd();
} else {
vnav_alt_sel();

View file

@ -199,15 +199,6 @@
<seconds>10.0</seconds>
<filter-gain>0.0</filter-gain>
</predict-simple>
<predict-simple>
<name>IAS 15 SECOND PREDICTOR</name>
<debug>false</debug>
<input>/instrumentation/airspeed-indicator/indicated-speed-kt</input>
<output>/it-autoflight/internal/lookahead-15-sec-airspeed-kt</output>
<seconds>15.0</seconds>
<filter-gain>0.0</filter-gain>
</predict-simple>
<predict-simple>
<name>MACH 10 SECOND PREDICTOR</name>
@ -217,15 +208,6 @@
<seconds>10.0</seconds>
<filter-gain>0.0</filter-gain>
</predict-simple>
<predict-simple>
<name>MACH 15 SECOND PREDICTOR</name>
<debug>false</debug>
<input>/instrumentation/airspeed-indicator/indicated-mach</input>
<output>/it-autoflight/internal/lookahead-15-sec-mach</output>
<seconds>15.0</seconds>
<filter-gain>0.0</filter-gain>
</predict-simple>
<filter>
<name>STATIC PRESSURE COMPUTER</name>
@ -788,7 +770,7 @@
<value>0</value>
</equals>
</condition>
<property>/it-autoflight/internal/lookahead-15-sec-airspeed-kt</property>
<property>/it-autoflight/internal/lookahead-10-sec-airspeed-kt</property>
</input>
<input>
<condition>
@ -797,7 +779,7 @@
<value>1</value>
</equals>
</condition>
<property>/it-autoflight/internal/lookahead-15-sec-mach</property>
<property>/it-autoflight/internal/lookahead-10-sec-mach</property>
<scale>500.0</scale>
</input>
<reference>
@ -882,7 +864,7 @@
</condition>
</enable>
<input>
<property>/it-autoflight/internal/lookahead-15-sec-airspeed-kt</property>
<property>/it-autoflight/internal/lookahead-10-sec-airspeed-kt</property>
</input>
<reference>
<condition>
@ -941,7 +923,7 @@
<value>0</value>
</equals>
</condition>
<property>/it-autoflight/internal/lookahead-15-sec-airspeed-kt</property>
<property>/it-autoflight/internal/lookahead-10-sec-airspeed-kt</property>
</input>
<input>
<condition>
@ -950,7 +932,7 @@
<value>1</value>
</equals>
</condition>
<property>/it-autoflight/internal/lookahead-15-sec-mach</property>
<property>/it-autoflight/internal/lookahead-10-sec-mach</property>
<scale>500.0</scale>
</input>
<reference>
@ -1588,6 +1570,22 @@
<type>gain</type>
<gain>1.0</gain>
<input>
<condition>
<or>
<equals>
<property>/it-autoflight/output/lat</property>
<value>0</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</equals>
</or>
</condition>
<expression>
<dif>
<property>/it-autoflight/internal/target-roll</property>
@ -1595,6 +1593,26 @@
</dif>
</expression>
</input>
<input>
<condition>
<or>
<equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>5</value>
</equals>
</or>
</condition>
<expression>
<dif>
<value>0</value>
<property>/orientation/roll-deg</property>
</dif>
</expression>
</input>
<output>/it-autoflight/fd/roll-bar</output>
</filter>