<?xml version="1.0" encoding="utf-8" standalone="no"?>
<!DOCTYPE featureDefinitions SYSTEM "../featureDefinitions.dtd">

<featureDefinitions name="DCI" iconName="DCI" 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="pin" pin="CSCK" polarity="Out"></claimResource>
	<claimResource type="pin" pin="COFS" polarity="Out"></claimResource>
</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"></dialogConfig>
<userAction name="enable">
	<claimResource type="register" registerField="DCIEN" value="1"></claimResource>
</userAction>
<userAction name="disable">
	<claimResource type="register" registerField="DCIEN" value="0"></claimResource>
</userAction>
</userControl>

<userControl name="loopbackEnable">
<dialogConfig type="CK" caption="Enable loopback on input and output pins"></dialogConfig>
<userAction name="enable">
	<claimResource type="register" registerField="DLOOP" value="1"></claimResource>
</userAction>
<userAction name="disable">
	<claimResource type="register" registerField="DLOOP" value="0"></claimResource>
	<claimResource type="pin" pin="CSDI" polarity="Inp"></claimResource>
	<claimResource type="pin" pin="CSDO" polarity="Out"></claimResource>
</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" registerField="DCISIDL" value="1"></claimResource>
</userAction>
<userAction name="continueOnIdle">
	<claimResource type="register" registerField="DCISIDL" value="0"></claimResource>
</userAction>
</userControl>
 
<userControl name="wordSize">
<dialogConfig type="CB" caption="Word size (bits)">
	<selection name="setTo1" value="1 bit long"></selection> 
	<selection name="setTo2" value="2 bit long"></selection> 
	<selection name="setTo3" value="3 bit long"></selection> 
	<selection name="setTo4" value="4 bit long"></selection> 
	<selection name="setTo5" value="5 bit long"></selection> 
	<selection name="setTo6" value="6 bit long"></selection> 
	<selection name="setTo7" value="7 bit long"></selection> 
	<selection name="setTo8" value="8 bit long"></selection> 
	<selection name="setTo9" value="9 bit long"></selection> 
	<selection name="setTo10" value="10 bit long"></selection> 
	<selection name="setTo11" value="11 bit long"></selection> 
	<selection name="setTo12" value="12 bit long"></selection> 
	<selection name="setTo13" value="13 bit long"></selection> 
	<selection name="setTo14" value="14 bit long"></selection> 
	<selection name="setTo15" value="15 bit long"></selection> 
	<selection name="setTo16" value="16 bit long"></selection> 
</dialogConfig>
<userAction name="setTo16">
	<claimResource type="register" registerField="WS" value="1111"></claimResource>
</userAction>
<userAction name="setTo15">
	<claimResource type="register" registerField="WS" value="1110"></claimResource>
</userAction>
<userAction name="setTo14">
	<claimResource type="register" registerField="WS" value="1101"></claimResource>
</userAction>
<userAction name="setTo13">
	<claimResource type="register" registerField="WS" value="1100"></claimResource>
</userAction>
<userAction name="setTo12">
	<claimResource type="register" registerField="WS" value="1011"></claimResource>
</userAction>
<userAction name="setTo11">
	<claimResource type="register" registerField="WS" value="1010"></claimResource>
</userAction>
<userAction name="setTo10">
	<claimResource type="register" registerField="WS" value="1001"></claimResource>
</userAction>
<userAction name="setTo9">
	<claimResource type="register" registerField="WS" value="1000"></claimResource>
</userAction>
<userAction name="setTo8">
	<claimResource type="register" registerField="WS" value="0111"></claimResource>
</userAction>
<userAction name="setTo7">
	<claimResource type="register" registerField="WS" value="0110"></claimResource>
</userAction>
<userAction name="setTo6">
	<claimResource type="register" registerField="WS" value="0101"></claimResource>
</userAction>
<userAction name="setTo5">
	<claimResource type="register" registerField="WS" value="0100"></claimResource>
</userAction>
<userAction name="setTo4">
	<claimResource type="register" registerField="WS" value="0011"></claimResource>
</userAction>
<userAction name="setTo3">
	<claimResource type="register" registerField="WS" value="0010"></claimResource>
</userAction>
<userAction name="setTo2">
	<claimResource type="register" registerField="WS" value="0001"></claimResource>
</userAction>
<userAction name="setTo1">
	<claimResource type="register" registerField="WS" value="0000"></claimResource>
</userAction>
</userControl>

<userControl name="bufferLength">
<dialogConfig type="CB" caption="Size of time slot (data words)">
	<selection name="1word" value="1 word buffered"></selection> 
	<selection name="2words" value="2 words buffered"></selection> 
	<selection name="3words" value="3 words buffered"></selection> 
	<selection name="4words" value="4 words buffered"></selection> 
