![]() Winter & Sage Flight Simulator GaugesI've started creating several new gauges which I plan to make available here. Unless otherwise mentioned, my gauges all have these general features:
Everything here has only been tested in fs2002 so far. Why XML Gauges are goodFS2002 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 gaugesAs 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 methodsTo 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
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
Sage CVADownload 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 302Download available soon
(Still in development)
Astrotech LC-6 Digital ChronometerDownload 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:
Winter Bordgeräte 6FMS Airspeed IndicatorDownload 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.
Copyright © 2004 Kris
Feldmann |