diff --git a/Models/Instruments/PFD/PFD1.xml b/Models/Instruments/PFD/PFD1.xml index 25f0b947..f79b6019 100644 --- a/Models/Instruments/PFD/PFD1.xml +++ b/Models/Instruments/PFD/PFD1.xml @@ -213,25 +213,87 @@ pitch-mode-armed-box roll-mode-box roll-mode-armed-box + pitch-mode-fma + roll-mode-fma + pitch-mode-armed-fma + pitch-mode-armed2-fma + roll-mode-armed-fma - - - /it-autoflight/output/fd1 - 1 - - - /it-autoflight/output/fd2 - 1 - - - /it-autoflight/output/ap1 - 1 - - - /it-autoflight/output/ap2 - 1 - - + + + + /it-autoflight/output/fd1 + 1 + + + /it-autoflight/output/fd2 + 1 + + + /it-autoflight/output/ap1 + 1 + + + /it-autoflight/output/ap2 + 1 + + + + /modes/pfd/fma/pitch-mode + LAND + + + /modes/pfd/fma/pitch-mode + FLARE + + + /modes/pfd/fma/pitch-mode + ROLLOUT + + + + + + + select + land-mode-box + land-mode-fma + landmask + + + + + /it-autoflight/output/fd1 + 1 + + + /it-autoflight/output/fd2 + 1 + + + /it-autoflight/output/ap1 + 1 + + + /it-autoflight/output/ap2 + 1 + + + + + /modes/pfd/fma/pitch-mode + LAND + + + /modes/pfd/fma/pitch-mode + FLARE + + + /modes/pfd/fma/pitch-mode + ROLLOUT + + + @@ -1549,6 +1611,30 @@ + + land-mode-fma + + 0.00091828 + -0.00521 + 0.0710781 + + center-center + yz-plane + text-value + %s + false + helvetica_medium.txf + /modes/pfd/fma/pitch-mode + true + false + false + 0.0055 + + 32 + 32 + + + roll-mode-fma @@ -1645,35 +1731,6 @@ - - select - pitch-mode-fma - roll-mode-fma - pitch-mode-armed-fma - pitch-mode-armed2-fma - roll-mode-armed-fma - - - - /it-autoflight/output/ap1 - 1 - - - /it-autoflight/output/ap2 - 1 - - - /it-autoflight/output/fd1 - 1 - - - /it-autoflight/output/fd2 - 1 - - - - - select throttle-mode-box @@ -1724,6 +1781,7 @@ select pitch-mode-box + land-mode-box /modes/pfd/fma/pitch-mode-box @@ -3149,6 +3207,7 @@ mach-value thrust-mode-fma pitch-mode-fma + land-mode-fma roll-mode-fma athr-thrlvr-fma diff --git a/Models/Instruments/PFD/PFD2.xml b/Models/Instruments/PFD/PFD2.xml index 5eb0ac20..57a42e68 100644 --- a/Models/Instruments/PFD/PFD2.xml +++ b/Models/Instruments/PFD/PFD2.xml @@ -213,25 +213,87 @@ pitch-mode-armed-box roll-mode-box roll-mode-armed-box + pitch-mode-fma + roll-mode-fma + pitch-mode-armed-fma + pitch-mode-armed2-fma + roll-mode-armed-fma - - - /it-autoflight/output/fd1 - 1 - - - /it-autoflight/output/fd2 - 1 - - - /it-autoflight/output/ap1 - 1 - - - /it-autoflight/output/ap2 - 1 - - + + + + /it-autoflight/output/fd1 + 1 + + + /it-autoflight/output/fd2 + 1 + + + /it-autoflight/output/ap1 + 1 + + + /it-autoflight/output/ap2 + 1 + + + + /modes/pfd/fma/pitch-mode + LAND + + + /modes/pfd/fma/pitch-mode + FLARE + + + /modes/pfd/fma/pitch-mode + ROLLOUT + + + + + + + select + land-mode-box + land-mode-fma + landmask + + + + + /it-autoflight/output/fd1 + 1 + + + /it-autoflight/output/fd2 + 1 + + + /it-autoflight/output/ap1 + 1 + + + /it-autoflight/output/ap2 + 1 + + + + + /modes/pfd/fma/pitch-mode + LAND + + + /modes/pfd/fma/pitch-mode + FLARE + + + /modes/pfd/fma/pitch-mode + ROLLOUT + + + @@ -1549,6 +1611,30 @@ + + land-mode-fma + + 0.00091828 + -0.00521 + 0.0710781 + + center-center + yz-plane + text-value + %s + false + helvetica_medium.txf + /modes/pfd/fma/pitch-mode + true + false + false + 0.0055 + + 32 + 32 + + + roll-mode-fma @@ -1645,35 +1731,6 @@ - - select - pitch-mode-fma - roll-mode-fma - pitch-mode-armed-fma - pitch-mode-armed2-fma - roll-mode-armed-fma - - - - /it-autoflight/output/ap1 - 1 - - - /it-autoflight/output/ap2 - 1 - - - /it-autoflight/output/fd1 - 1 - - - /it-autoflight/output/fd2 - 1 - - - - - select throttle-mode-box @@ -1724,6 +1781,7 @@ select pitch-mode-box + land-mode-box /modes/pfd/fma/pitch-mode-box @@ -3149,6 +3207,7 @@ mach-value thrust-mode-fma pitch-mode-fma + land-mode-fma roll-mode-fma athr-thrlvr-fma diff --git a/Models/Instruments/PFD/res/pfd-3d.ac b/Models/Instruments/PFD/res/pfd-3d.ac index 9d986582..1104c871 100644 --- a/Models/Instruments/PFD/res/pfd-3d.ac +++ b/Models/Instruments/PFD/res/pfd-3d.ac @@ -1,8 +1,63 @@ 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 MATERIAL "white" rgb 1 1 1 amb 1 1 1 emis 0.798 0.798 0.798 spec 0 0 0 shi 0 trans 0 +MATERIAL "ac3dmat0" rgb 0 0 0 amb 0 0 0 emis 0 0 0 spec 0 0 0 shi 0 trans 0 OBJECT world -kids 44 +kids 46 +OBJECT poly +name "land-mode-box" +loc 0.000386977 0.0698612 0.00523137 +data 6 +Circle +texture "box.png" +crease 30.000000 +numvert 16 +0 -0.00244377 -0.0145566 +0 -0.00244377 -0.0151633 +0 0.004665 -0.0151633 +0 0.004665 -0.0145566 +0 -0.00248282 0.0151633 +0 -0.00248282 0.0145566 +0 0.00462595 0.0145566 +0 0.00462595 0.0151633 +0 0.00457313 0.0145165 +0 0.00396641 0.0145165 +0 0.00396641 -0.0144955 +0 0.00457313 -0.0144955 +0 -0.00181733 0.0144925 +0 -0.00242404 0.0144925 +0 -0.00242402 -0.0145195 +0 -0.00181732 -0.0145195 +numsurf 4 +SURF 0x0 +mat 1 +refs 4 +0 0.654297 0.439453 +1 0.679687 0.439453 +2 0.679687 0.464844 +3 0.654297 0.464844 +SURF 0x0 +mat 1 +refs 4 +4 0.654297 0.439453 +5 0.679687 0.439453 +6 0.679687 0.464844 +7 0.654297 0.464844 +SURF 0x0 +mat 1 +refs 4 +8 0.654297 0.439453 +9 0.679687 0.439453 +10 0.679687 0.464844 +11 0.654297 0.464844 +SURF 0x0 +mat 1 +refs 4 +12 0.654297 0.439453 +13 0.679687 0.439453 +14 0.679687 0.464844 +15 0.654297 0.464844 +kids 0 OBJECT poly name "target-alt-mng" loc 0.000960576 -0.000264099 -0.0431903 @@ -1141,3 +1196,21 @@ refs 4 1 0.762653 0.461267 0 0.510324 0.461267 kids 0 +OBJECT poly +name "landmask" +loc 0.000382955 0.0654851 0.00520964 +crease 45.000000 +numvert 4 +0 -0.0115399 -0.00100451 +0 -0.0115399 0.00100451 +0 0.0115399 0.00100451 +0 0.0115399 -0.00100451 +numsurf 1 +SURF 0x30 +mat 2 +refs 4 +3 1 1 +2 0 1 +1 0 0 +0 1 0 +kids 0 diff --git a/Nasal/FMGC-b.nas b/Nasal/FMGC-b.nas index d5cc4f4d..cda685e5 100644 --- a/Nasal/FMGC-b.nas +++ b/Nasal/FMGC-b.nas @@ -353,7 +353,6 @@ var vertical = func { thrustmode(); } else if (vertset == 6) { setprop("/it-autoflight/output/vert", 6); - setprop("/it-autoflight/mode/vert", "LAND"); setprop("/it-autoflight/mode/arm", " "); thrustmode(); mng_sys_stop(); @@ -629,6 +628,9 @@ 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"); + var gearagl = getprop("/position/gear-agl-ft"); + var ap1 = getprop("/it-autoflight/output/ap1"); + var ap2 = getprop("/it-autoflight/output/ap2"); if (vertm == 4) { if (calt < alt) { setprop("/it-autoflight/output/thr-mode", 2); @@ -724,19 +726,27 @@ var make_appr_active = func { # Autoland Stage 1 Logic (Land) var aland = func { - var ap1 = getprop("/it-autoflight/output/ap1"); - var ap2 = getprop("/it-autoflight/output/ap2"); + if (getprop("/position/gear-agl-ft") <= 300) { + setprop("/it-autoflight/mode/vert", "LAND"); + } if (getprop("/position/gear-agl-ft") <= 100) { - setprop("/it-autoflight/input/lat", 4); setprop("/it-autoflight/input/vert", 6); } } var aland1 = func { var aglal = getprop("/position/gear-agl-ft"); + if (aglal <= 80 and aglal > 5) { + setprop("/it-autoflight/input/lat", 4); + } if (aglal <= 50 and aglal > 5) { setprop("/it-autoflight/mode/vert", "FLARE"); } + if (aglal <= 18 and aglal > 5) { + thrustmodet.stop(); + setprop("/it-autoflight/output/thr-mode", 1); + setprop("/it-autoflight/mode/thr", "RETARD"); + } var gear1 = getprop("/gear/gear[1]/wow"); var gear2 = getprop("/gear/gear[2]/wow"); if (gear1 == 1 or gear2 == 1) { diff --git a/Nasal/PFD_FMA.nas b/Nasal/PFD_FMA.nas index 2cdb4963..17be541c 100644 --- a/Nasal/PFD_FMA.nas +++ b/Nasal/PFD_FMA.nas @@ -6,7 +6,7 @@ setprop("/it-autoflight/internal/alt", 10000); # Speed or Mach? var speedmach = func { - if ((getprop("/it-autoflight/output/vert") == 4) or (getprop("/it-autoflight/output/vert") == 7) or (getprop("/it-autoflight/output/vert") == 8)) { + if ((getprop("/it-autoflight/output/vert") == 4) or (getprop("/it-autoflight/output/vert") == 6) or (getprop("/it-autoflight/output/vert") == 7) or (getprop("/it-autoflight/output/vert") == 8)) { if (getprop("/it-autoflight/output/fd1") == 0 and getprop("/it-autoflight/output/fd2") == 0 and getprop("/it-autoflight/output/ap1") == 0 and getprop("/it-autoflight/output/ap2") == 0) { speedmach_b(); } else { diff --git a/Systems/fmgc-b.xml b/Systems/fmgc-b.xml index fac4aac2..c5e0c5f9 100644 --- a/Systems/fmgc-b.xml +++ b/Systems/fmgc-b.xml @@ -114,9 +114,9 @@ 50-500 40-400 30-300 - 20-200 - 10-150 - 5-100 + 20-180 + 10-100 + 5 -70