XML Setup Import / Export

Overview

For external editing of setup files in a text editor or comparison using a merge tool, setups can be converted to an XML based format.

Use the File | Export Setup to XML... and File | Import Setup from XML... menu actions to export / import XML based setups.

XML Format

The best way to get a feel for the XML format is to export a setup and look at the generated XML in a text editor such as VS Code.

Tip

Use a tool such as WinMerge to compare the XML files to see what has changed between versions of the file.

  • display_setup - the root node defines the display type and screen size.
    • notes - Includes any notes from the setup file entered in the ‘save setup’ dialog.
    • can_ports - groups can_port nodes.
      • can_port - describes a single CAN Port.
        • index - The CAN port number, starting at 0.
        • bitrate - The CAN port speed setting.
        • termination_resistor - Enable / Disable software selectable CAN bus termination resistor.
        • can_channels - groups can_channel nodes.
          • can_channel - describes a single CAN channel.
            • name - The name of the CAN channel.
            • id - The CAN ID.
            • bit - The bit position of the data in the CAN message.
            • length - The length of the data in bits.
            • dbc_type - The data type of the data.
            • endian - The byte order of the data.
            • canmask - The mask to apply to the CAN ID.
            • comcodex - The COM codex to use.
            • output - describes the output of the CAN channel.
              • name - The name of the output.
              • sensor - describes the sensor used by the output.
                • shared - The name of the shared sensor, if not supplying sensor values in-line. See shared_sensors node.
                • type - The type of the sensor.
                • name - The name of the sensor.
                • factor - The factor to apply to the sensor value.
                • offset - The offset to apply to the sensor value.
    • channels - groups channel nodes.
      • channel - describes a single channel.
        • type - The type of the channel.
        • output_type - The output type of the channel.
        • predefined - Indicates if the channel is predefined.
        • name - The name of the channel.
        • inputs - groups input nodes.
          • input - describes a single input.
            • id - The ID of the input.
        • sensor - describes the sensor used by the channel. The properties vary depending on the sensor type.
          • shared - The name of the shared sensor, if not supplying sensor values in-line. See shared_sensors node.
          • type - The type of the sensor.
          • name - The name of the sensor.
          • factor - The factor to apply to the sensor value.
          • offset - The offset to apply to the sensor value.
          • pre_delay - The pre-delay to apply to the sensor value.
          • retrigger_time - The retrigger time to apply to the sensor value.
          • conditions - groups condition nodes.
            • condition - describes a single condition.
              • comparator - The comparator to use.
              • limit - The limit to compare against.
              • logic - The logic to apply to the condition.
        • items - groups item nodes.
          • item - describes a single item.
            • value - The value of the item.
            • on_time - The on time of the item.
            • off_time - The off time of the item.
            • max_duration - The max duration of the item.
            • graphic - The graphic to use for the item.
    • pages - groups page nodes.
      • page - describes a single page.
        • properties - properties of the page.
          • screenId - The screen ID of the page.
          • name - The name of the page.
          • colour - The colour of the page.
          • tags - groups item nodes.
            • item - describes a single item.
          • favourite - The favourite setting of the page.
          • defaultBgColour - The default background colour of the page.
          • defaultLineColour - The default line colour of the page.
          • defaultFillColour - The default fill colour of the page.
          • defaultTextColour - The default text colour of the page.
          • defaultWarningColour - The default warning colour of the page.
          • defaultFont - groups name and size nodes.
            • name - The name of the font.
            • size - The size of the font.
        • keypad_events - groups keypad_event nodes.
          • keypad_event - describes a single keypad event.
            • key_id - The ID of the key.
            • event_type - The type of the event.
            • key_type - The type of the key.
            • priority - The priority of the event.
            • output - The output of the event.
        • events - groups event nodes.
          • event - describes a single event.
        • gauges - groups gauge nodes.
          • gauge - describes a single gauge.
            • type - The type of the gauge.
            • properties - groups properties nodes.
              • name - The name of the gauge.
              • input - The input of the gauge.
              • left - The left position of the gauge.
              • top - The top position of the gauge.
              • width - The width of the gauge.
              • height - The height of the gauge.
              • lineColour - The line colour of the gauge.
              • backgroundColour - The background colour of the gauge.
              • fillColour - The fill colour of the gauge.
              • startValue - The start value of the gauge.
              • endValue - The end value of the gauge.
              • segmentSize - The segment size of the gauge.
              • labelColour - The label colour of the gauge.
              • labelFont - groups name and size nodes.
                • name - The name of the font.
                • size - The size of the font.
              • barTachoRectangular - The bar tacho rectangular setting of the gauge.
              • separatorsBetweenBars - The separators between bars setting of the gauge.
              • smoothEdges - The smooth edges setting of the gauge.
              • formatString - The format string of the gauge.
              • labelFrequency - The label frequency of the gauge.
              • labelDivisor - The label divisor of the gauge.
              • lowerLimitEnabled - The lower limit enabled setting of the gauge.
              • lowerLimitEnd - The lower limit end of the gauge.
              • lowerLimitColour - The lower limit colour of the gauge.
              • upperLimitEnabled - The upper limit enabled setting of the gauge.
              • upperLimitStart - The upper limit start of the gauge.
              • upperLimitColour - The upper limit colour of the gauge.
              • lowerLimitFlash - The lower limit flash setting of the gauge.
              • upperLimitFlash - The upper limit flash setting of the gauge.
              • flashAllEnabled - The flash all enabled setting of the gauge.
              • flashAllStart - The flash all start of the gauge.
              • flashRate - The flash rate of the gauge.
              • caption - The caption of the gauge.
              • textColour - The text colour of the gauge.
              • font - groups name and size nodes.
                • name - The name of the font.
                • size - The size of the font.
              • textJustify - The text justify setting of the gauge.
              • backgroundColour - The background colour of the gauge.
              • formatString - The format string of the gauge.
              • specialFormat - The special format of the gauge.
              • colourMode - The colour mode of the gauge.
              • graphicInput - The graphic input of the gauge.
              • graphic - The graphic of the gauge.
    • shared_sensors - groups sensor nodes. Shared sensors are referenced by channels.
      • sensor - describes a single sensor. The properties vary depending on the sensor type.
        • name - The name of the sensor.
        • type - The type of the sensor.
        • factor - The factor to apply to the sensor value.
        • offset - The offset to apply to the sensor value.
        • pre_delay - The pre-delay to apply to the sensor value.
        • retrigger_time - The retrigger time to apply to the sensor value.
        • conditions - groups condition nodes.
          • condition - describes a single condition.
            • comparator - The comparator to use.
            • limit - The limit to compare against.
            • logic - The logic to apply to the condition.
    • graphics - groups graphic nodes.
      • graphic - describes a single graphic.
        • filename - The file name of the graphic, used by references in the setup.
        • width - The width of the graphic.
        • height - The height of the graphic.
        • size_bytes - The total number of bytes in the image data.
        • data - The data of the graphic, base-64 encoded.
    • led_rules - For display with rule-based LED setup, defines the LED configuration.
      • group - LED group definition.
        • name - The name of the LED group.
        • leds - groups led nodes. The “All Screens” group is special and should not be moved/removed.
          • led - describes a single LED.
            • name - The name of the LED.
            • pages - JSON object containing array of page IDs that the LED group is active on.
            • rule - Set of conditions and LED patterns.
              • conditions - JSON object containing array of conditions.
                • condition - JSON object containing condition details.
                  • channel_a - The first channel to use for the condition.
                  • comparator_a - Comparison operator to use for the first channel.
                  • value_a - The value to compare against for the first channel.
                  • channel_b - The second channel to use for the condition.
                  • comparator_b - Comparison operator to use for the second channel.
                  • value_b - The value to compare against for the second channel.
                  • leds - groups led nodes.
                    • led - describes a single LED.
                      • id - The ID of the LED.
                      • colour - Colour to use (or OFF)
                      • flash_colour - Flash colour to use (or OFF)
                      • flash_rate - The flash rate of the LED.
                  • pattern_mode - The pattern mode setting (None / Interpolate / Bit Pattern)
                  • right_to_left - The right to left pattern setting.
                  • interpolation_channel - The interpolation channel setting.
                  • from - Interpolate from this value.
                  • to - Interpolate to this value.

