diff --git a/Models/Instruments/PFD/PFD.nas b/Models/Instruments/PFD/PFD.nas index 915c65bb..6c0b2f31 100644 --- a/Models/Instruments/PFD/PFD.nas +++ b/Models/Instruments/PFD/PFD.nas @@ -497,22 +497,56 @@ var canvas_PFD_base = { me.middleAltText = roundaboutAlt(me.altitude / 100); me.middleAltOffset = nil; if (me.altOffset > 0.5) { - me.middleAltOffset = -(me.altOffset - 1) * 486.6856; + me.middleAltOffset = -(me.altOffset - 1) * 243.3424; } else { - me.middleAltOffset = -me.altOffset * 486.6856; + me.middleAltOffset = -me.altOffset * 243.3424; } me["ALT_scale"].setTranslation(0, -me.middleAltOffset); me["ALT_scale"].update(); - me["ALT_five"].setText(sprintf("%03d",me.middleAltText+10)); - me["ALT_four"].setText(sprintf("%03d",me.middleAltText+5)); - me["ALT_three"].setText(sprintf("%03d",me.middleAltText)); - me["ALT_two"].setText(sprintf("%03d",me.middleAltText-5)); - me["ALT_one"].setText(sprintf("%03d",me.middleAltText-10)); + me["ALT_five"].setText(sprintf("%03d", me.middleAltText+10)); + me["ALT_four"].setText(sprintf("%03d", me.middleAltText+5)); + me["ALT_three"].setText(sprintf("%03d", me.middleAltText)); + me["ALT_two"].setText(sprintf("%03d", me.middleAltText-5)); + me["ALT_one"].setText(sprintf("%03d", me.middleAltText-10)); me["ALT_digits"].setText(sprintf("%s", getprop("/instrumentation/altimeter/indicated-altitude-ft-pfd"))); altTens = num(right(sprintf("%02d", getprop("/instrumentation/altimeter/indicated-altitude-ft")), 2)); me["ALT_tens"].setTranslation(0, altTens * 1.392); + if (getprop("/instrumentation/pfd/alt-diff") >= -565 and getprop("/instrumentation/pfd/alt-diff") <= 565) { + me["ALT_target"].setTranslation(0, (getprop("/instrumentation/pfd/alt-diff") / 100) * -48.66856); + me["ALT_target_digit"].setText(sprintf("%03d", math.round(getprop("/it-autoflight/internal/alt") / 100))); + me["ALT_digit_UP"].hide(); + me["ALT_digit_DN"].hide(); + me["ALT_target"].show(); + } else if (getprop("/instrumentation/pfd/alt-diff") < -565) { + if (getprop("/modes/altimeter/std") == 1) { + if (getprop("/it-autoflight/internal/alt") < 10000) { + me["ALT_digit_DN"].setText(sprintf("%s", "FL " ~ getprop("/it-autoflight/internal/alt") / 100)); + } else { + me["ALT_digit_DN"].setText(sprintf("%s", "FL " ~ getprop("/it-autoflight/internal/alt") / 100)); + } + } else { + me["ALT_digit_DN"].setText(sprintf("%5.0f", getprop("/it-autoflight/internal/alt"))); + } + me["ALT_digit_DN"].show(); + me["ALT_digit_UP"].hide(); + me["ALT_target"].hide(); + } else if (getprop("/instrumentation/pfd/alt-diff") > 565) { + if (getprop("/modes/altimeter/std") == 1) { + if (getprop("/it-autoflight/internal/alt") < 10000) { + me["ALT_digit_UP"].setText(sprintf("%s", "FL " ~ getprop("/it-autoflight/internal/alt") / 100)); + } else { + me["ALT_digit_UP"].setText(sprintf("%s", "FL " ~ getprop("/it-autoflight/internal/alt") / 100)); + } + } else { + me["ALT_digit_UP"].setText(sprintf("%5.0f", getprop("/it-autoflight/internal/alt"))); + } + me["ALT_digit_UP"].show(); + me["ALT_digit_DN"].hide(); + me["ALT_target"].hide(); + } + # QNH if (getprop("/modes/altimeter/std") == 1) { me["QNH"].hide(); @@ -545,9 +579,9 @@ var canvas_PFD_base = { } if (getprop("/it-autoflight/internal/vert-speed-fpm-pfd") < 10) { - me["VS_digit"].setText(sprintf("%2.0f", "0" ~ getprop("/it-autoflight/internal/vert-speed-fpm-pfd"))); + me["VS_digit"].setText(sprintf("%02d", "0" ~ getprop("/it-autoflight/internal/vert-speed-fpm-pfd"))); } else { - me["VS_digit"].setText(sprintf("%2.0f", getprop("/it-autoflight/internal/vert-speed-fpm-pfd"))); + me["VS_digit"].setText(sprintf("%02d", getprop("/it-autoflight/internal/vert-speed-fpm-pfd"))); } # ILS @@ -635,8 +669,9 @@ var canvas_PFD_1 = { return ["FMA_man","FMA_manmode","FMA_flxtemp","FMA_thrust","FMA_lvrclb","FMA_pitch","FMA_pitcharm","FMA_pitcharm2","FMA_roll","FMA_rollarm","FMA_combined","FMA_ctr_msg","FMA_catmode","FMA_cattype","FMA_nodh","FMA_dh","FMA_dhn","FMA_ap","FMA_fd", "FMA_athr","FMA_man_box","FMA_flx_box","FMA_thrust_box","FMA_pitch_box","FMA_pitcharm_box","FMA_roll_box","FMA_rollarm_box","FMA_combined_box","FMA_catmode_box","FMA_cattype_box","FMA_cat_box","FMA_dh_box","FMA_ap_box","FMA_fd_box","FMA_athr_box", "FMA_Middle1","FMA_Middle2","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_ten_sec","ASI_digit_UP","ASI_digit_DN","ASI_decimal_UP","ASI_decimal_DN","AI_center","AI_bank","AI_bank_lim","AI_slipskid","AI_horizon","AI_horizon_ground", - "AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading","AI_agl_g","AI_agl","FD_roll","FD_pitch","ALT_scale","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","VS_pointer","VS_box","VS_digit","QNH","QNH_setting","QNH_std", - "QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","TRK_pointer"]; + "AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading","AI_agl_g","AI_agl","FD_roll","FD_pitch","ALT_scale","ALT_target","ALT_target_digit","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_digit_UP","ALT_digit_DN", + "VS_pointer","VS_box","VS_digit","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L", + "HDG_digit_R","TRK_pointer"]; }, update: func() { fd1 = getprop("/it-autoflight/output/fd1"); @@ -669,6 +704,7 @@ var canvas_PFD_1 = { me["LOC_scale"].hide(); me["GS_scale"].hide(); } + if (getprop("/modes/pfd/ILS1") == 1 and getprop("/instrumentation/nav[0]/in-range") == 1 and getprop("/instrumentation/nav[0]/nav-loc") == 1 and getprop("/instrumentation/nav[0]/signal-quality-norm") > 0.99) { me["LOC_pointer"].show(); } else { @@ -695,8 +731,9 @@ var canvas_PFD_2 = { return ["FMA_man","FMA_manmode","FMA_flxtemp","FMA_thrust","FMA_lvrclb","FMA_pitch","FMA_pitcharm","FMA_pitcharm2","FMA_roll","FMA_rollarm","FMA_combined","FMA_ctr_msg","FMA_catmode","FMA_cattype","FMA_nodh","FMA_dh","FMA_dhn","FMA_ap","FMA_fd", "FMA_athr","FMA_man_box","FMA_flx_box","FMA_thrust_box","FMA_pitch_box","FMA_pitcharm_box","FMA_roll_box","FMA_rollarm_box","FMA_combined_box","FMA_catmode_box","FMA_cattype_box","FMA_cat_box","FMA_dh_box","FMA_ap_box","FMA_fd_box","FMA_athr_box", "FMA_Middle1","FMA_Middle2","ASI_scale","ASI_target","ASI_mach","ASI_mach_decimal","ASI_ten_sec","ASI_digit_UP","ASI_digit_DN","ASI_decimal_UP","ASI_decimal_DN","AI_center","AI_bank","AI_bank_lim","AI_slipskid","AI_horizon","AI_horizon_ground", - "AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading","AI_agl_g","AI_agl","FD_roll","FD_pitch","ALT_scale","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","VS_pointer","VS_box","VS_digit","QNH","QNH_setting","QNH_std", - "QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L","HDG_digit_R","TRK_pointer"]; + "AI_horizon_sky","AI_stick","AI_stick_pos","AI_heading","AI_agl_g","AI_agl","FD_roll","FD_pitch","ALT_scale","ALT_target","ALT_target_digit","ALT_one","ALT_two","ALT_three","ALT_four","ALT_five","ALT_digits","ALT_tens","ALT_digit_UP","ALT_digit_DN", + "VS_pointer","VS_box","VS_digit","QNH","QNH_setting","QNH_std","QNH_box","LOC_pointer","LOC_scale","GS_scale","GS_pointer","CRS_pointer","HDG_target","HDG_scale","HDG_one","HDG_two","HDG_three","HDG_four","HDG_five","HDG_six","HDG_seven","HDG_digit_L", + "HDG_digit_R","TRK_pointer"]; }, update: func() { fd1 = getprop("/it-autoflight/output/fd1"); @@ -729,6 +766,7 @@ var canvas_PFD_2 = { me["LOC_scale"].hide(); me["GS_scale"].hide(); } + if (getprop("/modes/pfd/ILS2") == 1 and getprop("/instrumentation/nav[0]/in-range") == 1 and getprop("/instrumentation/nav[0]/nav-loc") == 1 and getprop("/instrumentation/nav[0]/signal-quality-norm") > 0.99) { me["LOC_pointer"].show(); } else { diff --git a/Models/Instruments/PFD/info.txt b/Models/Instruments/PFD/info.txt index 20c29054..5ecf5f4b 100644 --- a/Models/Instruments/PFD/info.txt +++ b/Models/Instruments/PFD/info.txt @@ -3,9 +3,11 @@ Heading Tape: 61.5885 98.5416 is 123.177 in 1024 +49.2708 is 61.5885 in 1024 Altitude Tape: -608.357 +304.178 60.8357 -486.6856 is 608.357 in 1024 \ No newline at end of file +243.3424 is 304.178 in 1024 +48.66856 is 60.8357 in 1024 \ No newline at end of file diff --git a/Models/Instruments/PFD/res/pfd.svg b/Models/Instruments/PFD/res/pfd.svg index 56bb27be..6d936d3b 100644 --- a/Models/Instruments/PFD/res/pfd.svg +++ b/Models/Instruments/PFD/res/pfd.svg @@ -41,9 +41,9 @@ inkscape:window-height="1030" id="namedview371" showgrid="false" - inkscape:zoom="8.0000002" - inkscape:cx="277.58791" - inkscape:cy="751.03677" + inkscape:zoom="0.70710678" + inkscape:cx="1034.8491" + inkscape:cy="734.42739" inkscape:window-x="1592" inkscape:window-y="-8" inkscape:window-maximized="1" @@ -1048,6 +1048,14 @@ + - - 000 - + inkscape:label="#g5036" + transform="translate(-723.20023,0)"> 000 - - - - - - - - - @@ -2158,24 +2087,24 @@ inkscape:label="#text975" transform="scale(0.95383278,1.0484018)" id="ALT_three" - y="36.886917" - x="1562.5935" + y="501.10501" + x="1604.5295" style="font-style:normal;font-weight:normal;font-size:30.52176857px;line-height:1.25;font-family:sans-serif;text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.75" xml:space="preserve">000 @@ -2183,11 +2112,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4947" - d="m 1539.3052,415.41562 -11.3041,0" + d="m 1579.3052,902.1027 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2195,11 +2124,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4951" - d="m 1539.3052,318.0785 -11.3041,0" + d="m 1579.3052,804.76558 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2207,11 +2136,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4955" - d="m 1539.3052,220.74138 -11.3041,0" + d="m 1579.3052,707.42846 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2219,11 +2148,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path4959" - d="m 1539.3052,123.40426 -11.3041,0" + d="m 1579.3052,610.09134 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2231,24 +2160,24 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path5031" - d="m 1539.3052,-460.61777 -11.3041,0" + d="m 1579.3052,26.06931 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> 000 @@ -2256,11 +2185,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path5039" - d="m 1539.3052,-22.601032 -11.3041,0" + d="m 1579.3052,464.08605 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2268,11 +2197,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path5043" - d="m 1539.3052,-119.93815 -11.3041,0" + d="m 1579.3052,366.74893 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2280,11 +2209,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path5047" - d="m 1539.3052,-217.27527 -11.3041,0" + d="m 1579.3052,269.41181 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2292,11 +2221,11 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path5051" - d="m 1539.3052,-314.61239 -11.3041,0" + d="m 1579.3052,172.07469 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> @@ -2304,96 +2233,47 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path5055" - d="m 1539.3052,-411.94951 -11.3041,0" + d="m 1579.3052,74.73757 -11.3041,0" style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> + 000 + sodipodi:nodetypes="ccc" /> 000 - - - - - - - - - - + + + + + 000 + + + transform="matrix(1.0666667,0,0,1.066636,2.2828427,-0.60381959)"> 40200080604020008060 @@ -2982,20 +2910,20 @@ sodipodi:nodetypes="cc" inkscape:connector-curvature="0" id="path967" - d="m 765.76075,235.4451 136.156,0" - style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.19995403;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> + d="m 768.94214,235.42646 132.99332,0" + style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:3.16267705;stroke-linecap:square;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:fill markers stroke" /> 00 . + FL 000 + FL 000 diff --git a/Nasal/FMGC-b.nas b/Nasal/FMGC-b.nas index 8cdabe15..762dfc26 100644 --- a/Nasal/FMGC-b.nas +++ b/Nasal/FMGC-b.nas @@ -723,7 +723,7 @@ var altcapt = func { setprop("/it-autoflight/internal/captvs", 1500); setprop("/it-autoflight/internal/captvsneg", -1500); } - if (getprop("/it-autoflight/output/fd1") == 1 or getprop("/it-autoflight/output/fd2") == 1 or getprop("/it-autoflight/output/ap1") == 1 or getprop("/it-autoflight/output/ap2") == 1) { + if ((getprop("/it-autoflight/output/fd1") == 1 or getprop("/it-autoflight/output/fd2") == 1 or getprop("/it-autoflight/output/ap1") == 1 or getprop("/it-autoflight/output/ap2") == 1) and getprop("/it-autoflight/output/vert") != 9) { var calt = getprop("/instrumentation/altimeter/indicated-altitude-ft"); var alt = getprop("/it-autoflight/internal/alt"); var dif = calt - alt; diff --git a/Nasal/FMGC.nas b/Nasal/FMGC.nas index 216e8ca2..f15d1ddd 100644 --- a/Nasal/FMGC.nas +++ b/Nasal/FMGC.nas @@ -286,8 +286,8 @@ var phasecheck = maketimer(0.2, func { setprop("/FMGC/internal/alpha-prot-speed", 138); } else if (flap == 5) { setprop("/FMGC/internal/overspeed", 163); - setprop("/FMGC/internal/minspeed", 134); - setprop("/FMGC/internal/alpha-prot-speed", 123); + setprop("/FMGC/internal/minspeed", 131); + setprop("/FMGC/internal/alpha-prot-speed", 122); } if (gear0 == 1 and (state1 == "MCT" or state1 == "MAN THR" or state1 == "TOGA") and (state2 == "MCT" or state2 == "MAN THR" or state2 == "TOGA") and flaps < 5) { diff --git a/Nasal/fadec-common.nas b/Nasal/fadec-common.nas index bdbaf281..aafd4450 100644 --- a/Nasal/fadec-common.nas +++ b/Nasal/fadec-common.nas @@ -254,7 +254,7 @@ var thrust_loop = func { } else { var status = getprop("/systems/thrust/lvrclb"); if (status == 0) { - if (getprop("/gear/gear[0]/wow") == 0) { + if (getprop("/gear/gear[0]/wow") == 0 and getprop("/MCDUC/thracc-set") == 1) { if (getprop("/systems/thrust/state1") == "MAN" or getprop("/systems/thrust/state2") == "MAN") { setprop("/systems/thrust/lvrclb", "1"); } else { diff --git a/revision.txt b/revision.txt index 96f23f82..eb888846 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -4008 \ No newline at end of file +4009 \ No newline at end of file