diff --git a/Models/FlightDeck/a320.flightdeck.xml b/Models/FlightDeck/a320.flightdeck.xml index 2389bf10..8903b74d 100644 --- a/Models/FlightDeck/a320.flightdeck.xml +++ b/Models/FlightDeck/a320.flightdeck.xml @@ -1158,6 +1158,7 @@ vord_led vord_led.001 vs-text + vs-text-last-2-digits vs-text-test wpt_led wpt_led.001 @@ -4393,6 +4394,7 @@ select vs-text + vs-text-last-2-digits @@ -4631,16 +4633,42 @@ vs-text -0.377 - 0.09043 + 0.0850 0.50254 90 72.81 center-center xy-plane - number-value - %4.0f - it-autoflight/input/vs + text-value + %s + it-autoflight/output/vs-fcu-display + false + led.txf + true + false + false + 0.008 + + 32 + 32 + + + + + vs-text-last-2-digits + + -0.377 + 0.0977 + 0.5028 + 90 + 72.81 + + center-center + xy-plane + text-value + oo + autopilot/serviceable false led.txf true @@ -4657,7 +4685,7 @@ fpa-text -0.377 - 0.09043 + 0.0860 0.50254 90 72.81 @@ -4665,7 +4693,7 @@ center-center xy-plane number-value - %2.1f + %+2.1f it-autoflight/input/fpa false led.txf @@ -7235,6 +7263,7 @@ hdg-text alt-text vs-text + vs-text-last-2-digits spd-text-test hdg-text-test alt-text-test diff --git a/Nasal/FMGC/FCU.nas b/Nasal/FMGC/FCU.nas index 30ba98a1..ebca85a6 100644 --- a/Nasal/FMGC/FCU.nas +++ b/Nasal/FMGC/FCU.nas @@ -379,6 +379,7 @@ var FCUController = { } else { fmgc.Input.vert.setValue(1); fmgc.Input.vs.setValue(0); + fmgc.Custom.Output.vsFCU.setValue(left(sprintf("%+05.0f",0),3)); } } }, @@ -413,6 +414,7 @@ var FCUController = { } else { fmgc.Input.vs.setValue(me.vsTemp); } + fmgc.Custom.Output.vsFCU.setValue(left(sprintf("%+05.0f",fmgc.Input.vs.getValue()),3)); } else if (fmgc.Output.vert.getValue() == 5) { me.fpaTemp = fmgc.Input.fpa.getValue(); if (d == 1) { diff --git a/Nasal/FMGC/FMGC-b.nas b/Nasal/FMGC/FMGC-b.nas index 5260a87a..95ad7b6b 100644 --- a/Nasal/FMGC/FMGC-b.nas +++ b/Nasal/FMGC/FMGC-b.nas @@ -174,6 +174,7 @@ var Custom = { }, Output: { fmaPower: props.globals.initNode("/it-autoflight/output/fma-pwr", 0, "BOOL"), + vsFCU: props.globals.initNode("/it-autoflight/output/vs-fcu-display", "", "STRING"), }, Sound: { athrOff: props.globals.initNode("/it-autoflight/sound/athrsound", 0, "BOOL"), @@ -196,6 +197,7 @@ var ITAF = { Input.hdg.setValue(360); Input.alt.setValue(10000); Input.vs.setValue(0); + Custom.Output.vsFCU.setValue(left(sprintf("%+05.0f",0),3)); Input.fpa.setValue(0); Input.lat.setValue(9); Input.vert.setValue(9); @@ -861,8 +863,11 @@ var ITAF = { Input.alt.setValue(math.clamp(math.round(Internal.altPredicted.getValue(), 100), 0, 50000)); Internal.alt.setValue(math.clamp(math.round(Internal.altPredicted.getValue(), 100), 0, 50000)); }, + tempVS: 0, syncVs: func() { - Input.vs.setValue(math.clamp(math.round(Internal.vs.getValue(), 100), -6000, 6000)); + me.tempVS = math.clamp(math.round(Internal.vs.getValue(), 100), -6000, 6000); + Input.vs.setValue(me.tempVS); + fmgc.Custom.Output.vsFCU.setValue(left(sprintf("%+05.0f",me.tempVS),3)); }, syncFpa: func() { Input.fpa.setValue(math.clamp(math.round(Internal.fpa.getValue(), 0.1), -9.9, 9.9));