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
and 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.
- can_channel - describes a single CAN channel.
- can_port - describes a single CAN Port.
- 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.
- input - describes a single 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.
- condition - describes a single 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.
- item - describes a single item.
- channel - describes a single channel.
- 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.
- keypad_event - describes a single keypad 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.
- gauge - describes a single gauge.
- properties - properties of the page.
- page - describes a single page.
- 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.
- condition - describes a single condition.
- sensor - describes a single sensor. The properties vary depending on the sensor type.
- 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.
- graphic - describes a single graphic.
- 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.
- led - describes a single 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.
- condition - JSON object containing condition details.
- conditions - JSON object containing array of conditions.
- led - describes a single LED.
- group - LED group definition.
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="<>"/>
<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>