FMS CDU text output

The SimVimPanel CDU, displayed on any cheap LCD screen connected to a mini-PC/Raspberry uses the default X-Plane CDU data structure, converting it into specific SimVim format.


Current X-Plane CDU data format

The X-Plane developers have added the dataref array for CDU screen content since XP 11.35:

sim/cockpit2/radios/indicators/fms_cdu1_text_line#
sim/cockpit2/radios/indicators/fms_cdu2_text_line#

(where # is number from 0 to 15)

This dataref set consists of 16 datarefs, each one represents one CDU text line (totally up to 16 lines) with 24 UTF-8 coded characters:

(note that some UTF-8 symbols can consist of more than one byte (up to 4), so the total length of dataref array can vary from 24 to 40+).

Another dataref group (16) is used in combination with above “CDU line content” datarefs and contain the formatting information (font size, color, underscore, flashing or inverted text) for each character in the corresponding line:

sim/cockpit2/radios/indicators/fms_cdu1_style_line#
sim/cockpit2/radios/indicators/fms_cdu2_style_line#

(where # is number from 0 to 15)


SimVimPanel CDU data format

The SimVimPanel CDU works as-is with any aircraft models that are using standard X-Plane FMS-CDU system (as Laminar B737, B747-400, MD82 ).
The SimVim FMS function reads the standard data and converts them to more compact SimVim data format to send to CDU display.

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 “SimVIm” format, using the SimVim dataref set:

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

One “simvim/panel/fms_line#” dataref array for one line always has the same length of 48 bytes – two bytes for each character. The first byte is the character or symbol code and the second byte describes the character style.

Possibly (in the future), you will have a plane model with custom FMS data in the same format as SimVim CDU. In that case the external SimVIm CDU panel will work as-is.

The full SimVim format will be described later….