<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd">
<featureDefinitions name="Oscillator1" iconName="oscillator" helpIndex="">
	<userControlGroup name="none" caption="none">
		<userControlSubGroup name="none" caption="none">
			<userControl name="applyButton">
				<dialogConfig type="applyButton" caption="none" />
				<userAction name="apply">
					<claimResource type="pin" pin="OSC1" polarity="Inp" />
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="PrimaryOscSettings" caption="Primary Oscillator Settings">
		<userControlSubGroup name="none" caption="none">
			<userControl name="ClockFreq">
				<dialogConfig type="TB" caption="System Clock Frequency" />
				<userAction>
					<!-- this is needed for baud calc and should just be stored --></userAction>
			</userControl>
			<userControl type="readOnly" name="Fcy">
				<dialogConfig type="general" caption="Fcy"></dialogConfig>
				<userAction></userAction>
			</userControl>
			<userControl name="ShowAdvanced">
				<dialogConfig type="CK" caption="View Advanced Oscillator Settings" />
				<userAction name="enable">
					<!-- what to do here????? --></userAction>
				<userAction name="disable"></userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="AdvancedOscGroup" caption="Advanced Oscillator Settings">
		<userControlSubGroup name="none" caption="none">
			<userControl name="ClockSrc">
				<dialogConfig type="CB" caption="Clock Source">
					<selection name="InternalFRCwithPostscaler" value="Internal FRC with Postscaler" />
					<selection name="InternalLPRC" value="Internal LPRC" />
					<selection name="SecondaryOSC" value="Secondary Oscillator" />
					<selection name="PrimaryHSwithPLL" value="Primary HS Oscillator with PLL" />
					<selection name="PrimaryXTwithPLL" value="Primary XT Oscillator with PLL" />
					<selection name="PrimaryECwithPLL" value="Primary EC Oscillator with PLL" />
					<selection name="PrimaryXT" value="Primary XT Oscillator" />
					<selection name="PrimaryHS" value="Primary HS Oscillator" />
					<selection name="PrimaryEC" value="Primary EC Oscillator" />
					<selection name="InternalFRCwithPLL" value="Internal FRC with PLL" />
					<selection name="InternalFRC" value="Internal FRC" />
				</dialogConfig>
				<userAction name="InternalFRCwithPostscaler">
					<claimResource type="register" registerField="FNOSC" value="111" />
					<claimResource type="register" registerField="POSCMOD" value="11" />
				</userAction>
				<userAction name="InternalLPRC">
					<claimResource type="register" registerField="FNOSC" value="101" />
					<claimResource type="register" registerField="POSCMOD" value="11" />
				</userAction>
				<userAction name="SecondaryOSC">
					<claimResource type="register" registerField="FNOSC" value="100" />
					<claimResource type="register" registerField="POSCMOD" value="11" />
				</userAction>
				<userAction name="PrimaryHSwithPLL">
					<claimResource type="register" registerField="FNOSC" value="011" />
					<claimResource type="register" registerField="POSCMOD" value="10" />
				</userAction>
				<userAction name="PrimaryXTwithPLL">
					<claimResource type="register" registerField="FNOSC" value="011" />
					<claimResource type="register" registerField="POSCMOD" value="01" />
				</userAction>
				<userAction name="PrimaryECwithPLL">
					<claimResource type="register" registerField="FNOSC" value="011" />
					<claimResource type="register" registerField="POSCMOD" value="00" />
				</userAction>
				<userAction name="PrimaryXT">
					<claimResource type="register" registerField="FNOSC" value="010" />
					<claimResource type="register" registerField="POSCMOD" value="01" />
				</userAction>
				<userAction name="PrimaryHS">
					<claimResource type="register" registerField="FNOSC" value="010" />
					<claimResource type="register" registerField="POSCMOD" value="10" />
				</userAction>
				<userAction name="PrimaryEC">
					<claimResource type="register" registerField="FNOSC" value="010" />
					<claimResource type="register" registerField="POSCMOD" value="00" />
				</userAction>
				<userAction name="InternalFRCwithPLL">
					<claimResource type="register" registerField="FNOSC" value="001" />
					<claimResource type="register" registerField="POSCMOD" value="11" />
				</userAction>
				<userAction name="InternalFRC">
					<claimResource type="register" registerField="FNOSC" value="000" />
					<claimResource type="register" registerField="POSCMOD" value="11" />
				</userAction>
			</userControl>
			<userControl name="ClockDivider">
				<dialogConfig type="CB" caption="Clock Divide:">
					<selection name="setToDiv2" value="Divide by 2" />
					<selection name="setToDiv4" value="Divide by 4" />
					<selection name="setToDiv8" value="Divide by 8" />
					<selection name="setToDiv16" value="Divide by 16" />
					<selection name="setToDiv32" value="Divide by 32" />
					<selection name="setToDiv64" value="Divide by 64" />
					<selection name="setToDiv128" value="Divide by 128" />
					<selection name="setToDiv256" value="Divide by 256" />
				</dialogConfig>
				<userAction name="setToDiv256">
					<claimResource type="register" registerField="RCDIV" value="111" />
				</userAction>
				<userAction name="setToDiv128">
					<claimResource type="register" registerField="RCDIV" value="110" />
				</userAction>
				<userAction name="setToDiv64">
					<claimResource type="register" registerField="RCDIV" value="101" />
				</userAction>
				<userAction name="setToDiv32">
					<claimResource type="register" registerField="RCDIV" value="100" />
				</userAction>
				<userAction name="setToDiv16">
					<claimResource type="register" registerField="RCDIV" value="011" />
				</userAction>
				<userAction name="setToDiv8">
					<claimResource type="register" registerField="RCDIV" value="010" />
				</userAction>
				<userAction name="setToDiv4">
					<claimResource type="register" registerField="RCDIV" value="001" />
				</userAction>
				<userAction name="setToDiv2">
					<claimResource type="register" registerField="RCDIV" value="000" />
				</userAction>
			</userControl>
			<userControl name="SwitchingAndMonitorMode">
				<dialogConfig type="CB" caption="Switching and Monitor Mode">
					<selection name="SelectNone" value="Switching Disabled, Monitor Disabled" />
					<selection name="SelectSwitching" value="Switching Enabled, Monitor Disabled" />
					<selection name="SelectSwitchingAndMonitor" value="Switching Enabled, Monitor Enabled" />
				</dialogConfig>
				<userAction name="SelectSwitchingAndMonitor">
					<claimResource type="register" registerField="FCKSM" value="11" />
				</userAction>
				<userAction name="SelectSwitching">
					<claimResource type="register" registerField="FCKSM" value="01" />
				</userAction>
				<userAction name="SelectNone">
					<claimResource type="register" registerField="FCKSM" value="00" />
				</userAction>
			</userControl>
			<userControl name="EnableAuxOsc">
				<dialogConfig type="CK" caption="Enable Auxuliary 32KHz Oscillator" />
				<userAction name="enable">
					<claimResource type="register" registerField="SOSCEN" value="1" />
					<claimResource type="pin" pin="SOSCO" polarity="Inp" />
					<claimResource type="pin" pin="SOSCI" polarity="Inp" />
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="SOSCEN" value="0" />
				</userAction>
			</userControl>
			<userControl name="EnableCpuPeriphClockRatio">
				<dialogConfig type="CK" caption="Enable CPU/Peripheral Clock Ratio" />
				<userAction name="enable">
					<claimResource type="register" registerField="DOZEN" value="1" />
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="DOZEN" value="0" />
				</userAction>
			</userControl>
			<userControl name="CpuPeripheralClockRatio">
				<dialogConfig type="CB" caption="CPU Peripheral Clock Ratio">
					<selection name="1To128" value="1:128" />
					<selection name="1To64" value="1:64" />
					<selection name="1To32" value="1:32" />
					<selection name="1To16" value="1:16" />
					<selection name="1To8" value="1:8" />
					<selection name="1To4" value="1:4" />
					<selection name="1To2" value="1:2" />
					<selection name="1To1" value="1:1" />
				</dialogConfig>
				<userAction name="1To128">
					<claimResource type="register" registerField="DOZE" value="111" />
				</userAction>
				<userAction name="1To64">
					<claimResource type="register" registerField="DOZE" value="110" />
				</userAction>
				<userAction name="1To32">
					<claimResource type="register" registerField="DOZE" value="101" />
				</userAction>
				<userAction name="1To16">
					<claimResource type="register" registerField="DOZE" value="100" />
				</userAction>
				<userAction name="1To8">
					<claimResource type="register" registerField="DOZE" value="011" />
				</userAction>
				<userAction name="1To4">
					<claimResource type="register" registerField="DOZE" value="010" />
				</userAction>
				<userAction name="1To2">
					<claimResource type="register" registerField="DOZE" value="001" />
				</userAction>
				<userAction name="1To1">
					<claimResource type="register" registerField="DOZE" value="000" />
				</userAction>
			</userControl>
			<userControl name="RecoverCPUPeripheralRatioOnInterrupt">
				<dialogConfig type="CK" caption="Recover CPU/Peripheral Ratio On Interrupt" />
				<userAction name="enable">
					<claimResource type="register" registerField="ROI" value="1" />
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="ROI" value="0" />
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
</featureDefinitions>
