Home
Categories
Dictionary

UACDS Interface


    1  Structure
    2  UACDS Interface capacities
       2.1  UACDS Interface capacities Example
    3  UACDS Interface definition
       3.1  Interfaces definition
       3.2  interfacesGroup
          3.2.1  Example
       3.3  GraphicalGroups definitions
    4  Example
    5  Notes
    6  See also


The UACDS Interface is a specification of the exchanges between a User Application and a Cockpit Display System, for a given Definition File.
The UACDS Interface is specified through an XML file which defines the commands (from the UA to the CDS) and notifications (from the CDS to the UA) that can be sent or received at runtime. These commands and notifications are a subset of all those which are possible considering the Definition File (defined in the ARINC661 protocol).

Structure

The structure of the UACDS Interface XML file is separated between:

UACDS Interface capacities

The UACDS Interface capacities specifies the UA message management capacities, for example: The actual capacities are implementation−dependant. For example, it is possible to specify UACDS Interface capacities for:

UACDS Interface capacities Example

The following UACDS Interface capacities specifies the following capacities:
      <uaCdsInterfaceCapacities>
         <a661BufferFillingModalityTypes>
            <a661BufferFillingModalityType name="onChange"/>
            <a661BufferFillingModalityType name="cyclic">
               <property name="frequency" defaultValue="100" />
            </a661BufferFillingModalityType>
         </a661BufferFillingModalityTypes>
      </uaCdsInterfaceCapacities>

UACDS Interface definition

The UACDS Interface definition is separated in to sub−elements:

Interfaces definition

The "interfaces" node defines the interfaces which are sent or received by the User Application. Interfaces are separated in:

interfacesGroup

Interface groups allow to group interfaces[2] . It is possible to have a group under another.

Example

      <interfaces>
         <interfacesGroups>
            <interfacesGroup name="widgets">
               <commandInterfaces>
                  <commandInterface name="val1" a661BufferFillingModalityRef="Changing"/>
                  <commandInterface name="val2"/>
                  <commandInterface name="val3" a661BufferFillingModalityRef="Cyclic50Hz"/>
               </commandInterfaces>
               <notificationInterfaces>
                  <notificationInterface name="TheToggle"/>
                  <notificationInterface name="TheToggleState"/>
               </notificationInterfaces>
            </interfacesGroup>
            <interfacesGroup name="layers">
               <commandInterfaces>
                  <commandInterface name="layerActive"/>
                  <commandInterface name="layerVisible"/>
               </commandInterfaces>
            </interfacesGroup>
         </interfacesGroups>
      </interfaces>

GraphicalGroups definitions

Example

Suppose the following Definition File with only one GpRectangle:
      <a661_df name="Default" library_version="0" supp_version="5">
         <model>
            <prop name="ApplicationId" value="1" />
         </model>
         <a661_layer name="Default" >
            <model>
               <prop name="LayerId" value="1" />
               <prop name="ContextNumber" value="0" />
               <prop name="Height" value="10000" />
               <prop name="Width" value="10000" />
            </model>
            <a661_widget name="gpRectangle2" type="A661_GP_RECTANGLE">
               <model>
                  <prop name="WidgetIdent" value="2" />
                  <prop name="Anonymous" value="A661_FALSE" />
                  <prop name="Visible" value="A661_TRUE" />
                  <prop name="PosX" value="5000" />
                  <prop name="PosY" value="2963" />
                  <prop name="SizeX" value="2000" />
                  <prop name="SizeY" value="2000" />
                  <prop name="StyleSet" value="0" />
                  <prop name="ColorIndex" value="red" />
                  <prop name="Filled" value="A661_TRUE" />
                  <prop name="FillIndex" value="blue" />
                  <prop name="Halo" value="A661_FALSE" />
               </model>
            </a661_widget>
         </a661_layer>
      </a661_df>
The result will be:


By default the following properties are modifiable by the UA: Suppose we only want to set the fill index by the UA. We would have the following UACDS Interface file:
      <uaCdsInterface xmlns="http://www.aviation−ia.com/aeec/SupportFiles/661−5/uacdsinterface"
      xmlns:xs="http://www.w3.org/2001/XMLSchema−instance"
      xs:schemaLocation="http://www.aviation−ia.com/aeec/SupportFiles/661−5/uacdsinterface UACDSInterface.xsd"
      applicationId="1">
         <uaCdsInterfaceDefinition>
            <interfaces>
               <commandInterfaces>
                  <commandInterface name="fill" />
               </commandInterfaces>
            </interfaces>
            <graphicalGroups>
               <graphicalGroup name="default">
                  <commands>
                     <command commandInterfaceRef="fill">
                        <setParameter layerIdent="1" widgetIdent="1" widgetType="A661_GP_RECTANGLE" widgetParameter="A661_FILL_INDEX" layerName="Default" widgetName="gpRectangle" />
                     </command>
                  </commands>
               </graphicalGroup>
            </graphicalGroups>
         </uaCdsInterfaceDefinition>
      </uaCdsInterface>

Notes

  1. Note that the ARINC661 protocol does not specify by itself a cyclic communication. That a Buffer should be sent cyclically would be an UA or Network specificity
  2. However it is not necessary to group interfaces under "interfacesGroup" elements

See Also


Category:arinc661 Category:user

Copyright 2016 Dassault Aviation. All Rights Reserved. Documentation and source under the GPL v2 licence

Project Web Hosted by SourceForge.net Copyright 1999-2010 - Geeknet, Inc., All Rights Reserved About - Legal - Help