Announcement

Collapse
No announcement yet.

Steering Wheel Control Delay

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Steering Wheel Control Delay

    So I wrote this config almost two years ago. I honestly barely even remember what most of it means. All I know is I finally after a lot of work got my steering wheel controls working.

    The problem I've always had is my steering wheel buttons are toggles. For instance next track is a toggle up or toggle down. I often go to skip a track and I end up skipping 3-4.

    I need to tweak the delays, but I can't remember what I should be changing. Hoping someone can save me spending all the time I did last time trying to come up to speed on MDX configs.

    Config..
    Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <FusionControlCentreConfiguration version="3.0.0.0" author="Jayson" date_created="May 11, 2009 at 11:54:55 AM" last_modified="June 7, 2010 at 5:19:46 PM">
    
      <require>
      <!-- Begin Function Instances -->
      <!-- End Function Instances -->
    
      <!-- Begin Fusion Font Instances -->
      <!-- End Fusion Font Instances -->
      </require>
    
      <speech enabled="false" global_politeness="true">
      <!-- Begin System Speech Instances -->
      <!-- End System Speech Instances -->
    
      <!-- Begin System Speech Definition Instances -->
          <system_definitions>
          </system_definitions>
      <!-- End System Speech Definition Instances -->
    
      <!-- Begin Custom Speech Definition Instances -->
          <custom_definitions>
          </custom_definitions>
      <!-- End Custom Speech Definition Instances -->
    
      <!-- Begin Custom Query Instances -->
          <custom_queries>
          </custom_queries>
      <!-- End Custom Query Instances -->
      </speech>
    
      <general>
      <!-- Begin Remote Control Configuration -->
        <remote status="disabled" user_name="default" port="4242"></remote>
      <!-- End Remote Control Configuration -->
    
      <!-- Begin COM -->
        <com status="disabled">
          <commands>
          </commands>
          <executable_commands>
          </executable_commands>
        </com>
      <!-- End COM -->
      </general>
    
      <graphics>
      <!-- Begin Global Graphic Settings -->
          <main_display designed_for_size="5,5" show_at_size="5,5" menubar="Fixed" RunInSystemTray="True" MinimizeToSystemTray="True"></main_display>
      <!-- End Global Graphic Settings -->
    
      <!-- Begin Background Images -->
      <!-- End Background Images -->
    
      <!-- Begin Static Images -->
      <!-- End Static Images -->
    
      <!-- Begin Variable Location Images -->
      <!-- End Variable Location Images -->
    
      <!-- Begin Graph Instances -->
      <!-- End Graph Instances -->
    
      <!-- Begin Display Buttons -->
      <!-- End Display Buttons -->
    
      <!-- Begin Multi Images -->
      <!-- End Multi Images -->
    
      <!-- Begin Text Labels -->
      <!-- End Text Labels -->
      </graphics>
    
      <io>
      <!-- Begin Fusion Brain Instances -->
          <brain id="MainBrain" version="3">{43b36ca4-5c35-485b-82f4-3957e44299b5}</brain>
      <!-- End Fusion Brain Instances -->
    
      <!-- Begin Timer Setup -->
          <timer id="input" interval="50"></timer>
          <timer id="output" interval="100"></timer>
          <timer id="gui" interval="30"></timer>
          <timer id="logic" interval="65"></timer>
      <!-- End Timer Setup -->
    
      <!-- Begin Digital Output Instances -->
          <iochannel id="AmpRelay" port="0" brain="mainbrain" type="digital_output">
            <defaults defaultstate="on"></defaults>
          </iochannel>
          <iochannel id="MonitorRelay" port="1" brain="mainbrain" type="digital_output">
            <defaults defaultstate="off"></defaults>
          </iochannel>
      <!-- End Digital Output Instances -->
    
      <!-- Begin Analogue Input Instances -->
          <iochannel id="Steering0" port="0" brain="mainbrain" type="analogue_input">
            <options history="0" auto_average="false"></options>
          </iochannel>
          <iochannel id="Steering1" port="1" brain="mainbrain" type="analogue_input">
            <options history="0" auto_average="false"></options>
          </iochannel>
      <!-- End Analogue Input Instances -->
      </io>
    
      <logic>
      <!-- Begin Logging Setup -->
        <all_logging>
        </all_logging>
      <!-- End Logging Setup -->
    
      <!-- Begin Variable Declarations -->
        <all_variables>
        </all_variables>
      <!-- End Variable Declarations -->
    
      <!-- Begin Logic Declarations -->
        <all_statements>
          <if fire_on="logic" minimum_delta_vote_time="50" id="SeekUp">
            <boolean_operation type="and">
              <parameter1>
                <boolean_operation type="greater than or equal to">
                  <parameter1>
                    <analogue id="Steering1" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>0.8</number>
                  </parameter2>
                </boolean_operation>
              </parameter1>
              <parameter2>
                <boolean_operation type="less than or equal to">
                  <parameter1>
                    <analogue id="Steering1" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>0.9</number>
                  </parameter2>
                </boolean_operation>
              </parameter2>
            </boolean_operation>
            <then>
              <do function="Send Key To Foreground" functionTargetID="Required Filler" vote_opinion="A" vote_priority="High"></do>
            </then>
          </if>
          <if fire_on="logic" minimum_delta_vote_time="50" id="SeekDown">
            <boolean_operation type="and">
              <parameter1>
                <boolean_operation type="greater than or equal to">
                  <parameter1>
                    <analogue id="Steering0" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>0.8</number>
                  </parameter2>
                </boolean_operation>
              </parameter1>
              <parameter2>
                <boolean_operation type="less than or equal to">
                  <parameter1>
                    <analogue id="Steering0" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>0.9</number>
                  </parameter2>
                </boolean_operation>
              </parameter2>
            </boolean_operation>
            <then>
              <do function="Send Key To Foreground" functionTargetID="Required Filler" vote_opinion="B" vote_priority="High"></do>
            </then>
          </if>
          <if fire_on="logic" minimum_delta_vote_time="50" id="VolumeUp">
            <boolean_operation type="and">
              <parameter1>
                <boolean_operation type="greater than or equal to">
                  <parameter1>
                    <analogue id="Steering1" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>2.1</number>
                  </parameter2>
                </boolean_operation>
              </parameter1>
              <parameter2>
                <boolean_operation type="less than or equal to">
                  <parameter1>
                    <analogue id="Steering1" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>2.3</number>
                  </parameter2>
                </boolean_operation>
              </parameter2>
            </boolean_operation>
            <then>
              <do function="Send Key To Foreground" functionTargetID="Required Filler" vote_opinion="C" vote_priority="High"></do>
            </then>
          </if>
          <if fire_on="logic" minimum_delta_vote_time="50" id="VolumeDown">
            <boolean_operation type="and">
              <parameter1>
                <boolean_operation type="greater than or equal to">
                  <parameter1>
                    <analogue id="Steering0" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>2.1</number>
                  </parameter2>
                </boolean_operation>
              </parameter1>
              <parameter2>
                <boolean_operation type="less than or equal to">
                  <parameter1>
                    <analogue id="Steering0" time="0"></analogue>
                  </parameter1>
                  <parameter2>
                    <number>2.3</number>
                  </parameter2>
                </boolean_operation>
              </parameter2>
            </boolean_operation>
            <then>
              <do function="Send Key To Foreground" functionTargetID="Required Filler" vote_opinion="D" vote_priority="High"></do>
            </then>
          </if>
        </all_statements>
      <!-- End Logic Declarations -->
      </logic>
    </FusionControlCentreConfiguration>

  • #2
    You can crank up the global input timer. That will slow everything down which is undesirable in my setup.

    Another option is declare a countdown variable. Add an "AND" statement to your above code so it checks against the countdown variable. Note: I have trouble with these type of logic statements where the THEN is supposed to do more than one thing. They work until I re-run configurator when they disappear. I have no doubt I'm doing something wrong.

    Comment


    • #3
      Would upping the minimum_delta_vote_time="50" on the buttons I have issues with not work? That is delay the time between sending the keystroke correct?

      I did a little reading last night.

      Comment


      • #4
        I think you are correct. That's even easier to try.

        Comment

        Working...
        X