From Manuals
Jump to: navigation, search


1.1 ACARS general description

ACARS configurations are split into profiles. A profile is a set of CDU pages, message layouts and a list of automatically generated messages that are loaded into the FMS. The user is able to configure the active ACARS profile in the Prosim737 configuration screen. An ACARS profile is created with an <acars/> eleme

1.2 ACARS Variables

A number of read-only variables are available to use. These are:

fms.origin Route origin
fms.destination Route destination
fms.flightno Route flight number
fms.tailnumber Tailnumber
fms.flightphase Flight phase (GRND/CLB/CRZ/DES)
fms.heading Magnetic heading
fms.wind Current wind in HHH/SS format
fms.ref_airport Reference airport entered in POS INIT page
progress.from.waypoint Progress from field
progress.from.ata Progress ATA field Next LNAV waypoint Next LNAV waypoint ETA
progress.next2.waypoint Second Next LNAV waypoint
progress.next2.eta Second Next LNAV waypoint ETA
progress.dest.eta Destination ETA
airdata.ias Current IAS Current ground speed
airdata.altitude Current altitude
airdata.fuel Current fuel (kg)
airdata.mach Current Mach
airdata.oat Current OAT Latitude of aircraft
position.lon Longitude of aircraft
radio.com1 COM1 frequency
radio.com2 COM2 frequency
radio.nav1 NAV1 frequency
radio.nav2 NAV2 frequency
radio.adf1 ADF1 frequency
radio.adf2 ADF2 frequency
radio.xpdr Transponder frequency


The <acars> element defines an acars profile. Attributes:

  • name (Optional)
    • The name of the profile. Only profiles with a name show up in the "Profile" selection of the ACARS configuration.
  • id (Optional)
    • The ID of the profile. Profiles with an ID can be included in other profiles by using an <include> element.
  • default (Optional)
    • "true" or "false". When "true", this profile will be the default when the user selects no other profile.


  • title
    • Title shown in CDU
  • pagenumbers (Optional)
    • attribute that controls the usage of page numbers in the top right corner. Set to "auto" to show page numbers when more than one page exists. Set to "true" to force page numbers, even when only one page exists. Default is "auto".
  • titlealign
    • Allows control over title aligment. Default = "left". Other option is "center".
  • subsystem
    • When this attribute is present, the page is an upper level menu that is accessible from the cdu main menu. The value of the attribute is the name that is shown in the CDU menu.
  • id
    • D of page used to link to it. When id's are repeated, the last matching page in the document is used ID's starting with an underscore ("_") are special and result in a specific page like described below:
      • id = "_uplinks": Generate a list of ACARS uplinks
      • id = "_genericUplink": Used as a template for showing ACARS uplinks with no associated page (raw message page)
  • uplink
    • Defines the page as an uplink page, which is used to show ACARS uplinks. The uplink attribute defines the message id that this page receives.
  • subpages
    • Optional attribute that controls how subpages are created. If this is set to "auto", the page will be repeated to fit the content of the message. If this attribute is left out, then <subpage> elements can be used to create extra pages.

A <page> element may contain extra <subpage> elements to create multiple pages. This is optional.


An <lsk..> element defines a line select key. Various types are available:

  • Link elements
    • Link elements link to a CDU page. Specify a link="<target>" attribute. The LSK will link to the page with id=<target>. Optionally, specify set="<variable>=<value>", to change a variable when following the link.
  • Error elements
    • Will proceed to an error message in the scratchpad. Specify an error="<message>" attribute. The LSK will trigger the error in the scratchpad.
  • Send elements
    • Send elements will send an ACARS message. Specify send="<message id>" to set the message id. The message with id=<message> will be sent.
  • Input elements
    • Input elements allow the user to set variables.
    • Specify input="<variable>" to set the target variable of the input.
    • For free form text inputs:
      • Specify size=<size> to set the amount of characters allowed for the input. This will place brackets on the line.
    • A default can be set with the default="" variable. Default attributes may refer to other variables.
    • For choosing between options:
    • Specify selection="<selection1>,<selection2>,..." to set the allowed options. The CDU will show all options with the select one in green. Pushing the LSK will change the selection.
    • For dropdown options:
      • Specify selection="<selection1>,<selection2>,..." to set the allowed options.
    • Add type="dropdown", to make the LSK a dropdown box.
  • Output elements:
    • Output elements show the content of variables. Specify output="<variable>" to show the content of the variable.
    • To span the content across the regular line and the header line, add a lines="2" attribute.

