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

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

      <userControl name="applyButton">
        <dialogConfig type="applyButton" caption="none"></dialogConfig>
        <userAction name="apply">
</userAction>
      </userControl>

    </userControlSubGroup>
  </userControlGroup>

  <userControlGroup name="operational Settings" caption="Operational Settings">
    <userControlSubGroup name="none" caption="none">

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

      <userControl name="dataOutputFormat">
        <dialogConfig type="CB" caption="Data Output Format:">
          <selection name="uFractional" value="Unsigned Fractional (left justified)"></selection>
          <selection name="uInteger" value="Unsigned Integer (right justified)"></selection>
        </dialogConfig>
        <userAction name="uInteger">
          <claimResource type="register" registerField="ADFM" value="1"></claimResource>
        </userAction>
        <userAction name="uFractional">
          <claimResource type="register" registerField="ADFM" value="0"></claimResource>
        </userAction>
      </userControl>

    </userControlSubGroup>
  </userControlGroup>
 
  <userControlGroup name="modeSettings" caption="Mode Settings">

    <userControlSubGroup name="samplingMode" caption="Sampling Mode">

</userControlSubGroup>

    <userControlSubGroup name="conversionMode" caption="Conversion Mode">
 
      <userControl name="samplePeriod">
        <dialogConfig type="TB" caption="Sample Period"></dialogConfig>
        <userAction>
	<!-- TAD=TCY*(0.5*(ADCS[5:0]+1)) -->
	<!-- min=TCY/2, max=32*TCY -->
        </userAction>
      </userControl>

      <userControl name="samplePeriodUnits">
        <dialogConfig type="CB" caption="none">
          <selection name="setTousecs" value="usecs"></selection>
          <selection name="setTo???" value="???"></selection>
        </dialogConfig>
        <userAction name="setTousecs">
        </userAction>
        <userAction name="setTo???">
        </userAction>
      </userControl>

      <userControl type="readOnly" name="samplePeriodError">
        <dialogConfig type="general" caption="Sample Period Error (%)"></dialogConfig>
        <userAction>
        </userAction>
      </userControl>

      <userControl name="operateDuringSleep">
        <dialogConfig type="CB" caption="CPU Sleep Operation">
          <selection name="noWakeOnSleep" value="No wake-up"></selection> 
          <selection name="wakeOnSleep" value="Wake-up on Done Bit"></selection> 
        </dialogConfig>
        <userAction name="wakeOnSleep">
          <claimResource type="register" registerField="ADCS2" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="1"></claimResource>
          <claimResource type="register" registerField="CCP2M3" value="1"></claimResource>
          <claimResource type="register" registerField="CCP2M2" value="0"></claimResource>
          <claimResource type="register" registerField="CCP2M1" value="1"></claimResource>
          <claimResource type="register" registerField="CCP2M0" value="1"></claimResource>
          <claimResource type="register" registerField="ADON" value="1"></claimResource>
        </userAction>
        <userAction name="noWakeOnSleep">
