some fixes, and new ITAF

This commit is contained in:
Joshua Davidson 2017-01-11 17:39:47 -05:00
parent ae9969fd2a
commit 71ec680bc5
25 changed files with 663 additions and 1009 deletions

View file

@ -70,8 +70,6 @@
<A320>
<file>Aircraft/A320Family/Nasal/engines.nas</file>
<file>Aircraft/A320Family/Nasal/electrical.nas</file>
<file>Aircraft/A320Family/Nasal/v-speeds.nas</file>
<file>Aircraft/A320Family/Nasal/tyresmoke.nas</file>
<file>Aircraft/A320Family/Nasal/systems.nas</file>
<file>Aircraft/A320Family/Nasal/a319livery.nas</file>
<file>Aircraft/A320Family/Models/Instruments/ND/ND.nas</file>
@ -79,13 +77,11 @@
<file>Aircraft/A320Family/Nasal/efis.nas</file>
<file>Aircraft/A320Family/Nasal/PFD_FMA.nas</file>
<file>Aircraft/A320Family/Nasal/fctl.nas</file>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</A320>
<itaf>
<file>Aircraft/A320Family/Nasal/it-autoflight.nas</file>
</itaf>
<lgciu>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</lgciu>
<thrust>
<file>Aircraft/A320Family/Nasal/thrust.nas</file>
</thrust>

View file

@ -70,8 +70,6 @@
<A320>
<file>Aircraft/A320Family/Nasal/engines.nas</file>
<file>Aircraft/A320Family/Nasal/electrical.nas</file>
<file>Aircraft/A320Family/Nasal/v-speeds.nas</file>
<file>Aircraft/A320Family/Nasal/tyresmoke.nas</file>
<file>Aircraft/A320Family/Nasal/systems.nas</file>
<file>Aircraft/A320Family/Nasal/a320livery.nas</file>
<file>Aircraft/A320Family/Models/Instruments/ND/ND.nas</file>
@ -79,12 +77,11 @@
<file>Aircraft/A320Family/Nasal/efis.nas</file>
<file>Aircraft/A320Family/Nasal/PFD_FMA.nas</file>
<file>Aircraft/A320Family/Nasal/fctl.nas</file>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file> <!-- it0uchpods please leave this here! -->
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</A320>
<itaf>
<file>Aircraft/A320Family/Nasal/it-autoflight.nas</file>
</itaf>
<thrust>
<file>Aircraft/A320Family/Nasal/thrust.nas</file>
</thrust>

View file

@ -223,44 +223,49 @@
<max-lb type="double">3300.320</max-lb>
</weight>
</payload>
<it-autoflight>
<config>
<altitude-dial-mode>0</altitude-dial-mode>
<roll>
<umin>-0.40</umin>
<umax>0.40</umax>
<kp>0.09</kp>
<ti>10.0</ti>
<td>0.00001</td>
</roll>
<vorloc>
<kp>0.06</kp>
<kp-vloc>0.09</kp-vloc>
<ti>10.0</ti>
<td>0.00001</td>
</vorloc>
<kp-cws>0.09</kp-cws>
</roll>
<pitch>
<umin>-0.25</umin>
<umax>0.25</umax>
<umin>-0.30</umin>
<umax>0.30</umax>
<kp>-0.05</kp>
<ti>10.0</ti>
<td>0.0001</td>
<kp-cws>-0.07</kp-cws>
</pitch>
<flch>
<umin>-0.25</umin>
<umax>0.25</umax>
<kp>-0.03</kp>
<ti>10.0</ti>
<td>0.00001</td>
</flch>
<gs>
<kp>0.10</kp>
</gs>
<cmd>
<roll-scale>5</roll-scale>
<vorloc>-4.0</vorloc>
<alt>0.025</alt>
<vs>0.07</vs>
<flch>-0.30</flch>
<gs>0.10</gs>
</cmd>
<autoland>
<kp-roll>0.10</kp-roll>
<kp-pitch>0.01</kp-pitch>
<kp-rudder>-0.3</kp-rudder>
</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>
</settings>
</it-autoflight>
<autopilot>

View file

@ -70,8 +70,6 @@
<A320>
<file>Aircraft/A320Family/Nasal/engines.nas</file>
<file>Aircraft/A320Family/Nasal/electrical.nas</file>
<file>Aircraft/A320Family/Nasal/v-speeds.nas</file>
<file>Aircraft/A320Family/Nasal/tyresmoke.nas</file>
<file>Aircraft/A320Family/Nasal/systems.nas</file>
<file>Aircraft/A320Family/Nasal/a321livery.nas</file>
<file>Aircraft/A320Family/Models/Instruments/ND/ND.nas</file>
@ -79,13 +77,11 @@
<file>Aircraft/A320Family/Nasal/efis.nas</file>
<file>Aircraft/A320Family/Nasal/PFD_FMA.nas</file>
<file>Aircraft/A320Family/Nasal/fctl.nas</file>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</A320>
<itaf>
<file>Aircraft/A320Family/Nasal/it-autoflight.nas</file>
</itaf>
<lgciu>
<file>Aircraft/A320Family/Nasal/LGCIU.nas</file>
</lgciu>
<thrust>
<file>Aircraft/A320Family/Nasal/thrust.nas</file>
</thrust>

View file

@ -17,9 +17,9 @@
<tsfc> 0.8 </tsfc>
<bleed> 0.03</bleed>
<idlen1> 23.4 </idlen1>
<idlen2> 63.7 </idlen2>
<idlen2> 62.7 </idlen2>
<maxn1> 105.8 </maxn1>
<maxn2> 112.5 </maxn2>
<maxn2> 102.1 </maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>

View file

@ -13,13 +13,13 @@
<turbine_engine name="V2527_A5">
<milthrust> 26600 </milthrust>
<bypassratio> 0.1 </bypassratio>
<bypassratio> 2.0 </bypassratio>
<tsfc> 0.8 </tsfc>
<bleed> 0.03</bleed>
<idlen1> 23.4 </idlen1>
<idlen2> 63.7 </idlen2>
<idlen2> 62.7 </idlen2>
<maxn1> 105.8 </maxn1>
<maxn2> 112.5 </maxn2>
<maxn2> 102.1 </maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>

View file

@ -17,9 +17,9 @@
<tsfc> 0.8 </tsfc>
<bleed> 0.03</bleed>
<idlen1> 23.4 </idlen1>
<idlen2> 63.7 </idlen2>
<idlen2> 62.7 </idlen2>
<maxn1> 105.8 </maxn1>
<maxn2> 112.5 </maxn2>
<maxn2> 102.1</maxn2>
<augmented> 0 </augmented>
<injected> 0 </injected>

View file

@ -265,6 +265,14 @@
<property>/it-autoflight/output/lat</property>
<value>2</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>5</value>
</equals>
</or>
</condition>
</animation>

View file

@ -444,7 +444,7 @@ refs 4
kids 0
OBJECT poly
name "alt-tape-2"
loc 0.00091828 0.000295199 -0.0595814
loc 0.00133137 0.000295199 -0.0595814
texture "alt-tape-2.png"
crease 45.000000
numvert 4

View file

