SimObjects

Overview

VDGS display units must be configured as standard SimObjects with custom VDGS parameters added to sim.cfg.

[fltsim.n] sections

Each VDGS unit must have a separate [fltsim.n] section in sim.cfg containing at least the required parameters listed below.

[vdgs_defaults] section

To avoid unnecessary repetition, both required and optional [fltsim.n] settings (except title) can have custom default values. They can be set with [vdgs_defaults] section. If a setting is not found under [fltsim.n], then the value in [vdgs_defaults] is used. If that is missing too, then internal defaults are used. See Example.

Comments and multi-line values

Everything after ; or // is ignored on every line – this lets you add comments.

If a line ends with \, then the next line is assumed to be a continuation, for example:

vdgs_stops=-2.4 CRJ2 E135 E145 EMBRAER_170_FAMILY AIRBUS_A318 AIRBUS_A319, \
           -0.2 AIRBUS_A320 BOEING_737-700 CRJ7, \
            2.5 BOEING_737-900 BOEING_737-800 CRJ9 EMBRAER_190_FAMILY

Required parameters

title=<str>

Unique title of the device. Must start with “noolaero VDGS”, followed by airport ICAO code and device ID. Device ID may be any string containing ASCII characters.

Example: title=noolaero VDGS NZAA G30

vdgs_id=<str>

Unique group ID assigned to your airport and used to tell device groups apart. Value provided with your license.

vdgs_version=<str>

Version of the module that this SimObject was built for.

Example: vdgs_version=2.1.0


Optional parameters

vdgs_system=<name>

Logic engine for the device to use:

NameDescription
inopInoperative device, will not be simulated
screenMarks the SimObject as a subassembly of its parent object, inheriting its system
safedockAny type of Safedock device (default)
apis_1APIS device with single-line display
apis_2APIS device with double-line display
rlg_206RLG GIS 206
aidaANSE AIDA-1
honeywellHoneywell devices
inogonInogon moiré-pattern based devices
traffic_lightGeneric distance-based traffic light

Every logic engine comes with its own device defaults and implementation of tracking and status messages.

vdgs_features=<list>

Comma-separated list of optional features to enable on a device:

NameDescription
noneExplicitly disables all features
chocksGround crew alerts when chocks have been set after you stop and turn off beacons to signal shutdown
stand_numberShows stand ID in standby (customize with vdgs_stand)
standby_timeDisplays current time in standby
block_timeShow on-block and off-block time (AIBT / AOBT) after arrival and on departure
startupEnables A-CDM startup information (TOBT, TSAT, etc)
local_timeShows all device times in local timezone (by default they are in UTC)
time_suffixShows timezone suffix where available (UTC, Z or LT)
countdown_hhmmShows TOBT/TSAT/etc countdowns in +/-H:MM format instead of minutes (on compatible devices)

Default values

The following features are supported and enabled by default:

vdgs_systemSupportsDefault
inopnonenone
screennonenone
safedocknone, chocks, stand_number, standby_time, block_time, startup, local_time, time_suffixnone
apis_1, apis_2none, chocks, stand_number, standby_time, block_time, startup, local_time, time_suffixchocks, stand_number, standby_time, block_time
rlg_206nonenone
aidastand_numberstand_number (always on)
honeywellnone, stand_number, block_time, local_time, time_suffixstand_number, block_time
inogonnonenone
traffic_lightnonenone

Please note that capabilities are further restricted by individual subversions of docking devices, eg Safedock type 3-9 has too small screen to display startup information.

Example: vdgs_features=block_time, stand_number

vdgs_screen=<title> (deprecated)

Title of the screen SimObject, if screen is spawned separately from the docking device. Leave undefined if the device already contains a screen.

Example: vdgs_screen=noolaero VDGS ESSA 64 screen

vdgs_screens=<keyword> <title>, …

One or more pairs of keywords and SimObject titles to spawn as screens. Titles must be enclosed in quotes. Screens are spawned and despawned depending on the current condition of a docking device.

Example: vdgs_screens=GUIDANCE "noolaero VDGS EGKK T2-18 guidance", STANDBY "noolaero VDGS EGKK T2-18 standby", STARTUP "noolaero VDGS EGKK T2-18 startup""

