diff --git a/Models/Instruments/MCDU1/INITA/INITA.xml b/Models/Instruments/MCDU1/INITA/INITA.xml index f4abd1f1..57c5ef0f 100644 --- a/Models/Instruments/MCDU1/INITA/INITA.xml +++ b/Models/Instruments/MCDU1/INITA/INITA.xml @@ -804,6 +804,30 @@ <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> + <character-size>0.0040</character-size> + <font-resolution> + <width type="int">64</width> + <height type="int">64</height> + </font-resolution> + </text> + + <text> + <name>tropovalue2</name> + <offsets> + <x-m>-0.001</x-m> + <y-m>0.043</y-m> + <z-m>0.0190</z-m> + </offsets> + <alignment>right-center</alignment> + <axis-alignment>yz-plane</axis-alignment> + <type type="string">text-value</type> + <property type="string">FMGC/internal/tropo</property> + <truncate type="bool">false</truncate> + <font type="string">BoeingCDU-Large.ttf</font> + <property>autopilot/serviceable</property> + <draw-text type="bool">true</draw-text> + <draw-alignment type="bool">false</draw-alignment> + <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.0050</character-size> <font-resolution> <width type="int">64</width> @@ -811,6 +835,28 @@ </font-resolution> </text> + <animation> + <type>select</type> + <object-name>tropovalue</object-name> + <condition> + <equals> + <property>FMGC/internal/tropo-set</property> + <value>0</value> + </equals> + </condition> + </animation> + + <animation> + <type>select</type> + <object-name>tropovalue2</object-name> + <condition> + <equals> + <property>FMGC/internal/tropo-set</property> + <value>1</value> + </equals> + </condition> + </animation> + <!-- Colors --> <!-- White --> <animation> @@ -920,6 +966,7 @@ <animation> <type>material</type> <object-name>tropovalue</object-name> + <object-name>tropovalue2</object-name> <object-name>LONG-val</object-name> <object-name>LAT-val</object-name> <object-name>fromto2</object-name> diff --git a/Models/Instruments/MCDU2/INITA/INITA.xml b/Models/Instruments/MCDU2/INITA/INITA.xml index f4abd1f1..57c5ef0f 100644 --- a/Models/Instruments/MCDU2/INITA/INITA.xml +++ b/Models/Instruments/MCDU2/INITA/INITA.xml @@ -804,6 +804,30 @@ <draw-text type="bool">true</draw-text> <draw-alignment type="bool">false</draw-alignment> <draw-boundingbox type="bool">false</draw-boundingbox> + <character-size>0.0040</character-size> + <font-resolution> + <width type="int">64</width> + <height type="int">64</height> + </font-resolution> + </text> + + <text> + <name>tropovalue2</name> + <offsets> + <x-m>-0.001</x-m> + <y-m>0.043</y-m> + <z-m>0.0190</z-m> + </offsets> + <alignment>right-center</alignment> + <axis-alignment>yz-plane</axis-alignment> + <type type="string">text-value</type> + <property type="string">FMGC/internal/tropo</property> + <truncate type="bool">false</truncate> + <font type="string">BoeingCDU-Large.ttf</font> + <property>autopilot/serviceable</property> + <draw-text type="bool">true</draw-text> + <draw-alignment type="bool">false</draw-alignment> + <draw-boundingbox type="bool">false</draw-boundingbox> <character-size>0.0050</character-size> <font-resolution> <width type="int">64</width> @@ -811,6 +835,28 @@ </font-resolution> </text> + <animation> + <type>select</type> + <object-name>tropovalue</object-name> + <condition> + <equals> + <property>FMGC/internal/tropo-set</property> + <value>0</value> + </equals> + </condition> + </animation> + + <animation> + <type>select</type> + <object-name>tropovalue2</object-name> + <condition> + <equals> + <property>FMGC/internal/tropo-set</property> + <value>1</value> + </equals> + </condition> + </animation> + <!-- Colors --> <!-- White --> <animation> @@ -920,6 +966,7 @@ <animation> <type>material</type> <object-name>tropovalue</object-name> + <object-name>tropovalue2</object-name> <object-name>LONG-val</object-name> <object-name>LAT-val</object-name> <object-name>fromto2</object-name> diff --git a/Nasal/FMGC.nas b/Nasal/FMGC.nas index 113f53b1..13a09e95 100644 --- a/Nasal/FMGC.nas +++ b/Nasal/FMGC.nas @@ -111,7 +111,6 @@ setlistener("/sim/signals/fdm-initialized", func { var FMGCinit = func { setprop("/FMGC/status/to-state", 0); setprop("/FMGC/status/phase", "0"); # 0 is Preflight 1 is Takeoff 2 is Climb 3 is Cruise 4 is Descent 5 is Decel/Approach 6 is Go Around 7 is Done - setprop("/FMGC/internal/tropo", 36090); setprop("/FMGC/internal/overspeed", 338); setprop("/FMGC/internal/mng-spd", 157); setprop("/FMGC/internal/mng-spd-cmd", 157); diff --git a/Nasal/MCDU1/INITA.nas b/Nasal/MCDU1/INITA.nas index 50e68849..57c8d523 100644 --- a/Nasal/MCDU1/INITA.nas +++ b/Nasal/MCDU1/INITA.nas @@ -137,5 +137,25 @@ var initInputA = func(key) { if (getprop("/controls/adirs/mcducbtn") == 0) { setprop("/controls/adirs/mcducbtn", 1); } + } else if (key == "R6") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/tropo", 36090); + setprop("/FMGC/internal/tropo-set", 0); + setprop("/MCDU[0]/scratchpad-msg", "0"); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tropo = size(scratchpad); + if (tropo == 5) { + setprop("/FMGC/internal/tropo-set", 1); + setprop("/FMGC/internal/tropo", scratchpad); + setprop("/MCDU[0]/scratchpad", ""); + } else { + if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { + setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); + } + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } } } diff --git a/Nasal/MCDU1/MCDU.nas b/Nasal/MCDU1/MCDU.nas index f6c0b03c..a1f181af 100644 --- a/Nasal/MCDU1/MCDU.nas +++ b/Nasal/MCDU1/MCDU.nas @@ -71,6 +71,8 @@ var MCDU_reset = func { setprop("/FMGC/print/mcdu/page2/R2req", 0); setprop("/FMGC/print/mcdu/page2/R3req", 0); setprop("/FMGC/print/mcdu/page2/R4req", 0); + setprop("/FMGC/internal/tropo", 36090); + setprop("/FMGC/internal/tropo-set", 0); } var lskbutton = func(btn) { @@ -303,6 +305,8 @@ var rskbutton = func(btn) { } setprop("/MCDU[0]/scratchpad-msg", "1"); setprop("/MCDU[0]/scratchpad", "AOC DISABLED"); + } else if (getprop("/MCDU[0]/page") == "INITA") { + initInputA("R6"); } else { if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); diff --git a/Nasal/MCDU2/INITA.nas b/Nasal/MCDU2/INITA.nas index c58ed54c..3c059a50 100644 --- a/Nasal/MCDU2/INITA.nas +++ b/Nasal/MCDU2/INITA.nas @@ -137,5 +137,26 @@ var initInputA = func(key) { if (getprop("/controls/adirs/mcducbtn") == 0) { setprop("/controls/adirs/mcducbtn", 1); } + } else if (key == "R6") { + if (scratchpad == "CLR") { + setprop("/FMGC/internal/tropo", 36090); + setprop("/FMGC/internal/tropo-set", 0); + setprop("/MCDU[0]/scratchpad-msg", "0"); + setprop("/MCDU[0]/scratchpad", ""); + } else { + var tropo = size(scratchpad); + if (tropo == 5) { + setprop("/FMGC/internal/tropo-set", 1); + setprop("/FMGC/internal/tropo", scratchpad); + setprop("/MCDU[0]/scratchpad", ""); + } else { + if (getprop("/MCDU[0]/scratchpad") != "NOT ALLOWED") { + setprop("/MCDU[0]/last-scratchpad", getprop("/MCDU[0]/scratchpad")); + } + setprop("/MCDU[0]/scratchpad-msg", "1"); + setprop("/MCDU[0]/scratchpad", "NOT ALLOWED"); + } + } } + } diff --git a/Nasal/MCDU2/MCDU.nas b/Nasal/MCDU2/MCDU.nas index bfc3d5c4..e5c81ff9 100644 --- a/Nasal/MCDU2/MCDU.nas +++ b/Nasal/MCDU2/MCDU.nas @@ -71,6 +71,8 @@ var MCDU_reset = func { setprop("/FMGC/print/mcdu/page2/R2req", 0); setprop("/FMGC/print/mcdu/page2/R3req", 0); setprop("/FMGC/print/mcdu/page2/R4req", 0); + setprop("/FMGC/internal/tropo", 36090); + setprop("/FMGC/internal/tropo-set", 0); } var lskbutton = func(btn) { @@ -301,6 +303,8 @@ var rskbutton = func(btn) { perfCLBInput("R6"); } else if (getprop("/MCDU[1]/page") == "CRZ") { perfCRZInput("R6"); + } else if (getprop("/MCDU[1]/page") == "INITA") { + initInputA("R6"); } else { if (getprop("/MCDU[1]/scratchpad") != "NOT ALLOWED") { setprop("/MCDU[1]/last-scratchpad", getprop("/MCDU[1]/scratchpad"));