@ -1,558 +0,0 @@
AC3Db
MATERIAL "ac3dmat1" rgb 1 1 1 amb 0 0 0 emis 0.658824 0.670588 0.67451 spec 0 0 0 shi 128 trans 0
OBJECT world
kids 28
OBJECT poly
name "horizon"
loc -0.00063943 0.000620101 0.00496066
texture "horizon.png"
crease 45.000000
numvert 4
0 0.0443777 -0.0369368
0 0.0443777 0.0369368
0 -0.0443777 0.0369368
0 -0.0443777 -0.0369368
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.5875 0.5875
1 0.4125 0.5875
2 0.4125 0.4125
3 0.5875 0.4125
kids 0
OBJECT poly
name "hdg-tape"
loc -0.00063943 -0.0623471 0.00488526
texture "hdg-tape.png"
crease 45.000000
numvert 4
0 -0.00631734 -0.0361253
0 -0.00631734 0.0361253
0 0.00631731 0.0361253
0 0.00631731 -0.0361253
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.0605338 0.994588
2 -0.0513565 0.994588
1 -0.0513565 -0.0462684
0 0.0605338 -0.0462684
kids 0
OBJECT poly
name "trk-ind"
loc 0.00063943 -0.0623471 0.00488526
texture "trk-ind.png"
crease 45.000000
numvert 4
0 -0.00631734 -0.0361253
0 -0.00631734 0.0361253
0 0.00631731 0.0361253
0 0.00631731 -0.0361253
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.0605338 0.994588
2 -0.0513565 0.994588
1 -0.0513565 -0.0462684
0 0.0605338 -0.0462684
kids 0
OBJECT poly
name "loc-crs"
loc 0.00063943 -0.0623471 0.00488526
texture "loc-crs.png"
crease 45.000000
numvert 4
0 -0.00631734 -0.0361253
0 -0.00631734 0.0361253
0 0.00631731 0.0361253
0 0.00631731 -0.0361253
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.0605338 0.994588
2 -0.0513565 0.994588
1 -0.0513565 -0.0462684
0 0.0605338 -0.0462684
kids 0
OBJECT poly
name "hdg-bug"
loc 0.00063943 -0.0563471 0.00488526
texture "hdg-bug.png"
crease 45.000000
numvert 4
0 -0.00601734 -0.0361253
0 -0.00601734 0.0361253
0 0.00601731 0.0361253
0 0.00601731 -0.0361253
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.0605338 0.994588
2 -0.0513565 0.994588
1 -0.0513565 -0.0462684
0 0.0605338 -0.0462684
kids 0
OBJECT poly
name "alt-tape-1"
loc -0.00063943 -0.000264099 -0.0474465
texture "alt-tape.png"
crease 45.000000
numvert 4
0 0.0428304 -0.00806341
0 0.0428304 0.00806338
0 -0.0428304 0.00806338
0 -0.0428304 -0.00806341
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.990386 0.217208
1 0.022378 0.217208
2 0.0223766 0.0507198
3 0.990386 0.0507198
kids 0
OBJECT poly
name "spd-tape"
loc -0.00063943 -0.000264099 0.0592757
texture "spd-tape.png"
crease 45.000000
numvert 4
0 -0.0428304 -0.00990531
0 -0.0428304 0.00990527
0 0.0428304 0.00990527
0 0.0428304 -0.00990531
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.498074 0.321737
2 0.00829178 0.321737
1 0.00829178 0.0447528
0 0.498074 0.0447528
kids 0
OBJECT poly
name "vsi"
loc 0.00091828 -0.000133 -0.068225
texture "symbols.png"
crease 45.000000
numvert 4
0 -0.040099 -0.00324333
0 -0.040099 0.00324335
0 0.040099 0.00324335
0 0.040099 -0.00324333
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.660342 0.662271
2 0.638535 0.662271
1 0.638535 0.258462
0 0.660342 0.258462
kids 0
OBJECT poly
name "spdtrnd-up"
loc 0.00133822 0.021479 0.0513726
texture "spdtrend.png"
crease 45.000000
numvert 4
0 0.0210118 -0.00234548
0 0.0210118 0.00234544
0 -0.0210118 0.00234544
0 -0.0210118 -0.00234548
numsurf 1
SURF 0x30
mat 0
refs 4
0 0 0.496308
1 1.03601 0.496308
2 1.03601 -0.00461811
3 0 -0.00461811
kids 0
OBJECT poly
name "fd_pitch"
loc 0.00132974 0.000487308 0.00486699
texture "symbols.png"
crease 45.000000
numvert 4
0 0.000477445 -0.01934
0 0.000477445 0.01934
0 -0.000477445 0.01934
0 -0.000477445 -0.01934
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.510324 0.464321
1 0.762653 0.464321
2 0.762653 0.461267
3 0.510324 0.461267
kids 0
OBJECT poly
name "centerbar"
loc 0.001346 -0.0015161 0.00461461
texture "symbols.png"
crease 45.000000
numvert 4
0 -0.00534438 -0.0329828
0 -0.00534438 0.0335832
0 0.00534438 0.0335832
0 0.00534438 -0.0329828
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.403727 0.933591
2 0.909275 0.933591
1 0.909275 0.783893
0 0.403727 0.783893
kids 0
OBJECT poly
name "sidestick-pos"
loc 0.00133541 0.000550993 0.00362843
texture "autoland.png"
crease 45.000000
numvert 4
0 0.0056307 -0.00368095
0 -0.0056307 -0.00368095
0 -0.0056307 0.00676597
0 0.0056307 0.00676597
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.791565 0.449709
2 0.68209 0.449709
1 0.68209 0.0104858
0 0.791565 0.0104858
kids 0
OBJECT poly
name "sidestick-max"
loc 0.00091828 -0.0216617 0.0287131
texture "autoland.png"
crease 45.000000
numvert 8
0 0.00402807 0.00438482
0 -0.00402807 0.00438482
0 -0.00402807 -0.00238551
0 0.00402807 -0.00238551
0 0.00402807 -0.0523576
0 -0.00402807 -0.0523576
0 -0.00402807 -0.0455873
0 0.00402807 -0.0455873
numsurf 2
SURF 0x30
mat 0
refs 4
0 0.629302 0.44775
1 0.520441 0.44775
2 0.520441 0.0183234
3 0.629302 0.0183234
SURF 0x30
mat 0
refs 4
7 0.629302 0.0183234
6 0.520441 0.0183234
5 0.520441 0.44775
4 0.629302 0.44775
kids 0
OBJECT poly
name "sidestick-max"
loc 0.00091828 0.0234689 0.0287131
texture "autoland.png"
crease 45.000000
numvert 8
0 -0.00378506 -0.00238554
0 -0.00378506 0.0043848
0 0.00378506 0.0043848
0 0.00378506 -0.00238554
0 -0.00378506 -0.0455873
0 -0.00378506 -0.0523576
0 0.00378506 -0.0523576
0 0.00378506 -0.0455873
numsurf 2
SURF 0x30
mat 0
refs 4
3 0.629302 0.44775
2 0.520441 0.44775
1 0.520441 0.0183234
0 0.629302 0.0183234
SURF 0x30
mat 0
refs 4
4 0.629302 0.0183234
5 0.520441 0.0183234
6 0.520441 0.44775
7 0.629302 0.44775
kids 0
OBJECT poly
name "gsscale"
loc 0.00091828 0.0004113 -0.0352752
texture "symbols.png"
crease 45.000000
numvert 4
0 -0.0361804 -0.00381497
0 0.0361804 -0.00381499
0 0.0361804 0.00381497
0 -0.0361804 0.00381498
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.99826 0.988171
1 0.99826 0.0824336
2 0.947974 0.0824336
3 0.947974 0.988171
kids 0
OBJECT poly
name "locscale"
loc 0.00091828 -0.0478575 0.00489046
texture "symbols.png"
crease 45.000000
numvert 4
0 -0.00428779 -0.0357276
0 -0.00428779 0.0357276
0 0.00428777 0.0357276
0 0.00428777 -0.0357276
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.501561 0.112546
2 0.964105 0.112546
1 0.964105 0.00122176
0 0.501561 0.00122176
kids 0
OBJECT poly
name "gspointer"
loc 0.00226889 9.10088e-006 -0.0356073
texture "symbols.png"
crease 45.000000
numvert 4
0 0.00547617 0.0031265
0 -0.00547617 0.0031265
0 -0.00547617 -0.00312652
0 0.00547617 -0.00312652
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.239237 0.294683
1 0.442683 0.294683
2 0.442683 0.0549766
3 0.239237 0.0549766
kids 0
OBJECT poly
name "locpointer"
loc 0.00226889 -0.0482638 0.00541306
texture "symbols.png"
crease 45.000000
numvert 4
0 -0.0031265 -0.00547615
0 -0.0031265 0.00547617
0 0.00312651 0.00547617
0 0.00312651 -0.00547615
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.239237 0.294683
2 0.442683 0.294683
1 0.442683 0.0549766
0 0.239237 0.0549766
kids 0
OBJECT poly
name "vls-tape"
loc 0.00091828 -0.000281699 0.0476063
texture "vls-tape.png"
crease 45.000000
numvert 4
-1e-005 0.0424935 -0.00136903
-1e-005 0.0424935 0.00136901
-1e-005 -0.0424935 0.00136901
-1e-005 -0.0424935 -0.00136903
numsurf 1
SURF 0x30
mat 0
refs 4
0 1 0.321832
1 0 0.321832
2 0 0.0448185
3 1 0.0448185
kids 0
OBJECT poly
name "stall-tape"
loc 0.00091828 -0.000281699 0.0476063
texture "spd-tape.png"
crease 45.000000
numvert 4
0 0.0424935 -0.00136903
0 0.0424935 0.00136901
0 -0.0424935 0.00136901
0 -0.0424935 -0.00136903
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.598403 0.321832
1 0.501577 0.321832
2 0.501577 0.0448185
3 0.598403 0.0448185
kids 0
OBJECT poly
name "vfe-tape"
loc 0.00091828 -0.000281699 0.0476063
texture "spd-tape.png"
crease 45.000000
numvert 4
0 -0.0424935 -0.00136903
0 -0.0424935 0.00136901
0 0.0424935 0.00136901
0 0.0424935 -0.00136903
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.66857 0.321965
2 0.605455 0.321965
1 0.605455 0.0450599
0 0.66857 0.0450599
kids 0
OBJECT poly
name "bank"
loc 0.00147448 0.0381779 0.00511426
texture "symbols.png"
crease 45.000000
numvert 4
0 -0.00444023 -0.00535177
0 -0.00444022 0.00535178
0 0.00444023 0.00535178
0 0.00444023 -0.00535177
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.348876 0.567016
2 0.505593 0.567016
1 0.505593 0.295057
0 0.348876 0.295057
kids 0
OBJECT poly
name "alt-tape-2"
loc 0.00091828 0.000295199 -0.0595814
texture "alt-tape-2.png"
crease 45.000000
numvert 4
0 -0.00598263 -0.00278856
0 -0.00598263 0.00278853
0 0.00598263 0.00278853
0 0.00598263 -0.00278856
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.962665 0.356135
2 0.0568116 0.356135
1 0.0568116 -0.130193
0 0.962665 -0.130193
kids 0
OBJECT poly
name "radar-alt"
loc 0.000360576 -0.000264099 -0.0474465
texture "radar-alt.png"
crease 45.000000
numvert 4
0 0.0428304 -0.00806341
0 0.0428304 0.00806338
0 -0.0428304 0.00806338
0 -0.0428304 -0.00806341
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.990386 0.217208
1 0.022378 0.217208
2 0.0223766 0.0507198
3 0.990386 0.0507198
kids 0
OBJECT poly
name "landing-elev"
loc 0.000360576 -0.000264099 -0.0474465
texture "arpt-elev.png"
crease 45.000000
numvert 4
0 0.0428304 -0.00806341
0 0.0428304 0.00806338
0 -0.0428304 0.00806338
0 -0.0428304 -0.00806341
numsurf 1
SURF 0x30
mat 0
refs 4
0 0.990386 0.217208
1 0.022378 0.217208
2 0.0223766 0.0507198
3 0.990386 0.0507198
kids 0
OBJECT poly
name "rect"
loc 0.0643506 4.65661e-010 2.32831e-010
texture "mask.png"
crease 45.000000
numvert 4
-0.0639733 0.0784821 -0.0784821
-0.0639733 0.0784821 0.0784821
-0.0639733 -0.0784821 0.0784821
-0.0639733 -0.0784821 -0.0784821
numsurf 1
SURF 0x30
mat 0
refs 4
0 1 1
1 0 1
2 0 0
3 1 0
kids 0
OBJECT poly
name "spdtrnd-down"
loc 0.00133822 -0.0211824 0.0513713
texture "spdtrend.png"
crease 45.000000
numvert 4
0 0.0210118 0.00234548
0 0.0210118 -0.00234545
0 -0.0210118 -0.00234544
0 -0.0210118 0.00234548
numsurf 1
SURF 0x30
mat 0
refs 4
3 0 0.496308
2 1.03601 0.496308
1 1.03601 -0.00461811
0 0 -0.00461811
kids 0
OBJECT poly
name "fd_roll"
loc 0.00132974 0.000720247 0.00491576
texture "symbols.png"
crease 45.000000
numvert 4
0 0.0195466 -0.000502482
0 -0.0195466 -0.000502482
0 -0.0195466 0.000502482
0 0.0195466 0.000502482
numsurf 1
SURF 0x30
mat 0
refs 4
3 0.510324 0.464321
2 0.762653 0.464321
1 0.762653 0.461267
0 0.510324 0.461267
kids 0

