<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd">
<featureDefinitions name="CCPOC" iconName="OC" 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_CCP%instance%" value="10"></claimResource>
        </userAction>
      </userControl>

    </userControlSubGroup>
  </userControlGroup>

  <userControlGroup name="none" caption="none">
    <userControlSubGroup name="none" caption="none">

      <userControl name="mode">
        <dialogConfig type="CB" caption="Mode">
          <selection name="disable" value="Disable"></selection> 
          <selection name="lowToHigh" value="CCPx pin low to high"></selection> 
          <selection name="highToLow" value="CCPx pin high to low"></selection> 
          <selection name="interrupt" value="Generate interrupt only"></selection> 
          <selection name="timerReset" value="Timer reset (CCP1,2) or interrupt only"></selection> 
          <selection name="toggleOutput" value="Toggle Output"></selection> 
        </dialogConfig>
        <userAction name="toggleOuput">
          <claimResource type="register" registerField="CCP%instance%M3" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M2" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M1" value="1"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M0" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%IF" value="1"></claimResource>
          <claimResource type="pin" pin="CCP%instance%" polarity="Out"></claimResource>
        </userAction>
        <userAction name="timerReset">
          <claimResource type="register" registerField="CCP%instance%M3" value="1"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M2" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M1" value="1"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M0" value="1"></claimResource>
        </userAction>
        <userAction name="interrupt">
          <claimResource type="register" registerField="CCP%instance%M3" value="1"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M2" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M1" value="1"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M0" value="0"></claimResource>
        </userAction>
        <userAction name="highToLow">
          <claimResource type="register" registerField="CCP%instance%M3" value="1"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M2" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M1" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M0" value="1"></claimResource>
          <claimResource type="pin" pin="CCP%instance%" polarity="Out"></claimResource>
        </userAction>
        <userAction name="lowToHigh">
          <claimResource type="register" registerField="CCP%instance%M3" value="1"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M2" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M1" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M0" value="0"></claimResource>
          <claimResource type="pin" pin="CCP%instance%" polarity="Out"></claimResource>
        </userAction>
        <userAction name="disable">
          <claimResource type="register" registerField="CCP%instance%M3" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M2" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M1" value="0"></claimResource>
          <claimResource type="register" registerField="CCP%instance%M0" value="0"></claimResource>
        </userAction>
      </userControl>

      <userControl name="timeBase">
        <dialogConfig type="CB" caption="Time base">
          <selection name="timer1" value="Timer 1"></selection> 
          <selection name="timer3" value="Timer 3"></selection> 
        </dialogConfig>
        <userAction name="timer3"></userAction>
        <userAction name="timer1"></userAction>
      </userControl>

      <userControl type="readOnly" name="compareValue">
        <dialogConfig type="general" caption="Compare value"></dialogConfig>
        <userAction>
        </userAction>
      </userControl>

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

      <userControl name="interruptPriority" priorityForInt="CCP%instance%">
        <dialogConfig type="CB" caption="Interrupt Priority">
          <selection name="txPriorityLevelToHigh" value="High"/>
          <selection name="txPriorityLevelToLow" value="Low"/>
        </dialogConfig>
        <userAction name="txPriorityLevelToLow">
          <claimResource type="register" registerField="CCP%instance%IP" value="0"/>
        </userAction>
        <userAction name="txPriorityLevelToHigh">
          <claimResource type="register" registerField="CCP%instance%IP" value="1"/>
        </userAction>
      </userControl>

    </userControlSubGroup>
  </userControlGroup>

</featureDefinitions>
