# Engine_Inputs.xml [[Go back to index]](..\..\..\Template_Explorer.html) Asobo\(Common\)Inputs\\Engine\_Inputs.xml ----------------------------------------- Source XML <ModelBehaviors> <Include RelativeFile="..\\..\\\(Inputs\)\\Helpers.xml"/> <InputEvent ID="ENGINE"> <Presets> <Switch> <Case Valid="THROTTLE\_ID"> <Preset ID="ENGINE\_Throttle\_\#THROTTLE\_ID\#"> <Parameters Type="Default"> <USE\_IDLE\_POS\_SNAP\_ASSISTANCE>@UseIdlePosSnapAssistance</USE\_IDLE\_POS\_SNAP\_ASSISTANCE> <INCREMENT>256</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>(A:THROTTLE LOWER LIMIT, position 16k)</LOWER\_LIMIT> </Parameters> <Parameters Type="Default"> <THROTTLE\_KEY\_SET>(>K:THROTTLE\#THROTTLE\_ID\#\_SET)</THROTTLE\_KEY\_SET> <GET\_THROTTLE>(A:GENERAL ENG THROTTLE LEVER POSITION:\#THROTTLE\_ID\#, position 16k)</GET\_THROTTLE> <ON\_BEFORE\_INC/> <ON\_BEFORE\_DEC/> <ON\_BEFORE\_SET/> <ON\_BEFORE\_INC\_SET/> <ON\_BEFORE\_DEC\_SET/> <ON\_AFTER\_INC/> <ON\_AFTER\_DEC/> <ON\_AFTER\_SET/> <ON\_AFTER\_INIT/> <Condition Valid="USE\_IDLE\_POS\_SNAP\_ASSISTANCE"> <MIN\_TIME\_HELD\_BEFORE\_REVERSE>@IdlePosSnapAssistance\_MinTimebeforeReverse</MIN\_TIME\_HELD\_BEFORE\_REVERSE> <THRESHOLD\_HELD\_DETECTION>@IdlePosSnapAssistance\_ThresholdHeldDetection</THRESHOLD\_HELD\_DETECTION> <ON\_ALLOW\_REVERSE/> <VALUE\_IDLE>0</VALUE\_IDLE> </Condition> <Condition Valid="USE\_SEPARATE\_REVERSER"> <CLAMP\_LOWER\_LIMIT>\#LOWER\_LIMIT\#</CLAMP\_LOWER\_LIMIT> </Condition> <Condition NotEmpty="GROUND\_GATE\_ANIM\_POS"> <TT\_VALUE\_GROUND\_FINE>(R:1:@TT\_Package.GT\_STATE\_GROUND)</TT\_VALUE\_GROUND\_FINE> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="USE\_SEPARATE\_REVERSER"> <True> <REVERSER\_CHECK>sp0 (A:GENERAL ENG REVERSE THRUST ENGAGED:\#THROTTLE\_ID\#, Boolean) l0 0 > and if{ l0 (>B:ENGINE\_Throttle\_Reverser\_\#THROTTLE\_ID\#\_Set) 1 (>O:IE\_Throttle\_\#THROTTLE\_ID\#\_Quit) } l0</REVERSER\_CHECK> <NEGATIVE\_CHECK>sp0 l0 0 < if{ l0 abs (>B:ENGINE\_Throttle\_Reverser\_\#THROTTLE\_ID\#\_Set) (B:ENGINE\_Throttle\_\#THROTTLE\_ID\#) 0 <= if{ 1 (>O:IE\_Throttle\_\#THROTTLE\_ID\#\_Quit) } els{ 0 sp0 } } l0</NEGATIVE\_CHECK> <ON\_BEFORE\_INC\_SET>s0 0 < if{ 0 sp0 } l0</ON\_BEFORE\_INC\_SET> </True> <False> <REVERSER\_CHECK>sp0 (A:GENERAL ENG REVERSE THRUST ENGAGED:\#THROTTLE\_ID\#, Boolean) l0 0 > and if{ (A:THROTTLE LOWER LIMIT, percent over 100) l0 \* sp0 } l0</REVERSER\_CHECK> <NEGATIVE\_CHECK>sp0 l0 0 < if{ l0 (A:THROTTLE LOWER LIMIT, percent over 100) abs \* sp0 } l0</NEGATIVE\_CHECK> </False> </Condition> <Condition Valid="USE\_IDLE\_POS\_SNAP\_ASSISTANCE"> <Condition Valid="USE\_SEPARATE\_REVERSER"> <ON\_ALLOW\_REVERSE>\#ON\_ALLOW\_REVERSE\# (B:ENGINE\_Throttle\_\#THROTTLE\_ID\#, percent) 0 == if{ (>B:ENGINE\_Throttle\_Reverser\_\#THROTTLE\_ID\#\_Full\_Reverse) quit }</ON\_ALLOW\_REVERSE> <VALUE\_IDLE>(B:ENGINE\_Throttle\_Reverser\_\#THROTTLE\_ID\#, percent over 100) -1 \*</VALUE\_IDLE> </Condition> </Condition> <ON\_BEFORE\_SET>\#ON\_BEFORE\_SET\# (E:IS IN VR, Boolean) (E:IS USING MOTION CONTROLLERS, Boolean) (E:IS USING JOYSTICK THROTTLE, Boolean) ! (L:XMLVAR\_IE\_Throttle\_VR\_Handled) ! and and and if{ 1 (>L:XMLVAR\_IE\_Throttle\_VR\_Handled) p0 16384 / (>L:XMLVAR\_IE\_Throttle\_VR\_Value) (>B:Set\_All\_Throttles) 0 (>L:XMLVAR\_IE\_Throttle\_VR\_Handled) quit } </ON\_BEFORE\_SET> <SET\_ALLOW\_REVERSE> 1 (>O:\_ReverseInputsAllowed) </SET\_ALLOW\_REVERSE> <CHECK\_ALLOW\_REVERSE> (O:\_ReverseInputsAllowed) </CHECK\_ALLOW\_REVERSE> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="GROUND\_GATE\_ANIM\_POS"> <True> <ON\_ALLOW\_REVERSE> \#CHECK\_FORCED\_BETA\# ! if{ (O:TS\_Last\_Dec\_Event) (>O:TS\_First\_Dec\_Event) \#ENABLE\_FORCED\_BETA\# \#VALUE\_IDLE\# sp2 } els{ \#ON\_ALLOW\_REVERSE\# } </ON\_ALLOW\_REVERSE> <SET\_ALLOW\_REVERSE> \#CHECK\_FORCED\_BETA\# ! if{ \#ENABLE\_FORCED\_BETA\# } els{ \#SET\_ALLOW\_REVERSE\# } </SET\_ALLOW\_REVERSE> <CHECK\_ALLOW\_REVERSE>\#CHECK\_ALLOW\_REVERSE\# \#CHECK\_FORCED\_BETA\# or</CHECK\_ALLOW\_REVERSE> <ON\_BEFORE\_INC\_SET>d 0 > if{ \#DISABLE\_FORCED\_BETA\# }</ON\_BEFORE\_INC\_SET> </True> </Condition> </Parameters> <Parameters Type="Override"> <Condition Valid="USE\_IDLE\_POS\_SNAP\_ASSISTANCE"> <Condition Valid="ALWAYS\_USE\_IDLE\_POS\_SNAP\_ASSISTANCE"> <True> <ENABLE\_IDLE\_POS\_SNAP\_ASSISTANCE\_ON\_DEC\_EVENT>False</ENABLE\_IDLE\_POS\_SNAP\_ASSISTANCE\_ON\_DEC\_EVENT> <ON\_BEFORE\_DEC>\#ON\_BEFORE\_DEC\# \#GET\_THROTTLE\# s0 p0 - sp1 (O:TS\_Last\_Dec\_Event) (>O:TS\_Prev\_Last\_Dec\_Event) (E:ABSOLUTE TIME, second) (>O:TS\_Last\_Dec\_Event) </ON\_BEFORE\_DEC> <ON\_BEFORE\_DEC\_SET>\#ON\_BEFORE\_DEC\_SET\# s2 sign l0 sign != if{ (\* Considered held if called at an interval lower than \#THRESHOLD\_HELD\_DETECTION\#s \*) (O:TS\_Last\_Dec\_Event) (O:TS\_Prev\_Last\_Dec\_Event) - abs \#THRESHOLD\_HELD\_DETECTION\# < if{ (O:TS\_Last\_Dec\_Event) (O:TS\_First\_Dec\_Event) - abs \#MIN\_TIME\_HELD\_BEFORE\_REVERSE\# < if{ \#VALUE\_IDLE\# sp2 } els{ \#CHECK\_ALLOW\_REVERSE\# ! if{ (O:TS\_Last\_Dec\_Event) (>O:TS\_First\_Dec\_Event) \#VALUE\_IDLE\# sp2 } els{ \#ON\_ALLOW\_REVERSE\# } } } els{ (O:TS\_Last\_Dec\_Event) (>O:TS\_First\_Dec\_Event) \#VALUE\_IDLE\# sp2 \#SET\_ALLOW\_REVERSE\# } } els{ (O:TS\_Last\_Dec\_Event) (>O:TS\_First\_Dec\_Event) 0 (>O:\_ReverseInputsAllowed) } l2 </ON\_BEFORE\_DEC\_SET> </True> <False> <ENABLE\_IDLE\_POS\_SNAP\_ASSISTANCE\_ON\_DEC\_EVENT>True</ENABLE\_IDLE\_POS\_SNAP\_ASSISTANCE\_ON\_DEC\_EVENT> <ON\_BEFORE\_DEC>\#ON\_BEFORE\_DEC\# (O:\_Process\_Idle\_Pose\_Snap\_Assist) if{ \#GET\_THROTTLE\# s0 p0 - sp1 (O:TS\_Last\_Dec\_Event) (>O:TS\_Prev\_Last\_Dec\_Event) (E:ABSOLUTE TIME, second) (>O:TS\_Last\_Dec\_Event) } </ON\_BEFORE\_DEC> <ON\_BEFORE\_DEC\_SET>\#ON\_BEFORE\_DEC\_SET\# (O:\_Process\_Idle\_Pose\_Snap\_Assist) if{ s2 sign l0 sign != if{ (\* Considered held if called at an interval lower than \#THRESHOLD\_HELD\_DETECTION\#s \*) (O:TS\_Last\_Dec\_Event) (O:TS\_Prev\_Last\_Dec\_Event) - abs \#THRESHOLD\_HELD\_DETECTION\# < if{ (O:TS\_Last\_Dec\_Event) (O:TS\_First\_Dec\_Event) - abs \#MIN\_TIME\_HELD\_BEFORE\_REVERSE\# < if{ \#VALUE\_IDLE\# sp2 } els{ \#CHECK\_ALLOW\_REVERSE\# ! if{ (O:TS\_Last\_Dec\_Event) (>O:TS\_First\_Dec\_Event) \#VALUE\_IDLE\# sp2 } els{ \#ON\_ALLOW\_REVERSE\# } } } els{ (O:TS\_Last\_Dec\_Event) (>O:TS\_First\_Dec\_Event) \#VALUE\_IDLE\# sp2 \#SET\_ALLOW\_REVERSE\# } } els{ (O:TS\_Last\_Dec\_Event) (>O:TS\_First\_Dec\_Event) 0 (>O:\_ReverseInputsAllowed) } l2 } </ON\_BEFORE\_DEC\_SET> <ON\_AFTER\_DEC>\#ON\_AFTER\_DEC\# 0 (>O:\_Process\_Idle\_Pose\_Snap\_Assist)</ON\_AFTER\_DEC> <ACTIVATE\_IDLE\_POS\_SNAP\_ASSIST>1 (>O:\_Process\_Idle\_Pose\_Snap\_Assist)</ACTIVATE\_IDLE\_POS\_SNAP\_ASSIST> </False> </Condition> </Condition> </Parameters> <Parameters Type="Override"> <ON\_BEFORE\_SET>\#ON\_BEFORE\_SET\# (O:IE\_Throttle\_\#THROTTLE\_ID\#\_Quit) if{ 0 (>O:IE\_Throttle\_\#THROTTLE\_ID\#\_Quit) quit }</ON\_BEFORE\_SET> <Condition Valid="USE\_SEPARATE\_REVERSER"> <True> <LOWER\_LIMIT>0</LOWER\_LIMIT> <LOWER\_POSITION\_PCT\_OVER\_100 Process="Float">0</LOWER\_POSITION\_PCT\_OVER\_100> <ON\_AFTER\_SET>(B:ENGINE\_Throttle\_Reverser\_\#THROTTLE\_ID\#, percent) 0 > p0 0 >= and if{ (>B:ENGINE\_Throttle\_Reverser\_\#THROTTLE\_ID\#\_Idle) } \#ON\_AFTER\_SET\#</ON\_AFTER\_SET> <Condition Valid="USE\_IDLE\_POS\_SNAP\_ASSISTANCE"> <False> <ON\_BEFORE\_DEC>\#ON\_BEFORE\_DEC\# (B:ENGINE\_Throttle\_\#THROTTLE\_ID\#, percent) 0 == if{ (>B:ENGINE\_Throttle\_Reverser\_\#THROTTLE\_ID\#\_Full\_Reverse) quit }</ON\_BEFORE\_DEC> </False> </Condition> </True> <False> <LOWER\_POSITION\_PCT\_OVER\_100 Process="Float">\#LOWER\_LIMIT\# \#UPPER\_LIMIT\# /</LOWER\_POSITION\_PCT\_OVER\_100> </False> </Condition> <INIT\_CODE>\#GET\_THROTTLE\# \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>O:ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Position) \#ON\_AFTER\_INIT\#</INIT\_CODE> </Parameters> <Parameters Type="Default"> <Condition NotEmpty="TT\_DESCRIPTION\_ID"> <True> <Condition NotEmpty="TT\_DESCRIPTION\_INDEX"> <True> <TT\_DESCRIPTION>\#TT\_DESCRIPTION\_INDEX\# (R:1:\#TT\_DESCRIPTION\_ID\#) @sprintf</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>True</TT\_DESCRIPTION\_IS\_DYNAMIC> </True> <False> <TT\_DESCRIPTION>\#TT\_DESCRIPTION\_ID\#</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>False</TT\_DESCRIPTION\_IS\_DYNAMIC> </False> </Condition> </True> <False> <TT\_DESCRIPTION>@TT\_Package.ENGINE\_THROTTLE\_ACTION\_1ENG</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>False</TT\_DESCRIPTION\_IS\_DYNAMIC> </False> </Condition> <CLAMP\_UPPER\_LIMIT>\#UPPER\_LIMIT\#</CLAMP\_UPPER\_LIMIT> <CLAMP\_LOWER\_LIMIT>\#LOWER\_LIMIT\#</CLAMP\_LOWER\_LIMIT> <ON\_AFTER\_SET\_BINDING/> <TOOLTIP\_VALUE>(A:GENERAL ENG THROTTLE LEVER POSITION:\#THROTTLE\_ID\#, percent) '%.1f%%' @sprintf</TOOLTIP\_VALUE> </Parameters> <Parameters Type="Override"> <Condition NotEmpty="GROUND\_GATE\_ANIM\_POS"> <TOOLTIP\_VALUE>(A:PROP BETA FORCED ACTIVE:\#THROTTLE\_ID\#, Bool) if{ \#TT\_VALUE\_GROUND\_FINE\# } els{ \#TOOLTIP\_VALUE\# }</TOOLTIP\_VALUE> </Condition> </Parameters> <Tooltip> <Icon>MOVE\_AXIS\_Y</Icon> <Interaction>PRIMARY\_DOWN+Y\_AXIS</Interaction> <InteractionLockable>Y\_AXIS</InteractionLockable> <TTDescription RPN="\#TT\_DESCRIPTION\_IS\_DYNAMIC\#">\#TT\_DESCRIPTION\#</TTDescription> <TTValue RPN="True">\#TOOLTIP\_VALUE\#</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(O:ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Position) \#LOWER\_LIMIT\# - \#UPPER\_LIMIT\# \#LOWER\_LIMIT\# - / 100 \*</Code> <Init>\#INIT\_CODE\#</Init> <WatchVars> <Simvar ID="GENERAL ENG THROTTLE LEVER POSITION:\#THROTTLE\_ID\#"/> </WatchVars> </Value> <Inc> <Code>\#ON\_BEFORE\_INC\# \#GET\_THROTTLE\# p0 + 16384 / \#ON\_BEFORE\_INC\_SET\# (>B:ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Set) \#ON\_AFTER\_INC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="THROTTLE\_INCR"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param>1</Param> </Binding> <Binding EventID="THROTTLE\_INCR\_SMALL"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param>0.5</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_INCR"> <Param>1</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_INCR\_SMALL"> <Param>0.5</Param> </Binding> </Bindings> </Inc> <Dec> <Code>\#ON\_BEFORE\_DEC\# \#GET\_THROTTLE\# p0 - 16384 / \#ON\_BEFORE\_DEC\_SET\# (>B:ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Set) \#ON\_AFTER\_DEC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Condition Valid="ENABLE\_IDLE\_POS\_SNAP\_ASSISTANCE\_ON\_DEC\_EVENT"> <True> <Binding EventID="THROTTLE\_DECR"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param RPN="True">\#ACTIVATE\_IDLE\_POS\_SNAP\_ASSIST\# 1</Param> </Binding> <Binding EventID="THROTTLE\_DECR\_SMALL"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param RPN="True">\#ACTIVATE\_IDLE\_POS\_SNAP\_ASSIST\# 0.5</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_DECR"> <Param RPN="True">\#ACTIVATE\_IDLE\_POS\_SNAP\_ASSIST\# 1</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_DECR\_SMALL"> <Param RPN="True">\#ACTIVATE\_IDLE\_POS\_SNAP\_ASSIST\# 0.5</Param> </Binding> </True> <False> <Binding EventID="THROTTLE\_DECR"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param>1</Param> </Binding> <Binding EventID="THROTTLE\_DECR\_SMALL"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param>0.5</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_DECR"> <Param>1</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_DECR\_SMALL"> <Param>0.5</Param> </Binding> </False> </Condition> </Bindings> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# p0 \#CLAMP\_LOWER\_LIMIT\# max \#CLAMP\_UPPER\_LIMIT\# min s0 \#THROTTLE\_KEY\_SET\# l0 (>O:ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Position) \#ON\_AFTER\_SET\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 16384 \*</Param> </Parameters> <Bindings> <Binding Alias="Set\_All\_Throttles"> <Param Type="Float" RPN="True">(L:XMLVAR\_IE\_Throttle\_VR\_Value) \#ON\_AFTER\_SET\_BINDING\# </Param> </Binding> <!-- Aliases --> <Binding Alias="ENGINE\_All\_Throttle\_Full\_Forward"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param RPN="True">1 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding Alias="ENGINE\_All\_Throttle\_Full\_Backward"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param RPN="True">0 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding Alias="ENGINE\_All\_Throttle\_Idle"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param RPN="True">0 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding Alias="ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Full\_Forward"> <Param RPN="True">1 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding Alias="ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Full\_Backward"> <Param RPN="True">\#LOWER\_POSITION\_PCT\_OVER\_100\# \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding Alias="ENGINE\_Throttle\_\#THROTTLE\_ID\#\_Idle"> <Param RPN="True">0 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <!-- EventIDs --> <Binding EventID="THROTTLE\_FULL"> <Param RPN="True">1 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="THROTTLE\_CUT"> <Param RPN="True">0 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_FULL"> <Param RPN="True">1 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_CUT"> <Param RPN="True">0 \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_SET"> <Param Type="Float" RPN="True">p1 @S16KToS1 \#NEGATIVE\_CHECK\# \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="THROTTLE\#THROTTLE\_ID\#\_AXIS\_SET\_EX1"> <Param Type="Float" RPN="True">p1 @S16KTo01 \#REVERSER\_CHECK\# \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="AXIS\_THROTTLE\#THROTTLE\_ID\#\_SET"> <Param Type="Float" RPN="True">p1 @S16KTo01 \#REVERSER\_CHECK\# \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="THROTTLE\_SET"> <Param Type="Float" RPN="True">p1 @S16KToS1 \#NEGATIVE\_CHECK\# \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="THROTTLE\_AXIS\_SET\_EX1"> <Param Type="Float" RPN="True">p1 @S16KTo01 \#REVERSER\_CHECK\# \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> <Binding EventID="AXIS\_THROTTLE\_SET"> <Param Type="Float" RPN="True">p1 @S16KTo01 \#REVERSER\_CHECK\# \#ON\_AFTER\_SET\_BINDING\#</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case Valid="REVERSER\_ID"> <Preset ID="ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#"> <Parameters Type="Default"> <INCREMENT>256</INCREMENT> <ON\_BEFORE\_SET/> </Parameters> <Parameters Type="Override"> <LOWER\_LIMIT>(A:THROTTLE LOWER LIMIT, position 16k)</LOWER\_LIMIT> <UPPER\_LIMIT>0</UPPER\_LIMIT> </Parameters> <Parameters Type="Override"> <CAN\_SET\_THROTTLE>(B:ENGINE\_Throttle\_\#REVERSER\_ID\#, percent) 0.05 <</CAN\_SET\_THROTTLE> <ON\_BEFORE\_SET>\#ON\_BEFORE\_SET\# (E:IS IN VR, Boolean) (E:IS USING MOTION CONTROLLERS, Boolean) (E:IS USING JOYSTICK THROTTLE, Boolean) ! (L:XMLVAR\_IE\_Throttle\_Reverser\_VR\_Handled) ! and and and if{ 1 (>L:XMLVAR\_IE\_Throttle\_Reverser\_VR\_Handled) p0 \#LOWER\_LIMIT\# / (>L:XMLVAR\_IE\_Throttle\_Reverser\_VR\_Value) (>B:Set\_All\_Throttle\_Reverser) 0 (>L:XMLVAR\_IE\_Throttle\_Reverser\_VR\_Handled) quit } </ON\_BEFORE\_SET> </Parameters> <Tooltip> <Icon>MOVE\_AXIS\_Y</Icon> <Interaction>PRIMARY\_DOWN+Y\_AXIS</Interaction> <InteractionLockable>Y\_AXIS</InteractionLockable> <TTDescription RPN="True">\#REVERSER\_ID\# (R:1:@TT\_Package.ENGINE\_THROTTLE\_REVERSE) @sprintf</TTDescription> <TTValue RPN="True">(B:ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#, percent) '%.2f%%' @sprintf</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(O:ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#\_Position) \#LOWER\_LIMIT\# / 100 \*</Code> <Init>(A:GENERAL ENG THROTTLE LEVER POSITION:\#REVERSER\_ID\#, position 16k) \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>O:ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#\_Position)</Init> <WatchVars> <Simvar ID="GENERAL ENG THROTTLE LEVER POSITION:\#REVERSER\_ID\#"/> </WatchVars> </Value> <Inc> <Code>(A:GENERAL ENG THROTTLE LEVER POSITION:\#REVERSER\_ID\#, position 16k) p0 - \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# / (>B:ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> </Inc> <Dec> <Code>(A:GENERAL ENG THROTTLE LEVER POSITION:\#REVERSER\_ID\#, position 16k) p0 + \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min \#LOWER\_LIMIT\# / (>B:ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min sp0 \#CAN\_SET\_THROTTLE\# if{ l0 (>K:THROTTLE\#REVERSER\_ID\#\_SET) } els{ \#UPPER\_LIMIT\# sp0 } l0 (>O:ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#\_Position)</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#LOWER\_LIMIT\# \*</Param> </Parameters> <Bindings> <Binding Alias="Set\_All\_Throttle\_Reverser"> <Param Type="Float" RPN="True">(L:XMLVAR\_IE\_Throttle\_Reverser\_VR\_Value)</Param> </Binding> <Binding Alias="ENGINE\_All\_Throttle\_Reverser\_Full\_Reverse"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param>1</Param> </Binding> <Binding Alias="ENGINE\_All\_Throttle\_Reverser\_Idle"> <!-- event manipulating all throttles (declared for each throttle preset) --> <Param>0</Param> </Binding> <Binding Alias="ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#\_Full\_Reverse"> <Param>1</Param> </Binding> <Binding Alias="ENGINE\_Throttle\_Reverser\_\#REVERSER\_ID\#\_Idle"> <Param>0</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case Valid="PROPELLER\_ID"> <Preset ID="ENGINE\_Propeller\_\#PROPELLER\_ID\#"> <Parameters Type="Default"> <INCREMENT>256</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT Process="Int">@FeatherPropPos 16384 \* 0 (A:THROTTLE LOWER LIMIT, position 16k) 0 < ?</LOWER\_LIMIT> <GET\_STATE>(A:GENERAL ENG PROPELLER LEVER POSITION:\#PROPELLER\_ID\#, position 16k)</GET\_STATE> <ON\_BEFORE\_INC/> <ON\_BEFORE\_DEC/> <ON\_BEFORE\_SET/> <ON\_AFTER\_INC/> <ON\_AFTER\_DEC/> <ON\_AFTER\_SET/> <TOOLTIP\_VALUE>(A:GENERAL ENG PROPELLER LEVER POSITION:\#PROPELLER\_ID\#, percent) '%.1f%%' @sprintf</TOOLTIP\_VALUE> <Condition NotEmpty="TT\_DESCRIPTION\_ID"> <True> <Condition NotEmpty="TT\_DESCRIPTION\_INDEX"> <True> <TT\_DESCRIPTION>\#TT\_DESCRIPTION\_INDEX\# (R:1:\#TT\_DESCRIPTION\_ID\#) @sprintf</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>True</TT\_DESCRIPTION\_IS\_DYNAMIC> </True> <False> <TT\_DESCRIPTION>\#TT\_DESCRIPTION\_ID\#</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>False</TT\_DESCRIPTION\_IS\_DYNAMIC> </False> </Condition> </True> <False> <TT\_DESCRIPTION>\#PROPELLER\_ID\# (R:1:@TT\_Package.ENGINE\_PROPELLER\_ACTION\_SOLO) @sprintf</TT\_DESCRIPTION> <TT\_DESCRIPTION\_IS\_DYNAMIC>True</TT\_DESCRIPTION\_IS\_DYNAMIC> </False> </Condition> </Parameters> <Parameters Type="Override"> <LOWER\_POSITION\_PCT\_OVER\_100 Process="Float">\#LOWER\_LIMIT\# \#UPPER\_LIMIT\# /</LOWER\_POSITION\_PCT\_OVER\_100> </Parameters> <Tooltip> <Icon>MOVE\_AXIS\_Y</Icon> <Interaction>PRIMARY\_DOWN+Y\_AXIS</Interaction> <InteractionLockable>Y\_AXIS</InteractionLockable> <TTDescription RPN="\#TT\_DESCRIPTION\_IS\_DYNAMIC\#">\#TT\_DESCRIPTION\#</TTDescription> <TTValue RPN="True">\#TOOLTIP\_VALUE\#</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(O:ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Position) \#LOWER\_LIMIT\# - \#UPPER\_LIMIT\# \#LOWER\_LIMIT\# - / 100 \*</Code> <Init>\#GET\_STATE\# \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min (>O:ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Position)</Init> <WatchVars> <Simvar ID="GENERAL ENG PROPELLER LEVER POSITION:\#PROPELLER\_ID\#"/> </WatchVars> </Value> <Inc> <Code>\#ON\_BEFORE\_INC\# \#GET\_STATE\# p0 + 16384 / (>B:ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Set) \#ON\_AFTER\_INC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="PROP\_PITCH\_INCR"> <!-- event manipulating all propellers --> <Param>1</Param> </Binding> <Binding EventID="PROP\_PITCH\_INCR\_SMALL"> <!-- event manipulating all propellers --> <Param>0.5</Param> </Binding> <Binding EventID="PROP\_PITCH\#PROPELLER\_ID\#\_INCR"> <Param>1</Param> </Binding> <Binding EventID="PROP\_PITCH\#PROPELLER\_ID\#\_INCR\_SMALL"> <Param>0.5</Param> </Binding> </Bindings> </Inc> <Dec> <Code>\#ON\_BEFORE\_DEC\# \#GET\_STATE\# p0 - 16384 / (>B:ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Set) \#ON\_AFTER\_DEC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="PROP\_PITCH\_DECR"> <!-- event manipulating all propellers --> <Param>1</Param> </Binding> <Binding EventID="PROP\_PITCH\_DECR\_SMALL"> <!-- event manipulating all propellers --> <Param>0.5</Param> </Binding> <Binding EventID="PROP\_PITCH\#PROPELLER\_ID\#\_DECR"> <Param>1</Param> </Binding> <Binding EventID="PROP\_PITCH\#PROPELLER\_ID\#\_DECR\_SMALL"> <Param>0.5</Param> </Binding> </Bindings> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (>K:PROP\_PITCH\#PROPELLER\_ID\#\_SET) l0 (>O:ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Position) \#ON\_AFTER\_SET\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 16384 \*</Param> </Parameters> <Bindings> <!-- Aliases --> <Binding Alias="ENGINE\_All\_Propeller\_Full\_Forward"> <!-- event manipulating all propellers --> <Param>1</Param> </Binding> <Binding Alias="ENGINE\_All\_Propeller\_Full\_Backward"> <!-- event manipulating all propellers --> <Param>\#LOWER\_POSITION\_PCT\_OVER\_100\#</Param> </Binding> <Binding Alias="ENGINE\_All\_Propeller\_Idle"> <!-- event manipulating all propellers --> <Param>0</Param> </Binding> <Binding Alias="ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Full\_Forward"> <Param>1</Param> </Binding> <Binding Alias="ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Full\_Backward"> <Param>\#LOWER\_POSITION\_PCT\_OVER\_100\#</Param> </Binding> <Binding Alias="ENGINE\_Propeller\_\#PROPELLER\_ID\#\_Idle"> <Param>0</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case Valid="MAGNETO\_ID"> <Preset ID="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#"> <Parameters Type="Default"> <SET\_MAGNETO>(>K:MAGNETO\#MAGNETO\_ID\#\_SET)</SET\_MAGNETO> <GET\_MAGNETO> (A:RECIP ENG LEFT MAGNETO:\#MAGNETO\_ID\#, Bool) sp0 (A:RECIP ENG RIGHT MAGNETO:\#MAGNETO\_ID\#, Bool) sp1 </GET\_MAGNETO> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> </Parameters> <Parameters Type="Default"> <IS\_STARTER\_ON>(A:GENERAL ENG STARTER:\#MAGNETO\_ID\#, Bool)</IS\_STARTER\_ON> <SET\_STARTER>(>K:SET\_STARTER\#MAGNETO\_ID\#\_HELD)</SET\_STARTER> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <STATE\_OFF>0</STATE\_OFF> <STATE\_ON>1</STATE\_ON> <MAX\_POS>1</MAX\_POS> <!-- MAGNETO\_SIDE : Left or Right or Both --> </Case> <Case Value="OFF\_ON\_START"> <STATE\_OFF>0</STATE\_OFF> <STATE\_ON>1</STATE\_ON> <STATE\_START>2</STATE\_START> <MAX\_POS>2</MAX\_POS> </Case> <Case Value="OFF\_L\_R\_BOTH"> <STATE\_OFF>0</STATE\_OFF> <STATE\_L>1</STATE\_L> <STATE\_R>2</STATE\_R> <STATE\_BOTH>3</STATE\_BOTH> <MAX\_POS>3</MAX\_POS> </Case> <Case Value="OFF\_L\_R\_BOTH\_START"> <STATE\_OFF>0</STATE\_OFF> <STATE\_L>1</STATE\_L> <STATE\_R>2</STATE\_R> <STATE\_BOTH>3</STATE\_BOTH> <STATE\_START>4</STATE\_START> <MAX\_POS>4</MAX\_POS> </Case> <Default> <MAX\_POS>1</MAX\_POS> </Default> </Switch> </Parameters> <Parameters Type="Default"> <Condition> <Test> <Greater> <Number>\#MAX\_POS\#</Number> <Number>1</Number> </Greater> </Test> <True> <!-- <TT\_DESCRIPTION\_ID>@TT\_Package.ENGINE\_MAGNETO\_STATE\_ACTION\_SET</TT\_DESCRIPTION\_ID> --> <!-- <TT\_DESCRIPTION\_INDEX>\#MAGNETO\_ID\#</TT\_DESCRIPTION\_INDEX> --> <TT\_INTERACTION>PRIMARY\_DOWN+X\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>X\_AXIS</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>ROTATE</TT\_ICON> </True> <False> <!-- <TT\_DESCRIPTION\_ID>@TT\_Package.ENGINE\_MAGNETO\_STATE\_ACTION\_SET\_LR</TT\_DESCRIPTION\_ID> --> <!-- <Switch Param="MAGNETO\_SIDE"> --> <!-- <Case Value="Left"> --> <!-- <TT\_DESCRIPTION\_INDEX>@TT\_Left</TT\_DESCRIPTION\_INDEX> --> <!-- </Case> --> <!-- <Case Value="Right"> --> <!-- <TT\_DESCRIPTION\_INDEX>@TT\_Right</TT\_DESCRIPTION\_INDEX> --> <!-- </Case> --> <!-- <Case Value="Both"> --> <!-- <TT\_DESCRIPTION\_INDEX>@TT\_Both</TT\_DESCRIPTION\_INDEX> --> <!-- </Case> --> <!-- </Switch> --> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>MOVE\_Y</TT\_ICON> </False> </Condition> <Condition Check="COVER\_VAR\_NAME"> <True> <COVER\_CHECK>(\#COVER\_VAR\_TYPE\#:\#COVER\_VAR\_NAME\#) \*</COVER\_CHECK> </True> <False> <COVER\_CHECK></COVER\_CHECK> </False> </Condition> <TT\_DESCRIPTION\_ID>@TT\_Package.ENGINE\_MAGNETO\_STATE\_ACTION\_SET</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_INDEX>\#MAGNETO\_ID\#</TT\_DESCRIPTION\_INDEX> </Parameters> <Parameters Type="Override"> <Condition> <Test> <Or> <Arg Check="TYPE" Match="ON\_OFF"/> <Arg Check="TYPE" Match="OFF\_ON\_START"/> </Or> </Test> <True> <Switch Param="MAGNETO\_SIDE"> <Case Value="Left"> <SET\_STATE\_OFF>\#GET\_MAGNETO\# 1 0 l1 ? \#SET\_MAGNETO\#</SET\_STATE\_OFF> <SET\_STATE\_ON>\#GET\_MAGNETO\# 3 2 l1 ? \#SET\_MAGNETO\#</SET\_STATE\_ON> <IS\_MAGNETO\_ON>l0</IS\_MAGNETO\_ON> </Case> <Case Value="Right"> <SET\_STATE\_OFF>\#GET\_MAGNETO\# 2 0 l0 ? \#SET\_MAGNETO\#</SET\_STATE\_OFF> <SET\_STATE\_ON>\#GET\_MAGNETO\# 3 1 l0 ? \#SET\_MAGNETO\#</SET\_STATE\_ON> <IS\_MAGNETO\_ON>l1</IS\_MAGNETO\_ON> </Case> <Case Value="Both"> <SET\_STATE\_OFF>0 \#SET\_MAGNETO\#</SET\_STATE\_OFF> <SET\_STATE\_ON>3 \#SET\_MAGNETO\#</SET\_STATE\_ON> <IS\_MAGNETO\_ON>l0 l1 and</IS\_MAGNETO\_ON> </Case> </Switch> </True> </Condition> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ON\_OFF"></Case> <!-- Case is just above --> <Case Value="OFF\_ON\_START"> <SET\_STATE\_START>\#SET\_STATE\_ON\# \#IS\_STARTER\_ON\# ! if{ 1 \#SET\_STARTER\# }</SET\_STATE\_START> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>(O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) \#STATE\_START\# != \#IS\_STARTER\_ON\# and if{ 0 \#SET\_STARTER\# } \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> </Case> <Case Value="OFF\_L\_R\_BOTH"> <SET\_STATE\_OFF>0 \#SET\_MAGNETO\#</SET\_STATE\_OFF> <SET\_STATE\_L>2 \#SET\_MAGNETO\#</SET\_STATE\_L> <SET\_STATE\_R>1 \#SET\_MAGNETO\#</SET\_STATE\_R> <Condition Valid="BOTH\_INCLUDES\_STARTER"> <True> <SET\_STATE\_BOTH>3 \#SET\_MAGNETO\# \#IS\_STARTER\_ON\# ! if{ 1 \#SET\_STARTER\# }</SET\_STATE\_BOTH> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>(O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) \#STATE\_BOTH\# != \#IS\_STARTER\_ON\# and if{ 0 \#SET\_STARTER\# } \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> </True> <False> <SET\_STATE\_BOTH>3 \#SET\_MAGNETO\#</SET\_STATE\_BOTH> </False> </Condition> </Case> <Case Value="OFF\_L\_R\_BOTH\_START"> <SET\_STATE\_OFF>0 \#SET\_MAGNETO\# </SET\_STATE\_OFF> <SET\_STATE\_L>2 \#SET\_MAGNETO\#</SET\_STATE\_L> <SET\_STATE\_R>1 \#SET\_MAGNETO\#</SET\_STATE\_R> <SET\_STATE\_BOTH>3 \#SET\_MAGNETO\#</SET\_STATE\_BOTH> <SET\_STATE\_START>3 \#SET\_MAGNETO\# \#IS\_STARTER\_ON\# ! if{ 1 \#SET\_STARTER\# }</SET\_STATE\_START> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>(O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) \#STATE\_START\# != \#IS\_STARTER\_ON\# and if{ 0 \#SET\_STARTER\# } \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="ON\_OFF"> <ON\_STATE\_CHANGED> (O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_ON\# == if{ \#SET\_STATE\_ON\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <!-- if IGN is ON (which isn't possible for this switch) init position to auto --> <ON\_INIT> \#GET\_MAGNETO\# \#IS\_MAGNETO\_ON\# if{ \#STATE\_ON\# sp2 } els{ \#STATE\_OFF\# sp2 } l2 (>O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) </ON\_INIT> <TT\_VALUE>\#GET\_MAGNETO\# \#IS\_MAGNETO\_ON\# @TT\_OnOff\_Cond</TT\_VALUE> </Case> <Case Value="OFF\_ON\_START"> <ON\_STATE\_CHANGED> (O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_ON\# == if{ \#SET\_STATE\_ON\# g1 } l0 \#STATE\_START\# == if{ \#SET\_STATE\_START\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> \#GET\_MAGNETO\# \#IS\_MAGNETO\_ON\# ! if{ \#STATE\_OFF\# sp2 g1 } \#IS\_MAGNETO\_ON\# \#IS\_STARTER\_ON\# ! and if{ \#STATE\_ON\# sp2 g1 } \#IS\_MAGNETO\_ON\# \#IS\_STARTER\_ON\# and if{ \#STATE\_START\# sp2 g1 } :1 l2 (>O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) </ON\_INIT> <TT\_VALUE> (B:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#) sp0 l0 \#STATE\_OFF\# == if{ @TT\_Off quit } l0 \#STATE\_ON\# == if{ @TT\_On g1 } l0 \#STATE\_START\# == if{ (R:1:@TT\_Package.GT\_STATE\_START) quit } </TT\_VALUE> </Case> <Case Value="OFF\_L\_R\_BOTH"> <ON\_STATE\_CHANGED> (O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_L\# == if{ \#SET\_STATE\_L\# g1 } l0 \#STATE\_R\# == if{ \#SET\_STATE\_R\# g1 } l0 \#STATE\_BOTH\# == if{ \#SET\_STATE\_BOTH\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <!-- if IGN is OFF (which isn't possible for this switch) init position to auto --> <ON\_INIT> \#GET\_MAGNETO\# l0 ! l1 ! and if{ \#STATE\_OFF\# sp2 g1 } l0 l1 ! and if{ \#STATE\_L\# sp2 g1 } l0 ! l1 and if{ \#STATE\_R\# sp2 g1 } l0 l1 and if{ \#STATE\_BOTH\# sp2 g1 } :1 l2 (>O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) </ON\_INIT> <TT\_VALUE> (B:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#) sp0 l0 \#STATE\_OFF\# == if{ @TT\_Off quit } l0 \#STATE\_L\# == if{ @TT\_Left quit } l0 \#STATE\_R\# == if{ @TT\_Right quit } l0 \#STATE\_BOTH\# == if{ @TT\_Both quit } </TT\_VALUE> </Case> <Case Value="OFF\_L\_R\_BOTH\_START"> <ON\_STATE\_CHANGED> (O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_L\# == if{ \#SET\_STATE\_L\# g1 } l0 \#STATE\_R\# == if{ \#SET\_STATE\_R\# g1 } l0 \#STATE\_BOTH\# == if{ \#SET\_STATE\_BOTH\# g1 } l0 \#STATE\_START\# == if{ \#SET\_STATE\_START\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> \#GET\_MAGNETO\# l0 ! l1 ! and if{ \#STATE\_OFF\# sp2 g1 } l0 l1 ! and if{ \#STATE\_L\# sp2 g1 } l0 ! l1 and if{ \#STATE\_R\# sp2 g1 } l0 l1 and \#IS\_STARTER\_ON\# ! and if{ \#STATE\_BOTH\# sp2 g1 } l0 l1 and \#IS\_STARTER\_ON\# and if{ \#STATE\_START\# sp2 g1 } :1 l2 (>O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) </ON\_INIT> <TT\_VALUE> (B:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#) sp0 l0 \#STATE\_OFF\# == if{ @TT\_Off quit } l0 \#STATE\_L\# == if{ @TT\_Left quit } l0 \#STATE\_R\# == if{ @TT\_Right quit } l0 \#STATE\_BOTH\# == if{ @TT\_Both quit } l0 \#STATE\_START\# == if{ (R:1:@TT\_Package.GT\_STATE\_START) quit } </TT\_VALUE> </Case> </Switch> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>\#TT\_INTERACTION\#</Interaction> <InteractionLockable>\#TT\_INTERACTION\_LOCKABLE\#</InteractionLockable> <TTDescription RPN="True">\#TT\_DESCRIPTION\_INDEX\# (R:1:\#TT\_DESCRIPTION\_ID\#) @sprintf</TTDescription> <TTValue RPN="True">\#TT\_VALUE\#</TTValue> </Tooltip> <Value> <Units>Number</Units> <Code>(O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position)</Code> <Init>\#ON\_INIT\#</Init> <WatchVars> <Condition NotEmpty="STATE\_START"> <Simvar ID="GENERAL ENG STARTER:\#MAGNETO\_ID\#"/> </Condition> <Simvar ID="RECIP ENG LEFT MAGNETO:\#MAGNETO\_ID\#"/> <Simvar ID="RECIP ENG RIGHT MAGNETO:\#MAGNETO\_ID\#"/> </WatchVars> </Value> <Inc> <Code>(O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) p0 + (>B:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Inc> <Dec> <Code>(O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) p0 - (>B:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Dec> <Set> <Code>p0 \#MAX\_POS\# min 0 max (>O:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Position) \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Condition> <Test> <Or> <Arg Check="TYPE" Match="OFF\_L\_R\_BOTH"/> <Arg Check="TYPE" Match="OFF\_L\_R\_BOTH\_START"/> </Or> </Test> <True> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Off"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="MAGNETO\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Left"> <Param>\#STATE\_L\#</Param> </Binding> <Binding EventID="MAGNETO\_LEFT"> <Param>\#STATE\_L\#</Param> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_LEFT"> <Param>\#STATE\_L\#</Param> </Binding> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Right"> <Param>\#STATE\_R\#</Param> </Binding> <Binding EventID="MAGNETO\_RIGHT"> <Param>\#STATE\_R\#</Param> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_RIGHT"> <Param>\#STATE\_R\#</Param> </Binding> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Both"> <Param>\#STATE\_BOTH\#</Param> </Binding> <Binding EventID="MAGNETO\_BOTH"> <Param>\#STATE\_BOTH\#</Param> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_BOTH"> <Param>\#STATE\_BOTH\#</Param> </Binding> </True> </Condition> <Condition> <Test> <Or> <Arg Check="TYPE" Match="ON\_OFF"/> <Arg Check="TYPE" Match="OFF\_ON\_START"/> </Or> </Test> <True> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Toggle"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_ON\# (B:ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#) \#STATE\_ON\# == ?</Param> </Binding> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_ON"> <Param>\#STATE\_ON\#</Param> </Binding> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="MAGNETO\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="MAGNETO\_LEFT"> <Switch Param="MAGNETO\_SIDE"> <Case Value="Left"> <Param>\#STATE\_ON\#</Param> </Case> <Default> <Param>\#STATE\_OFF\#</Param> </Default> </Switch> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_LEFT"> <Switch Param="MAGNETO\_SIDE"> <Case Value="Left"> <Param>\#STATE\_ON\#</Param> </Case> <Default> <Param>\#STATE\_OFF\#</Param> </Default> </Switch> </Binding> <Binding EventID="MAGNETO\_RIGHT"> <Switch Param="MAGNETO\_SIDE"> <Case Value="Right"> <Param>\#STATE\_ON\#</Param> </Case> <Default> <Param>\#STATE\_OFF\#</Param> </Default> </Switch> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_RIGHT"> <Switch Param="MAGNETO\_SIDE"> <Case Value="Right"> <Param>\#STATE\_ON\#</Param> </Case> <Default> <Param>\#STATE\_OFF\#</Param> </Default> </Switch> </Binding> <Binding EventID="MAGNETO\_BOTH"> <Param>\#STATE\_ON\#</Param> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_BOTH"> <Param>\#STATE\_ON\#</Param> </Binding> </True> </Condition> <Condition> <Test> <Or> <Arg Check="TYPE" Match="OFF\_ON\_START"/> <Arg Check="TYPE" Match="OFF\_L\_R\_BOTH\_START"/> </Or> </Test> <True> <Binding Alias="ENGINE\_Magneto\_\#IE\_MAGNETO\_ID\#\_Start"> <Param>\#STATE\_START\#</Param> </Binding> <Binding EventID="MAGNETO\_START"> <Param>\#STATE\_START\#</Param> </Binding> <Binding EventID="MAGNETO\#MAGNETO\_ID\#\_START"> <Param>\#STATE\_START\#</Param> </Binding> </True> </Condition> </Bindings> </Set> </Preset> </Case> <Case Valid="IGNITER\_ID"> <Preset ID="ENGINE\_Ignition\_\#IGNITER\_ID\#"> <Parameters Type="Default"> <SET\_IGN> sp0 (A:TURB ENG IGNITION SWITCH EX1:\#IGNITER\_ID\#, enum) l0 != if{ l0 (>K:TURBINE\_IGNITION\_SWITCH\_SET\#IGNITER\_ID\#) } </SET\_IGN> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> </Parameters> <Parameters Type="Default"> <STARTER\_AUTHORITY\_TEST/> <Switch Param="TYPE"> <Case Value="OFF\_AUTO"> <STATE\_OFF>0</STATE\_OFF> <STATE\_AUTO>1</STATE\_AUTO> <MAX\_POS>1</MAX\_POS> <TT\_DESCRIPTION>\#IGNITER\_ID\# (R:1:@TT\_Package.ENGINE\_AUTO\_IGNITION\_ACTION\_SET) @sprintf</TT\_DESCRIPTION> <TT\_POS\_OFF>@TT\_Off</TT\_POS\_OFF> <TT\_POS\_AUTO>@TT\_Auto</TT\_POS\_AUTO> </Case> <Case Value="AUTO\_ON"> <STATE\_AUTO>0</STATE\_AUTO> <STATE\_ON>1</STATE\_ON> <MAX\_POS>1</MAX\_POS> <TT\_POS\_AUTO>@TT\_Auto</TT\_POS\_AUTO> <TT\_POS\_ON>@TT\_On</TT\_POS\_ON> </Case> <Case Value="OFF\_ON\_AUTO"> <STATE\_OFF>0</STATE\_OFF> <STATE\_ON>1</STATE\_ON> <STATE\_AUTO>2</STATE\_AUTO> <MAX\_POS>2</MAX\_POS> <TT\_POS\_OFF>@TT\_Off</TT\_POS\_OFF> <TT\_POS\_AUTO>@TT\_Auto</TT\_POS\_AUTO> <TT\_POS\_ON>@TT\_On</TT\_POS\_ON> </Case> </Switch> <SET\_STATE\_OFF>0 \#SET\_IGN\#</SET\_STATE\_OFF> <SET\_STATE\_AUTO>1 \#SET\_IGN\#</SET\_STATE\_AUTO> <SET\_STATE\_ON>2 \#SET\_IGN\#</SET\_STATE\_ON> </Parameters> <Parameters Type="Default"> <TT\_DESCRIPTION>\#IGNITER\_ID\# (R:1:@TT\_Package.ENGINE\_IGNITION\_ACTION\_SET) @sprintf</TT\_DESCRIPTION> </Parameters> <Parameters Type="Override"> <Switch Param="TYPE"> <Case Value="OFF\_AUTO"> <ON\_STATE\_CHANGED> (O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_AUTO\# == if{ \#SET\_STATE\_AUTO\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <!-- if IGN is ON (which isn't possible for this switch) init position to auto --> <ON\_INIT> (A:TURB ENG IGNITION SWITCH EX1:\#ID\#, Enum) sp0 l0 0 == if{ \#STATE\_OFF\# sp1 } l0 1 == if{ \#STATE\_AUTO\# sp1 } l0 2 == if{ \#STATE\_AUTO\# sp1 1 \#SET\_IGN\# } l1 (>O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) </ON\_INIT> <TT\_VALUE>(B:ENGINE\_Ignition\_\#IGNITER\_ID\#, number) \#STATE\_AUTO\# == if{ \#TT\_POS\_AUTO\# } els{ \#TT\_POS\_OFF\# }</TT\_VALUE> </Case> <Case Value="AUTO\_ON"> <ON\_STATE\_CHANGED> (O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) sp0 l0 \#STATE\_ON\# == if{ \#SET\_STATE\_ON\# g1 } l0 \#STATE\_AUTO\# == if{ \#SET\_STATE\_AUTO\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <!-- if IGN is OFF (which isn't possible for this switch) init position to auto --> <ON\_INIT> (A:TURB ENG IGNITION SWITCH EX1:\#ID\#, Enum) sp0 l0 2 == if{ \#STATE\_ON\# sp1 } l0 1 == if{ \#STATE\_AUTO\# sp1 } l0 0 == if{ \#STATE\_AUTO\# sp1 1 \#SET\_IGN\# } l1 (>O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) </ON\_INIT> <TT\_VALUE>(B:ENGINE\_Ignition\_\#IGNITER\_ID\#, number) \#STATE\_AUTO\# == if{ \#TT\_POS\_AUTO\# } els{ \#TT\_POS\_ON\# }</TT\_VALUE> </Case> <Case Value="OFF\_ON\_AUTO"> <ON\_STATE\_CHANGED> (O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_ON\# == if{ \#SET\_STATE\_ON\# g1 } l0 \#STATE\_AUTO\# == if{ \#SET\_STATE\_AUTO\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> (A:TURB ENG IGNITION SWITCH EX1:\#ID\#, Enum) sp0 l0 0 == if{ \#STATE\_OFF\# sp1 } l0 2 == if{ \#STATE\_ON\# sp1 } l0 1 == if{ \#STATE\_AUTO\# sp1 } l1 (>O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) </ON\_INIT> <TT\_VALUE> (B:ENGINE\_Ignition\_\#IGNITER\_ID\#, number) sp0 l0 \#STATE\_OFF\# == if{ \#TT\_POS\_OFF\# quit } l0 \#STATE\_ON\# == if{ \#TT\_POS\_ON\# quit } l0 \#STATE\_AUTO\# == if{ \#TT\_POS\_AUTO\# quit } </TT\_VALUE> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Condition> <Test> <Greater> <Number>\#MAX\_POS\#</Number> <Number>1</Number> </Greater> </Test> <True> <Condition Check="SWITCH\_DIRECTION" Match="Horizontal"> <True> <INTERACTION\_FLAGS>PRIMARY\_DOWN+X\_AXIS</INTERACTION\_FLAGS> <INTERACTION\_LOCKABLE\_FLAGS>X\_AXIS</INTERACTION\_LOCKABLE\_FLAGS> </True> <False> <INTERACTION\_FLAGS>PRIMARY\_DOWN+Y\_AXIS</INTERACTION\_FLAGS> <INTERACTION\_LOCKABLE\_FLAGS>Y\_AXIS</INTERACTION\_LOCKABLE\_FLAGS> </False> </Condition> </True> <False> <INTERACTION\_FLAGS>PRIMARY\_DOWN</INTERACTION\_FLAGS> <INTERACTION\_LOCKABLE\_FLAGS>LOCK</INTERACTION\_LOCKABLE\_FLAGS> </False> </Condition> <Switch Param="INTERACTION\_TYPE"> <Case Value="Switch"> <TT\_ICON>MOVE\_Y</TT\_ICON> </Case> <Case Value="Push"> <TT\_ICON>PUSH</TT\_ICON> </Case> </Switch> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>\#INTERACTION\_FLAGS\#</Interaction> <InteractionLockable>\#INTERACTION\_LOCKABLE\_FLAGS\#</InteractionLockable> <TTDescription RPN="True">\#TT\_DESCRIPTION\#</TTDescription> <TTValue RPN="True">\#TT\_VALUE\#</TTValue> </Tooltip> <Value> <Units>Number</Units> <Code>(O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position)</Code> <Init>\#ON\_INIT\#</Init> </Value> <Inc> <Code>(O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) p0 + (>B:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Inc> <Dec> <Code>(O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) p0 - (>B:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Dec> <Set> <Code>p0 \#MAX\_POS\# min 0 max (>O:ENGINE\_Ignition\_\#IGNITER\_ID\#\_Position) \#STARTER\_AUTHORITY\_TEST\# \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Condition Check="STATE\_OFF"> <Binding Alias="ENGINE\_Ignition\_\#IGNITER\_ID\#\_Off"> <Param>\#STATE\_OFF\#</Param> </Binding> </Condition> <Condition Check="STATE\_ON"> <Binding Alias="ENGINE\_Ignition\_\#IGNITER\_ID\#\_On"> <Param>\#STATE\_ON\#</Param> </Binding> </Condition> <Condition Check="STATE\_AUTO"> <Binding Alias="ENGINE\_Ignition\_\#IGNITER\_ID\#\_Auto"> <Param>\#STATE\_AUTO\#</Param> </Binding> </Condition> <Switch Param="TYPE"> <Case Value="OFF\_AUTO"> <Binding Alias="ENGINE\_Ignition\_\#IGNITER\_ID\#\_Toggle"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_AUTO\# (B:ENGINE\_Ignition\_\#IGNITER\_ID\#) \#STATE\_AUTO\# == ?</Param> </Binding> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_SET\#IGNITER\_ID\#"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_AUTO\# p1 0 == ?</Param> </Binding> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_SET"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_AUTO\# p1 0 == ?</Param> </Binding> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_TOGGLE"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_AUTO\# (B:ENGINE\_Ignition\_\#IGNITER\_ID\#) \#STATE\_AUTO\# == ?</Param> </Binding> </Case> <Case Value="AUTO\_ON"> <Binding Alias="ENGINE\_Ignition\_\#IGNITER\_ID\#\_Toggle"> <Param RPN="True">\#STATE\_ON\# \#STATE\_AUTO\# (B:ENGINE\_Ignition\_\#IGNITER\_ID\#) \#STATE\_AUTO\# == ?</Param> </Binding> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_SET"> <Param RPN="True">\#STATE\_ON\# \#STATE\_AUTO\# p1 2 == ?</Param> </Binding> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_SET\#IGNITER\_ID\#"> <Param RPN="True">\#STATE\_ON\# \#STATE\_AUTO\# p1 2 == ?</Param> </Binding> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_TOGGLE"> <Param RPN="True">\#STATE\_ON\# \#STATE\_AUTO\# (B:ENGINE\_Ignition\_\#IGNITER\_ID\#) \#STATE\_AUTO\# == ?</Param> </Binding> </Case> <Case Value="OFF\_ON\_AUTO"> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_SET"> <Param RPN="True">p1 2 == if{ \#STATE\_ON\# } els{ \#STATE\_AUTO\# \#STATE\_OFF\# p1 1 == ? }</Param> </Binding> <Binding EventID="TURBINE\_IGNITION\_SWITCH\_SET\#IGNITER\_ID\#"> <Param RPN="True">p1 2 == if{ \#STATE\_ON\# } els{ \#STATE\_AUTO\# \#STATE\_OFF\# p1 1 == ? }</Param> </Binding> </Case> </Switch> </Bindings> </Set> </Preset> </Case> <Case Valid="STARTER\_IGNITER\_ID"> <Preset ID="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#"> <Parameters Type="Default"> <IGNITION\_ACTIVE\_TYPE>1</IGNITION\_ACTIVE\_TYPE> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <Condition> <Test> <Or> <Arg Check="IGNITION\_TYPE" Match="START\_OFF"/> <Arg Check="IGNITION\_TYPE" Match="START\_OFF\_MOTOR"/> </Or> </Test> <True> <STATE\_START>0</STATE\_START> <STATE\_OFF>1</STATE\_OFF> <SET\_IGN> sp5 (A:TURB ENG IGNITION SWITCH EX1:\#STARTER\_IGNITER\_ID\#, enum) l5 != if{ l5 (>K:TURBINE\_IGNITION\_SWITCH\_SET\#STARTER\_IGNITER\_ID\#) } </SET\_IGN> </True> </Condition> <Condition> <Test> <Or> <Arg Check="IGNITION\_TYPE" Match="ENG1\_OFF\_ENG2"/> <Arg Check="IGNITION\_TYPE" Match="BOTH\_R\_L\_OFF\_STARTOFF"/> </Or> </Test> <True> <IGNITER\_COUNT>2</IGNITER\_COUNT> <SET\_IGN\_L> sp5 (A:TURB ENG IGNITION SWITCH EX1:\#ID1\#, enum) l5 != if{ l5 (>K:TURBINE\_IGNITION\_SWITCH\_SET\#ID1\#) } </SET\_IGN\_L> <SET\_IGN\_R> sp5 (A:TURB ENG IGNITION SWITCH EX1:\#ID2\#, enum) l5 != if{ l5 (>K:TURBINE\_IGNITION\_SWITCH\_SET\#ID2\#) } </SET\_IGN\_R> </True> </Condition> <Switch Param="IGNITION\_TYPE"> <Case Value="ENG1\_OFF\_ENG2"> <STATE\_ENG1>0</STATE\_ENG1> <STATE\_OFF>1</STATE\_OFF> <STATE\_ENG2>2</STATE\_ENG2> <MAX\_POS>2</MAX\_POS> <TT\_VALUE\_ENG1>\#ID1\# @TT\_Eng @sprintf</TT\_VALUE\_ENG1> <TT\_VALUE\_ENG2>\#ID2\# @TT\_Eng @sprintf</TT\_VALUE\_ENG2> </Case> <Case Value="START\_OFF"> <MAX\_POS>1</MAX\_POS> <KEY\_EVENT>STARTER\#STARTER\_IGNITER\_ID\#\_SET</KEY\_EVENT> </Case> <Case Value="START\_OFF\_MOTOR"> <STATE\_MOTOR>2</STATE\_MOTOR> <KEY\_EVENT>SET\_STARTER\#STARTER\_IGNITER\_ID\#\_HELD</KEY\_EVENT> <!-- keep last --> <MAX\_POS>2</MAX\_POS> </Case> <Case Value="BOTH\_R\_L\_OFF\_STARTOFF"> <STATE\_BOTH>0</STATE\_BOTH> <STATE\_R>1</STATE\_R> <STATE\_L>2</STATE\_L> <STATE\_IGN\_OFF>3</STATE\_IGN\_OFF> <STATE\_ALL\_OFF>4</STATE\_ALL\_OFF> <!-- keep last --> <MAX\_POS>4</MAX\_POS> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Condition> <Test> <Or> <Arg Check="IGNITION\_TYPE" Match="START\_OFF"/> <Arg Check="IGNITION\_TYPE" Match="START\_OFF\_MOTOR"/> </Or> </Test> <True> <SET\_STATE\_START> \#IGNITION\_ACTIVE\_TYPE\# \#SET\_IGN\# (A:GENERAL ENG STARTER:\#STARTER\_IGNITER\_ID\#, Bool) ! if{ 1 (>K:\#KEY\_EVENT\#) } </SET\_STATE\_START> <SET\_STATE\_OFF> 0 \#SET\_IGN\# (A:GENERAL ENG STARTER:\#STARTER\_IGNITER\_ID\#, Bool) if{ 0 (>K:\#KEY\_EVENT\#) 0 (>K:STARTER\#STARTER\_IGNITER\_ID\#\_SET) } </SET\_STATE\_OFF> </True> </Condition> <Switch Param="IGNITION\_TYPE"> <Case Value="ENG1\_OFF\_ENG2"> <SET\_STATE\_ENG1> \#IGNITION\_ACTIVE\_TYPE\# \#SET\_IGN\_L\# 0 \#SET\_IGN\_R\# 1 (>K:APU\_BLEED\_AIR\_SOURCE\_SET) (A:GENERAL ENG STARTER:\#ID1\#, Bool) ! if{ (>K:TOGGLE\_STARTER\#ID1\#) } (A:GENERAL ENG STARTER:\#ID2\#, Bool) if{ (>K:TOGGLE\_STARTER\#ID2\#) } </SET\_STATE\_ENG1> <SET\_STATE\_OFF> 0 \#SET\_IGN\_L\# 0 \#SET\_IGN\_R\# 0 (>K:APU\_BLEED\_AIR\_SOURCE\_SET) (A:GENERAL ENG STARTER:\#ID1\#, Bool) if{ (>K:TOGGLE\_STARTER\#ID1\#) } (A:GENERAL ENG STARTER:\#ID2\#, Bool) if{ (>K:TOGGLE\_STARTER\#ID2\#) } </SET\_STATE\_OFF> <SET\_STATE\_ENG2> 0 \#SET\_IGN\_L\# \#IGNITION\_ACTIVE\_TYPE\# \#SET\_IGN\_R\# 1 (>K:APU\_BLEED\_AIR\_SOURCE\_SET) (A:GENERAL ENG STARTER:\#ID1\#, Bool) if{ (>K:TOGGLE\_STARTER\#ID1\#) } (A:GENERAL ENG STARTER:\#ID2\#, Bool) ! if{ (>K:TOGGLE\_STARTER\#ID2\#) } </SET\_STATE\_ENG2> </Case> <Case Value="START\_OFF\_MOTOR"> <SET\_STATE\_MOTOR> 0 \#SET\_IGN\# (A:GENERAL ENG STARTER:\#STARTER\_IGNITER\_ID\#, Bool) ! if{ 1 (>K:\#KEY\_EVENT\#) } </SET\_STATE\_MOTOR> </Case> <Case Value="BOTH\_R\_L\_OFF\_STARTOFF"> <SET\_STATE\_BOTH> \#IGNITION\_ACTIVE\_TYPE\# \#SET\_IGN\_L\# \#IGNITION\_ACTIVE\_TYPE\# \#SET\_IGN\_R\# </SET\_STATE\_BOTH> <SET\_STATE\_R> 0 \#SET\_IGN\_L\# \#IGNITION\_ACTIVE\_TYPE\# \#SET\_IGN\_R\# </SET\_STATE\_R> <SET\_STATE\_L> \#IGNITION\_ACTIVE\_TYPE\# \#SET\_IGN\_L\# 0 \#SET\_IGN\_R\# </SET\_STATE\_L> <SET\_STATE\_IGN\_OFF> 0 \#SET\_IGN\_L\# 0 \#SET\_IGN\_R\# </SET\_STATE\_IGN\_OFF> <SET\_STATE\_ALL\_OFF> 0 \#SET\_IGN\_L\# 0 \#SET\_IGN\_R\# (A:GENERAL ENG STARTER:\#ID1\#, Bool) if{ (>K:TOGGLE\_STARTER\#ID1\#) } (A:GENERAL ENG STARTER:\#ID2\#, Bool) if{ (>K:TOGGLE\_STARTER\#ID2\#) } </SET\_STATE\_ALL\_OFF> </Case> </Switch> </Parameters> <Parameters Type="Override"> <Switch Param="IGNITION\_TYPE"> <Case Value="ENG1\_OFF\_ENG2"> <ON\_STATE\_CHANGED> (O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) sp0 l0 \#STATE\_ENG1\# == if{ \#SET\_STATE\_ENG1\# g1 } l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_ENG2\# == if{ \#SET\_STATE\_ENG2\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> (A:TURB ENG IGNITION SWITCH EX1:\#ID1\#, enum) (A:GENERAL ENG STARTER:\#ID1\#, Bool) and sp0 (A:TURB ENG IGNITION SWITCH EX1:\#ID2\#, enum) (A:GENERAL ENG STARTER:\#ID2\#, Bool) and sp1 l0 ! l1 ! and if{ \#STATE\_OFF\# sp2 g1 } l0 l1 ! and if{ \#STATE\_ENG1\# sp2 g1 } l0 ! l1 and if{ \#STATE\_ENG2\# sp2 g1 } els{ \#SET\_STATE\_ENG1\# } :1 l2 \#STATE\_OFF\# != s3 (A:BLEED AIR APU, Bool) != if{ l3 (>K:APU\_BLEED\_AIR\_SOURCE\_SET) } l2 (>O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) </ON\_INIT> <TT\_VALUE> (B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#, number) sp0 l0 \#STATE\_ENG1\# == if{ \#TT\_VALUE\_ENG1\# quit } l0 \#STATE\_OFF\# == if{ @TT\_Off quit } l0 \#STATE\_ENG2\# == if{ \#TT\_VALUE\_ENG2\# quit } </TT\_VALUE> </Case> <Case Value="START\_OFF"> <ON\_STATE\_CHANGED> (O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) sp0 l0 \#STATE\_START\# == if{ \#SET\_STATE\_START\# g1 } l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> (A:GENERAL ENG STARTER:\#STARTER\_IGNITER\_ID\#, Boolean) if{ \#STATE\_START\# sp0 } els{ \#STATE\_OFF\# sp0 } l0 (>O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) </ON\_INIT> <TT\_VALUE>(B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#, number) \#STATE\_START\# == @TT\_OnOff\_Cond</TT\_VALUE> </Case> <Case Value="START\_OFF\_MOTOR"> <ON\_STATE\_CHANGED> (O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) sp0 l0 \#STATE\_START\# == if{ \#SET\_STATE\_START\# g1 } l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_MOTOR\# == if{ \#SET\_STATE\_MOTOR\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> (A:TURB ENG IGNITION SWITCH EX1:\#STARTER\_IGNITER\_ID\#, enum) sp0 (A:GENERAL ENG STARTER:\#STARTER\_IGNITER\_ID\#, Bool) sp1 l1 if{ \#STATE\_START\# \#STATE\_MOTOR\# l0 ? sp2 } els{ \#STATE\_OFF\# sp2 } l2 (>O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) </ON\_INIT> <TT\_VALUE> (B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#, number) sp0 l0 \#STATE\_START\# == if{ (R:1:@TT\_Package.GT\_STATE\_START) quit } l0 \#STATE\_OFF\# == if{ @TT\_Off quit } l0 \#STATE\_MOTOR\# == if{ (R:1:@TT\_Package.GT\_STATE\_MOTOR) quit } </TT\_VALUE> </Case> <Case Value="BOTH\_R\_L\_OFF\_STARTOFF"> <ON\_STATE\_CHANGED> (O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) sp0 l0 \#STATE\_BOTH\# == if{ \#SET\_STATE\_BOTH\# g1 } l0 \#STATE\_R\# == if{ \#SET\_STATE\_R\# g1 } l0 \#STATE\_L\# == if{ \#SET\_STATE\_L\# g1 } l0 \#STATE\_IGN\_OFF\# == if{ \#SET\_STATE\_IGN\_OFF\# g1 } l0 \#STATE\_ALL\_OFF\# == if{ \#SET\_STATE\_ALL\_OFF\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> (A:TURB ENG IGNITION SWITCH EX1:\#ID1\#, enum) sp0 (A:TURB ENG IGNITION SWITCH EX1:\#ID2\#, enum) sp1 l0 l1 and if{ \#STATE\_BOTH\# sp2 } l0 ! l1 and if{ \#STATE\_R\# sp2 } l0 l1 ! and if{ \#STATE\_L\# sp2 } l0 ! l1 ! and if{ \#STATE\_IGN\_OFF\# sp2 } l2 (>O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) </ON\_INIT> <TT\_VALUE> (B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#, number) sp0 l0 \#STATE\_BOTH\# == if{ @TT\_Both quit } l0 \#STATE\_R\# == if{ @TT\_Right quit } l0 \#STATE\_L\# == if{ @TT\_Left quit } l0 \#STATE\_IGN\_OFF\# == if{ (R:1:@TT\_Package.GT\_STATE\_STARTER) @quit } l0 \#STATE\_ALL\_OFF\# == if{ @TT\_Off quit } </TT\_VALUE> </Case> </Switch> </Parameters> <Parameters Type="Default"> <Condition> <Test> <Greater> <Number>\#MAX\_POS\#</Number> <Number>1</Number> </Greater> </Test> <True> <Condition Check="SWITCH\_DIRECTION" Match="Horizontal"> <True> <INTERACTION\_FLAGS>PRIMARY\_DOWN+X\_AXIS</INTERACTION\_FLAGS> <INTERACTION\_LOCKABLE\_FLAGS>X\_AXIS</INTERACTION\_LOCKABLE\_FLAGS> </True> <False> <INTERACTION\_FLAGS>PRIMARY\_DOWN+Y\_AXIS</INTERACTION\_FLAGS> <INTERACTION\_LOCKABLE\_FLAGS>Y\_AXIS</INTERACTION\_LOCKABLE\_FLAGS> </False> </Condition> </True> <False> <INTERACTION\_FLAGS>PRIMARY\_DOWN</INTERACTION\_FLAGS> <INTERACTION\_LOCKABLE\_FLAGS>LOCK</INTERACTION\_LOCKABLE\_FLAGS> </False> </Condition> <Switch Param="INTERACTION\_TYPE"> <Case Value="Switch"> <Switch Param="SWITCH\_DIRECTION"> <Case Value="Horizontal"> <TT\_ICON>MOVE\_X</TT\_ICON> </Case> <Default> <TT\_ICON>MOVE\_Y</TT\_ICON> </Default> </Switch> </Case> <Case Value="Push"> <TT\_ICON>PUSH</TT\_ICON> </Case> </Switch> <TT\_DESCRIPTION\_ID>@TT\_Package.ENGINE\_STARTER\_ACTION\_SET</TT\_DESCRIPTION\_ID> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>\#INTERACTION\_FLAGS\#</Interaction> <InteractionLockable>\#INTERACTION\_LOCKABLE\_FLAGS\#</InteractionLockable> <TTDescription RPN="True">\#STARTER\_IGNITER\_ID\# (R:1:\#TT\_DESCRIPTION\_ID\#) @sprintf</TTDescription> <TTValue RPN="True">\#TT\_VALUE\#</TTValue> </Tooltip> <Value> <Units>Number</Units> <Code>(O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position)</Code> <Init>\#ON\_INIT\#</Init> <WatchVars> <Switch Param="IGNITER\_COUNT"> <Case Value="2"> <Simvar ID="GENERAL ENG STARTER:\#ID1\#"/> <Simvar ID="GENERAL ENG STARTER:\#ID2\#"/> <Simvar ID="TURB ENG IGNITION SWITCH EX1:\#ID1\#"/> <Simvar ID="TURB ENG IGNITION SWITCH EX1:\#ID2\#"/> </Case> <Default> <Simvar ID="GENERAL ENG STARTER:\#STARTER\_IGNITER\_ID\#"/> <Simvar ID="TURB ENG IGNITION SWITCH EX1:\#STARTER\_IGNITER\_ID\#"/> </Default> </Switch> <Switch Param="IGNITION\_TYPE"> <Case Value="ENG1\_OFF\_ENG2"> <Simvar ID="BLEED AIR APU"/> <LocalVar ID="XMLVAR\_Starter\#STARTER\_IGNITER\_ID\#"/> </Case> </Switch> </WatchVars> </Value> <Inc> <Code>(O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) p0 + \#MAX\_POS\# min 0 max (>B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Inc> <Dec> <Code>(O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) p0 - \#MAX\_POS\# min 0 max (>B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Dec> <Set> <Code>p0 (>O:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Position) \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Condition> <Test> <Or> <Arg Check="IGNITION\_TYPE" Match="START\_OFF"/> <Arg Check="IGNITION\_TYPE" Match="START\_OFF\_MOTOR"/> </Or> </Test> <True> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Start"> <Param>\#STATE\_START\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Off"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="TOGGLE\_ALL\_STARTERS"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_START\# (B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#) \#STATE\_START\# == ?</Param> </Binding> <Binding EventID="TOGGLE\_STARTER\#STARTER\_IGNITER\_ID\#"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_START\# (B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#) \#STATE\_START\# == ?</Param> </Binding> <Binding EventID="SET\_STARTER\#STARTER\_IGNITER\_ID\#\_HELD"> <Param RPN="True">\#STATE\_START\# \#STATE\_OFF\# p1 0 > ?</Param> </Binding> <Binding EventID="SET\_STARTER\_ALL\_HELD"> <Param RPN="True">\#STATE\_START\# \#STATE\_OFF\# p1 0 > ?</Param> </Binding> </True> </Condition> <Switch Param="IGNITION\_TYPE"> <Case Value="ENG1\_OFF\_ENG2"> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Eng1"> <Param>\#STATE\_ENG1\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Off"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Eng2"> <Param>\#STATE\_ENG2\#</Param> </Binding> <Binding EventID="TOGGLE\_STARTER\#ID1\#"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_ENG1\# (B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#) \#STATE\_ENG1\# == ?</Param> </Binding> <Binding EventID="TOGGLE\_STARTER\#ID2\#"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_ENG2\# (B:ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#) \#STATE\_ENG2\# == ?</Param> </Binding> <Binding EventID="SET\_STARTER\#ID1\#\_HELD"> <Param RPN="True">\#STATE\_ENG1\# \#STATE\_OFF\# p1 0 > ?</Param> </Binding> <Binding EventID="SET\_STARTER\#ID2\#\_HELD"> <Param RPN="True">\#STATE\_ENG2\# \#STATE\_OFF\# p1 0 > ?</Param> </Binding> </Case> <Case Value="START\_OFF\_MOTOR"> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Motor"> <Param>\#STATE\_MOTOR\#</Param> </Binding> </Case> <Case Value="BOTH\_R\_L\_OFF\_STARTOFF"> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Both"> <Param>\#STATE\_BOTH\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Right"> <Param>\#STATE\_R\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Left"> <Param>\#STATE\_L\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_IgnOff"> <Param>\#STATE\_IGN\_OFF\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_Ignition\_\#STARTER\_IGNITER\_ID\#\_Off"> <Param>\#STATE\_ALL\_OFF\#</Param> </Binding> </Case> </Switch> </Bindings> </Set> </Preset> </Case> <Case Valid="STARTER\_ID"> <Preset ID="ENGINE\_Starter\_\#STARTER\_ID\#"> <Parameters Type="Default"> <STARTER\_ON\_SIMVAR>GENERAL ENG STARTER</STARTER\_ON\_SIMVAR> <STATE\_ON>1</STATE\_ON> <STATE\_OFF>0</STATE\_OFF> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> </Parameters> <Parameters Type="Override"> <GET\_STARTER>(A:\#STARTER\_ON\_SIMVAR\#:\#STARTER\_ID\#, Bool)</GET\_STARTER> <SET\_STARTER>(A:\#STARTER\_ON\_SIMVAR\#:\#STARTER\_ID\#, Bool) != if{ (>K:TOGGLE\_STARTER\#STARTER\_ID\#) }</SET\_STARTER> <MAX\_POS>1</MAX\_POS> </Parameters> <Parameters Type="Override"> <ON\_STATE\_CHANGED>(O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) \#STATE\_ON\# == if{ 1 \#SET\_STARTER\# } els{ 0 \#SET\_STARTER\# } \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\#</ON\_STATE\_CHANGED> </Parameters> <Parameters Type="Default"> <Switch Param="INTERACTION\_TYPE"> <Case Value="Switch"> <TT\_ICON>MOVE\_Y</TT\_ICON> </Case> <Case Value="Push"> <TT\_ICON>PUSH</TT\_ICON> </Case> </Switch> <TT\_VALUE>@TT\_On @TT\_Off (A:\#STARTER\_ON\_SIMVAR\#:\#STARTER\_ID\#, Bool) ?</TT\_VALUE> <Switch Param="NUM\_STATES"> <Case Value="3"> <TT\_INTERACTION>PRIMARY\_DOWN+Y\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>Y\_AXIS</TT\_INTERACTION\_LOCKABLE> </Case> <Default> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> </Default> </Switch> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>\#TT\_INTERACTION\#</Interaction> <InteractionLockable>\#TT\_INTERACTION\_LOCKABLE\#</InteractionLockable> <TTDescription RPN="True">\#STARTER\_ID\# (R:1:@TT\_Package.ENGINE\_STARTER\_ACTION\_SET) @sprintf</TTDescription> <TTValue RPN="True">\#TT\_VALUE\#</TTValue> </Tooltip> <Value> <Units>Bool</Units> <Code>(O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) \#STATE\_ON\# ==</Code> <Init>\#STATE\_ON\# \#STATE\_OFF\# \#GET\_STARTER\# ? (>O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position)</Init> <WatchVars> <Simvar ID="\#STARTER\_ON\_SIMVAR\#:\#STARTER\_ID\#"/> </WatchVars> </Value> <Inc> <Code>(O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) p0 + (>B:ENGINE\_Starter\_\#STARTER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Inc> <Dec> <Code>(O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) p0 - (>B:ENGINE\_Starter\_\#STARTER\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Dec> <Set> <Code>p0 \#MAX\_POS\# min 0 max (>O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding Alias="ENGINE\_All\_Starter\_Toggle"> <Param RPN="True">\#STATE\_ON\# \#STATE\_OFF\# (O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) \#STATE\_OFF\# ==</Param> </Binding> <Binding EventID="TOGGLE\_ALL\_STARTERS"> <Param RPN="True">\#STATE\_ON\# \#STATE\_OFF\# (O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) \#STATE\_OFF\# ==</Param> </Binding> <Binding EventID="TOGGLE\_STARTER\#STARTER\_ID\#"> <Param RPN="True">\#STATE\_ON\# \#STATE\_OFF\# (O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) \#STATE\_OFF\# ==</Param> </Binding> <Binding Alias="ENGINE\_Starter\_\#STARTER\_ID\#\_Toggle"> <Param RPN="True">\#STATE\_ON\# \#STATE\_OFF\# (O:ENGINE\_Starter\_\#STARTER\_ID\#\_Position) \#STATE\_OFF\# ==</Param> </Binding> <Binding EventID="SET\_STARTER\#STARTER\_ID\#\_HELD"> <Param RPN="True">p1 0 ></Param> </Binding> <Binding EventID="SET\_STARTER\_ALL\_HELD"> <Param RPN="True">p1 0 ></Param> </Binding> <Binding Alias="ENGINE\_Starter\_\#STARTER\_ID\#\_On"> <Param>\#STATE\_ON\#</Param> </Binding> <Binding Alias="ENGINE\_Starter\_\#STARTER\_ID\#\_Off"> <Param>\#STATE\_OFF\#</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case Valid="PLASMA\_ID"> <Preset ID="ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#"> <Parameters Type="Default"> <SET\_PLASMA>(>K:PLASMA\_SET)</SET\_PLASMA> <GET\_PLASMA> (A:PLASMA ON:\#PLASMA\_ID\#, Bool) sp0 </GET\_PLASMA> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <STATE\_OFF>0</STATE\_OFF> <STATE\_ON>1</STATE\_ON> <MAX\_POS>1</MAX\_POS> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>MOVE\_Y</TT\_ICON> <COVER\_CHECK></COVER\_CHECK> <TT\_DESCRIPTION\_ID>@TT\_Package.ENGINE\_SWITCH\_PLASMA\_ACTION</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_INDEX>\#PLASMA\_ID\#</TT\_DESCRIPTION\_INDEX> </Parameters> <Parameters Type="Override"> <SET\_STATE\_OFF>0 \#SET\_PLASMA\#</SET\_STATE\_OFF> <SET\_STATE\_ON>1 \#SET\_PLASMA\#</SET\_STATE\_ON> <IS\_PLASMA\_ON>l0</IS\_PLASMA\_ON> </Parameters> <Parameters Type="Override"> <ON\_STATE\_CHANGED> (O:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_ON\# == if{ \#SET\_STATE\_ON\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> \#GET\_PLASMA\# \#IS\_PLASMA\_ON\# if{ \#STATE\_ON\# sp2 } els{ \#STATE\_OFF\# sp2 } l2 (>O:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Position) </ON\_INIT> <TT\_VALUE>\#GET\_PLASMA\# \#IS\_PLASMA\_ON\# @TT\_OnOff\_Cond</TT\_VALUE> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>\#TT\_INTERACTION\#</Interaction> <InteractionLockable>\#TT\_INTERACTION\_LOCKABLE\#</InteractionLockable> <TTDescription RPN="True">\#TT\_DESCRIPTION\_INDEX\# (R:1:\#TT\_DESCRIPTION\_ID\#) @sprintf</TTDescription> <TTValue RPN="True">\#TT\_VALUE\#</TTValue> </Tooltip> <Value> <Units>Number</Units> <Code>(O:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Position)</Code> <Init>\#ON\_INIT\#</Init> <WatchVars> <Simvar ID="PLASMA ON:\#PLASMA\_ID\#"/> </WatchVars> </Value> <Inc> <Code>(O:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Position) p0 + (>B:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Inc> <Dec> <Code>(O:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Position) p0 - (>B:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Dec> <Set> <Code>p0 \#MAX\_POS\# min 0 max (>O:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Position) \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding Alias="ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_Toggle"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_ON\# (B:ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#) \#STATE\_ON\# == ?</Param> </Binding> <Binding Alias="ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_ON"> <Param>\#STATE\_ON\#</Param> </Binding> <Binding Alias="ENGINE\_Plasma\_\#IE\_PLASMA\_ID\#\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="PLASMA\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="PLASMA\#PLASMA\_ID\#\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="PLASMA\_ON"> <Param>\#STATE\_ON\#</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case Valid="CLUTCH\_ID"> <Preset ID="ENGINE\_Clutch\_\#CLUTCH\_ID\#"> <Parameters Type="Default"> <SET\_CLUTCH>(>K:ROTOR\_CLUTCH\_SWITCH\_SET)</SET\_CLUTCH> <GET\_CLUTCH> (A:ROTOR CLUTCH SWITCH POS,Bool) sp0 </GET\_CLUTCH> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <STATE\_OFF>0</STATE\_OFF> <STATE\_ON>1</STATE\_ON> <MAX\_POS>1</MAX\_POS> <TT\_INTERACTION>PRIMARY\_DOWN</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>LOCK</TT\_INTERACTION\_LOCKABLE> <TT\_ICON>MOVE\_Y</TT\_ICON> <COVER\_CHECK></COVER\_CHECK> <TT\_DESCRIPTION\_ID>@TT\_Package.ENGINE\_SWITCH\_CLUTCH\_ACTION</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_INDEX>\#CLUTCH\_ID\#</TT\_DESCRIPTION\_INDEX> <Condition Check="COVER\_VAR\_NAME"> <True> <COVER\_CHECK>(\#COVER\_VAR\_TYPE\#:\#COVER\_VAR\_NAME\#) \*</COVER\_CHECK> </True> <False> <COVER\_CHECK></COVER\_CHECK> </False> </Condition> </Parameters> <Parameters Type="Override"> <SET\_STATE\_OFF>0 \#SET\_CLUTCH\#</SET\_STATE\_OFF> <SET\_STATE\_ON>1 \#SET\_CLUTCH\#</SET\_STATE\_ON> <IS\_CLUTCH\_ON>l0</IS\_CLUTCH\_ON> </Parameters> <Parameters Type="Override"> <ON\_STATE\_CHANGED> (O:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Position) sp0 l0 \#STATE\_OFF\# == if{ \#SET\_STATE\_OFF\# g1 } l0 \#STATE\_ON\# == if{ \#SET\_STATE\_ON\# g1 } :1 \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> \#GET\_CLUTCH\# \#IS\_CLUTCH\_ON\# if{ \#STATE\_ON\# sp2 } els{ \#STATE\_OFF\# sp2 } l2 (>O:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Position) </ON\_INIT> <TT\_VALUE>\#GET\_CLUTCH\# \#IS\_CLUTCH\_ON\# @TT\_OnOff\_Cond</TT\_VALUE> </Parameters> <Tooltip> <Icon>\#TT\_ICON\#</Icon> <Interaction>\#TT\_INTERACTION\#</Interaction> <InteractionLockable>\#TT\_INTERACTION\_LOCKABLE\#</InteractionLockable> <TTDescription RPN="True">\#TT\_DESCRIPTION\_INDEX\# (R:1:\#TT\_DESCRIPTION\_ID\#) @sprintf</TTDescription> <TTValue RPN="True">\#TT\_VALUE\#</TTValue> </Tooltip> <Value> <Units>Number</Units> <Code>(O:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Position)</Code> <Init>\#ON\_INIT\#</Init> <WatchVars> <Simvar ID="ROTOR CLUTCH SWITCH POS"/> </WatchVars> </Value> <Inc> <Code>(O:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Position) p0 + (>B:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Inc> <Dec> <Code>(O:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Position) p0 - (>B:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Set)</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> </Dec> <Set> <Code>p0 \#MAX\_POS\# min 0 max (>O:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Position) \#ON\_STATE\_CHANGED\#</Code> <Parameters> <Param Type="Float" RPN="True">p0</Param> </Parameters> <Bindings> <Binding Alias="ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_Toggle"> <Param RPN="True">\#STATE\_OFF\# \#STATE\_ON\# (B:ENGINE\_CLUTCH\_\#CLUTCH\_ID\#) \#STATE\_ON\# == ?</Param> </Binding> <Binding Alias="ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_ON"> <Param>\#STATE\_ON\#</Param> </Binding> <Binding Alias="ENGINE\_CLUTCH\_\#CLUTCH\_ID\#\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="CLUTCH\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="CLUTCH\#CLUTCH\_ID\#\_OFF"> <Param>\#STATE\_OFF\#</Param> </Binding> <Binding EventID="CLUTCH\_ON"> <Param>\#STATE\_ON\#</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Case Valid="BRAKE\_ID"> <Preset ID="ENGINE\_ROTOR\_Brake\_\#ID\#"> <Parameters Type="Override"> <INCREMENT>256</INCREMENT> <UPPER\_LIMIT>16384</UPPER\_LIMIT> <LOWER\_LIMIT>0</LOWER\_LIMIT> <SET\_BRAKE>(>K:ROTOR\_BRAKE\_SET)</SET\_BRAKE> <GET\_BRAKE> (A:ROTOR BRAKE HANDLE POS, Percent) sp0 </GET\_BRAKE> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE/> <STATE\_OFF>0</STATE\_OFF> <STATE\_ON>1</STATE\_ON> <TT\_DESCRIPTION\_ID>@TT\_Package.ROTOR\_BRAKE\_LEVER\_ACTION</TT\_DESCRIPTION\_ID> <TT\_DESCRIPTION\_INDEX>\#BRAKE\_ID\#</TT\_DESCRIPTION\_INDEX> <INPUT\_EVENT\_TYPE>FLOAT</INPUT\_EVENT\_TYPE> <IE\_NAME>\#LEVER\_ID\#</IE\_NAME> <ROTATION\_SPEED>10</ROTATION\_SPEED> <ANIM\_VAR>\_LeverAnimVar</ANIM\_VAR> <ANIM\_VAR\_TYPE>O</ANIM\_VAR\_TYPE> <ON\_BEFORE\_INC/> <ON\_AFTER\_INC/> <ON\_BEFORE\_DEC/> <ON\_AFTER\_DEC/> <ON\_BEFORE\_SET/> <ON\_AFTER\_SET/> </Parameters> <Parameters Type="Override"> <Condition Valid="NO\_ANIM\_VAR\_UPDATE"> <False> <ON\_STATE\_CHANGED\_EXTERNAL\_CODE>\#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# (O:ENGINE\_ROTOR\_Brake\_Position) (>\#ANIM\_VAR\_TYPE\#:\#ANIM\_VAR\#)</ON\_STATE\_CHANGED\_EXTERNAL\_CODE> </False> </Condition> <Condition NotEmpty="AXIS"> <True> <INTERACTION\_AXIS>\#AXIS\#</INTERACTION\_AXIS> <TT\_ICON>MOVE\_AXIS\_\#AXIS\#</TT\_ICON> </True> <False> <INTERACTION\_AXIS>Y</INTERACTION\_AXIS> <TT\_ICON>MOVE\_AXIS\_Y</TT\_ICON> </False> </Condition> </Parameters> <Parameters Type="Override"> <SET\_STATE\_OFF>0 \#SET\_BRAKE\#</SET\_STATE\_OFF> <SET\_STATE\_ON>1 \#SET\_BRAKE\#</SET\_STATE\_ON> <IS\_BRAKE\_ON>l0</IS\_BRAKE\_ON> <TT\_INTERACTION>PRIMARY\_DOWN+\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION> <TT\_INTERACTION\_LOCKABLE>\#INTERACTION\_AXIS\#\_AXIS</TT\_INTERACTION\_LOCKABLE> </Parameters> <Parameters Type="Override"> <ON\_STATE\_CHANGED> (O:ENGINE\_ROTOR\_Brake\_Position) sp0 l0 \#SET\_BRAKE\# \#ON\_STATE\_CHANGED\_EXTERNAL\_CODE\# </ON\_STATE\_CHANGED> <ON\_INIT> \#GET\_BRAKE\# \#IS\_BRAKE\_ON\# if{ \#STATE\_ON\# sp2 } els{ \#STATE\_OFF\# sp2 } l2 (>O:ENGINE\_ROTOR\_Brake\_Position) </ON\_INIT> </Parameters> <Parameters Type="Override"> <INIT\_CODE>\#GET\_BRAKE\# 0 max 1 min (>O:ENGINE\_ROTOR\_Brake\_Position)</INIT\_CODE> <INC\_CODE>\#GET\_BRAKE\# p0 + (>B:ROTOR\_Brake\_Lever\_Set)</INC\_CODE> <DEC\_CODE>\#GET\_BRAKE\# p0 - (>B:ROTOR\_Brake\_Lever\_Set)</DEC\_CODE> <SET\_CODE>p0 0 max 1 min s0 (>O:ENGINE\_ROTOR\_Brake\_Position) l0 \#ON\_STATE\_CHANGED\#</SET\_CODE> </Parameters> <Tooltip> <Icon>MOVE\_AXIS\_Y</Icon> <Interaction>PRIMARY\_DOWN+Y\_AXIS</Interaction> <InteractionLockable>Y\_AXIS</InteractionLockable> <TTDescription RPN="\#TT\_DESCRIPTION\_IS\_DYNAMIC\#">\#TT\_DESCRIPTION\#</TTDescription> <TTValue RPN="True">(B:ENGINE\_ROTOR\_Brake\_\#BRAKE\_ID\#, percent) s0 0 > @TT\_OnOff\_Cond</TTValue> </Tooltip> <Value> <Units>percent</Units> <Code>(O:ENGINE\_ROTOR\_Brake\_\#BRAKE\_ID\#\_Position) \#LOWER\_LIMIT\# - \#UPPER\_LIMIT\# \#LOWER\_LIMIT\# - / 100 \*</Code> <Init>(A:ROTOR BRAKE HANDLE POS, position 16k) \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (>O:ENGINE\_ROTOR\_Brake\_\#BRAKE\_ID\#\_Position) l0 0 == if{ l0 (>O:DragValue) }</Init> <WatchVars> <Simvar ID="ROTOR BRAKE HANDLE POS"/> </WatchVars> </Value> <Inc> <Code>\#ON\_BEFORE\_INC\# (A:ROTOR BRAKE HANDLE POS, position 16k) p0 + \#UPPER\_LIMIT\# / (>B:ENGINE\_ROTOR\_Brake\_\#BRAKE\_ID\#\_Set) \#ON\_AFTER\_INC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="ENGINE\_ROTOR\_Brake\#BRAKE\_ID\#\_INCR"> <Param>1</Param> </Binding> <!-- Events bound to all presets instances --> <Binding EventID="ENGINE\_ROTOR\_Brake\_INCR"> <Param>1</Param> </Binding> </Bindings> </Inc> <Dec> <Code>\#ON\_BEFORE\_DEC\# (A:ROTOR BRAKE HANDLE POS, position 16k) p0 - \#UPPER\_LIMIT\# / (>B:ENGINE\_ROTOR\_Brake\_\#BRAKE\_ID\#\_Set) \#ON\_AFTER\_DEC\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#INCREMENT\# \*</Param> </Parameters> <Bindings> <Binding EventID="ENGINE\_ROTOR\_Brake\#BRAKE\_ID\#\_DECR"> <Param>1</Param> </Binding> <!-- Events bound to all presets instances --> <Binding EventID="ENGINE\_ROTOR\_Brake\_DECR"> <Param>1</Param> </Binding> </Bindings> </Dec> <Set> <Code>\#ON\_BEFORE\_SET\# p0 \#LOWER\_LIMIT\# max \#UPPER\_LIMIT\# min s0 (>K:AXIS\_ROTOR\_BRAKE\_SET) l0 (>O:ENGINE\_ROTOR\_Brake\_\#BRAKE\_ID\#\_Position) \#ON\_AFTER\_SET\#</Code> <Parameters> <Param Type="Float" RPN="True">p0 \#UPPER\_LIMIT\# \*</Param> </Parameters> <Bindings> <Binding Alias="ENGINE\_ROTOR\_Brake\#BRAKE\_ID\#\_On"> <Param>1</Param> </Binding> <Binding Alias="ENGINE\_ROTOR\_Brake\_\#BRAKE\_ID\#\_off"> <Param>0</Param> </Binding> </Bindings> </Set> </Preset> </Case> <Default> <Condition NotEmpty="EXTEND\_TARGET"> <True> <Extend Target="\#EXTEND\_TARGET\#"> <Parameters Type="Default"> <INPUT\_EVENT\_ID\_SOURCE>ENGINE</INPUT\_EVENT\_ID\_SOURCE> </Parameters> </Extend> </True> <False> <Extend Target="ASOBO\_GIE\_Anim\_Handling"> <Parameters Type="Default"> <INPUT\_EVENT\_ID\_SOURCE>ENGINE</INPUT\_EVENT\_ID\_SOURCE> </Parameters> </Extend> </False> </Condition> </Default> </Switch> </Presets> </InputEvent> </ModelBehaviors>     ### Includes - RelativeFile: [..\\..\\\(Inputs\)\\Helpers.xml](../../inputs/helpers/)