KeywordSpawned when…
FULLAlways spawned when the device is powered on (for screens that contain the full device)
BASICSpawned when the device is powered on in any non-datalink mode
GUIDANCEDevice is providing docking guidance
ARRDEPAirplane just arrived or departed
(see vdgs_arrival_timeout and vdgs_departure_timeout)
STANDBYDevice is in standby
STARTUPDatalink has startup information to show
vdgs_alt=<m>

Forces SimObjects to the specified altitude (in meters above ground).

Landmarks category SimObjects are supposed to stay suspended in the air, but MSFS occasionally glitches and spawns them on the ground. Switching from internal view to external view usually causes MSFS to reset them to correct altitude, but SimObjects may permanently stay on the ground. To mitigate this issue, VDGS module can force SimObjects to a predefined altitude if they spawn on the ground.

Example: vdgs_alt=4.5

vdgs_stand=<id>

Stand ID for devices that are capable of showing it. Uppercase ASCII string. When left undefined, the ID is derived from device title (see title).

Example: vdgs_stand=A12

vdgs_nose=(<lat>, <lon>, <hdg> | auto )

Latitude, longitude and true heading of the location where nose wheel should end up, or auto to automatically use the parking node in front of the device.

Hard-coded values are intended for overlapping MARS layouts where some devices may not have a matching parking node.

Examples:

vdgs_nose=46.229853, 14.455198, 37.02

vdgs_nose=auto

If left undefined, then the default behavior is auto.

vdgs_door=(<offset> | auto)

Enables door alignment. This is intended for parking stands with T-jetbridges that are unable to move sideways and where docking device must align airplane door with the jetway instead of guiding nosewheel to a predefined spot on the ground and letting jetway drive up to it.

Behavior for devices with vdgs_version=4.0.0 and higher:

  • If set to auto, then jetway’s position is read from the simulator in real time for alignment.
  • If vdgs_door contains a numeric value, such as vdgs_door=-0.2 then that is additional offset added to detected jetway door position, where negative values are towards the tail and positive values are towards the nose.

Behavior for devices below version 4.0.0:

  • If set to a numeric value, then that means offset in meters from default nosewheel position, where positive values are towards the device and negative values are away from it.

This setting is ignored on airplanes with no suitable door.

Examples:

vdgs_door=-4.2

vdgs_door=auto

vdgs_scan=<capturing>, <tracking>, <closing>, <stop_short>, <stop>, <too_far>, <overshoot>, <width>, <turn>

Scan area. Values from capturing to overshoot describe length of the scan area and width defines its width. If aircraft leaves the scan area, then the device gets reset. See Docking stages for visual depiction.

Longitudinal thresholds

ValueDefaultDescription
capturing120.0 mDevice becomes active and starts looking for aircraft
tracking60.0 mAircraft gets detected and device starts providing guidance
closing20.0 mDevice switches to final countdown, showing digital distance readout
stop_short4.0 mEarliest acceptable stop position: if aircraft stops after this, then docking ends
stop0.2 mDevice shows STOP message
too_far-1.0 mStopping after this threshold triggers TOO FAR message
overshoot-10.0 mFurthest edge of the scan area: if aircraft passes this, then the device turns off

Lateral thresholds

ValueDefaultDescription
width20.0 mWidth of the scan area
turn0.2 mMaximum offset from centerline before left or right turn is commanded.

Default values

Default values depend on device type set with vdgs_system:

vdgs_systemvdgs_scan default value
safedock120.0, 60.0, 20.0, 4.0, 0.4, -1.0, -10.0, 20.0, 0.2
apis_1, apis_2100.0, 60.0, 15.0, 1.0, 0.2, -1.0, -10.0, 20.0, 0.2
rlg_206120.0, 50.0, 40.0, 1.0, 0.2, -1.0, -10.0, 20.0, 0.4
aida150.0, 90.0, 30.0, 1.0, 0.4, -1.0, -10.0, 20.0, 0.2
honeywell120.0, 60.0, 35.0, 0.0, 0.2, -1.0, -10.0, 20.0, 0.2
inogon100.0, 100.0, 5.0, 5.0, 0.0, -5.0, -20.0, 20.0, 0.2
traffic_light100.0, 80.0, 5.0, 0.4, 0.4, -10.0, -10.0, 20.0, 0.2
vdgs_speeds=[<dist> <speed>], [<dist> <speed>], …

