menu SimVim Home

SimVimPanel - FMS Systems

Boeing FMS CDU

SimVimX CDU program includes a set of custom datarefs that provide SimVimPanel a standardized way of displaying FMS data, independent of any aircraft model. By default, the program supports standard X-Plane (ver. 11.30+) CDU for all planes that use it, as well as having custom support for Zibo B737-800.

You can use the SimVimX CDU as part of SimVimPanel with realistic background and working clickable buttons (you can also use a touchscreen for this), as you can see in the first (left) photo below. it can be either a small LCD screens for a single left /right CDU or a wide LCD screen for both CDUs. The "bezel" in the right photo below and video is just the same SimVimPanel background printed on thick paper

fms fms

Or, you can use it as a screen only, displayed on any small (or large) LCD with a simple cover bezel. The simple and quick way of making CDU bezel is gluing common cheap momentary micro switches to the backside of the PVC bezel and soldering thin wires horizontally and vertically across switches to form the matrix ( read about the RSC matrix predefined for SimVimX FMS CDU).

Of course, the toggle buttons should be small (flat) so that the screen is closer to the bezel cutout, in the picture below they are enlarged for visual clarity. You can find the buttons with a height of 2-3 mm.

fms

Download:

ModuleLast UpdatedOptimal LCD sizeNotes
FMS 11 Feb. 2021
FMS 21 Feb. 2021

Note: The information below is intended for qualified users. If you need an external CDU for your custom aircraft and if you are familiar with scripting for X-Plane, you can reassign FMS data without waiting for us to create it for your specific aircraft.


SimVimX FMS CDU and custom planes

Custom SimVimX datarefs for FMS display were created as a unified way of displaying data on SimVimPanel FMS modules for any custom aircraft. In case you have a custom aircraft model that has its own FMS datarefs with a different format, our FMS datarefs can be written by an outside program, so they can be filled with the needed data in the appropriate format and still be used with SimVimPanel.

The SimVimX CDU works As-Is with any aircraft models that are using standard X-Plane FMS-CDU system (as Laminar B737, B747-400, MD82 ). Also, by default, it supports data from the Zibo Mod of the B738.

The SimVimX FMS function reads the standard data and converts them to more compact SimVimX data format to send to CDU display.

SimVimPanel CDU data format

The data format in SimVimX FMS is very simple. Each line (0-15) is represented by 48 bytes, two bytes for a single character:

fms

The SimVimX CDU works As-Is with any aircraft models that are using standard X-Plane FMS-CDU system (as Laminar B737, B747-400, MD82 ). Also, by default, it supports data from the Zibo Mod of the B738.

FMS customization

Our FMS datarefs are writable, so if you are familiar with X-Plane programming, you can create a script for your custom aircraft that will write data to SimVimX Plugin FMS datarefs, so this data will be displayed on SimVimPanel FMS.

Custom Aircraft CDUs

Your plane model may have its own custom datarefs, either using the same data structure as X-Plane implements – one set of datarefs for each text line and the second set for the text style, or it may have completely different dataref format for it’s CDU.

In this case you need to write a simple data covert script to “remap” all custom datarefs that are used to format the CDU display in your plane model, to “SimVimX” format, using the SimVimX dataref set:

simvim/panel/fms_line0
simvim/panel/fms_line1
….
….
simvim/panel/fms_line15

So, you will need to get the text and style data for FMS lines from your custom aircraft’s datarefs, and write it into our FMS line datarefs in the correct format, described here.


First, you need to set the override “simvim/panel/fms_override” or “simvim/panel/fms2_override” (integer dataref) to “1”, so that the FMS line datarefs will stop reading default data and accept the custom text.

Then, you can write your text data to the “simvim/panel/fms_line#” or “simvim/panel/fms2_line#” datarefs (# from 0 to 15).

The SimVimX Plugin FMS Line datarefs are byte array type datarefs that combine both text and style data – each FMS screen character is presented as 2 bytes – the first byte is the character itself, and the second one is the character’s style code.

The first byte represents common characters the same way as they are encoded in the ASCII table, with the exception of some special characters. X-Plane’s default FMS datarefs use several bytes to encode such special characters, but in SimVimX Plugin, they are encoded as a single character. Here are the hexadecimal codes used for special characters:

0x8F – Degrees
0x8D – Box
0x8E – White hexagon
0x88 – Left-facing triangle
0x89 – Right-facing triangle
0x80 – Arrow left
0x81 – Arrow up
0x82 – Arrow right
0x83 – Arrow down
0x7F – Delta

The second byte, containing letter style data, is formatted exactly the same way as in X-Plane’s default FMS line style datarefs, with every bit acting as a flag for different styles or color.

Here is the summary of this format (quote from the X-Plane developer article):

  • The highest bit is set for a text displayed in large font. So use mask (1<<7) for the bit that tells you large vs small font.
  • The second highest bit is set for a text displayed in reverse video (colored background, black text). So use mask (1<<6) for the bit that tells you to invert the colors.
  • The third highest bit is set for a text displayed flashing (text being turned an and off periodically). So use mask (1<<5) for the bit that tells you to flash.
  • The fourth highest bit is set for a text with an underscore. So use mask (1<<4) for the bit that tells you to display an underscore under the character.
  • The remaining four bits encode the color of the text (or the background for reverse video): BLACK(0),CYAN(1),RED(2),YELLOW(3),GREEN(4),MAGENTA(5),AMBER(6),WHITE(7).

For example, the line for displaying the letters “FMS” in large white letters will be this (6 bytes):

| F | 0x87 | M | 0x87 | S | 0x87 |






Support the project by subscribing to our Patreon

dwn dwn dwn

SimVim/SimVimX 2017 - 2023