Skip to main content

Model Behaviours Overview

Model behaviours are provided for the easy setup of all buttons for the Epic2 avionics. The setup of the screen emissives is not included in the Epic2 model behaviours and must be done seperately by developers.

Included within the Epic2 model behaviours are:

  • A template for setting up the Display Unit bezel buttons
  • A template for setting up the Touchscreen Controller bezel buttons and knobs
  • A template for setting up the PFD Controller buttons and knobs
  • A template for setting up the MFD Controller buttons and knobs
  • A template for setting up the Autopilot panel
  • A template for setting up the throttle levers, to be used in place of ASOBO_ENGINE_Throttle_Template.

To make use of the Epic2 model behaviours include the following line in your model behaviour

  <Include ModelBehaviorFile="WorkingTitle/GlassCockpit/Epic2v2/Epic2.xml"/>
warning

To use sim attachments for display units will require some additional model behaviour work than what is documented in the section below. When using simattachments in this way follow the below documentation but with the following caveats:

  • the DU_INDEX and DU_TYPE will require a dynamic parameter to ensure they are correct if using a simattachment display unit multiple times.
  • by default, node names are set using the CONTROLLER_ID, DU_TYPE and DU_INDEX parameters. Node names cannot use dynamic parameters, so any node prefixes or suffixes for the Display Units and PFD Controllers must be set to match your model.

Display Unit Bezels

To setup the display unit bezel softkeys the WT_Epic2_Display_Unit_Bezel_Template should be used. This template makes use of the following parameters:

ParameterDescriptionValuesOptional
DU_TYPEThe type of display unitPFD or MFDNo
DU_INDEXThe local index of the display unit1 or 2No

This template will create the bezel softkeys, setting up their node IDs and animations. The template requires that bezel softkeys have a node ID in the form of #DU_TYPE#_#DU_INDEX#_SOFTKEY_[1-20], and that they use an animation name that is the same.

Touchscreen Controller Bezel

To setup the touchscreen bezel softkeys and knobs the WT_Epic2_Touchscreen_Controller_Bezel_Template should be used. This template makes use of the following parameters:

ParameterDescriptionValuesOptional
LEFT_KNOB_PREFIXThe node prefix of the left knobString (default TSC_KNOB_L)Yes
RIGHT_KNOB_PREFIXThe node prefix of the right knobString (default TSC_KNOB_R)Yes

This template requires:

  • bezel softkeys have a node ID in the form of TSC_SOFTKEY_[1-3], and that they use an animation name that is the same.
  • bezel knobs have a node ID in the form of #LEFT_KNOB_PREFIX#_[OUTER|INNER] or #RIGHT_KNOB_PREFIX#_[OUTER|INNER], and that they use an animation name that is the same.

PFD Controller Buttons and Knobs

To setup the PFD controller buttons and knobs the WT_Epic2_PFD_Controller_Template should be used. This template makes use of the following parameters:

