<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd">
<featureDefinitions name="16bitTimerQEI" iconName="16bitTimerQEI" 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" registerField="OWN_QEI" value="010"/>
					<claimResource type="register" registerField="QEIM2" value="0"/>
					<claimResource type="register" registerField="QEIM1" value="0"/>
					<claimResource type="register" registerField="TQCS" value="0"/>
				</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="QEIM0" value="1"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="QEIM0" value="0"/>
				</userAction>
			</userControl>
			<userControl name="gatedTimeEnable">
				<dialogConfig type="CK" caption="Enable on Startup"/>
				<userAction name="enable">
					<claimResource type="register" registerField="TQGATE" value="1"/>
					<claimResource type="pin" pin="QEA" polarity="Inp"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="TQGATE" value="0"/>
				</userAction>
			</userControl>
			<userControl name="prescale">
				<dialogConfig type="CB" caption="Time Clock Prescale">
					<selection name="setTo0" value="1:1"/>
					<selection name="setTo1" value="1:8"/>
					<selection name="setTo2" value="1:64"/>
					<selection name="setTo3" value="1:256"/>
				</dialogConfig>
				<userAction name="setTo3">
					<claimResource type="register" registerField="TQCKPS1" value="1"/>
					<claimResource type="register" registerField="TQCKPS0" value="1"/>
				</userAction>
				<userAction name="setTo2">
					<claimResource type="register" registerField="TQCKPS1" value="1"/>
					<claimResource type="register" registerField="TQCKPS0" value="0"/>
				</userAction>
				<userAction name="setTo1">
					<claimResource type="register" registerField="TQCKPS1" value="0"/>
					<claimResource type="register" registerField="TQCKPS0" value="1"/>
				</userAction>
				<userAction name="setTo0">
					<claimResource type="register" registerField="TQCKPS1" value="0"/>
					<claimResource type="register" registerField="TQCKPS0" value="0"/>
				</userAction>
			</userControl>
			<!-- timerPeriod is currently hardcoded and should not be present -->
			<userControl type="readOnly" name="timerFrequency">
				<dialogConfig type="general" caption="Baud Rate Error (%)"/>
				<userAction/>
			</userControl>
			<userControl name="operateDuringIdle">
				<dialogConfig type="CB" caption="CPU Idle Operation">
					<selection name="continueOnIdle" value="Continue"/>
					<selection name="stopOnIdle" value="Stop"/>
				</dialogConfig>
				<userAction name="stopOnIdle">
					<claimResource type="register" registerField="QEISIDL" value="1"/>
				</userAction>
				<userAction name="continueOnIdle">
					<claimResource type="register" registerField="QEISIDL" value="0"/>
				</userAction>
			</userControl>
			<userControl name="countDirectionControl">
				<dialogConfig type="CB" caption="Time Clock Prescale">
					<selection name="internalDn" value="Internal count down"/>
					<selection name="internalUp" value="Internal count up"/>
					<selection name="external" value="External count updown via UPDN pin"/>
				</dialogConfig>
				<userAction name="external">
					<claimResource type="register" registerField="UPDN_CNT" value="0"/>
					<claimResource type="register" registerField="UPDN" value="0"/>
				</userAction>
				<userAction name="internalUp">
					<claimResource type="register" registerField="UPDN_CNT" value="0"/>
					<claimResource type="register" registerField="UPDN" value="1"/>
				</userAction>
				<userAction name="internalDn">
					<claimResource type="register" registerField="UPDN_CNT" value="0"/>
					<claimResource type="register" registerField="UPDN" value="0"/>
				</userAction>
			</userControl>
			<userControl name="interruptEnable" enableForInt="QEI">
				<dialogConfig type="CK" caption="Enable Interrupt on Startup"/>
				<userAction name="enable">
					<claimResource type="register" registerField="QEIIE" value="1"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="QEIIE" value="0"/>
				</userAction>
			</userControl>
			<userControl name="interruptPriority" priorityForInt="QEI">
				<dialogConfig type="CB" range="7" caption="Interrupt Priority">
					<selection name="txPriorityLevelTo%index%" value="%index%"/>
				</dialogConfig>
				<userAction>
					<claimResource type="register" registerField="QEIIP" method="priorityLevel3Bit"/>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
</featureDefinitions>
