﻿<?xml version="1.0" encoding="utf-8" ?>
<FusionControlCentreConfiguration version="3.0.0.0" author="Nicholas Vergunst" date_created="Tuesday, January 31st, 2008" last_modified="Thursday, February 7th, 2008">
	<require>
    <font name="Arial14" originalSize="14" font_config="Content\config\fonts\FusionFontArial14.xml"></font>
    <font name="LED50" originalSize="50" font_config="Content\config\fonts\FusionFontLED.xml"></font>
	</require>
  <general>
    <debug status="on"></debug>
    <remote>
      <watch_folder path=""></watch_folder>
    </remote>
  </general>
	<graphics>
		<main_display designed_for_size="800,600" show_at_size="800,600" menubar="sizeable" RunInSystemTray="false" MinimizeToSystemTray="true"></main_display>
    <background_image style="stretch" imagefilepath="Content\FusionSRT_images\Background\Gradient_01.png" page="0"></background_image>

    <!-- **   BEGIN CURRENT GEAR INDICATOR   ** -->
    <multiimage id="CurrentGear_Park" monitorType="variable" monitorID="Variable_CurrentGearPosition">
      <display size="67,66" location="8,15" page="0"></display>
      <image path="Content\FusionSRT_images\Gears\Park.png">
        <values atleastorequalto="-2" atmost="-1"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Park.png">
        <values atleastorequalto="-1" atmost="6"></values>
      </image>
    </multiimage>
    <multiimage id="CurrentGear_Reverse" monitorType="variable" monitorID="Variable_CurrentGearPosition">
      <display size="67,66" location="86,15" page="0"></display>
      <image path="Content\FusionSRT_images\Gears\Reverse.png">
        <values atleastorequalto="-1" atmost="0"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Reverse.png">
        <values atleastorequalto="-2" atmost="-1"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Reverse.png">
        <values atleastorequalto="0" atmost="6"></values>
      </image>
    </multiimage>
    <multiimage id="CurrentGear_First" monitorType="variable" monitorID="Variable_CurrentGearPosition">
      <display size="67,66" location="161,15" page="0"></display>
      <image path="Content\FusionSRT_images\Gears\First.png">
        <values atleastorequalto="1" atmost="2"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_First.png">
        <values atleastorequalto="-2" atmost="1"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_First.png">
        <values atleastorequalto="2" atmost="6"></values>
      </image>
    </multiimage>
    <multiimage id="CurrentGear_Second" monitorType="variable" monitorID="Variable_CurrentGearPosition">
      <display size="67,66" location="237,15" page="0"></display>
      <image path="Content\FusionSRT_images\Gears\Second.png">
        <values atleastorequalto="2" atmost="3"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Second.png">
        <values atleastorequalto="-2" atmost="2"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Second.png">
        <values atleastorequalto="3" atmost="6"></values>
      </image>
    </multiimage>
    <multiimage id="CurrentGear_Third" monitorType="variable" monitorID="Variable_CurrentGearPosition">
      <display size="67,66" location="311,15" page="0"></display>
      <image path="Content\FusionSRT_images\Gears\Third.png">
        <values atleastorequalto="3" atmost="4"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Third.png">
        <values atleastorequalto="-2" atmost="3"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Third.png">
        <values atleastorequalto="4" atmost="6"></values>
      </image>
    </multiimage>
    <multiimage id="CurrentGear_Fourth" monitorType="variable" monitorID="Variable_CurrentGearPosition">
      <display size="67,66" location="387,15" page="0"></display>
      <image path="Content\FusionSRT_images\Gears\Fourth.png">
        <values atleastorequalto="4" atmost="5"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Fourth.png">
        <values atleastorequalto="-2" atmost="4"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Fourth.png">
        <values atleastorequalto="5" atmost="6"></values>
      </image>
    </multiimage>
    <multiimage id="CurrentGear_Fifth" monitorType="variable" monitorID="Variable_CurrentGearPosition">
      <display size="67,66" location="462,15" page="0"></display>
      <image path="Content\FusionSRT_images\Gears\Fifth.png">
        <values atleastorequalto="5" atmost="6"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Fifth.png">
        <values atleastorequalto="-2" atmost="5"></values>
      </image>
      <image path="Content\FusionSRT_images\Gears\NOT_Fifth.png">
        <values atleastorequalto="6" atmost="6"></values>
      </image>
    </multiimage>
    <!-- **   END CURRENT GEAR INDICATOR   ** -->

    <!-- **   BEGIN STATIC GUAGE BACKGROUNDS   ** -->
    <staticimage>
      <image path="Content\FusionSRT_images\Guages\OutsideTemperature.png"></image>
      <display size="260,170" location="5,91" page="0" z_order="0.9"></display>
    </staticimage>
    <staticimage>
      <image path="Content\FusionSRT_images\Guages\InsideTemperature.png"></image>
      <display size="260,170" location="270,91" page="0" z_order="0.9"></display>
    </staticimage>
    <staticimage>
      <image path="Content\FusionSRT_images\Guages\OilTemperature.png"></image>
      <display size="260,170" location="535,91" page="0" z_order="0.9"></display>
    </staticimage>
    <staticimage>
      <image path="Content\FusionSRT_images\Guages\BatteryVoltage.png"></image>
      <display size="260,170" location="5,266" page="0" z_order="0.9"></display>
    </staticimage>
    <staticimage>
      <image path="Content\FusionSRT_images\Guages\CurrentDraw.png"></image>
      <display size="260,170" location="270,266" page="0" z_order="0.9"></display>
    </staticimage>
    <staticimage>
      <image path="Content\FusionSRT_images\Guages\FuelLevel.png"></image>
      <display size="260,170" location="535,266" page="0" z_order="0.9"></display>
    </staticimage>
    <!-- **   END STATIC GUAGE BACKGROUNDS   ** -->

    <!-- **   BEGIN GUAGE NEEDLES   ** -->
    <multiimage id="OutsideTemperature_Guage" monitorType="variable" monitorID="Variable_OutsideTemperature">
      <display size="180,180" location="46,139" page="0"></display>
      <options imageScaling="stretch"></options>
      <imageAUTO directory_path="Content\FusionSRT_images\Guages\UberArcByh3rk">
        <image_range filename_base="" filename_start="0" filename_end="170" filename_extension="png"></image_range>
        <value_range value_start="70" value_end="80"></value_range>
        <options rotate="5"></options>
      </imageAUTO>
    </multiimage>
    <multiimage id="InsideTemperature_Guage" monitorType="variable" monitorID="Variable_InsideTemperature">
      <display size="180,180" location="311,139" page="0"></display>
      <options imageScaling="stretch"></options>
      <imageAUTO directory_path="Content\FusionSRT_images\Guages\UberArcByh3rk">
        <image_range filename_base="" filename_start="0" filename_end="170" filename_extension="png"></image_range>
        <value_range value_start="70" value_end="80"></value_range>
        <options rotate="5"></options>
      </imageAUTO>
    </multiimage>
    <multiimage id="OilTemperature_Guage" monitorType="variable" monitorID="Variable_OilTemperature">
      <display size="180,180" location="576,139" page="0"></display>
      <options imageScaling="stretch"></options>
      <imageAUTO directory_path="Content\FusionSRT_images\Guages\UberArcByh3rk">
        <image_range filename_base="" filename_start="0" filename_end="170" filename_extension="png"></image_range>
        <value_range value_start="70" value_end="80"></value_range>
        <options rotate="5"></options>
      </imageAUTO>
    </multiimage>
    <multiimage id="BatteryVoltage_Guage" monitorType="variable" monitorID="Variable_BatteryVoltage">
      <display size="180,180" location="46,314" page="0"></display>
      <options imageScaling="stretch"></options>
      <imageAUTO directory_path="Content\FusionSRT_images\Guages\UberArcByh3rk">
        <image_range filename_base="" filename_start="0" filename_end="170" filename_extension="png"></image_range>
        <value_range value_start="70" value_end="80"></value_range>
        <options rotate="5"></options>
      </imageAUTO>
    </multiimage>
    <multiimage id="CurrentDraw_Guage" monitorType="variable" monitorID="Variable_CurrentDraw">
      <display size="180,180" location="311,316" page="0"></display>
      <options imageScaling="stretch"></options>
      <imageAUTO directory_path="Content\FusionSRT_images\Guages\UberArcByh3rk">
        <image_range filename_base="" filename_start="0" filename_end="170" filename_extension="png"></image_range>
        <value_range value_start="70" value_end="80"></value_range>
        <options rotate="5"></options>
      </imageAUTO>
    </multiimage>
    <multiimage id="FuelLevel_Guage" monitorType="variable" monitorID="Variable_FuelLevel">
      <display size="180,180" location="576,314" page="0"></display>
      <options imageScaling="stretch"></options>
      <imageAUTO directory_path="Content\FusionSRT_images\Guages\UberArcByh3rk">
        <image_range filename_base="" filename_start="0" filename_end="170" filename_extension="png"></image_range>
        <value_range value_start="70" value_end="80"></value_range>
        <options rotate="5"></options>
      </imageAUTO>
    </multiimage>
    <!-- **   END GUAGE NEEDLES   ** -->

    <!-- **   BEGIN GUAGE TEXT INDICATORS   ** -->
    <text_label id="OutsideTemperature_Guage_TextIndicator" text="00" auto_monitor="variable" auto_monitorTarget="Variable_OutsideTemperature">
      <font font_id="LED50" font_size="40"></font>
      <display location="97,191" page="0"></display>
      <config decimals="1" max_size="77,32"></config>
    </text_label>
    <text_label id="InsideTemperature_Guage_TextIndicator" text="00" auto_monitor="variable" auto_monitorTarget="Variable_InsideTemperature">
      <font font_id="LED50" font_size="40"></font>
      <display location="362,191" page="0"></display>
      <config decimals="1" max_size="77,32"></config>
    </text_label>
    <text_label id="OilTemperature_Guage_TextIndicator" text="00" auto_monitor="variable" auto_monitorTarget="Variable_OilTemperature">
      <font font_id="LED50" font_size="40"></font>
      <display location="627,191" page="0"></display>
      <config decimals="1" max_size="77,32"></config>
    </text_label>
    <!-- **   END GUAGE TEXT INDICATORS   ** -->

    <!-- **   BEGIN BUTTONS   ** -->
    <button id="TestButton" enabled="yes" function="trigger output" functionTargetID="Test Output 1" vote="absolute" vote_opinion="on" vote_priority="low">
      <images imagePrimary="Content\FusionSRT_images\Buttons\BlankButton.png" imageSecondary="Content\FusionSRT_images\Buttons\MomentaryButton.png" imageDisabled="Content\FusionSRT_images\Buttons\MomentaryButton.png" imagePushed="Content\FusionSRT_images\Buttons\MomentaryButton.png"></images>
      <display size="255,50" location="5,444" page="0" z_order="0.0"></display>
      <options imageScaling="stretch"></options>
      <text font="Arial14" font_size="18"></text>
      <text colourPrimaryARGB="255,221,221,221" textPrimary="Momentary Button ON"></text>
      <text colourSecondaryARGB="255,221,221,221" textSecondary="Momentary Button ON"></text>
      <text colourDisabledARGB="255,90,90,90" textDisabled="Momentary Button ON"></text>
      <up_click up_click_function="trigger output" up_click_functionTargetID="Test Output 1" up_click_vote_opinion="off" up_click_vote="absolute" up_click_vote_priority="medium"></up_click>
    </button>
    <button id="change var button up" enabled="yes" function="change variable" functionTargetID="Variable_CurrentGearPosition" vote="blah" vote_opinion="d1" vote_priority="Low">
      <images imagePrimary="content\images\button_images\BlankButton.png" imageSecondary="content\images\button_images\MomentaryButton.png" imageDisabled="content\images\button_images\MomentaryButton.png" imagePushed="content\images\button_images\MomentaryButton.png"></images>
      <display size="120,50" location="290,444" page="1" z_order="0"></display>
    </button>
    <button id="change var button down" enabled="yes" function="change variable" functionTargetID="Variable_CurrentGearPosition" vote="blah" vote_opinion="d-1" vote_priority="Low">
      <images imagePrimary="content\images\button_images\BlankButton.png" imageSecondary="content\images\button_images\MomentaryButton.png" imageDisabled="content\images\button_images\MomentaryButton.png" imagePushed="content\images\button_images\MomentaryButton.png"></images>
      <display size="120,50" location="415,444" page="1" z_order="0"></display>
    </button>
    <button id="TOGGLE LOG BUTTON" enabled="yes" function="change logging" functionTargetID="test log" vote="blah" vote_opinion="toggle" vote_priority="medium">
      <images imagePrimary="content\images\button_images\BlankButton.png" imageSecondary="content\images\button_images\MomentaryButton.png" imageDisabled="content\images\button_images\MomentaryButton.png" imagePushed="content\images\button_images\MomentaryButton.png"></images>
      <display size="255,50" location="545,444" page="1" z_order="0"></display>
    </button>
    <!-- **   END BUTTONS   ** -->
	</graphics>
	<io>
		<brain id="MainBrain">USB\VID_04D8&amp;PID_000C\5&amp;38631973&amp;0&amp;1</brain>

    <timer id="logic" interval="65"></timer>
		<timer id="gui" interval="30"></timer>
		<timer id="output" interval="100"></timer>
		<timer id="input" interval="50"></timer>

    <iochannel id="CurrentGear_Sense" port="0" brain="MainBrain" type="analogue_input">
      <options history="1" auto_average="false"></options>
    </iochannel>
    <iochannel id="Test Output 1" port="0" brain="MainBrain" type="digital_output">
      <defaults defaultstate="off"></defaults>
    </iochannel>
	</io>
	<logic>
		<all_variables>
			<variable name="Variable_CurrentGearPosition">-2</variable>
      <variable name="Variable_OutsideTemperature">70.12345</variable>
      <variable name="Variable_InsideTemperature">72</variable>
      <variable name="Variable_OilTemperature">74</variable>
      <variable name="Variable_BatteryVoltage">76</variable>
      <variable name="Variable_CurrentDraw">78</variable>
      <variable name="Variable_FuelLevel">80</variable>
		</all_variables>
    
    <all_logging>
		<log LogID="test log" MonitorType="Variable" TargetID="variable_currentgearposition" fire_on="Logic">
		  <options DefaultMonitorState="Off" filename="Logs\My Log File" StoreBeforeDumping="5" holdStreamOpen="False"></options>
		  <data DataName="My Data Name" DataFrom="Value"></data>
		</log>
	</all_logging>

    <all_statements>

      <!-- **   BEGIN CURRENT GEAR SENSE LOGIC   ** -->
      <if fire_on="logic">
        <parameter1>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="greater than or equal to"></test>
            <parameter2>
              <number>0</number>
            </parameter2>
          </if>
        </parameter1>
        <test check="AND"></test>
        <parameter2>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="less than or equal to"></test>
            <parameter2>
              <number>0.65</number>
            </parameter2>
          </if>
        </parameter2>
        <then>
          <do function="change variable" functionTargetID="Variable_CurrentGearPosition" vote_opinion="-2" vote_priority="medium"></do>
        </then>
      </if>
      <if fire_on="logic">
        <parameter1>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="greater than or equal to"></test>
            <parameter2>
              <number>0.65</number>
            </parameter2>
          </if>
        </parameter1>
        <test check="AND"></test>
        <parameter2>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="less than or equal to"></test>
            <parameter2>
              <number>1.3</number>
            </parameter2>
          </if>
        </parameter2>
        <then>
          <do function="change variable" functionTargetID="Variable_CurrentGearPosition" vote_opinion="-1" vote_priority="medium"></do>
        </then>
      </if>
      <if fire_on="logic">
        <parameter1>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="greater than or equal to"></test>
            <parameter2>
              <number>1.3</number>
            </parameter2>
          </if>
        </parameter1>
        <test check="AND"></test>
        <parameter2>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="less than or equal to"></test>
            <parameter2>
              <number>1.95</number>
            </parameter2>
          </if>
        </parameter2>
        <then>
          <do function="change variable" functionTargetID="Variable_CurrentGearPosition" vote_opinion="1" vote_priority="medium"></do>
        </then>
      </if>
      <if fire_on="logic">
        <parameter1>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="greater than or equal to"></test>
            <parameter2>
              <number>1.95</number>
            </parameter2>
          </if>
        </parameter1>
        <test check="AND"></test>
        <parameter2>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="less than or equal to"></test>
            <parameter2>
              <number>2.6</number>
            </parameter2>
          </if>
        </parameter2>
        <then>
          <do function="change variable" functionTargetID="Variable_CurrentGearPosition" vote_opinion="2" vote_priority="medium"></do>
        </then>
      </if>
      <if fire_on="logic">
        <parameter1>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="greater than or equal to"></test>
            <parameter2>
              <number>2.6</number>
            </parameter2>
          </if>
        </parameter1>
        <test check="AND"></test>
        <parameter2>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="less than or equal to"></test>
            <parameter2>
              <number>3.25</number>
            </parameter2>
          </if>
        </parameter2>
        <then>
          <do function="change variable" functionTargetID="Variable_CurrentGearPosition" vote_opinion="3" vote_priority="medium"></do>
        </then>
      </if>
      <if fire_on="logic">
        <parameter1>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="greater than or equal to"></test>
            <parameter2>
              <number>3.25</number>
            </parameter2>
          </if>
        </parameter1>
        <test check="AND"></test>
        <parameter2>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="less than or equal to"></test>
            <parameter2>
              <number>3.9</number>
            </parameter2>
          </if>
        </parameter2>
        <then>
          <do function="change variable" functionTargetID="Variable_CurrentGearPosition" vote_opinion="4" vote_priority="medium"></do>
        </then>
      </if>
      <if fire_on="logic">
        <parameter1>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="greater than or equal to"></test>
            <parameter2>
              <number>3.9</number>
            </parameter2>
          </if>
        </parameter1>
        <test check="AND"></test>
        <parameter2>
          <if>
            <parameter1>
              <analogue id="CurrentGear_Sense" time="0"></analogue>
            </parameter1>
            <test check="less than or equal to"></test>
            <parameter2>
              <number>5</number>
            </parameter2>
          </if>
        </parameter2>
        <then>
          <do function="change variable" functionTargetID="Variable_CurrentGearPosition" vote_opinion="5" vote_priority="medium"></do>
        </then>
      </if>
      <!-- **   END CURRENT GEAR SENSE LOGIC   ** -->
      
    </all_statements>
	</logic>
</FusionControlCentreConfiguration>