Channel Types

Type Name Description
EventManager Event Manager Special channel type used by the display event system. Should not be used by any user-defined channels.
Scalar Linear A simple numeric value with linear scaling of the form Y = mX + b.
FunctionTable Function A table of values used to map input values to output values.
Bitmask Bitmask A channel that extracts a bitfield from a numeric value.
Logic Logic A channel that performs logical operations on input values to produce a boolean result. See Logic Channels Tab .
BitString Text A channel that maps input values to strings based on bitmasks and priorities. See Text Channel .
Text Text A channel that formats input values as text. Similar to BitString but matches exact values instead of prioritized bitmasks.
ComString ECU Text A channel that reads text from external input (e.g. CAN message). See ECU Text Channel .
Notification Notification Formats input value(s) as text. See Notifications Tab .
BitmapSelector Bitmap Selector A channel that selects a bitmap based on input values. See Image Selectors Tab .
ColourGradient Colour Gradient A channel that maps input values to colours, used as a filter for some gauge types that use a colour map.
Minimum Minimum Since Reset A filter that outputs the minimum value of the input since it was reset by an external event. See Filter Channel
Maximum Maximum Since Reset A filter that outputs the maximum value of the input since it was reset by an external event. See Filter Channel
Limit Value Reject A filter that rejects out-of limits values. See Filter Channel
RateFilter Rate Reject A filter that rejects values that change too quickly. See Filter Channel
TimeFilter Rolling Minimum / Maximum / Average A filter that calculates a statistic over a rolling time period. See Filter Channel
Average Average Since Reset A filter that outputs the average of its input values since the last reset event. See Filter Channel
ETA Estimated Time of Arrival Channel that calculates the time remaining to reach destination. See ETA Channel
Freeze Freeze A filter that holds the last value when in the frozen state (controlled by events). See Freeze Channel
Timeout Input Timeout Fallback A filter that provides a fallback value when its input times-out. See Filter Channel
ErrorText Error Text A filter that outputs a text message when its input is out of range. See Filter Channel
CalibrationFactor Calibration Factor A channel that applies a factor to its input value. See Calibration Factor Channel
DistanceCountdown Distance Countdown A channel that counts down from a distance value. See Distance Countdown Channel
Distance Distance Trip A channel that accumulates distance travelled. See Distance Trip Channel
Time Time of Day A channel that outputs the current time of day.
Fuel Fuel Level A channel that outputs the current fuel level. See Fuel Channel
Integrator Integrator A channel that integrates its input value over time. See Integrator Channel
Differentiator Differentiator A channel that differentiates its input value over time. See Differentiator Channel
Maths Maths A channel that performs mathematical operations on its input values. See Maths Channel
CDTimer Countdown Timer A channel that counts down from a time value. See Timers Tab
Stopwatch Stopwatch A channel that counts up from a time value. See Timers Tab
PerformanceTimer Performance Timer A channel that measures the time between two events. See Timers Tab
CanOutput CAN Output A channel that outputs its input value to a CAN message. See CAN Transmit
AudioControl Audio Control A channel that controls audio output. See
LapTime Lap Time A channel that outputs a lap timing related quantity. See Lap Timing Channels
Toggle Toggle A channel that toggles between two states, based upon an event. See
Case Case A channel that outputs a value depending on which input value is ’true’. See Case Channel
If If A channel that outputs a value depending on the value of its input. See If Channel
OnChange On Change A channel that outputs a value when its input changes. See On Change Channel