</dialogConfig>
<userAction name="4words">
	<claimResource type="register" registerField="BLEN0" value="1"></claimResource>
	<claimResource type="register" registerField="BLEN1" value="1"></claimResource>
</userAction>
<userAction name="3words">
	<claimResource type="register" registerField="BLEN0" value="0"></claimResource>
	<claimResource type="register" registerField="BLEN1" value="1"></claimResource>
</userAction>
<userAction name="2words">
	<claimResource type="register" registerField="BLEN0" value="1"></claimResource>
	<claimResource type="register" registerField="BLEN1" value="0"></claimResource>
</userAction>
<userAction name="1word">
	<claimResource type="register" registerField="BLEN0" value="0"></claimResource>
	<claimResource type="register" registerField="BLEN1" value="0"></claimResource>
</userAction>
</userControl>

<userControl name="cSDOControl">
<dialogConfig type="CB" caption="Serial data transmitted during disabled time slots">
	<selection name="low" value="CSDO pin low"></selection> 
	<selection name="tristate" value="CSDO pin tri-state"></selection> 
</dialogConfig>
<userAction name="tristate">
	<claimResource type="register" registerField="CSDOM" value="1"></claimResource>
</userAction>
<userAction name="low">
	<claimResource type="register" registerField="CSDOM" value="0"></claimResource>
</userAction>
</userControl>

<userControl name="underflowMode">
<dialogConfig type="CB" caption="Serial data transmitted on underflow">
	<selection name="zero" value="Zeros"></selection> 
	<selection name="lastData" value="Last data"></selection> 
</dialogConfig>
<userAction name="lastData">
	<claimResource type="register" registerField="UNFM" value="1"></claimResource>
</userAction>
<userAction name="zero">
	<claimResource type="register" registerField="UNFM" value="0"></claimResource>
</userAction>
</userControl>


</userControlSubGroup>
</userControlGroup>

<userControlGroup name="advancedSettings" caption="Advanced Settings">
<userControlSubGroup name="sampleClock" caption="Sample Clock">

<userControl name="clockSource">
<dialogConfig type="CB" caption="Clock source">
	<selection name="internal" value="Internal"></selection> 
	<selection name="external" value="External"></selection> 
</dialogConfig>
<userAction name="external">
	<claimResource type="register" registerField="CSCKD" value="1"></claimResource>
	<claimResource type="register" registerField="BCG" value="000"></claimResource>
</userAction>
<userAction name="internal">
	<claimResource type="register" registerField="CSCKD" value="0"></claimResource>
</userAction>
</userControl>

<userControl name="clockRate">
<dialogConfig type="TB" caption="Clock Rate"></dialogConfig>
<userAction>
	<!-- This is needed for calculating BCG. -->
</userAction>
</userControl>

<userControl name="clockEdgeControl">
<dialogConfig type="CB" caption="Clock Edge">
	<selection name="falling" value="Falling edge of CSCK"></selection> 
	<selection name="rising" value="Rising edge of CSCK"></selection> 
</dialogConfig>
<userAction name="rising">
	<claimResource type="register" registerField="CSCKE" value="1"></claimResource>
</userAction>
<userAction name="falling">
	<claimResource type="register" registerField="CSCKE" value="0"></claimResource>
</userAction>
</userControl>

</userControlSubGroup>

<userControlSubGroup name="frameSync" caption="Frame Sync">

<userControl name="frameSyncMode">
<dialogConfig type="CB" caption="Mode">
	<selection name="multi" value="Multi channel mode"></selection> 
	<selection name="i2s" value="I2S mode"></selection> 
	<selection name="ac16bit" value="AC-Link mode (16-bit)"></selection> 
	<selection name="ac10bit" value="AC-Link mode (20-bit)"></selection> 
</dialogConfig>
<userAction name="ac10bit">
	<claimResource type="register" registerField="COFSM0" value="1"></claimResource>
	<claimResource type="register" registerField="COFSM1" value="1"></claimResource>
</userAction>
<userAction name="ac16bit">
	<claimResource type="register" registerField="COFSM0" value="0"></claimResource>
	<claimResource type="register" registerField="COFSM1" value="1"></claimResource>
</userAction>
<userAction name="i2s">
	<claimResource type="register" registerField="COFSM0" value="1"></claimResource>
	<claimResource type="register" registerField="COFSM1" value="0"></claimResource>
</userAction>
<userAction name="multi">
	<claimResource type="register" registerField="COFSM0" value="0"></claimResource>
	<claimResource type="register" registerField="COFSM1" value="0"></claimResource>
</userAction>
</userControl>

<userControl name="frameSyncMaster">
<dialogConfig type="CB" caption="Pulse source">
	<selection name="master" value="Frame Sync Master"></selection> 
	<selection name="slave" value="Frame Sync Slave"></selection> 
