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

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

      <userControl name="applyButton">
        <dialogConfig type="applyButton" caption="none"/>
        <userAction name="apply">
          <claimResource type="register" instance="%instance%" registerField="OWN_TMR" value="1000"/>
        </userAction>
      </userControl>

    </userControlSubGroup>
  </userControlGroup>

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

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

      <userControl name="prescale">
        <dialogConfig type="CB" caption="Time Clock Prescale">
          <selection name="setTo0" value="1:1"/>
          <selection name="setTo2" value="1:4"/>
          <selection name="setTo3" value="1:16"/>
        </dialogConfig>
        <userAction name="setTo2">
          <claimResource type="register" registerField="T%instance%CKPS" value="10"/>
        </userAction>
        <userAction name="setTo1">
          <claimResource type="register" registerField="T%instance%CKPS" value="01"/>
        </userAction>
        <userAction name="setTo0">
          <claimResource type="register" registerField="T%instance%CKPS" value="00"/>
        </userAction>
      </userControl>

      <userControl name="postscale">
        <dialogConfig type="CB" caption="Post Scaler:">
          <selection name="setTo1" value="1:1"/>
          <selection name="setTo2" value="1:2"/>
          <selection name="setTo3" value="1:3"/>
          <selection name="setTo4" value="1:4"/>
          <selection name="setTo5" value="1:5"/>
          <selection name="setTo6" value="1:6"/>
          <selection name="setTo7" value="1:7"/>
          <selection name="setTo8" value="1:8"/>
          <selection name="setTo9" value="1:9"/>
          <selection name="setTo10" value="1:10"/>
          <selection name="setTo11" value="1:11"/>
          <selection name="setTo12" value="1:12"/>
          <selection name="setTo13" value="1:13"/>
          <selection name="setTo14" value="1:14"/>
          <selection name="setTo15" value="1:15"/>
          <selection name="setTo16" value="1:16"/>
        </dialogConfig>
        <userAction name="setTo16">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1111"/>
        </userAction>
        <userAction name="setTo15">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1110"/>
        </userAction>
        <userAction name="setTo14">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1101"/>
        </userAction>
        <userAction name="setTo13">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1100"/>
        </userAction>
        <userAction name="setTo12">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1011"/>
        </userAction>
        <userAction name="setTo11">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1010"/>
        </userAction>
        <userAction name="setTo10">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1001"/>
        </userAction>
        <userAction name="setTo9">
          <claimResource type="register" registerField="T%instance%OUTPS" value="1000"/>
        </userAction>
        <userAction name="setTo8">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0111"/>
        </userAction>
        <userAction name="setTo7">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0110"/>
        </userAction>
        <userAction name="setTo6">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0101"/>
        </userAction>
        <userAction name="setTo5">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0100"/>
        </userAction>
        <userAction name="setTo4">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0011"/>
        </userAction>
        <userAction name="setTo3">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0010"/>
        </userAction>
        <userAction name="setTo2">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0001"/>
        </userAction>
        <userAction name="setTo1">
          <claimResource type="register" registerField="T%instance%OUTPS" value="0000"/>
        </userAction>
      </userControl>

<!-- timerPeriod is currently hardcoded and should not be present -->

      <userControl type="readOnly" name="timerFrequency">
        <dialogConfig type="general" caption="Baud Rate Error (%)"/>
        <userAction>
        </userAction>
      </userControl>

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

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

    </userControlSubGroup>
  </userControlGroup>

</featureDefinitions>
