<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd"[]>
<featureDefinitions name="SPI" iconName="SPI" 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" registerField="OWN_MSSP%instance%" value="0"></claimResource>
					<claimResource type="pin" pin="SDI%instance%" polarity="Inp"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="communicationSettings" caption="Communication Settings">
		<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="SSPEN" value="1"></claimResource>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" instance="%instance%" registerField="SSPEN" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="enableSDOx">
				<dialogConfig type="CK" caption="Enable Data Out on SDO pin"></dialogConfig>
				<userAction name="disable"></userAction>
				<userAction name="enable">
					<claimResource type="pin" pin="SDO%instance%" polarity="Out"></claimResource>
				</userAction>
			</userControl>
			<userControl name="interruptEnable" enableForInt="SSP%instance%">
				<dialogConfig type="CK" caption="Enable Interrupt on Startup" />
				<userAction name="enable">
					<claimResource type="register" registerField="SSP%instance%IE" value="1" />
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="SSP%instance%IE" value="0" />
				</userAction>
			</userControl>
			<userControl name="interruptPriority" priorityForInt="SSP%instance%">
				<dialogConfig type="CB" caption="Interrupt Priority">
					<selection name="priorityLevelToHigh" value="High" />
					<selection name="priorityLevelToLow" value="Low" />
				</dialogConfig>
				<userAction>
					<claimResource type="register" registerField="SSP%instance%IP" value="0" />
				</userAction>
				<userAction>
					<claimResource type="register" registerField="SSP%instance%IP" value="1" />
				</userAction>
			</userControl>
			<userControl name="idleClockState">
				<dialogConfig type="CB" caption="Idle Clock State">
					<selection name="low" value="IDLE state is low"></selection>
					<selection name="high" value="IDLE state is high"></selection>
				</dialogConfig>
				<userAction name="high">
					<claimResource type="register" instance="%instance%" registerField="CKP" value="1"></claimResource>
				</userAction>
				<userAction name="low">
					<claimResource type="register" instance="%instance%" registerField="CKP" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="transmitClockEdge">
				<dialogConfig type="CB" caption="Transmit Clock Edge">
					<selection name="low" value="Idle clock to Active"></selection>
					<selection name="high" value="Active clock to Idle"></selection>
				</dialogConfig>
				<userAction name="high">
					<claimResource type="register" instance="%instance%" registerField="CKE" value="1"></claimResource>
				</userAction>
				<userAction name="low">
					<claimResource type="register" instance="%instance%" registerField="CKE" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl name="SPIMode">
				<dialogConfig type="CB" caption="Mode">
					<selection name="MasterWClockby4" value="Master with Fosc/4"></selection>
					<selection name="MasterWClockby16" value="Master with Fosc/16"></selection>
					<selection name="MasterWClockby64" value="Master with Fosc/64"></selection>
					<selection name="MasterWTMR2by2" value="Master with Timer2/2"></selection>
					<selection name="Slave" value="Slave, slave select disabled"></selection>
					<selection name="SlaveSlaveSel" value="Slave, slave select enabled"></selection>
				</dialogConfig>
				<userAction name="SlaveSlaveSel">
					<claimResource type="register" instance="%instance%" registerField="SSPM3" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM2" value="1"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM1" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM0" value="0"></claimResource>
					<claimResource type="pin" pin="SCK%instance%" polarity="Inp"></claimResource>
					<claimResource type="pin" pin="SS%instance%-L" polarity="Inp"></claimResource>
				</userAction>
				<userAction name="Slave">
					<claimResource type="register" instance="%instance%" registerField="SSPM3" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM2" value="1"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM1" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM0" value="1"></claimResource>
					<claimResource type="pin" pin="SCK%instance%" polarity="Inp"></claimResource>
				</userAction>
				<userAction name="MasterWTMR2by2">
					<claimResource type="register" instance="%instance%" registerField="SSPM3" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM2" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM1" value="1"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM0" value="1"></claimResource>
				</userAction>
				<userAction name="MasterWClockby64">
					<claimResource type="register" instance="%instance%" registerField="SSPM3" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM2" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM1" value="1"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM0" value="0"></claimResource>
				</userAction>
				<userAction name="MasterWClockby16">
					<claimResource type="register" instance="%instance%" registerField="SSPM3" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM2" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM1" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM0" value="1"></claimResource>
				</userAction>
				<userAction name="MasterWClockby4">
					<claimResource type="register" instance="%instance%" registerField="SSPM3" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM2" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM1" value="0"></claimResource>
					<claimResource type="register" instance="%instance%" registerField="SSPM0" value="0"></claimResource>
				</userAction>
			</userControl>
		</userControlSubGroup>
		<userControlSubGroup name="masterSettings" caption="Master Settings">
			<userControl name="dataInputPhase">
				<dialogConfig type="CB" caption="Data Input Sample Instant">
					<selection name="middle" value="Middle of data output time"></selection>
					<selection name="end" value="End of data output time"></selection>
				</dialogConfig>
				<userAction name="end">
					<claimResource type="register" instance="%instance%" registerField="SMP" value="1"></claimResource>
				</userAction>
				<userAction name="middle">
					<claimResource type="register" instance="%instance%" registerField="SMP" value="0"></claimResource>
				</userAction>
			</userControl>
			<userControl type="readOnly" name="baudRate">
				<dialogConfig type="general" caption="Baud Rate"></dialogConfig>
				<userAction></userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
</featureDefinitions>