View file

@ -14,7 +14,7 @@
</overlay>
</model>
<model>
<!--model>
<name>Port tire smoke</name>
<path>Aircraft/Generic/Effects/tyre-smoke-port.xml</path>
<offsets>
@ -22,7 +22,7 @@
<y-m>0</y-m>
<z-m>-0.572</z-m>
</offsets>
</model>
</model-->
<!-- Gear compression -->
<animation>

View file

@ -14,7 +14,7 @@
</overlay>
</model>
<model>
<!--model>
<name>Starboard tire smoke</name>
<path>Aircraft/Generic/Effects/tyre-smoke-stbd.xml</path>
<offsets>
@ -22,7 +22,7 @@
<y-m>0</y-m>
<z-m>-0.572</z-m>
</offsets>
</model>
</model-->
<!-- Gear compression -->
<animation>

View file

@ -14,7 +14,7 @@
</offsets>
</model>
<model>
<!--model>
<name>Nose tire smoke</name>
<path>Aircraft/Generic/Effects/tyre-smoke-nose.xml</path>
<offsets>
@ -22,7 +22,7 @@
<y-m>0</y-m>
<z-m>-2.314</z-m>
</offsets>
</model>
</model-->
<!-- Gear compression -->
<animation>

View file

@ -3,7 +3,7 @@
# Speed or Mach?
var speedmach = func {
if (getprop("/it-autoflight/output/vert") == 4) {
if ((getprop("/it-autoflight/output/vert") == 4) or (getprop("/it-autoflight/output/vert") == 6) or (getprop("/it-autoflight/output/vert") == 7)) {
# Do nothing because it's in FLCH mode.
} else {
if (getprop("/it-autoflight/input/kts-mach") == 0) {
@ -42,6 +42,8 @@ setlistener("/it-autoflight/mode/lat", func {
setprop("/modes/pfd/fma/roll-mode", "LOC");
} else if (lat == "ALGN") {
setprop("/modes/pfd/fma/roll-mode", "ALN");
} else if (lat == "T/O") {
setprop("/modes/pfd/fma/roll-mode", " ");
}
});
@ -60,10 +62,16 @@ setlistener("/it-autoflight/mode/vert", func {
setprop("/modes/pfd/fma/pitch-mode", "OP CLB");
} else if (vert == "SPD DES") {
setprop("/modes/pfd/fma/pitch-mode", "OP DES");
} else if (vert == "FPA") {
setprop("/modes/pfd/fma/pitch-mode", "FPA");
} else if (vert == "LAND 3") {
setprop("/modes/pfd/fma/pitch-mode", "LAND");
} else if (vert == "FLARE") {
setprop("/modes/pfd/fma/pitch-mode", "FLARE");
} else if (vert == "T/O CLB") {
setprop("/modes/pfd/fma/pitch-mode", "SRS");
} else if (vert == "G/A CLB") {
setprop("/modes/pfd/fma/pitch-mode", "SRS");
}
});

View file

@ -1,18 +1,15 @@
# IT AUTOFLIGHT System Controller by Joshua Davidson (it0uchpods/411).
# V3.0.0 Milestone 3 Build 78
# V3.0.0 Build 110
# This program is 100% GPL!
print("IT-AUTOFLIGHT: Please Wait!");
setprop("/it-autoflight/settings/retard-enable", 1); # Do not change this here! See IT-AUTOFLIGHT's Help.txt
setprop("/it-autoflight/settings/retard-ft", 50); # Do not change this here! See IT-AUTOFLIGHT's Help.txt
setprop("/it-autoflight/settings/land-flap", 0.6); # Do not change this here! See IT-AUTOFLIGHT's Help.txt
setprop("/it-autoflight/settings/land-enable", 1); # Do not change this here! See IT-AUTOFLIGHT's Help.txt
setprop("/it-autoflight/autoland/flare-altitude", 20); # Do not change this here! See IT-AUTOFLIGHT's Help.txt
var ap_init = func {
setprop("/it-autoflight/input/kts-mach", 0);
setprop("/it-autoflight/input/ap1", 0);
setprop("/it-autoflight/input/ap2", 0);
setprop("/it-autoflight/input/athr", 0);
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);
@ -20,25 +17,31 @@ var ap_init = func {
setprop("/it-autoflight/input/hdg", 360);
setprop("/it-autoflight/input/alt", 10000);
setprop("/it-autoflight/input/vs", 0);
setprop("/it-autoflight/input/lat", 0);
setprop("/it-autoflight/input/vert", 4);
setprop("/it-autoflight/input/lat", 5);
setprop("/it-autoflight/input/vert", 7);
setprop("/it-autoflight/input/bank-limit", 30);
setprop("/it-autoflight/input/trk", 0);
setprop("/it-autoflight/input/toga", 0);
setprop("/it-autoflight/output/ap1", 0);
setprop("/it-autoflight/output/ap2", 0);
setprop("/it-autoflight/output/at", 0);
setprop("/it-autoflight/output/athr", 0);
setprop("/it-autoflight/output/cws", 0);
setprop("/it-autoflight/output/fd1", 0);
setprop("/it-autoflight/output/fd2", 0);
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/thr-mode", 0);
setprop("/it-autoflight/output/retard", 0);
setprop("/it-autoflight/settings/min-pitch", -4);
setprop("/it-autoflight/settings/min-pitch", -8);
setprop("/it-autoflight/settings/max-pitch", 8);
setprop("/it-autoflight/internal/min-pitch", -4);
setprop("/it-autoflight/internal/min-pitch", -8);
setprop("/it-autoflight/internal/max-pitch", 8);
setprop("/it-autoflight/internal/alt", 10000);
setprop("/it-autoflight/autoland/target-vs", "-500");
setprop("/it-autoflight/internal/cwsr", 0);
setprop("/it-autoflight/internal/cwsp", 0);
setprop("/it-autoflight/autoland/target-vs", "-650");
setprop("/it-autoflight/mode/lat", "T/O");
setprop("/it-autoflight/mode/vert", "T/O CLB");
update_arms();
print("IT-AUTOFLIGHT: Done!");
}
@ -48,6 +51,7 @@ setlistener("/it-autoflight/input/ap1", func {
var apmas = getprop("/it-autoflight/input/ap1");
if (apmas == 0) {
setprop("/it-autoflight/output/ap1", 0);
setprop("/controls/flight/rudder", 0);
if (getprop("/it-autoflight/sound/enableapoffsound") == 1) {
setprop("/it-autoflight/sound/apoffsound", 1);
setprop("/it-autoflight/sound/enableapoffsound", 0);
@ -65,6 +69,7 @@ setlistener("/it-autoflight/input/ap2", func {
var apmas = getprop("/it-autoflight/input/ap2");
if (apmas == 0) {
setprop("/it-autoflight/output/ap2", 0);
setprop("/controls/flight/rudder", 0);
if (getprop("/it-autoflight/sound/enableapoffsound2") == 1) {
setprop("/it-autoflight/sound/apoffsound2", 1);
setprop("/it-autoflight/sound/enableapoffsound2", 0);
@ -87,6 +92,29 @@ setlistener("/it-autoflight/input/athr", func {
}
});
# CWS Master System
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);
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();
setprop("/it-autoflight/output/cws", 0);
setprop("/controls/flight/aileron-trim", 0);
}
});
# Flight Director 1 Master System
setlistener("/it-autoflight/input/fd1", func {
var fdmas = getprop("/it-autoflight/input/fd1");
@ -109,14 +137,22 @@ setlistener("/it-autoflight/input/fd2", func {
# Master Lateral
setlistener("/it-autoflight/input/lat", func {
lateral();
});
var lateral = func {
var latset = getprop("/it-autoflight/input/lat");
if (latset == 0) {
alandt.stop();
alandt1.stop();
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/lat", 0);
setprop("/it-autoflight/mode/lat", "HDG");
setprop("/it-autoflight/mode/arm", " ");
} else if (latset == 1) {
alandt.stop();
alandt1.stop();
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/lat", 1);
@ -128,6 +164,8 @@ setlistener("/it-autoflight/input/lat", func {
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/mode/arm", "LOC");
} else if (latset == 3) {
alandt.stop();
alandt1.stop();
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/lat", 0);
@ -138,13 +176,21 @@ setlistener("/it-autoflight/input/lat", func {
} else if (latset == 4) {
setprop("/it-autoflight/output/lat", 4);
setprop("/it-autoflight/mode/lat", "ALGN");
} else if (latset == 5) {
setprop("/it-autoflight/output/lat", 5);
}
});
}
# Master Vertical
setlistener("/it-autoflight/input/vert", func {
vertical();
});
var vertical = func {
var vertset = getprop("/it-autoflight/input/vert");
if (vertset == 0) {
alandt.stop();
alandt1.stop();
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/vert", 0);
setprop("/it-autoflight/mode/vert", "ALT HLD");
@ -156,8 +202,10 @@ setlistener("/it-autoflight/input/vert", func {
var altnow = int((getprop("/instrumentation/altimeter/indicated-altitude-ft")+50)/100)*100;
setprop("/it-autoflight/input/alt", altnow);
setprop("/it-autoflight/internal/alt", altnow);
flchthrust();
thrustmode();
} else if (vertset == 1) {
alandt.stop();
alandt1.stop();
var altinput = getprop("/it-autoflight/input/alt");
setprop("/it-autoflight/internal/alt", altinput);
var vsnow = int(getprop("/velocities/vertical-speed-fps")*0.6)*100;
@ -170,14 +218,21 @@ setlistener("/it-autoflight/input/vert", func {
} else {
setprop("/it-autoflight/mode/arm", " ");
}
flchthrust();
thrustmode();
} else if (vertset == 2) {
setprop("/instrumentation/nav/signal-quality-norm", 0);
setprop("/it-autoflight/output/loc-armed", 1);
if (getprop("/it-autoflight/output/lat") == 2) {
# Do nothing because VORLOC is active
} else {
setprop("/instrumentation/nav/signal-quality-norm", 0);
setprop("/it-autoflight/output/loc-armed", 1);
}
setprop("/instrumentation/nav/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();
alandt1.stop();
var pitchdeg = getprop("/orientation/pitch-deg");
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
var alt = getprop("/it-autoflight/internal/alt");
@ -190,7 +245,10 @@ setlistener("/it-autoflight/input/vert", func {
minmaxtimer.start();
setprop("/it-autoflight/output/vert", 0);
setprop("/it-autoflight/mode/vert", "ALT CAP");
thrustmode();
} else if (vertset == 4) {
alandt.stop();
alandt1.stop();
var altinput = getprop("/it-autoflight/input/alt");
setprop("/it-autoflight/internal/alt", altinput);
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
@ -207,29 +265,36 @@ setlistener("/it-autoflight/input/vert", func {
setprop("/it-autoflight/mode/arm", " ");
}
} else if (vertset == 5) {
# VNAV not ready yet, so do nothing
# FPA not ready yet, so do nothing
} else if (vertset == 6) {
setprop("/it-autoflight/output/vert", 6);
setprop("/it-autoflight/mode/vert", "LAND 3");
setprop("/it-autoflight/mode/arm", " ");
flchthrust();
thrustmode();
alandt.stop();
alandt1.start();
setprop("/it-autoflight/autoland/target-vs", "-500");
setprop("/it-autoflight/autoland/target-vs", "-650");
} else if (vertset == 7) {
setprop("/it-autoflight/output/vert", 7);
setprop("/it-autoflight/mode/arm", " ");
togasel();
thrustmode();
alandt.stop();
alandt1.stop();
}
});
}
var flch_on = func {
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/vert", 4);
flchtimer.start();
thrustmodet.start();
}
var alt_on = func {
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/vert", 0);
setprop("/it-autoflight/mode/vert", "ALT CAP");
setprop("/it-autoflight/internal/max-pitch", 8);
setprop("/it-autoflight/internal/min-pitch", -4);
setprop("/it-autoflight/internal/min-pitch", -8);
}
setlistener("/it-autoflight/input/kts-mach", func {
@ -256,10 +321,36 @@ setlistener("/it-autoflight/output/vert", func {
});
var altcapt = func {
var vsnow = getprop("/it-autoflight/internal/vert-speed-fpm");
if ((vsnow >= 0 and vsnow < 500) or (vsnow < 0 and vsnow > -500)) {
setprop("/it-autoflight/internal/captvs", 100);
setprop("/it-autoflight/internal/captvsneg", -100);
} else if ((vsnow >= 500 and vsnow < 1000) or (vsnow < -500 and vsnow > -1000)) {
setprop("/it-autoflight/internal/captvs", 150);
setprop("/it-autoflight/internal/captvsneg", -150);
} else if ((vsnow >= 1000 and vsnow < 1500) or (vsnow < -1000 and vsnow > -1500)) {
setprop("/it-autoflight/internal/captvs", 200);
setprop("/it-autoflight/internal/captvsneg", -200);
} else if ((vsnow >= 1500 and vsnow < 2000) or (vsnow < -1500 and vsnow > -2000)) {
setprop("/it-autoflight/internal/captvs", 300);
setprop("/it-autoflight/internal/captvsneg", -300);
} else if ((vsnow >= 2000 and vsnow < 3000) or (vsnow < -2000 and vsnow > -3000)) {
setprop("/it-autoflight/internal/captvs", 450);
setprop("/it-autoflight/internal/captvsneg", -450);
} else if ((vsnow >= 3000 and vsnow < 4000) or (vsnow < -3000 and vsnow > -4000)) {
setprop("/it-autoflight/internal/captvs", 650);
setprop("/it-autoflight/internal/captvsneg", -650);
} else if ((vsnow >= 4000 and vsnow < 5000) or (vsnow < -4000 and vsnow > -5000)) {
setprop("/it-autoflight/internal/captvs", 1000);
setprop("/it-autoflight/internal/captvsneg", -1000);
} else if ((vsnow >= 5000) or (vsnow < -5000)) {
setprop("/it-autoflight/internal/captvs", 1250);
setprop("/it-autoflight/internal/captvsneg", -1250);
}
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
var alt = getprop("/it-autoflight/internal/alt");
var dif = calt - alt;
if (dif < 500 and dif > -500) {
if (dif < getprop("/it-autoflight/internal/captvs") and dif > getprop("/it-autoflight/internal/captvsneg")) {
setprop("/it-autoflight/input/vert", 3);
setprop("/it-autoflight/output/thr-mode", 0);
}
@ -267,8 +358,8 @@ var altcapt = func {
setprop("/it-autoflight/internal/alt", altinput);
}
# FLCH Thrust Mode Selector
var flchthrust = func {
# Thrust Mode Selector
var thrustmode = func {
var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft");
var alt = getprop("/it-autoflight/internal/alt");
var vertm = getprop("/it-autoflight/output/vert");
@ -276,20 +367,23 @@ var flchthrust = func {
if (calt < alt) {
setprop("/it-autoflight/output/thr-mode", 2);
setprop("/it-autoflight/mode/thr", " PITCH");
setprop("/it-autoflight/mode/vert", "SPD CLB");
setprop("/it-autoflight/mode/vert", "SPD CLB");
} else if (calt > alt) {
setprop("/it-autoflight/output/thr-mode", 1);
setprop("/it-autoflight/mode/thr", " PITCH");
setprop("/it-autoflight/mode/vert", "SPD DES");
setprop("/it-autoflight/mode/vert", "SPD DES");
} else {
setprop("/it-autoflight/output/thr-mode", 0);
setprop("/it-autoflight/mode/thr", "THRUST");
setprop("/it-autoflight/input/vert", 3);
}
} else if (vertm == 7) {
setprop("/it-autoflight/output/thr-mode", 2);
setprop("/it-autoflight/mode/thr", " PITCH");
} else {
setprop("/it-autoflight/output/thr-mode", 0);
setprop("/it-autoflight/mode/thr", "THRUST");
flchtimer.stop();
setprop("/it-autoflight/mode/thr", "THRUST");
thrustmodet.stop();
}
}
@ -300,9 +394,9 @@ var minmax = func {
var dif = calt - alt;
if (dif < 100 and dif > -100) {
setprop("/it-autoflight/internal/max-pitch", 8);
setprop("/it-autoflight/internal/min-pitch", -4);
setprop("/it-autoflight/internal/min-pitch", -5);
var vertmode = getprop("/it-autoflight/output/vert");
if (vertmode == 1 or vertmode == 2 or vertmode == 4) {
if (vertmode == 1 or vertmode == 2 or vertmode == 4 or vertmode == 5 or vertmode == 6 or vertmode == 7) {
# Do not change the vertical mode because we are not trying to capture altitude.
} else {
setprop("/it-autoflight/mode/vert", "ALT HLD");
@ -334,7 +428,7 @@ var retardchk = func {
atofft.start();
} else {
setprop("/it-autoflight/output/retard", 0);
flchthrust();
thrustmode();
}
}
}
@ -362,6 +456,26 @@ 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();
@ -383,9 +497,6 @@ var update_apparmelec = func {
var appra = getprop("/it-autoflight/output/appr-armed");
if (appra) {
apparmcheck();
if (getprop("/it-autoflight/settings/land-enable") == 1){
alandt.start();
}
} else {
return 0;
}
@ -414,7 +525,10 @@ var apparmcheck = func {
setprop("/it-autoflight/output/vert", 2);
setprop("/it-autoflight/mode/vert", "G/S");
setprop("/it-autoflight/mode/arm", " ");
flchthrust();
if (getprop("/it-autoflight/settings/land-enable") == 1){
alandt.start();
}
thrustmode();
} else {
return 0;
}
@ -424,19 +538,35 @@ var apparmcheck = func {
var aland = func {
var ap1 = getprop("/it-autoflight/output/ap1");
var ap2 = getprop("/it-autoflight/output/ap2");
if (ap1 or ap2) {
if (getprop("/position/gear-agl-ft") <= 150) {
if (getprop("/position/gear-agl-ft") <= 100) {
if (ap1 or ap2) {
setprop("/it-autoflight/input/lat", 4);
setprop("/it-autoflight/input/vert", 6);
} else {
alandt.stop();
alandt1.stop();
}
}
}
var aland1 = func {
var aglal = getprop("/position/gear-agl-ft");
var flarealt = getprop("/it-autoflight/autoland/flare-altitude");
var flarealt = getprop("/it-autoflight/settings/flare-altitude");
if (aglal <= flarealt 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)) {
alandt.stop();
alandt1.stop();
setprop("/it-autoflight/output/loc-armed", 0);
setprop("/it-autoflight/output/lat", 2);
setprop("/it-autoflight/mode/lat", "LOC");
setprop("/it-autoflight/output/appr-armed", 0);
setprop("/it-autoflight/output/vert", 2);
setprop("/it-autoflight/mode/vert", "G/S");
setprop("/it-autoflight/mode/arm", " ");
}
var gear1 = getprop("/gear/gear[1]/wow");
var gear2 = getprop("/gear/gear[2]/wow");
if (gear1 == 1 or gear2 == 1) {
@ -447,13 +577,40 @@ var aland1 = func {
}
# Autoland Stage 2 Logic (Rollout)
# Coming soon, for now we just disconnect the AP on touch down.
# CWS
var cwsroll = func {
var ail = getprop("/controls/flight/aileron");
if (ail < 0.05 and ail > -0.05) {
if (getprop("/it-autoflight/internal/cwsr") == 0) {
setprop("/it-autoflight/internal/cws-roll-deg", getprop("/orientation/roll-deg"));
}
setprop("/it-autoflight/internal/cwsr", 1);
} else {
setprop("/it-autoflight/internal/cwsr", 0);
}
}
var cwspitch = func {
var elv = getprop("/controls/flight/elevator");
if (elv < 0.05 and elv > -0.05) {
if (getprop("/it-autoflight/internal/cwsp") == 0) {
setprop("/it-autoflight/internal/cws-pitch-deg", getprop("/orientation/pitch-deg"));
}
setprop("/it-autoflight/internal/cwsp", 1);
} else {
setprop("/it-autoflight/internal/cwsp", 0);
}
}
# Timers
var altcaptt = maketimer(0.5, altcapt);
var flchtimer = maketimer(0.5, flchthrust);
var thrustmodet = maketimer(0.5, thrustmode);
var minmaxtimer = maketimer(0.5, minmax);
var retardt = maketimer(0.5, retardchk);
var atofft = maketimer(0.5, atoffchk);
var alandt = maketimer(0.5, aland);
var alandt1 = maketimer(0.5, aland1);
var alandt1 = maketimer(0.5, aland1);
var cwsrollt = maketimer(0.1, cwsroll);
var cwspitcht = maketimer(0.1, cwspitch);

View file

@ -179,14 +179,11 @@ var triggerDoor = func(door, doorName, doorDesc)
setlistener("/sim/signals/fdm-initialized", func {
itaf.ap_init();
var autopilot = gui.Dialog.new("sim/gui/dialogs/autopilot/dialog", "Aircraft/A320Family/Systems/autopilot-dlg.xml");
setprop("/it-autoflight/settings/retard-enable", 0); # Enable or disable automatic autothrottle retard.
setprop("/it-autoflight/settings/retard-ft", 50); # Add this to change the retard altitude.
setprop("/it-autoflight/settings/land-flap", 0.645); # Define the landing flaps here. This is needed for autoland, and retard.
setprop("/it-autoflight/settings/land-enable", 1); # Enable or disable automatic landing.
setprop("/it-autoflight/autoland/flare-altitude", 40); # Altitude when the flare mode starts in an autoland.
setprop("/controls/engines/thrust-limit", "TOGA");
setprop("/controls/engines/epr-limit", 1.301);
setprop("/controls/engines/n1-limit", 97.8);
setprop("/it-autoflight/input/fd1", 1);
setprop("/it-autoflight/input/fd2", 1);
});
var aglgears = func {

View file

@ -1,52 +0,0 @@
var nose_wow_sav = 0;
var left_wow_sav = 0;
var right_wow_sav = 0;
var tyresmoke = func() {
if ((getprop("/sim/replay/time") == 0) or (getprop("/sim/replay/time") == nil)) {
if (getprop("/position/altitude-agl-ft") < 30) {
var nose_wow_cur = getprop("/gear/gear/wow");
var left_wow_cur = getprop("/gear/gear[3]/wow");
var right_wow_cur = getprop("/gear/gear[4]/wow");
if (nose_wow_cur and !nose_wow_sav)
setprop("/aircraft/tyresmoke/nose", 1);
else
setprop("/aircraft/tyresmoke/nose", 0);
if (left_wow_cur and !left_wow_sav)
setprop("/aircraft/tyresmoke/left", 1);
else
setprop("/aircraft/tyresmoke/left", 0);
if (right_wow_cur and !right_wow_sav)
setprop("/aircraft/tyresmoke/right", 1);
else
setprop("/aircraft/tyresmoke/right", 0);
nose_wow_sav = nose_wow_cur;
left_wow_sav = left_wow_cur;
right_wow_sav = right_wow_cur;
if (left_wow_cur and (getprop("/velocities/airspeed-kt") > 70) and (getprop("controls/gear/brake-left") > 0.5)) {
setprop("/aircraft/tyresmoke/left", 1);
}
if (right_wow_cur and (getprop("/velocities/airspeed-kt") > 70) and (getprop("controls/gear/brake-right") > 0.5)) {
setprop("/aircraft/tyresmoke/right", 1);
}
} else {
setprop("/aircraft/tyresmoke/nose", 0);
setprop("/aircraft/tyresmoke/left", 0);
setprop("/aircraft/tyresmoke/right", 0);
}
}
};

View file

@ -1,38 +0,0 @@
# Create initial announced variables at startup of the sim
V1 = "";
VR = "";
V2 = "";
# The actual function
var vspeeds = func {
# Create/populate variables at each function cycle
# Retrieve total aircraft weight and convert to kg.
WT = getprop("/fdm/jsbsim/inertia/weight-lbs")*0.00045359237;
flaps = getprop("/instrumentation/fmc/to-flap");
# Calculate V-speeds with flaps 10
if (flaps == 10) {
V1 = (0.3*(WT-80))+125;
VR = (0.3*(WT-80))+140;
V2 = (0.3*(WT-80))+150;
}
# Calculate V-speeds with flaps 15
elsif (flaps == 15) {
V1 = (0.3*(WT-80))+115;
VR = (0.3*(WT-80))+130;
V2 = (0.3*(WT-80))+140;
}
# Export the calculated V-speeds to the property-tree, for further use
setprop("/instrumentation/fmc/vspeeds/V1",V1);
setprop("/instrumentation/fmc/vspeeds/VR",VR);
setprop("/instrumentation/fmc/vspeeds/V2",V2);
# Repeat the function each second
settimer(vspeeds, 1);
}
# Only start the function when the FDM is initialized, to prevent the problem of not-yet-created properties.
_setlistener("/sim/signals/fdm-initialized", vspeeds);

View file

@ -1,2 +1,2 @@
# A320Family
Airbus A320 Family for FlightGear. A320-200 Flyable! A319-200/A321-200 Flyable soon! Note: Flaps indicator still missing from ECAM, coming soon!
Airbus A320 Family for FlightGear. Note: Flaps indicator still missing from ECAM, coming soon!

Binary file not shown.

Binary file not shown.

View file

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- IT-AUTOFLIGHT Autoflight Control Dialog -->
<!-- IT-AUTOFLIGHT Autopilot Control Dialog -->
<PropertyList>
@ -13,7 +13,7 @@
<layout>hbox</layout>
<text>
<halign>left</halign>
<label>IT-AUTOFLIGHT V3.0.0 Beta</label>
<label>IT-AUTOFLIGHT System</label>
</text>
<button>
<halign>right</halign>
@ -56,17 +56,17 @@
</binding>
</button>
<button>
<legend>CWS</legend>
<pref-width>35</pref-width>
<enable>
<equals>
<property>/it-autoflight/settings/CWS-allowed</property>
<value>blahblahblahblah</value>
<property>/it-autoflight/settings/enable-cws</property>
<value>1</value>
</equals>
</enable>
<legend>CWS</legend>
<pref-width>35</pref-width>
<binding>
<command>property-toggle</command>
<property>/it-autoflight/unused/input/cws</property>
<property>/it-autoflight/input/cws</property>
</binding>
</button>
<button>
@ -120,7 +120,7 @@
<label>[CWS]</label>
<visible>
<equals>
<property>/it-autoflight/unused/output/cws</property>
<property>/it-autoflight/output/cws</property>
<value>1</value>
</equals>
</visible>
@ -240,16 +240,9 @@
<row>0</row>
<col>1</col>
<legend>TOGA</legend>
<enable>
<equals>
<property>/it-autoflight/unused/toga</property>
<value>blahblahblahblah</value>
</equals>
</enable>
<binding>
<command>property-cycle</command>
<property>/it-autoflight/toga</property>
<value>0</value>
<command>property-assign</command>
<property>/it-autoflight/input/toga</property>
<value>1</value>
</binding>
</button>
@ -763,7 +756,7 @@
<button>
<pref-width>40</pref-width>
<legend>VNAV</legend>
<legend>FPA</legend>
<enable>
<equals>
<property>/it-autoflight/settings/disabled-button</property>
@ -772,8 +765,8 @@
</enable>
<binding>
<command>property-assign</command>
<property>/it-autoflight/unused/vnav</property>
<value>1</value>
<property>/it-autoflight/input/vert</property>
<value>5</value>
</binding>
</button>

View file

@ -14,7 +14,7 @@
<entry><ind> 18</ind><dep>0.988</dep></entry>
<entry><ind> 23</ind><dep>1.000</dep></entry>
<entry><ind> 35</ind><dep>1.060</dep></entry>
<entry><ind>105.0</ind><dep>1.322</dep></entry>
<entry><ind>105.8</ind><dep>1.322</dep></entry>
</table>
</expression>
</input>
@ -33,7 +33,7 @@
<entry><ind> 18</ind><dep>0.988</dep></entry>
<entry><ind> 23</ind><dep>1.000</dep></entry>
<entry><ind> 35</ind><dep>1.060</dep></entry>
<entry><ind>105.0</ind><dep>1.322</dep></entry>
<entry><ind>105.8</ind><dep>1.322</dep></entry>
</table>
</expression>
</input>

View file

@ -219,6 +219,14 @@
<property>/it-autoflight/output/lat</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>5</value>
</equals>
</or>
</condition>
</enable>
@ -236,7 +244,9 @@
</and>
</condition>
<property>/it-autoflight/internal/heading-bug-error-deg</property>
<scale>6.3</scale>
<scale>
<property>/it-autoflight/config/cmd/roll-scale</property>
</scale>
</input>
<input>
<condition>
@ -252,7 +262,9 @@
</and>
</condition>
<property>/it-autoflight/internal/true-heading-error-deg</property>
<scale>6.3</scale>
<scale>
<property>/it-autoflight/config/cmd/roll-scale</property>
</scale>
</input>
<input>
<condition>
@ -262,7 +274,24 @@
</equals>
</condition>
<property>/it-autoflight/internal/lnav-hdg-error-deg</property>
<scale>6.3</scale>
<scale>
<property>/it-autoflight/config/cmd/roll-scale</property>
</scale>
</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>
<value>0</value>
</input>
<output>
<property>/it-autoflight/internal/target-roll-deg</property>
@ -307,67 +336,6 @@
</u_max>
</filter>
<pid-controller>
<name>IT-CONTROLLER: ROLL</name>
<debug>false</debug>
<enable>
<condition>
<and>
<or>
<equals>
<property>/it-autoflight/output/lat</property>
<value>0</value>
</equals>
<equals>
<property>/it-autoflight/output/lat</property>
<value>1</value>
</equals>
</or>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
<property>/orientation/roll-deg</property>
</input>
<reference>
<property>/it-autoflight/internal/target-roll-deg</property>
</reference>
<output>
<property>/it-autoflight/internal/aileron-cmd</property>
</output>
<config>
<Kp>
<property>/it-autoflight/config/roll/kp</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>
<property>/it-autoflight/config/roll/ti</property>
</Ti>
<Td>
<property>/it-autoflight/config/roll/td</property>
</Td>
<u_min>
<property>/it-autoflight/config/roll/umin</property>
</u_min>
<u_max>
<property>/it-autoflight/config/roll/umax</property>
</u_max>
</config>
</pid-controller>
<pid-controller>
<name>VORLOC TRK</name>
<debug>false</debug>
@ -389,38 +357,34 @@
<property>/it-autoflight/internal/target-roll-deg</property>
</output>
<config>
<Kp>-5.0</Kp>
<beta>1.0</beta>
<alpha>1.0</alpha>
<gamma>0.0</gamma>
<Ti>10.0</Ti>
<Td>0.00001</Td>
<u_min>-30.0</u_min>
<u_max>30.0</u_max>
<Kp>
<property>/it-autoflight/config/cmd/vorloc</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>10.0</Ti>
<Td>0.00001</Td>
<u_min>-30</u_min>
<u_max>30</u_max>
</config>
</pid-controller>
<pid-controller>
<name>IT-CONTROLLER: VORLOC</name>
<name>IT-CONTROLLER: ROLL</name>
<debug>false</debug>
<enable>
<condition>
<and>
<or>
<equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</and>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</condition>
</enable>
<input>
@ -434,17 +398,41 @@
</output>
<config>
<Kp>
<property>/it-autoflight/config/vorloc/kp</property>
<condition>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</not-equals>
</condition>
<property>/it-autoflight/config/roll/kp</property>
</Kp>
<Kp>
<condition>
<equals>
<property>/it-autoflight/output/lat</property>
<value>2</value>
</equals>
</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>
<gamma>0.0</gamma>
<Ti>
<property>/it-autoflight/config/vorloc/ti</property>
</Ti>
<property>/it-autoflight/config/roll/ti</property>
</Ti>
<Td>
<property>/it-autoflight/config/vorloc/td</property>
</Td>
<property>/it-autoflight/config/roll/td</property>
</Td>
<u_min>
<property>/it-autoflight/config/roll/umin</property>
</u_min>
@ -453,9 +441,9 @@
</u_max>
</config>
</pid-controller>
<filter>
<name>IT-CONTROLLER: ROLL FILTER</name>
<name>IT-CONTROLLER: ROLL CMD</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
@ -478,7 +466,7 @@
</input>
<output>/controls/flight/aileron</output>
<type>noise-spike</type>
<max-rate-of-change>0.8</max-rate-of-change>
<max-rate-of-change>0.9</max-rate-of-change>
</filter>
<!-- =============================================================== -->
@ -506,7 +494,9 @@
<property>/it-autoflight/internal/target-pitch-deg</property>
</output>
<config>
<Kp>0.025</Kp>
<Kp>
<property>/it-autoflight/config/cmd/alt</property>
</Kp>
<beta>1.0</beta>
<alpha>0.5</alpha>
<gamma>0.0</gamma>
@ -543,7 +533,9 @@
<property>/it-autoflight/internal/target-pitch-deg</property>
</output>
<config>
<Kp>0.07</Kp>
<Kp>
<property>/it-autoflight/config/cmd/vs</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
@ -570,11 +562,11 @@
</condition>
</enable>
<input>
<prop>/it-autoflight/internal/vert-speed-fpm</prop>
<property>/it-autoflight/internal/vert-speed-fpm</property>
<scale>0.2</scale>
</input>
<reference>
<prop>/it-autoflight/autoland/target-vs</prop>
<property>/it-autoflight/autoland/target-vs</property>
<scale>0.2</scale>
</reference>
<output>
@ -621,14 +613,14 @@
</output>
<config>
<Kp>
<property>/it-autoflight/config/gs/kp</property>
<property>/it-autoflight/config/cmd/gs</property>
</Kp>
<beta>1.0</beta>
<alpha>0.5</alpha>
<gamma>0.0</gamma>
<Ti>10.0</Ti>
<Td>0.0001</Td>
<u_min>-10</u_min>
<u_min>-5</u_min>
<u_max>7</u_max>
</config>
</pid-controller>
@ -638,10 +630,16 @@
<debug>false</debug>
<enable>
<condition>
<equals>
<property>/it-autoflight/output/vert</property>
<value>4</value>
</equals>
<or>
<equals>
<property>/it-autoflight/output/vert</property>
<value>4</value>
</equals>
<equals>
<property>/it-autoflight/output/vert</property>
<value>7</value>
</equals>
</or>
</condition>
</enable>
<input>
@ -686,11 +684,12 @@
<property>/it-autoflight/internal/target-pitch-deg</property>
</output>
<config>
<Kp>-0.30</Kp>
<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>
@ -709,7 +708,7 @@
<property>/instrumentation/altimeter/indicated-altitude-ft</property>
</less-than>
</condition>
<value>-15.0</value>
<value>-7.0</value>
</u_min>
<u_max>
<condition>
@ -732,103 +731,44 @@
</config>
</pid-controller>
<pid-controller>
<name>IT-CONTROLLER: FLCH</name>
<debug>false</debug>
<enable>
<condition>
<and>
<equals>
<property>/it-autoflight/output/vert</property>
<value>4</value>
</equals>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</and>
</condition>
</enable>
<input>
<property>/orientation/pitch-deg</property>
</input>
<reference>
<property>/it-autoflight/internal/target-pitch-deg</property>
</reference>
<output>
<property>/it-autoflight/internal/elevator-cmd</property>
</output>
<config>
<Kp>
<property>/it-autoflight/config/flch/kp</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>
<property>/it-autoflight/config/flch/ti</property>
</Ti>
<Td>
<property>/it-autoflight/config/flch/td</property>
</Td>
<u_min>
<property>/it-autoflight/config/flch/umin</property>
</u_min>
<u_max>
<property>/it-autoflight/config/flch/umax</property>
</u_max>
</config>
</pid-controller>
<pid-controller>
<name>IT-CONTROLLER: PITCH</name>
<debug>false</debug>
<enable>
<condition>
<and>
<or>
<equals>
<property>/it-autoflight/output/vert</property>
<value>0</value>
</equals>
<equals>
<property>/it-autoflight/output/vert</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/vert</property>
<value>2</value>
</equals>
<equals>
<property>/it-autoflight/output/vert</property>
<value>6</value>
</equals>
</or>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</and>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</condition>
</enable>
<input>
<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>
@ -855,7 +795,7 @@
</pid-controller>
<filter>
<name>IT-CONTROLLER: PITCH FILTER</name>
<name>IT-CONTROLLER: PITCH CMD</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
@ -878,9 +818,236 @@
</input>
<output>/controls/flight/elevator</output>
<type>noise-spike</type>
<max-rate-of-change>0.15</max-rate-of-change>
<max-rate-of-change>0.3</max-rate-of-change>
</filter>
<!-- =============================================================== -->
<!-- Rudder Control -->
<!-- =============================================================== -->
<pi-simple-controller>
<name>RUDDER VORLOC TRK</name>
<debug>false</debug>
<enable>
<condition>
<equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</equals>
</condition>
</enable>
<input>
<property>/it-autoflight/internal/nav1-heading-error-deg</property>
</input>
<reference>
<value>0</value>
</reference>
<output>/it-autoflight/internal/rudder-cmd</output>
<config>
<Kp>
<property>/it-autoflight/config/autoland/kp-rudder</property>
</Kp>
<Ki>0</Ki>
</config>
<min>-0.25</min>
<max>0.25</max>
</pi-simple-controller>
<filter>
<name>IT-CONTROLLER: RUDDER CMD</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<enable>
<condition>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</condition>
</enable>
<input>
<condition>
<not-equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</not-equals>
</condition>
<value>0</value>
</input>
<input>
<condition>
<equals>
<property>/it-autoflight/output/lat</property>
<value>4</value>
</equals>
</condition>
<property>/it-autoflight/internal/rudder-cmd</property>
</input>
<output>/controls/flight/rudder</output>
<type>noise-spike</type>
<max-rate-of-change>0.20</max-rate-of-change>
</filter>
<!-- =============================================================== -->
<!-- Control Wheel Steering -->
<!-- =============================================================== -->
<pid-controller>
<name>IT-CONTROLLER: CWS ROLL</name>
<debug>false</debug>
<enable>
<condition>
<and>
<equals>
<property>/it-autoflight/internal/cwsr</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/cws</property>
<value>1</value>
</equals>
</and>
</condition>
</enable>
<input>
<property>/orientation/roll-deg</property>
</input>
<reference>
<property>/it-autoflight/internal/cws-roll-deg</property>
</reference>
<output>
<property>/it-autoflight/internal/cws-ail-cmd</property>
</output>
<config>
<Kp>
<property>/it-autoflight/config/roll/kp</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>
<property>/it-autoflight/config/roll/ti</property>
</Ti>
<Td>
<property>/it-autoflight/config/roll/td</property>
</Td>
<u_min>-1.0</u_min>
<u_max>1.0</u_max>
</config>
</pid-controller>
<filter>
<name>IT-CONTROLLER: CWS ROLL CMD</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<enable>
<condition>
<equals>
<property>/it-autoflight/output/cws</property>
<value>1</value>
</equals>
</condition>
</enable>
<input>
<condition>
<equals>
<property>/it-autoflight/internal/cwsr</property>
<value>1</value>
</equals>
</condition>
<property>/it-autoflight/internal/cws-ail-cmd</property>
</input>
<input>
<condition>
<equals>
<property>/it-autoflight/internal/cwsr</property>
<value>0</value>
</equals>
</condition>
<value>0</value>
</input>
<output>/controls/flight/aileron-trim</output>
<type>noise-spike</type>
<max-rate-of-change>0.9</max-rate-of-change>
</filter>
<pid-controller>
<name>IT-CONTROLLER: CWS PITCH</name>
<debug>false</debug>
<enable>
<condition>
<and>
<equals>
<property>/it-autoflight/internal/cwsp</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/cws</property>
<value>1</value>
</equals>
</and>
</condition>
</enable>
<input>
<property>/orientation/pitch-deg</property>
</input>
<reference>
<property>/it-autoflight/internal/cws-pitch-deg</property>
</reference>
<output>
<property>/it-autoflight/internal/cws-elv-cmd</property>
</output>
<config>
<Kp>
<property>/it-autoflight/config/pitch/kp-cws</property>
</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>
<property>/it-autoflight/config/pitch/ti</property>
</Ti>
<Td>
<property>/it-autoflight/config/pitch/td</property>
</Td>
<u_min>-1.0</u_min>
<u_max>1.0</u_max>
</config>
</pid-controller>
<filter>
<name>IT-CONTROLLER: CWS PITCH CMD</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
<enable>
<condition>
<equals>
<property>/it-autoflight/output/cws</property>
<value>1</value>
</equals>
</condition>
</enable>
<input>
<property>/it-autoflight/internal/cws-elv-cmd</property>
</input>
<output>/controls/flight/elevator-trim</output>
<type>noise-spike</type>
<max-rate-of-change>0.5</max-rate-of-change>
</filter>
<!-- =============================================================== -->
<!-- Autotrim -->
<!-- =============================================================== -->
<pid-controller>
<name>AP PITCH HELPER PLUS</name>
<debug>false</debug>
@ -970,7 +1137,7 @@
</pid-controller>
<filter>
<name>IT-CONTROLLER: PITCH TRIM FILTER</name>
<name>IT-CONTROLLER: PITCH TRIM CMD</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
@ -1008,48 +1175,6 @@
<max-rate-of-change>0.01</max-rate-of-change>
</filter>
<!-- =============================================================== -->
<!-- Rudder Control -->
<!-- =============================================================== -->
<pid-controller>
<name>IT-CONTROLLER: RUDDER ZERO</name>
<debug>false</debug>
<enable>
<condition>
<or>
<equals>
<property>/it-autoflight/output/ap1</property>
<value>1</value>
</equals>
<equals>
<property>/it-autoflight/output/ap2</property>
<value>1</value>
</equals>
</or>
</condition>
</enable>
<input>
<value>/controls/flight/rudder</value>
</input>
<reference>
<value>0</value>
</reference>
<output>
<property>/controls/flight/rudder</property>
</output>
<config>
<Kp>5</Kp>
<beta>1.0</beta>
<alpha>0.1</alpha>
<gamma>0.0</gamma>
<Ti>10</Ti>
<Td>0.00001</Td>
<u_min>-0.1</u_min>
<u_max>0.1</u_max>
</config>
</pid-controller>
<!-- =============================================================== -->
<!-- Flight Director -->
<!-- =============================================================== -->
@ -1077,6 +1202,12 @@
<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>
@ -1084,6 +1215,20 @@
</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>

View file

@ -231,7 +231,7 @@
</pid-controller>
<filter>
<name>IT-CONTROLLER: THRUST FILTER</name>
<name>IT-CONTROLLER: THRUST CMD</name>
<debug>false</debug>
<feedback-if-disabled>true</feedback-if-disabled>
<initialize-to>output</initialize-to>
@ -285,7 +285,7 @@
</equals>
</and>
</condition>
<value>0.05</value>
<value>0.20</value>
</max-rate-of-change>
<max-rate-of-change>
<condition>