ParameterDescriptionValuesOptional
CONTROLLER_IDThe index of the PFD controller1 or 2No
BTN_NODE_ID_PREFIXThe node prefix for the controller buttonsString (default PFDCTRL)Yes
KNOB_NODE_ID_PREFIXThe node prefix for the controller knobsString (default PFDCTRL)Yes
NODE_ID_SUFFIXThe suffix for the controller node IDsString (default _#CONTROLLER_ID#)Yes

This template requires:

  • buttons have a node ID in the form of #BTN_NODE_ID_PREFIX#_[BUTTON_NAME]#NODE_ID_SUFFIX#, and that they use an animation name that is the same.
  • knobs have a node ID in the form of #KNOB_NODE_ID_PREFIX#_[KNOB_NAME]#NODE_ID_SUFFIX#, and that they use an animation name that is the same.
  • knob push buttons have a node ID in the form of #KNOB_NODE_ID_PREFIX#_[KNOB_NAME]#NODE_ID_SUFFIX#_Push

In addition, this template allows for individual buttons to have specific node IDs and animation names to be set. To do so, you need to define a parameter NODE_ID_[BUTTON_NAME] or ANIM_NAME_[BUTTON_NAME]. The same can be done for knobs, substituting the button name for the knob name. For knob push buttons you should also append _PUSH to the parameter name, i.e. NODE_ID_[KNOB_NAME]_PUSH.

Example:

  <UseTemplate Name="WT_Epic2_PFD_Controller_Template">
<CONTROLLER_ID>2</CONTROLLER_ID>
<NODE_ID_MSG>Example_MSG_Button</NODE_ID_MSG> <!-- This sets only the message button's node ID (and will also set the animation name to be the same) -->

<NODE_ID_RANGE>Example_RANGE_Knob</NODE_ID_RANGE> <!-- Sets the range knob node ID and anim name -->
<ANIM_NAME_VOLUME_PUSH>Volume_Knob_Push_Animation_Name</ANIM_NAME_VOLUME_PUSH>
</UseTemplate>

The following button names are used:

  • NAV_SEL
  • NAV_PREVIEW
  • BRG1
  • BRG2
  • HSI
  • ET
  • ADHRS
  • PFD
  • IDENT
  • VFR
  • DME
  • DETAIL

The following knob names are used:

  • BARO (has push)
  • COURSE_SEL (has push)
  • RANGE
  • VOLUME (has push)
  • RADIO_SEL_INNER (has push)
  • RADIO_SEL_OUTER

MFD Controller Buttons and Knobs

To setup the MFD controller buttons and knobs the WT_Epic2_MFD_Controller_Template should be used. This template makes use of the following parameters:

ParameterDescriptionValuesOptional
KEYBOARD_NODE_ID_PREFIXThe node prefix for the keyboard buttonsString (default MFD_Controller_Key)Yes
CONTROL_NODE_ID_PREFIXThe node prefix for the control buttonsString (default MFD_Controller_Push)Yes
CCD_NODE_ID_PREFIXThe node prefix for the cursor control buttons (currently only the CCD enter button)String (default MFD_Controller_CCD_Push)Yes

This template requires:

  • keyboard buttons have a node ID in the form of #KEYBOARD_NODE_ID_PREFIX#_[KEYBOARD_BUTTON_NAME], and that they use an animation name that is the same.
  • control buttons have a node ID in the form of #CONTROL_NODE_ID_PREFIX#_[CONTROL_BUTTON_NAME], and that they use an animation name that is the same.
  • cursor control buttons have a node ID in the form of #CCD_NODE_ID_PREFIX#_[CCD_BUTTON_NAME], and that they use an animation name that is the same.

In addition, this template allows for individual buttons to have specific node IDs and animation names to be set. To do so, you need to define a parameter NODE_ID_[BUTTON_NAME] or ANIM_NAME_[BUTTON_NAME]. The same can be done for knobs, substituting the button name for the knob name. For knob push buttons you should also append _PUSH to the parameter name, i.e. NODE_ID_[KNOB_NAME]_PUSH.

Example:

  <UseTemplate Name="WT_Epic2_MFD_Controller_Template">
<NODE_ID_ENTER>Example_ENTER_Button</NODE_ID_MSG> <!-- This sets only the enter button's node ID (and will also set the animation name to be the same) -->
<NODE_ID_XPDR>Example_Transponder_Button</NODE_ID_XPDR>
</UseTemplate>

The following keyboard button names are used:

  • A to Z
  • ENTER
  • SPACE
  • BACKSPACE
  • MINUS
  • PLUS
  • PERIOD

The following control button names are used:

  • COM
  • NAV
  • XPDR
  • CAS
  • FLAP_OVERRIDE
  • GS_INHIBIT
  • DIRECT
  • INFO
  • CKLIST
  • EVENT
  • CHART
  • TERR_INHIBIT
  • FREQ_SWAP
  • LEFT_PFD
  • RIGHT_PFD
  • UPPER_MFD
  • LOWER_MFD
  • MFD_SWAP

The following CCD button names are used:

  • CCD_ENTER

Autopilot Control Panel

To setup the autopilot control panel buttons and knobs the WT_Epic2_Autopilot_Panel_Template should be used. Please be aware that this template assumes that vertical speed is controlled with a knob and not using push buttons. If push buttons are used then they will need their own model behaviour.

This template makes use of the following parameters:

ParameterDescriptionValuesOptional
HAS_AUTOTHROTTLEWhether the aircraft has an autothrottleTrue or FalseYes (defaults True)

This template assumes:

  • buttons and knobs have a node ID in the form of AUTOPILOT_[CONTROL_NAME]_1, and that they use an animation name that is the same.
  • knob push animations have a name which is the same as the knob animation name, with _Push appended.
  • status lights have a node ID in the form of AUTOPILOT_[CONTROL_NAME]_Active_1.

In addition, this template allows for individual buttons and knobs to have specific node IDs and animation names to be set. To do so, you need to define a parameter NODE_ID_[CONTROL_NAME] or ANIM_NAME_[CONTROL_NAME]. To define a specific status light node id you need to define a parameter NODE_ID_STATUS_LIGHT_[CONTROL_NAME]. To define a specific knob push animation you would use the ANIM_NAME_[CONTROL_NAME]_PUSH parameter.

Example:

  <UseTemplate Name="WT_Epic2_Autopilot_Panel_Template">
<CONTROLLER_ID>2</CONTROLLER_ID>
<NODE_ID_Knob_Altitude_1000>Example_1000s_Altitude_Knob</NODE_ID_Knob_Altitude_1000> <!-- This sets only the 1000ft increment knob's node ID (and will also set this animation name to be the same) -->

<ANIM_NAME_Knob_SpeedMach>Example_SpeedMach_Push_Animation</ANIM_NAME_Knob_SpeedMach>
</UseTemplate>

The following control names are used:

  • Knob_VerticalSpeed
  • Knob_Heading
  • Knob_SpeedMach
  • Knob_Altitude_100
  • Knob_Altitude_1000
  • Knob_Minimums
  • Switch_Heading_Track
  • Push_Bank
  • Push_Approach
  • Push_Heading
  • Push_Navigation
  • Switch_Speed_Mode
  • Push_VerticalSpeed
  • Push_FlightLevelChange
  • Push_Altitude
  • Push_VerticalNavigation
  • Push_FlightDirector
  • Push_FlightDirector_Coupling
  • Push_Autopilot
  • Push_YawDamper
  • Push_Autothrottle

Engine Throttle

The WT_Epic2_Engine_Throttle_Template can just be used in place of ASOBO_ENGINE_Throttle_Template with no extra work required.