merge conflicts
This commit is contained in:
commit
592cbfb3e8
12 changed files with 808 additions and 523 deletions
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
BIN
Models/Liveries/A319/BRU.png
Normal file
BIN
Models/Liveries/A319/BRU.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 484 KiB |
13
Models/Liveries/A319/BRU.xml
Normal file
13
Models/Liveries/A319/BRU.xml
Normal 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>
|
||||
|
|
@ -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", " ");
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
BIN
Paintkit/BRU.xcf
Normal file
Binary file not shown.
|
@ -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><<</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><</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>></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>>></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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
Reference in a new issue