The optional header="<header>" attribute can be used to set the header of the LSK The optional centerHeader="<header>" attribute can be used to set a center aligned header surrounded with dashes on the whole line of the LSK The optional attribute delimiter="<char>" can be used to override the "<", ">" or "*" delimiter at the edge of the display


Conditional LSK's: Use an <if/> block to surround conditional LSK's:

<if variable="<variable>" equals="<value>"></if> OR <if variable="<variable>" notEquals="<value>"></if>


Monitor is used to monitor events and trigger actions. It contains these attributes:

  • action
    • The action to take when an event is triggered. Currently only 'CDUMessage' is available. With CDUMessage, the content of the MONITOR element contains the message to trigger.
  • trigger
    • The trigger value.
  • fsuipc
    • An FSUIPC offset to test. If the offfset has the value in the "trigger" attribute, the event is triggered.
  • fsuipcType
    • The FSUIPC offset data type. Any of "u8", "u16", "s16", "u32", "s32", "f32", "f64"

Example: <monitor fsuipc="0xbc8" fsuipcType="u16" trigger="32767" action="CDUMessage">Parking brake is on</monitor>


A <message> element defines an ACARS message. Attributes:

  • id
    • The ID of the message used to refer to it.
  • code
    • The ACARS code that is used in the ACARS message to identify this message.
  • description
    • The description of this message, used in ACARS programs.
  • title
    • The link displayed in the CDU on LSK6R when an uplink is received.
  • type
    • Optional, default is "acars". Can be "acars" for regular ACARS server processing or "http" for a http request.
  • response
    • For http requests, this contains the message id of the message that will handle the output of the http request.
  • inactiveAdvisory
    • The advisory message in LSK5 that is displayed when this message is being transmitted.
  • chime
    • Optional, when set to "true" a chime sound is played when an uplink of this message arrives
  • EICASAdvisory
    • The advisory message displayed on the upper EICAS when a message of this type arrives.
  • CDUadvisory
    • The advisory message displayed in the CDU scratchpad when a message of this type arrives.

Message elements contain <field> elements that describe the fields inside the message. Attributes of <field> elements are:

  • id
    • The ID of the element. The ID is the variable name the contains the content for this field.
  • size
    • The amount of characters in this field. All but the last field should contain a size attribute.
  • description
    • The description of this field, used in ACARS programs.
  • trim
    • When set to "true", the data that is received will be trimmed to remove all leading and trailing white spaces.

HTTP requests need an <url> element which contains the URL to call

HTTP requests:

To read/write HTTP, you create a new <message> element with type="http". The output from a HTTP request can be used to either trigger an incoming message, or it can placed in variables without triggering a message. The former case uses a "response" attribute to point towards the message describing the output of the HTTP request. The latter case uses a <response> element inside the <message> element to directly describe the fields in the output. The <url> element is used to build the URL. You can use the ${<variable>} format to include the content of variables that were filled in on the page. If the http request is successful and it has output, the associated response message is used to process it. Once the output of the HTTP request has been defined in a <message>, the <message> can be used to display the content on a custom page or the default uplink page.

Here is an example of two messages for processing IVAO weather. It uses a response message to parse the response:

<message title="weather" id="ivaoMetarResponse">
<field id="metar response content"/>
<message id="ivaoMetar" response="ivaoMetarResponse" type="http">

Here is an example of the same weather request, but instead it stores the output directly into a variable:

<message id="ivaoMetar" type="http">
<field id="metar response content"/>