Macros

This information is provided for customization. You get a finished VDGS device with your license, ready to be copied into your airport project.

These custom macros expose variables and conditions for use in templates.

They are made available by including Nool Aerosystems\DockingSystemV300.xml in your model XML file.


Docking stages

@InStandbyMode
True when the device is not actively guiding an aircraft. It may be powered off or showing standby screen like ramp information.
@InCapturingMode
True when the device is in capturing mode and looking for an aircraft to track.
@InTrackingMode
True when the device has acquired an aircraft and is actively tracking it, but has not yet reached the final closing segment.
@InClosingMode
True when the aircraft is approaching stop position and the device has switched to final countdown.
@InStopMode
True when the aircraft has reached stop position and should immediately stop.
@InCompleteMode
True when docking has completed and device is showing docking assessment, see vdgs_complete_timeout SimObject parameter.
@InArrivalMode
True after docking during arrival window, see vdgs_arrival_timeout SimObject parameter.
@InDepartureMode
True when the aircraft is being towed away from the stand, see vdgs_departure_timeout SimObject parameter.

Power status

@PowerOff

True when the device is in standby. This means that it is either fully powered off or shows information not related to docking.

@PowerOn

True when the device is in any other condition than standby.


Abnormal conditions

@ShowWait
True when the device is currently busy.
@ShowError
True when docking device has experienced an internal error. Currently not implemented, reserved for future use.
@ShowIDFail
True when aircraft identification has failed. Currently not implemented, reserved for future use.
@ShowSBU
True when device fail-safe has activated. Currently not implemented, reserved for future use.
@ShowTooFast
True when the aircraft is approaching too fast for the device to track.
@ShowAbnormalSlow
True in restricted tracking conditions (fog, rain). Currently not implemented, reserved for future use.
@ShowGateBlocked
True when a foreign object is blocking the gate. Currently not implemented, reserved for future use.
@ShowViewBlocked
True when something is obstructing device sensor. Currently not implemented, reserved for future use.
@NormalCondition
True when the device is currently not in any abnormal condition.

Visual elements

The following macros help building conditional parts that appear only when a specific condition is true.

@ShowCapturing
True when capturing arrows should be visible.
@ShowTracking
True when tracking graphics should be visible.
@ShowGuidance
True when the device is in tracking or closing mode and guidance-related elements should be visible.
@ShowClosingRate
True when closing rate is visible.
@ShowTurnLeft
True when left turn is being commanded and respective indicators should be visible.
@ShowTurnRight
True when right turn is being commanded and respective indicators should be visible.
@ShowStop
True when the device is commanding STOP.
@ShowSlowDown
True when the aircraft is violating speed restrictions and a SLOW DOWN message should be visible.
@ShowTooFast
True when the aircraft is approaching the device too fast for capturing and TOO FAST message should be visible. Currently not implemented, reserved for future use.
@ShowOK
True when docking has completed and the aircraft is right on stop position.
@ShowStopShort
True when docking has completed and the aircraft stopped short of stop position.
@ShowTooFar
True when docking has completed and the aircraft stopped beyond stop position.
@ShowNoMessage
True when the device has no active message (SLOW DOWN, TOO FAST, OK, STOP OK, nor TOO FAR). Useful when the display has visual parts that should be hidden to make room for a message.

Ramp information

@ShowChocksOn
True when ramp workers have pressed “Chocks on” notification button.
@ShowGPUOn
True when the GPU is on. Currently not implemented, reserved for future use.
@ShowPCAOn
True when air conditioning is on. Currently not implemented, reserved for future use.

Numeric variables

@OffsetZ
Longitudal distance from docking target position in meters.
@OffsetX
Lateral offset from centerline in meters.
@EyepointX
Lateral eyepoint offset from centerline in meters. Currently not fully implemented, aliased to @OffsetX instead.
@Timer
Seconds elapsed since the current status was set. This resets when the aircraft moves between stages (tracking, closing, etc) and when faults happen.
@MessageTimer
Seconds elapsed since the current message was set on the device. Gets reset on any kind of message (eg SLOW DOWN).

String variables

String variables are encoded into numbers and should not be used directly, but with templates that know how to read them.

@IcaoType
ICAO type designator of the current docking aircraft.
@Text1
Upper line of text on APIS devices.
@Text2
Lower line of text on APIS devices.

Animations

[interval] [length] [number] @MessageBlink

General purpose macro for creating blinking parts and sequences. interval defines how quickly (in seconds) blinking steps through a sequence that is length steps long. number is the step at which this particular part should be visible. Counting starts at 1. All three arguments are required.

For example: 0.5 2 1 @MessageBlink means that this blinking sequence has two steps, each 0.5 seconds long, and the condition is true when sequence is currently at the first step.

This example shows how a SLOW DOWN message was created in the reference model. It consists of two meshes. One named msg_slow_down1 is a plane with SLOW written on it, and the other named msg_slow_down2 has DOWN on it. MessageBlink macro makes them alternate every second, and it’s combined with @ShowSlowDown macro to be visible only when the device is sending SLOW DOWN message.

<UseTemplate Name="noolaero_conditional_visibility">  
  <NODE>msg_slow_down1</NODE>  
  <COND>1 2 1 @MessageBlink @ShowSlowDown and</COND>
</UseTemplate>  
			
<UseTemplate Name="noolaero_conditional_visibility">
  <NODE>msg_slow_down2</NODE>
  <COND>1 2 2 @MessageBlink @ShowSlowDown and</COND>
</UseTemplate>

You can also create longer sequences, eg 10 steps long, and make parts appear only at specific moments, with gaps between them.

@MessageBlink macro is synchronized with internal message timer and starts running from the first item every time a message changes on VDGS device.

[interval] [length] [number] @Blink

Same as @MessageBlink, but synchronized with tracking stages. Resets when the aircraft moves from one stage to another (capturing, tracking, etc) or when a fault occurs.