<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd">
<featureDefinitions name="I2C" iconName="I2C" 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="SCL" polarity="Out"/>
					<claimResource type="pin" pin="SDA" polarity="Out"/>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="operationalSettings" caption="Operational Settings">
		<userControlSubGroup name="none" caption="none">
			<userControl name="enable">
				<dialogConfig type="CK" caption="Enable on Startup"/>
				<userAction name="enable">
					<claimResource type="register" registerField="I2CEN" value="1"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="I2CEN" value="0"/>
				</userAction>
			</userControl>
			<userControl name="enableSlew">
				<dialogConfig type="CK" caption="Enable Slew Rate Control"/>
				<userAction name="disable">
					<claimResource type="register" registerField="DISSLW" value="1"/>
				</userAction>
				<userAction name="enable">
					<claimResource type="register" registerField="DISSLW" value="0"/>
				</userAction>
			</userControl>
			<userControl name="enableInputCheck">
				<dialogConfig type="CK" caption="Enable checking of input levels for conformance to SM Bus specifications"/>
				<userAction name="disable">
					<claimResource type="register" registerField="SMEN" value="0"/>
				</userAction>
				<userAction name="enable">
					<claimResource type="register" registerField="SMEN" value="1"/>
				</userAction>
			</userControl>
			<userControl name="interruptEnable" enableForInt="I2C">
				<dialogConfig type="CK" caption="Enable Interrupt on Startup"/>
				<userAction name="enable">
					<claimResource type="register" registerField="I2CIE" value="1"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="I2CIE" value="0"/>
				</userAction>
			</userControl>
			<userControl name="interruptPriority" priorityForInt="I2C">
				<dialogConfig type="CB" range="7" caption="Interrupt Priority">
					<selection name="rxPriorityLevelTo%index%" value="%index%"/>
				</dialogConfig>
				<userAction>
					<!-- method to compute txPriority in bit mode should reference register info table read from XML -->
					<claimResource type="register" registerField="SI2CIP" method="rxPriorityLevel3Bit"/>
				</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="I2CSIDL" value="1"/>
				</userAction>
				<userAction name="continueOnIdle">
					<claimResource type="register" registerField="I2CSIDL" value="0"/>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="slaveSettings" caption="none">
		<userControlSubGroup name="slaveSettings" caption="Slave Settings">
			<userControl name="addrLen">
				<dialogConfig type="CB" caption="Address Length (bits)">
					<selection name="addrLen7" value="7"/>
					<selection name="addrLen10" value="10"/>
				</dialogConfig>
				<userAction name="addrLen10">
					<claimResource type="register" registerField="A10M" value="1"/>
				</userAction>
				<userAction name="addrLen7">
					<claimResource type="register" registerField="A10M" value="0"/>
				</userAction>
			</userControl>
			<userControl name="nodeAddr">
				<dialogConfig type="TB" caption="Node Address"/>
				<userAction>
					<!-- what to do here - and set GCEN dependency? -->
				</userAction>
			</userControl>
			<userControl name="enableSWStretch">
				<dialogConfig type="CK" caption="Enable Sw-controlled clock stretching during reception"/>
				<userAction name="enable">
					<claimResource type="register" registerField="STREN" value="1"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="STREN" value="0"/>
				</userAction>
			</userControl>
			<userControl name="enableGCADetect">
				<dialogConfig type="CK" caption="Enable General Call Address Detect"/>
				<userAction name="enable">
					<claimResource type="register" registerField="GCEN" value="1"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="GCEN" value="0"/>
				</userAction>
			</userControl>
			<userControl name="enableIPMI">
				<dialogConfig type="CK" caption="Enable Intelligent Peripheral Management Interface (IPMI)"/>
				<userAction name="enable">
					<claimResource type="register" registerField="IPMIEN" value="1"/>
				</userAction>
				<userAction name="disable">
					<claimResource type="register" registerField="IPMIEN" value="0"/>
				</userAction>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
	<userControlGroup name="masterSettings" caption="none">
		<userControlSubGroup name="masterSettings" caption="Master Settings">
			<userControl name="baudRate">
				<dialogConfig type="TB" caption="Baud Rate"/>
				<userAction/>
			</userControl>
			<userControl name="baudRateUnits">
				<dialogConfig type="CB" caption="none">
					<selection name="setToBps" value="bps"/>
					<selection name="setToKbps" value="kbps"/>
				</dialogConfig>
				<userAction name="setToBps"/>
				<userAction name="setToKbps"/>
			</userControl>
			<userControl type="readOnly" name="baudRateError">
				<dialogConfig type="general" caption="Baud Rate Error (%)"/>
				<userAction/>
			</userControl>
		</userControlSubGroup>
	</userControlGroup>
</featureDefinitions>
