<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd">
<featureDefinitions name="syncCounter" iconName="syncCounter" 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" instance="%instance%" registerField="OWN_TMR32" value="010000000"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="TCS" value="1"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="TGATE" value="0"></claimResource>
					<claimResource type="pin" pin="T%instance%CK" polarity="Inp"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="T32" value="1"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="none" caption="none">
		<userControlSubGroup name="none" caption="none">
			<userControl name="enable">
				<dialogConfig type="CK" caption="Enable on Startup"></dialogConfig>
				<userAction name="enable">
					<claimResource type="register" instance="%instance%" registerField="TON" value="1"></claimResource>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" instance="%instance%" registerField="TON" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="prescale">
				<dialogConfig type="CB" caption="Time Clock Prescale:">
					<selection name="setTo0" value="1:1"></selection>
					<selection name="setTo1" value="1:8"></selection>
					<selection name="setTo2" value="1:64"></selection>
					<selection name="setTo3" value="1:256"></selection>
				</dialogConfig>
				<userAction name="setTo3">
					<claimResource type="register" instance="%instance%" registerField="TCKPS" value="011"></claimResource>
				</userAction>
				<userAction name="setTo2">
					<claimResource type="register" instance="%instance%" registerField="TCKPS" value="010"></claimResource>
				</userAction>
				<userAction name="setTo1">
					<claimResource type="register" instance="%instance%" registerField="TCKPS" value="01"></claimResource>
				</userAction>
				<userAction name="setTo0">
					<claimResource type="register" instance="%instance%" registerField="TCKPS" value="00"></claimResource>
				</userAction>
			</userControl>
			<!-- timerPeriod is currently hardcoded and should not be present -->
			<userControl type="readOnly" name="timerFrequency">
				<dialogConfig type="general" caption="Baud Rate Error (%)"></dialogConfig>
				<userAction></userAction>
			</userControl>
			<userControl name="externalFrequency">
				<dialogConfig type="TB" caption="External Frequency Setting"></dialogConfig>
				<userAction></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" instance="%instance%" registerField="TSIDL" value="1"></claimResource>
				</userAction>
				<userAction name="continueOnIdle">
					<claimResource type="register" instance="%instance%" registerField="TSIDL" value="0"></claimResource>
				</userAction>
			</userControl>
			<!-- TODO: Wrong implementation in dsPIC. Check for others as well -->
			<!-- TODO: Needs changes below. There is no design as of now to have instance+number -->
			<userControl name="interruptEnable" enableForInt="T%instance%">
				<dialogConfig type="CK" caption="Enable Interrupt on Startup"></dialogConfig>
				<userAction name="enable">
					<claimResource type="register" registerField="T%instance%IE" value="1"></claimResource>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="T%instance%IE" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="interruptPriority" priorityForInt="T%instance%">
				<dialogConfig type="CB" range="7" caption="Interrupt Priority">
					<selection name="txPriorityLevelTo%index%" value="%index%"></selection>
				</dialogConfig>
				<userAction>
					<claimResource type="register" registerField="T%instance%IP" method="priorityLevel3Bit"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
</featureDefinitions>
