Winter 6FMS ASI and Sage CVA Vario
Winter & Sage

Flight Simulator Gauges

I've started creating several new gauges which I plan to make available here. Unless otherwise mentioned, my gauges all have these general features:

  • Automatically use English or metric units depending upon user preference setting
  • Support FS instrument and system failures
  • Provide Help and Tooltip strings
  • Have glare during the day but not at night
  • Illuminate with panel lighting (if applicable)
  • Created in XML-Gauge format for openness
  • Do not have mounting screws included

Everything here has only been tested in fs2002 so far.

Why XML Gauges are good

FS2002 and later support "XML gauges": gauges written in an interpreted format which is a mixture of XML and a unique stack-based scripting language which here I will refer to simply as RPN, since it uses Reverse Polish Notation and seems to have no official name. Contrary to the belief of many gauge developers, XML is not the creation of Micro$oft, but an open standard proposed by W3C. XML has many uses beyond FS gauges. The scripting language I'm calling RPN, however, is a Micro$soft construct, and if you try writing XML gauges you will soon see that the two were created by very different entities.

I like interpreted languages because they are generally quite high-level which makes the code more readable and quicker to develop, and also because source code is automatically included with any distribution since there is no compilation. Unfortunately Micro$oft has included a few quirks in the implementation which destroy the readability aspect: most notably the fact that carriage returns cannot occur within the code! Dispite this and a few other limitations, I've decided to create most of my gauges in the XML-based format. This way people can examine and modify the code, either for education, curiosity, or even to make improvements. If only the rest of the sim were as open!

Notes on creating XML gauges

As with everything else involved in FS, the XML gauge documentation in the Panels SDK is woefully incomplete. I'm trying to jot down notes each time I discover something which (at least to me) is not clear in the SDK.

Read my notes.

Tools and methods

To deal with the fact that in FS2002 gauges the RPN code in XML gauges cannot be formatted without it breaking in random and unpredictable ways I created a script, foldvals, to reformat the RPN before packaging. This allows me to write nicely formatted code instead of having to write (and read) the almost incomprehensible single-line constructs which can be seen in all of the XML gauges included in FS2002 (in fs9 this problem has been partially fixed. Code inside <value> tags can now remain formatted, although the problem still exists in other tags. I still use my foldvals script to un-format the code everywhere). To make this an automatic process, I simply create a "make.bat" script for each gauge project which looks something like this:

    @ECHO OFF

    foldvals.py mygauge1_edit.xml > mygauge1.xml
    foldvals.py mygauge2_edit.xml > mygauge2.xml

    iexpress /n mycollection.sed

Another significant problem is that there is absolutely no feedback from the interpreter about syntax problems or typos. I once wasted a couple of hours because I typed "if {" instead of "if{" (and my experience with many other languages with more flexible parsers prevented me from seeing it even while I was looking right at it!). My next tool for XML gauge development will definitely be a syntax-checker/preprocessor. This will also be a line in my make.bat scripts and will issue warnings for syntax errors, unused variables and the like. I may also implement other preprocessor functionality like includes (that is if I feel ambitious!).

Downloads

THIS SOFTWARE IS PROVIDED BY THE AUTHOR “AS IS” WITHOUT ANY WARRANTIES. Modification, redistribution, bundling allowed provided that all of the conditions in the license are met. See the license for important details and disclaimer.

Sage CVA

Download available soon

The real CVA is an 80mm, fast mechanical variometer with integrated 20 second averager. The fast-vario range is -10 to +20 knots (-5 to +10 m/s) with a 1-second time constant and a separate needle for the high range (+10 to +20 knots). The averager has a +/- 12 knot range. This FS gauge displays total-energy variance, simulating the connection to a total-energy probe. Being a mechanical vario, there is no audio output.

Cambridge Aero Instruments 302

Download available soon

(Still in development)
Cambridge Aero Instruments' 302 is an amazing piece of equipment. The real instrument is a direct-digital variometer, a glide computer and a GPS flight logger all in one 57mm package. It uses special technology to filter out gusts and even uses accellerometers on two axes to help decipher what is valid lift and what isn't! It switches automatically between climb and cruise modes, provides "smart" averaging with a trend indicator, speed-to-fly, minimum speed alarm (balast and "g" compensated) and much more. Read about the real 302 here.

	
Astrotech LC-6 Digital Chronometer

Download available soon

The Astrotech LC-6 is a precision, five-function, six-digit clock/timer with simple three-button operation. Each of the five functions can be selected for viewing. Mounts into a standard 57mm mounting hole. Back light for night operation is planned but not yet implemented. Includes complete instructions.

Functions are:

  • Local Time
  • Universal Coordinated Time
  • Flight Timer
  • Stopwatch
  • Countdown Timer
	
Winter Bordgeräte 6FMS Airspeed Indicator

Download available soon

A model of Winter's 80mm one-and-a-half turn, exponential airspeed indicator. This instrument is available in a variety of units and scales. Modeled here is the 300-km/h / 160-knot scale, with zero at 6-O'clock. The face is not marked with color codes for any particular aircraft, which is how the instrument is manufactured. The color arcs are stickers which are available separately. Feel free to paint colored arcs on yours if you like, or you can create other gauges to overlay this one with little pieces of tape, etc. marking significant speeds. Fits into an 80mm mounting hole.

home

Copyright © 2004 Kris Feldmann
kris at rotted dot com