<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd">

<featureDefinitions name="QEI" iconName="QEI" helpIndex="">

  <userControlGroup name="none" caption="none">
    <userControlSubGroup name="none" caption="none">
      <userControl name="applyButton">
        <dialogConfig type="applyButton" caption="none"></dialogConfig>
        <userAction name="apply">
          <claimResource type="register" registerField="OWN_QEI" value="100"></claimResource>
          <claimResource type="register" registerField="QEIM2" value="1"/>
          <claimResource type="pin" pin="QEA" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="QEB" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="INDX" polarity="Inp"></claimResource>
        </userAction>
      </userControl>
    </userControlSubGroup>
  </userControlGroup>

  <userControlGroup name="none" caption="none">
    <userControlSubGroup name="none" caption="none">
      <userControl name="measMode">
	<dialogConfig type="CB" caption="Clock Source">
	  <selection name="x2" value="X2"></selection>
	  <selection name="x4" value="X4"></selection>
	</dialogConfig>
	<userAction name="x4">
	  <claimResource type="register" registerField="QEIM1" value="1"></claimResource>
	</userAction>
	<userAction name="x2">
	  <claimResource type="register" registerField="QEIM1" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="resetMode">
	<dialogConfig type="CB" caption="Reset mode">
	  <selection name="onIndex" value="on Index pulse"></selection>
	  <selection name="onMatch" value="on match with MAXCNT"></selection>
	</dialogConfig>
	<userAction name="">
	  <claimResource type="register" registerField="QEIM0" value="1"></claimResource>
	</userAction>
	<userAction name="">
	  <claimResource type="register" registerField="QEIM0" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="enableQEABFilters">
	<dialogConfig type="CB" caption="Enable Digital Filter on QEA/QEB Pins">
	  <selection name="disable" value="Disabled"></selection>
	  <selection name="enable" value="Enabled"></selection>
	</dialogConfig>
	<userAction name="enable">
	  <claimResource type="register" registerField="QEOUT" value="1"></claimResource>
	</userAction>
	<userAction name="disable">
	  <claimResource type="register" registerField="QEOUT" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="selectQEABFilters">
	<dialogConfig type="CB" caption="QEA/B Filter Clock Divide Ratio">
	  <selection name="setTo1" value="1:1"></selection>
	  <selection name="setTo2" value="1:2"></selection>
	  <selection name="setTo4" value="1:4"></selection>
	  <selection name="setTo16" value="1:16"></selection>
	  <selection name="setTo32" value="1:32"></selection>
	  <selection name="setTo64" value="1:64"></selection>
	  <selection name="setTo128" value="1:128"></selection>
	  <selection name="setTo256" value="1:256"></selection>
	</dialogConfig>
	<userAction name="setTo256">
	  <claimResource type="register" registerField="QECK" value="0111"></claimResource>
	</userAction>
	<userAction name="setTo128">
	  <claimResource type="register" registerField="QECK" value="0110"></claimResource>
	</userAction>
	<userAction name="setTo64">
	  <claimResource type="register" registerField="QECK" value="0101"></claimResource>
	</userAction>
	<userAction name="setTo32">
	  <claimResource type="register" registerField="QECK" value="0100"></claimResource>
	</userAction>
	<userAction name="setTo16">
	  <claimResource type="register" registerField="QECK" value="011"></claimResource>
	</userAction>
	<userAction name="setTo4">
	  <claimResource type="register" registerField="QECK" value="010"></claimResource>
	</userAction>
	<userAction name="setTo2">
	  <claimResource type="register" registerField="QECK" value="001"></claimResource>
	</userAction>
	<userAction name="setTo1">
	  <claimResource type="register" registerField="QECK" value="000"></claimResource>
	</userAction>
      </userControl>

      <userControl name="enableINDXFilters">
	<dialogConfig type="CB" caption="Enable Digital Filter on INDX Pins">
	  <selection name="disable" value="Disabled"></selection>
	  <selection name="setTo0" value="Enabled"></selection>
	</dialogConfig>
	<userAction name="enable">
	  <claimResource type="register" registerField="INDOUT" value="1"></claimResource>
	</userAction>
	<userAction name="disable">
	  <claimResource type="register" registerField="INDOUT" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="selectINDXFilters">
	<dialogConfig type="CB" caption="INDX Filter Clock Dived Ratio">
	  <selection name="setTo1" value="1:1"></selection>
	  <selection name="setTo2" value="1:2"></selection>
	  <selection name="setTo4" value="1:4"></selection>
	  <selection name="setTo16" value="1:16"></selection>
	  <selection name="setTo32" value="1:32"></selection>
	  <selection name="setTo64" value="1:64"></selection>
	  <selection name="setTo128" value="1:128"></selection>
	  <selection name="setTo256" value="1:256"></selection>
	</dialogConfig>
	<userAction name="setTo256">
	  <claimResource type="register" registerField="INDCK" value="111"></claimResource>
	</userAction>
	<userAction name="setTo128">
	  <claimResource type="register" registerField="INDCK" value="110"></claimResource>
	</userAction>
	<userAction name="setTo64">
	  <claimResource type="register" registerField="INDCK" value="101"></claimResource>
	</userAction>
	<userAction name="setTo32">
	  <claimResource type="register" registerField="INDCK" value="100"></claimResource>
	</userAction>
	<userAction name="setTo16">
	  <claimResource type="register" registerField="INDCK" value="011"></claimResource>
	</userAction>
	<userAction name="setTo4">
	  <claimResource type="register" registerField="INDCK" value="010"></claimResource>
	</userAction>
	<userAction name="setTo2">
	  <claimResource type="register" registerField="INDCK" value="001"></claimResource>
	</userAction>
	<userAction name="setTo1">
	  <claimResource type="register" registerField="INDCK" value="000"></claimResource>
	</userAction>
      </userControl>

      <userControl name="clockSource">
	<dialogConfig type="CB" caption="Clock Source">
	  <selection name="tcy" value="Internal (Tcy)"></selection>
	  <selection name="external" value="External (SOSCO/T1CK)"></selection>
	</dialogConfig>
	<userAction name="">
	  <claimResource type="register" registerField="TQCS" value="1"></claimResource>
	  <claimResource type="pin" pin="SOSCO" polarity="Inp"></claimResource>
	</userAction>
	<userAction name="">
	  <claimResource type="register" registerField="TQCS" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="posCountReset">
	<dialogConfig type="CB" caption="Pos. Count Reset">
	  <selection name="disable" value="Disable reset Counter on index"></selection>
	  <selection name="enable" value="Enable reset Counter on index"></selection>
	  <selection name="" value=""></selection>
	</dialogConfig>
	<userAction name="">
	  <claimResource type="register" registerField="POSRES" value="1"></claimResource>
	</userAction>
	<userAction name="">
	  <claimResource type="register" registerField="POSRES" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="countDirection">
	<dialogConfig type="CB" caption="Count Direction">
	  <selection name="disable" value="to I/O pin disabled"></selection>
	  <selection name="enable" value="to I/O pin enabled"></selection>
	</dialogConfig>
	<userAction name="enable">
	  <claimResource type="register" registerField="PCDOUT" value="1"></claimResource>
	  <claimResource type="pin" pin="UPDN" polarity="Out"></claimResource>
	</userAction>
	<userAction name="disable">
	  <claimResource type="register" registerField="PCDOUT" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="operateDuringIdle">
	<dialogConfig type="CB" caption="CPU Idle Operation">
	  <selection name="continueOnIdle" value="Continue"></selection> 
	  <selection name="stopOnIdle" value="Stop"></selection> 
	</dialogConfig>
	<userAction name="stopOnIdle">
	  <claimResource type="register" registerField="QEISIDL" value="1"></claimResource>
	</userAction>
	<userAction name="continueOnIdle">
	  <claimResource type="register" registerField="QEISIDL" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="swapAB">
	<dialogConfig type="CK" caption="Swap A and B"></dialogConfig>
	<userAction name="enable">
	  <claimResource type="register" registerField="SWPAB" value="1"></claimResource>
	</userAction>
	<userAction name="disable">
	  <claimResource type="register" registerField="SWPAB" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="interruptEnable">
	<dialogConfig type="CK" caption="Enable Interrupt on Startup"></dialogConfig>
	<userAction name="enable">
	  <claimResource type="register" registerField="QEIIE" value="1"></claimResource>
	</userAction>
	<userAction name="disable">
	  <claimResource type="register" registerField="QEIIE" value="0"></claimResource>
	</userAction>
      </userControl>

      <userControl name="interruptPriority">
	<dialogConfig type="CB" range="7" caption="Interrupt Priority">
	  <selection name="priorityLevelTo%index%" value="%index%"></selection>
	</dialogConfig>
	<userAction>
	  <claimResource type="register" registerField="QEIIP" method="priorityLevel3Bit"></claimResource>
	</userAction>
      </userControl>
    </userControlSubGroup>
  </userControlGroup>

</featureDefinitions>