</dialogConfig>
<userAction name="slave">
	<claimResource type="register" registerField="COFSD" value="1"></claimResource>
</userAction>
<userAction name="master">
	<claimResource type="register" registerField="COFSD" value="0"></claimResource>
</userAction>
</userControl>

<userControl name="dataJustification">
<dialogConfig type="CB" caption="Data Justificaton">
	<selection name="1cycle" value="Transfer begins 1 cycle after COFS"></selection> 
	<selection name="during" value="Transfer begins during same COFS cycle"></selection> 
</dialogConfig>
<userAction name="during">
	<claimResource type="register" registerField="DJST" value="1"></claimResource>
</userAction>
<userAction name="1cycle">
	<claimResource type="register" registerField="DJST" value="0"></claimResource>
</userAction>
</userControl>

</userControlSubGroup>

<userControlSubGroup name="timeSlots" caption="Time Slots">

<userControl name="frameLength">
<dialogConfig type="CB" caption="Buffer length (words)">
	<selection name="setTo1" value="1 word"></selection> 
	<selection name="setTo2" value="2 words"></selection> 
	<selection name="setTo3" value="3 words"></selection> 
	<selection name="setTo4" value="4 words"></selection> 
	<selection name="setTo5" value="5 words"></selection> 
	<selection name="setTo6" value="6 words"></selection> 
	<selection name="setTo7" value="7 words"></selection> 
	<selection name="setTo8" value="8 words"></selection> 
	<selection name="setTo9" value="9 words"></selection> 
	<selection name="setTo10" value="10 words"></selection> 
	<selection name="setTo11" value="11 words"></selection> 
	<selection name="setTo12" value="12 words"></selection> 
	<selection name="setTo13" value="13 words"></selection> 
	<selection name="setTo14" value="14 words"></selection> 
	<selection name="setTo15" value="15 words"></selection> 
	<selection name="setTo16" value="16 words"></selection> 
</dialogConfig>
<userAction name="setTo16">
	<claimResource type="register" registerField="COFSG" value="1111"></claimResource>
</userAction>
<userAction name="setTo15">
	<claimResource type="register" registerField="COFSG" value="1110"></claimResource>
</userAction>
<userAction name="setTo14">
	<claimResource type="register" registerField="COFSG" value="1101"></claimResource>
</userAction>
<userAction name="setTo13">
	<claimResource type="register" registerField="COFSG" value="1100"></claimResource>
</userAction>
<userAction name="setTo12">
	<claimResource type="register" registerField="COFSG" value="1011"></claimResource>
</userAction>
<userAction name="setTo11">
	<claimResource type="register" registerField="COFSG" value="1010"></claimResource>
</userAction>
<userAction name="setTo10">
	<claimResource type="register" registerField="COFSG" value="1001"></claimResource>
</userAction>
<userAction name="setTo9">
	<claimResource type="register" registerField="COFSG" value="1000"></claimResource>
</userAction>
<userAction name="setTo8">
	<claimResource type="register" registerField="COFSG" value="0111"></claimResource>
</userAction>
<userAction name="setTo7">
	<claimResource type="register" registerField="COFSG" value="0110"></claimResource>
</userAction>
<userAction name="setTo6">
	<claimResource type="register" registerField="COFSG" value="0101"></claimResource>
</userAction>
<userAction name="setTo5">
	<claimResource type="register" registerField="COFSG" value="0100"></claimResource>
</userAction>
<userAction name="setTo4">
	<claimResource type="register" registerField="COFSG" value="0011"></claimResource>
</userAction>
<userAction name="setTo3">
	<claimResource type="register" registerField="COFSG" value="0010"></claimResource>
</userAction>
<userAction name="setTo2">
	<claimResource type="register" registerField="COFSG" value="0001"></claimResource>
</userAction>
<userAction name="setTo1">
	<claimResource type="register" registerField="COFSG" value="0000"></claimResource>
</userAction>
</userControl>

<userControl name="slotTX%indexControl%" range="15">
<dialogConfig type="BoxCK" caption="Slot TX %indexControl%"></dialogConfig>
<userAction name="enable">
	<claimResource type="register" registerField="TSE%indexControl%" value="1"></claimResource>
</userAction>
<userAction name="disable">
	<claimResource type="register" registerField="TSE%indexControl%" value="0"></claimResource>
</userAction>
</userControl>

<userControl name="slotRX%indexControl%" range="15">
<dialogConfig type="BoxCK" caption="Slot RX %indexControl%"></dialogConfig>
<userAction name="enable">
	<claimResource type="register" registerField="RSE%indexControl%" value="1"></claimResource>
</userAction>
<userAction name="disable">
	<claimResource type="register" registerField="RSE%indexControl%" value="0"></claimResource>
</userAction>
</userControl>

</userControlSubGroup>

</userControlGroup>

</featureDefinitions>