A list of maximum allowed speed before SLOW DOWN message is triggered. Restrictions are defined in pairs where dist is distance from target and speed is maximum speed in meters per second.

Default: vdgs_speeds=30.0 4.0, 20.0 3.0, 10.0 2.0. This means that closer than 30 m, max allowed speed is 4 meters per second. With less than 20 m to go, it’s 3 m/s, and below 10 m it’s 2 m/s. These are also the default values.

vdgs_stops=[<offset> <type> <type> …], [<offset> <type> <type> …], …

A list of custom offsets applied to aircraft types, relative to vdgs_nose. offset is the offset in meters to apply and is followed by one or more ICAO aircraft type designators (type). Positive offset values are towards the device, negative values away from it.

Example: vdgs_stops=-2.0 AT72 AT73 AT75 AT76, 1.5 B752 B753

This shifts all types of ATR-72 away from the device by 2 meters and brings all B757 family aircraft 1.5 m closer.

Type groups are also supported. They are defined in noolaero-vdgs.cfg, their name must be 5 characters or longer, and you can use them like regular type codes. The example above can be simplified to: vdgs_stops=-2.0 ATR_72, 1.5 BOEING_757

The first matching stop offset is used (in the order they are defined). For example, vdgs_stops=-2.0 A319, -1.0 AIRBUS_A320_FAMILY makes A319 stop 2 m before default stop position and all other A320 family airplanes 1 m before default stop. In comparison, vdgs_stops=-1.0 AIRBUS_A320_FAMILY, -2.0 A319 already catches all A320 family airplanes at 1 m before stop and A319 offset at 2 m gets ignored.

For clarity, long lines can be broken apart with \ (see multi-line values).

vdgs_capture_hdelta=<deg>

Maximum heading offset at capture. Aircraft heading must be less than deg away from target heading (defined in vdgs_nose) to get captured.

Default: vdgs_capture_hdelta=10.0 (10 degrees).

vdgs_stop_delay=<sec>

Delay in seconds before an aircraft is considered stopped. When an aircraft stays still within stop_short and too_far thresholds for more than this delay, then VDGS device considers docking completed and shows appropriate message (STOP OK, OK, or TOO FAR depending on stop position).

Default: vdgs_stop_delay=3.0 (3 seconds).

vdgs_ok_timeout=<sec>

How long in seconds to show OK docking assessment when the aircraft stops right on target. Device switches to arrival timer after the timeout.

Default: vdgs_ok_timeout=5.0 (5 seconds).

vdgs_complete_timeout=<sec>

How long in seconds to show docking assessment after the aircraft stops too early or too far away from optimal target. Device switches to arrival timer after the timeout.

Default: vdgs_complete_timeout=20.0 (20 seconds).

vdgs_arrival_timeout=<sec>

How long in seconds to show arrival screen after docking assessment. For example, on-block time is shown during this window. Device switches off after the given time.

Default: vdgs_arrival_timeout=180.0 (3 minutes).

vdgs_departure_timeout=<sec>

How long in seconds to show departure screen. This is used for showing off-block time as the aircraft is being towed away. Docking device switches off after the timer runs out.

Default: vdgs_departure_timeout=180.0 (3 minutes).

vdgs_poweroff_delay=<sec>

Default poweroff delay in seconds before the device is powered off after docking completes and there’s nothing else to show.

Default: vdgs_poweroff_delay=180.0 (3 minutes).

vdgs_text_speed=<sec>

Controls how quickly multi-part messages alterate, eg how long B737 and -500 each stay on screen when showing B737-500 type.

Default: vdgs_text_speed=4.0 (4 seconds).

vdgs_text_slow=<sec>

Controls how long slowly alternating messages stay on screen, eg how fast time and stand numbers alternate in standby.

Default: vdgs_text_slow=8.0 (8 seconds).

vdgs_text_fast=<sec>

Controls how long quickly flashing text stays on screen, used in multi-part error messages, eg STOP / TOO / FAST.

Default: vdgs_text_fast=2.0 (2 seconds).


Docking stages

This image depicts docking stages as defined with vdgs_scan relative to target point set with vdgs_nose.

Docking stages
Docking stages