Querying for failures in C and XML gauges

The Flight Simulator SDK describes a method of using FAILURE_RECORDS to fail gauge elements via an enumerated list of failure types (freeze, zero, and no_draw).  See the "Programming C Gauges" section of the SDK for detailed information.

But what if you're creating a C gauge and want to implement some other sort of behavior in the case of a failure?  A gauge programmer can programmatically query whether or not a system has failed using a collection of TOKEN_VARIABLES.  The "Token Variables" document in the SDK lists them, but if you didn't know they were there, they can be easy to miss. 

"PP" stands for "Partial Panel", a term used to describe the situation of flying without a complete set of instruments. 

The following table lists the equivalent GAUGE_TOKENS and Simulation variables (for use in gauge XML or Modeldef.xml animation tags)

FAILURE_RECORD enum

GAUGE_TOKEN

XML A: variable

FAIL_SYSTEM_ENGINE

PP_ENGINE

PARTIAL PANEL ENGINE (will only get the state of engine #1) or

ENG FAILED:1, ENG FAILED:2, etc. for each engine.

FAIL_SYSTEM_PITOT_STATIC

PP_PITOT

PARTIAL PANEL PITOT

FAIL_SYSTEM_VACUUM

PP_VACUUM

PARTIAL PANEL VACUUM

FAIL_GAUGE_ADF

PP_ADF

PARTIAL PANEL ADF

FAIL_GAUGE_AIRSPEED

PP_AIR

PARTIAL PANEL AIRSPEED

FAIL_GAUGE_ALTIMETER

PP_ALTIM

PARTIAL PANEL ALTIMETER

FAIL_GAUGE_ATTITUDE

PP_ATTITUDE

PARTIAL PANEL ATTITUDE

FAIL_GAUGE_COMMUNICATIONS

PP_COM

PARTIAL PANEL COMM

FAIL_GAUGE_FUEL_INDICATORS

PP_FUEL_IND

PARTIAL PANEL FUEL INDICATOR

FAIL_GAUGE_GYRO_HEADING

PP_HEADING

PARTIAL PANEL HEADING

FAIL_GAUGE_MAGNETIC_COMPASS

PP_COMPASS

PARTIAL PANEL COMPASS

FAIL_GAUGE_NAVIGATION_VOR1

PP_NAV

PARTIAL PANEL NAV:1

FAIL_GAUGE_NAVIGATION_VOR2

PARTIAL PANEL NAV:2

FAIL_GAUGE_TRANSPONDER

PP_XPNDR

PARTIAL PANEL TRANSPONDER

FAIL_GAUGE_TURN_COORDINATOR

PP_TURN_COORD

PARTIAL PANEL TURN COORDINATOR

FAIL_GAUGE_VERTICAL_SPEED

PP_VERT_VEL

PARTIAL PANEL VERTICAL VELOCITY

FAIL_SYSTEM_ELECTRICAL_PANELS

PP_ELECT

PARTIAL PANEL ELECTRICAL

FAIL_SYSTEM_ELECTRICAL_AVIONICS

PARTIAL PANEL AVIONICS

FAIL_GAUGE_COMMUNICATIONS_COM2

PARTIAL PANEL COMM:2

The units of partial panel variables are an enum: 0 = operative; 1 = inoperative; 2 = blanked.

Note that there is no token variable for NAV2, avionics, or COM2.

Any questions?