Example XML Structure

This example covers most of the node types that can be exported. The structure differs considerably from version 1 of Dash Design.

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<display_setup type="CD6-43" OriginalFilename="{path}/CD6-43 Setup.cd6-43.gdd" XMLFilename="{path}/CD6-43 Setup.xml" screen_width="800" screen_height="480">
    <notes>Added air temperature sensing.</notes>
    <can_ports>
        <can_port>
            <index>0</index>
            <bitrate>1M</bitrate>
            <termination_resistor>0</termination_resistor>
            <can_channels>
                <can_channel>
                    <name>RPM CAN</name>
                    <id>#4A9</id>
                    <bit>8</bit>
                    <length>16</length>
                    <dbc_type>unsigned</dbc_type>
                    <endian>msb_first</endian>
                    <canmask>3</canmask>
                    <comcodex>0</comcodex>
                    <output type="Scalar" output_type="1">
                        <name>RPM</name>
                        <sensor shared="x1 scalar" type="Scalar"/>
                    </output>
                </can_channel>
                <can_channel>
                    <name>AIR TEMP CAN</name>
                    <id>#4A9</id>
                    <bit>24</bit>
                    <length>8</length>
                    <dbc_type>unsigned</dbc_type>
                    <canmask>8</canmask>
                    <output type="Scalar" output_type="1">
                        <name>AIR TEMP CAN</name>
                        <sensor type="Scalar" name="AIR TEMP CAN_scalar">
                            <factor>1.0</factor>
                            <offset>0.0</offset>
                        </sensor>
                    </output>
                </can_channel>
            </can_channels>
        </can_port>
        <can_port>
            <index>1</index>
            <bitrate>1M</bitrate>
            <termination_resistor>0</termination_resistor>
            <can_channels/>
        </can_port>
    </can_ports>
    <channels>
        <channel type="EventManager" output_type="1" predefined="1">
            <name>EVENT MGR</name>
            <inputs>
                <input id="1">Page Select</input>
                <input id="3">Brightness</input>
                <input id="4">Page Select</input>
            </inputs>
            <sensor shared="EVENT MGR" type="EventManager"/>
        </channel>
        <channel type="Scalar" output_type="1" predefined="1">
            <name>A00 Raw</name>
            <inputs>
                <input id="1">A00 A/D</input>
            </inputs>
        </channel>
        <channel type="Scalar" output_type="1">
            <name>Internal status</name>
            <sensor type="Scalar" name="Internal status:Value_scalar">
                <factor>1.0</factor>
                <offset>0.0</offset>
            </sensor>
        </channel>
        
        <channel type="Logic" output_type="1">
            <name>FuelAlarm</name>
            <inputs>
                <input id="1">Fuel</input>
            </inputs>
            <sensor type="Logic" name="FuelAlarm_Alarm_">
                <pre_delay>0</pre_delay>
                <retrigger_time>0</retrigger_time>
                <conditions>
                    <condition>
                        <comparator>Less</comparator>
                        <limit>0.25</limit>
                        <logic>None</logic>
                    </condition>
                </conditions>
            </sensor>
        </channel>

        <channel type="BitmapSelector" output_type="2">
            <name>FuelBitmaps</name>
            <inputs>
                <input id="1">FuelAlarm</input>
            </inputs>
            <items>
                <item>
                    <value>0.0</value>
                    <on_time>0.0</on_time>
                    <off_time>0.0</off_time>
                    <max_duration>0.0</max_duration>
                    <graphic>C:/Graphics/FuelIconGrey.bmp</graphic>
                </item>
                <item>
                    <value>1.0</value>
                    <on_time>0.0</on_time>
                    <off_time>0.0</off_time>
                    <max_duration>0.0</max_duration>
                    <graphic>C:/Graphics/FuelIconRed.bmp</graphic>
                </item>
            </items>
            <sensor shared="Bitmap Sel" type="BitmapSelector"/>
        </channel>


        <channel type="Notification" output_type="2">
            <name>Warning Message</name>
            <items>
                <item>
                    <message>Low Battery @</message>
                    <format>##.#</format>
                    <input>Bat Alarm</input>
                    <label_input>Batt Volts</label_input>
                </item>
                <item>
                    <message>Coolant High @</message>
                    <format>###</format>
                    <input>Coolant Alarm</input>
                    <label_input>Coolant T</label_input>
                </item>
            </items>
            <sensor shared="Warning Message" type="Notification"/>
        </channel>

        
    <pages>
        <page id="0">
            <properties>
                <screenId value="All Screens"/>
                <name value=""/>
                <colour>#000000</colour>
                <tags/>
                <favourite value="0"/>
                <defaultBgColour>#161D1F</defaultBgColour>
                <defaultLineColour>#C0C0C0</defaultLineColour>
                <defaultFillColour>#FDB813</defaultFillColour>
                <defaultTextColour>#C0C0C0</defaultTextColour>
                <defaultWarningColour>#FF0000</defaultWarningColour>
                <defaultFont>
                    <name></name>
                    <size>18</size>
                </defaultFont>
            </properties>
            <keypad_events>
                <keypad_event>
                    <key_id>1</key_id>
                    <event_type>2</event_type>
                    <key_type>0</key_type>
                    <priority>1</priority>
                    <output>Distance Trip</output>
                </keypad_event>
                <keypad_event>
                    <key_id>1</key_id>
                    <event_type>2</event_type>
                    <key_type>1</key_type>
                    <priority>1</priority>
                    <output>Distance Trip</output>
                </keypad_event>
                <keypad_event>
                    <key_id>1</key_id>
                    <event_type>2</event_type>
                    <key_type>2</key_type>
                    <priority>1</priority>
                    <output>Distance Trip</output>
                </keypad_event>
            </keypad_events>
            <events/>
            <gauges/>
        </page>
        <page id="1">
            <properties>
                <screenId value="1"/>
                <name value=""/>
                <colour>#000000</colour>
                <enabled value="1"/>
                <tags/>
                <favourite value="0"/>
                <defaultBgColour>#008001</defaultBgColour>
                <defaultLineColour>#000001</defaultLineColour>
                <defaultFillColour>#00FF01</defaultFillColour>
                <defaultTextColour>#00FF01</defaultTextColour>
                <defaultWarningColour>#FF0001</defaultWarningColour>
                <defaultFont>
                    <name>Arial</name>
                    <size>18</size>
                </defaultFont>
            </properties>
            <events/>
            <gauges>
                <gauge type="TEXT_INPUT">
                    <properties>
                        <name value="Value Text: Gear Posn"/>
                        <input value="Gear Posn"/>
                        <left value="337"/>
                        <top value="180"/>
                        <textColour>#00FFFF</textColour>
                        <backgroundColour>#000001</backgroundColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>300</size>
                        </font>
                        <textJustify value="Left"/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="BAR_TACHO">
                    <properties>
                        <name value="Bar Tacho: RPM"/>
                        <input value="RPM"/>
                        <left value="6"/>
                        <top value="3"/>
                        <width value="785"/>
                        <height value="289"/>
                        <lineColour>#1A1A1A</lineColour>
                        <backgroundColour>#252525</backgroundColour>
                        <fillColour>#FFA500</fillColour>
                        <startValue value="0"/>
                        <endValue value="9000"/>
                        <segmentSize value="500"/>
                        <labelColour>#A9A9A9</labelColour>
                        <labelFont>
                            <name>Open 24 Display St</name>
                            <size>30</size>
                        </labelFont>
                        <barTachoRectangular value="0"/>
                        <separatorsBetweenBars value="1"/>
                        <smoothEdges value="0"/>
                        <formatString value="#"/>
                        <labelFrequency value="2"/>
                        <labelDivisor value="1000"/>
                        <lowerLimitEnabled value="0"/>
                        <lowerLimitEnd value="0"/>
                        <lowerLimitColour>#008000</lowerLimitColour>
                        <upperLimitEnabled value="1"/>
                        <upperLimitStart value="8500"/>
                        <upperLimitColour>#FF0000</upperLimitColour>
                        <lowerLimitFlash value="0"/>
                        <upperLimitFlash value="1"/>
                        <flashAllEnabled value="1"/>
                        <flashAllStart value="8500"/>
                        <flashRate value="100"/>
                    </properties>
                </gauge>
                <gauge type="VALUE">
                    <properties>
                        <name value="Value: Road Speed"/>
                        <input value="Road Speed"/>
                        <left value="163"/>
                        <top value="0"/>
                        <textColour>#FFA500</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>100</size>
                        </font>
                        <textJustify value="Right"/>
                        <backgroundColour>#008001</backgroundColour>
                        <formatString value="#"/>
                        <specialFormat value="None"/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="TEXT">
                    <properties>
                        <name value="Text: KPH"/>
                        <caption value="KPH"/>
                        <left value="171"/>
                        <top value="19"/>
                        <textColour>#6E6E6E</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>30</size>
                        </font>
                        <textDirection value="Right"/>
                        <textJustify value="Left"/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="VALUE">
                    <properties>
                        <name value="Value: Fastest Lap Time Delta"/>
                        <input value=""/>
                        <left value="600"/>
                        <top value="240"/>
                        <textColour>#FF1493</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>56</size>
                        </font>
                        <textJustify value="Left"/>
                        <backgroundColour>#008001</backgroundColour>
                        <formatString value="msff"/>
                        <specialFormat value=""/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="TEXT">
                    <properties>
                        <name value="Text: Δ"/>
                        <caption value="Δ"/>
                        <left value="520"/>
                        <top value="260"/>
                        <textColour>#FF1493</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>30</size>
                        </font>
                        <textDirection value="Right"/>
                        <textJustify value="Left"/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="VALUE">
                    <properties>
                        <name value="Value: Last Lap Time"/>
                        <input value=""/>
                        <left value="600"/>
                        <top value="360"/>
                        <textColour>#C0C0C0</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>56</size>
                        </font>
                        <textJustify value="Left"/>
                        <backgroundColour>#008001</backgroundColour>
                        <formatString value="msff"/>
                        <specialFormat value=""/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="TEXT">
                    <properties>
                        <name value="Text: Last"/>
                        <caption value="Last"/>
                        <left value="520"/>
                        <top value="380"/>
                        <textColour>#C0C0C0</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>30</size>
                        </font>
                        <textDirection value="Right"/>
                        <textJustify value="Left"/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="VALUE">
                    <properties>
                        <name value="Value: Fastest Lap Time"/>
                        <input value=""/>
                        <left value="600"/>
                        <top value="420"/>
                        <textColour>#00FF00</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>56</size>
                        </font>
                        <textJustify value="Left"/>
                        <backgroundColour>#008001</backgroundColour>
                        <formatString value="msff"/>
                        <specialFormat value=""/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="TEXT">
                    <properties>
                        <name value="Text: Best"/>
                        <caption value="Best"/>
                        <left value="520"/>
                        <top value="440"/>
                        <textColour>#00FF00</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>30</size>
                        </font>
                        <textDirection value="Right"/>
                        <textJustify value="Left"/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="HS_BAR">
                    <properties>
                        <name value="HS Bar: Fuel"/>
                        <input value="Fuel"/>
                        <left value="10"/>
                        <top value="315"/>
                        <width value="250"/>
                        <height value="49"/>
                        <lineColour>#121212</lineColour>
                        <backgroundColour>#1F1F1F</backgroundColour>
                        <fillColour>#FF8C00</fillColour>
                        <startValue value="0"/>
                        <endValue value="1"/>
                        <segmentSize value="0.1"/>
                        <fillBarFromCenterHorizontal value="0"/>
                        <singleLineMode value="0"/>
                        <separatorsBetweenBars value="1"/>
                        <squareMode value="0"/>
                        <cornerRadius value="0"/>
                    </properties>
                </gauge>
                <gauge type="HS_BAR">
                    <properties>
                        <name value="HS Bar: Coolant T"/>
                        <input value="Coolant T"/>
                        <left value="10"/>
                        <top value="370"/>
                        <width value="250"/>
                        <height value="49"/>
                        <lineColour>#121212</lineColour>
                        <backgroundColour>#1F1F1F</backgroundColour>
                        <fillColour>#FF8C00</fillColour>
                        <startValue value="0"/>
                        <endValue value="150"/>
                        <segmentSize value="15"/>
                        <fillBarFromCenterHorizontal value="0"/>
                        <singleLineMode value="0"/>
                        <separatorsBetweenBars value="1"/>
                        <squareMode value="0"/>
                        <cornerRadius value="0"/>
                    </properties>
                </gauge>
                <gauge type="HS_BAR">
                    <properties>
                        <name value="HS Bar: Batt Volts"/>
                        <input value="Batt Volts"/>
                        <left value="10"/>
                        <top value="425"/>
                        <width value="250"/>
                        <height value="49"/>
                        <lineColour>#121212</lineColour>
                        <backgroundColour>#1F1F1F</backgroundColour>
                        <fillColour>#FF8C00</fillColour>
                        <startValue value="0"/>
                        <endValue value="15"/>
                        <segmentSize value="1.5"/>
                        <fillBarFromCenterHorizontal value="0"/>
                        <singleLineMode value="0"/>
                        <separatorsBetweenBars value="1"/>
                        <squareMode value="0"/>
                        <cornerRadius value="0"/>
                    </properties>
                </gauge>
                <gauge type="BITMAP">
                    <properties>
                        <name value="Image: charging_malf.bmp"/>
                        <graphicInput value="{path}/charging_malf.bmp"/>
                        <left value="265"/>
                        <top value="428"/>
                    </properties>
                </gauge>
                <gauge type="VALUE">
                    <properties>
                        <name value="Value: Current Lap Time"/>
                        <input value=""/>
                        <left value="600"/>
                        <top value="300"/>
                        <textColour>#FFFFFF</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>56</size>
                        </font>
                        <textJustify value="Left"/>
                        <backgroundColour>#008001</backgroundColour>
                        <formatString value="msff"/>
                        <specialFormat value=""/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="TEXT">
                    <properties>
                        <name value="Text: Lap"/>
                        <caption value="Lap"/>
                        <left value="520"/>
                        <top value="320"/>
                        <textColour>#FFFFFF</textColour>
                        <font>
                            <name>Open 24 Display St</name>
                            <size>30</size>
                        </font>
                        <textDirection value="Right"/>
                        <textJustify value="Left"/>
                        <colourMode value="Normal"/>
                    </properties>
                </gauge>
                <gauge type="BITMAP">
                    <properties>
                        <name value="Image: fuel_level.bmp"/>
                        <graphicInput value="{path}/fuel_level.bmp"/>
                        <left value="265"/>
                        <top value="318"/>
                    </properties>
                </gauge>
                <gauge type="BITMAP">
                    <properties>
                        <name value="Image: oil_pressure.bmp"/>
                        <graphicInput value="{path}/oil_pressure.bmp"/>
                        <left value="265"/>
                        <top value="373"/>
                    </properties>
                </gauge>
                <gauge type="HS_BAR">
                    <properties>
                        <name value="HS Bar: FakeLatG"/>
                        <input value="FakeLatG"/>
                        <left value="518"/>
                        <top value="191"/>
                        <width value="280"/>
                        <height value="49"/>
                        <lineColour>#282828</lineColour>
                        <backgroundColour>#000000</backgroundColour>
                        <fillColour>#FF0000</fillColour>
                        <startValue value="-1"/>
                        <endValue value="1"/>
                        <segmentSize value="0.1"/>
                        <fillBarFromCenterHorizontal value="1"/>
                        <singleLineMode value="0"/>
                        <separatorsBetweenBars value="1"/>
                        <squareMode value="0"/>
                        <cornerRadius value="0"/>
                    </properties>
                </gauge>
            </gauges>
        </page>
        <page id="2">
            <properties>
                <screenId value="2"/>
                <name value=""/>
                <colour>#000001</colour>
                <enabled value="1"/>
                <tags length="1">
                    <item>tacho</item>
                </tags>
                <favourite value="0"/>
                <defaultBgColour>#008001</defaultBgColour>
                <defaultLineColour>#000001</defaultLineColour>
                <defaultFillColour>#00FF01</defaultFillColour>
                <defaultTextColour>#00FF01</defaultTextColour>
                <defaultWarningColour>#FF0001</defaultWarningColour>
                <defaultFont>
                    <name>Arial</name>
                    <size>18</size>
                </defaultFont>
            </properties>
            <events/>
            <gauges>
                <gauge type="RTACHO_BMP">
                    <properties>
                        <name value="Needle: Road Speed"/>
                        <input value="Road Speed"/>
                        <left value="175"/>
                        <top value="29"/>
                        <width value="451"/>
                        <height value="451"/>
                        <lineColour>#1E90FF</lineColour>
                        <backgroundImage value="{path}/speed-tacho-270.png"/>
                        <transparentColour>#000000</transparentColour>
                        <transparent value="0"/>
                        <Needle_centreX value="225"/>
                        <Needle_centreY value="225"/>
                        <Needle_centreOffset value="56"/>
                        <Needle_needleLength value="183"/>
                        <Needle_startAngle value="30"/>
                        <Needle_endAngle value="330"/>
                        <Needle_baseWidth value="3"/>
                        <Needle_drawCentre value="0"/>
                        <startValue value="0"/>
                        <endValue value="200"/>
                    </properties>
                </gauge>
            </gauges>
        </page>
    </pages>
    <shared_sensors>
        <sensor type="Scalar" name="x1 scalar">
            <factor>1.0</factor>
            <signed>0</signed>
        </sensor>
        <sensor type="BitString" name="Gear String">
            <bitstrings match_on_value="0" mask="0">
                <items length="9">
                    <item priority="1" mask="8" string="7"/>
                    <item priority="2" mask="7" string="6"/>
                    <item priority="3" mask="6" string="5"/>
                    <item priority="4" mask="5" string="4"/>
                    <item priority="5" mask="4" string="3"/>
                    <item priority="6" mask="3" string="2"/>
                    <item priority="7" mask="2" string="1"/>
                    <item priority="8" mask="1" string="N"/>
                    <item priority="9" mask="0" string="R"/>
                </items>
            </bitstrings>
        </sensor>
        <sensor type="Logic" name="Warning Trigger">
            <conditions>
                <condition>
                    <comparator>Greater</comparator>
                    <limit>0.0</limit>
                    <logic>Or</logic>
                </condition>
                <condition>
                    <comparator>Greater</comparator>
                    <limit>0.0</limit>
                    <logic>None</logic>
                </condition>
            </conditions>
        </sensor>
        <sensor type="Notification" name="Warning Message"/>
        <sensor type="BitmapSelector" name="Bitmap Sel"/>
        <sensor type="FunctionTable" name="Contrast">
            <table lowreal_t="2" lowreal="0" highreal_t="2" highreal="2500" lowraw_t="72" lowraw="0.0" highraw_t="72" highraw="63.0" interpolate="1" signed="0">
                <map raw_t="2" raw="0" real_t="72" real="0.0"/>
                <map raw_t="2" raw="300" real_t="72" real="10.0"/>
                <map raw_t="2" raw="2500" real_t="72" real="63.0"/>
            </table>
        </sensor>
    </shared_sensors>
    <graphics>
        <graphic>
            <filename>{path}/Small Warning Black.bmp</filename>
            <width>83</width>
            <height>73</height>
            <size_bytes>113</size_bytes>
            <data>{base-64 data}</data>
        </graphic>
        <graphic>
            <filename>{path}/Small Warning Triangle.bmp</filename>
            <width>83</width>
            <height>73</height>
            <size_bytes>4416</size_bytes>
            <data>{base-64 data}</data>
        </graphic>
    </graphics>
    <led_rules>
        <group name="All Screens" predefined="1">
            <pages>{pages:[0]}</pages>
            <rule name="marshal" priority="1" bitmask="229376">
                <conditions>
                    <condition>
                        <channel_a value="A08 Raw"/>
                        <comparator_a value="="/>
                        <value_a value="1"/>
                        <channel_b value=""/>
                        <value_b value="0"/>
                        <leds>
                            <led id="15">
                                <colour value="ON"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                        </leds>
                        <right_to_left value="0"/>
                        <interpolation_channel value=""/>
                        <from value="0"/>
                        <to value="0"/>
                    </condition>
                    <condition>
                        <channel_a value="A08 Raw"/>
                        <comparator_a value="="/>
                        <value_a value="2"/>
                        <channel_b value=""/>
                        <value_b value="0"/>
                        <leds>
                            <led id="15">
                                <colour value="OFF"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="16">
                                <colour value="ON"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                        </leds>
                        <right_to_left value="0"/>
                        <interpolation_channel value=""/>
                        <from value="0"/>
                        <to value="0"/>
                    </condition>
                    <condition>
                        <channel_a value="A08 Raw"/>
                        <comparator_a value="="/>
                        <value_a value="3"/>
                        <channel_b value=""/>
                        <value_b value="0"/>
                        <leds>
                            <led id="15">
                                <colour value="OFF"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="16">
                                <colour value="OFF"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="17">
                                <colour value="ON"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                        </leds>
                        <right_to_left value="0"/>
                        <interpolation_channel value=""/>
                        <from value="0"/>
                        <to value="0"/>
                    </condition>
                </conditions>
            </rule>
        </group>
        <group name="Driver">
            <pages>{pages: [1,2,3,4,5,7]}</pages>
            <rule name="Shift Lights" priority="0" bitmask="32767">
                <conditions>
                    <condition>
                        <channel_a value=""/>
                        <comparator_a value="&lt;&gt;"/>
                        <value_a value="0"/>
                        <channel_b value=""/>
                        <value_b value="0"/>
                        <leds>
                            <led id="0">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="1">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="2">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="3">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="4">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="5">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="6">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="7">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="8">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="9">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="10">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="11">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="12">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="13">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                            <led id="14">
                                <colour value="Green"/>
                                <channel value=""/>
                                <flash_colour value="OFF"/>
                                <flash_rate value="0"/>
                            </led>
                        </leds>
                        <pattern_mode value="Interpolate"/>
                        <right_to_left value="0"/>
                        <interpolation_channel value="RPM"/>
                        <from value="0"/>
                        <to value="10000"/>
                    </condition>
                </conditions>
            </rule>
        </group>
    </led_rules>
</display_setup>