</userAction>
      </userControl>

      <userControl name="clockSource">
        <dialogConfig type="CB" caption="Clock Source">
          <selection name="Tcy_div2_mult1" value=".5 * Tcy"></selection>
          <selection name="Tcy_div2_mult2" value="2 * .5 * Tcy"></selection>
          <selection name="Tcy_div2_mult4" value="4 * .5 * Tcy"></selection>
          <selection name="Tcy_div2_mult8" value="8 * .5 * Tcy"></selection>
          <selection name="Tcy_div2_mult8" value="16 * .5 * Tcy"></selection>
          <selection name="Tcy_div2_mult16" value="32 * .5 * Tcy"></selection>
          <selection name="internalClock" value="A/D internal RC clock"></selection>
        </dialogConfig>
        <userAction name="internalClock">
          <claimResource type="register" registerField="ADCS2" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="1"></claimResource>
        </userAction>
        <userAction name="Tcy_div2_mult32">
          <claimResource type="register" registerField="ADCS2" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="0"></claimResource>
        </userAction>
        <userAction name="Tcy_div2_mult16">
          <claimResource type="register" registerField="ADCS2" value="0"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="0"></claimResource>
        </userAction>
        <userAction name="Tcy_div2_mult8">
          <claimResource type="register" registerField="ADCS2" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="0"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="1"></claimResource>
        </userAction>
        <userAction name="Tcy_div2_mult4">
          <claimResource type="register" registerField="ADCS2" value="0"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="0"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="1"></claimResource>
        </userAction>
        <userAction name="Tcy_div2_mult2">
          <claimResource type="register" registerField="ADCS2" value="1"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="0"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="0"></claimResource>
        </userAction>
        <userAction name="Tcy_div2_mult1">
          <claimResource type="register" registerField="ADCS2" value="0"></claimResource>
          <claimResource type="register" registerField="ADCS1" value="0"></claimResource>
          <claimResource type="register" registerField="ADCS0" value="0"></claimResource>
        </userAction>
      </userControl>

    </userControlSubGroup>

  </userControlGroup>

  <userControlGroup name="inputSettings" caption="A/D Input Settings">

    <userControlSubGroup name="CH0" caption="CH0">

      <userControl name="inputConfigured">
        <dialogConfig type="CB" caption="Configure as A/D Inputs">
          <selection name="0" value="All analog VREF+=VDD VREF-=VSS"></selection>
          <selection name="1" value="All analog VREF+=AN3 VREF-=VSS"></selection>
          <selection name="2" value="Analog: AN0-4 Digital: AN5-AN7 VREF+=VDD VREF-=VSS"></selection>
          <selection name="3" value="Analog: AN0-4 Digital: AN5-AN7 VREF+=AN3 VREF-=VSS"></selection>
          <selection name="4" value="Analog: AN0,1,3 Digital: AN2,AN4-AN7 VREF+=VDD VREF-=VSS"></selection>
          <selection name="5" value="Analog: AN0-1 Digital: AN2-AN7 VREF+=AN3 VREF-=VSS"></selection>
          <selection name="6" value="All Digital"></selection>
          <selection name="7" value="All Analog: AN5-AN7 VREF+=AN3 VREF-=AN2"></selection>
          <selection name="8" value="Analog: AN0-5 Digital: AN6-AN7 VREF+=VDD VREF-=VSS"></selection>
          <selection name="9" value="Analog: AN0-5 Digital: AN6-AN7 VREF+=AN3 VREF-=VSS"></selection>
          <selection name="10" value="Analog: AN0-5 Digital: AN6-AN7 VREF+=AN3 VREF=AN2"></selection>
          <selection name="11" value="Analog: AN0-4 Digital: AN5-AN7 VREF+=AN3 VREF=AN2"></selection>
          <selection name="12" value="Analog: AN0-1 Digital: AN4-AN7 VREF+=AN3 VREF=AN2"></selection>
          <selection name="13" value="Analog: AN0 Digital: AN1-AN7 VREF+=VDD VREF-=VSS"></selection>
          <selection name="14" value="Analog: AN0 Digital: AN1-AN7 VREF+=AN3 VREF-=AN2"></selection>
        </dialogConfig>
        <userAction name="14">
          <claimResource type="register" registerField="PCFG" value="1111"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="13">
          <claimResource type="register" registerField="PCFG" value="1110"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="12">
          <claimResource type="register" registerField="PCFG" value="1101"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="11">
          <claimResource type="register" registerField="PCFG" value="1100"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="10">
          <claimResource type="register" registerField="PCFG" value="1011"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN5" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="9">
          <claimResource type="register" registerField="PCFG" value="1010"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN5" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="8">
          <claimResource type="register" registerField="PCFG" value="1001"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN5" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="7">
          <claimResource type="register" registerField="PCFG" value="1000"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN5" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN6" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN7" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="6">     </userAction>
        <userAction name="5">
          <claimResource type="register" registerField="PCFG" value="0101"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="4">
          <claimResource type="register" registerField="PCFG" value="0100"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="3">
          <claimResource type="register" registerField="PCFG" value="0011"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="2">
          <claimResource type="register" registerField="PCFG" value="0010"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="1">
          <claimResource type="register" registerField="PCFG" value="0001"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN5" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN6" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN7" polarity="Inp"></claimResource>
        </userAction>
        <userAction name="0">
          <claimResource type="register" registerField="PCFG" value="0000"></claimResource>
          <claimResource type="pin" pin="AN0" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN1" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN2" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN3" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN4" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN5" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN6" polarity="Inp"></claimResource>
          <claimResource type="pin" pin="AN7" polarity="Inp"></claimResource>
        </userAction>
      </userControl>

      <userControl name="sampleAPosInput">
        <dialogConfig type="CB" range="7" caption="Sample A Pos. Input">
          <selection name="sampleAPosInputToAN%index%" value="AN%index%"></selection>
        </dialogConfig>
        <userAction>
	<!-- method to compute in bit mode should reference register info table read from XML -->
          <claimResource type="register" registerField="CH0SA" method="conversionInt3Bit"></claimResource>
        </userAction>
      </userControl>

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

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

      <userControl name="interruptPriority" priorityForInt="AD">
        <dialogConfig type="CB" caption="Interrupt Priority">
          <selection name="PriorityLevelToHigh" value="High"/>
          <selection name="PriorityLevelToLow" value="Low"/>
        </dialogConfig>
        <userAction>
          <claimResource type="register" registerField="ADIP" value="0"/>
        </userAction>
        <userAction>
          <claimResource type="register" registerField="ADIP" value="1"/>
        </userAction>
      </userControl>

    </userControlSubGroup>
  </userControlGroup>
</featureDefinitions>
