<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="../XSLT/decoder.xsl"?>
<!DOCTYPE decoder-config SYSTEM "../DTD/decoder-config.dtd">

<!-- Copyright (C) JMRI 2003, 2004 All rights reserved -->
<!-- $Id: Kuehn_5Moto.xml,v 1.4 2007/09/21 05:49:31 jacobsen Exp $ --> 
<!--                                                                        -->
<!-- JMRI is free software; you can redistribute it and/or modify it under  -->
<!-- the terms of version 2 of the GNU General Public License as published  -->
<!-- by the Free Software Foundation. See the "COPYING" file for a copy     -->
<!-- of this license.                                                       -->
<!--                                                                        -->
<!-- JMRI is distributed in the hope that it will be useful, but WITHOUT    -->
<!-- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or  -->
<!-- FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License  -->
<!-- for more details.                                                      -->

<decoder-config>
	<version author="peter.brandenburg@t-online.de"
			version="1" lastUpdated="2006/01/30" />

<decoder>

<family name="NMRA-DCC/Motorola" mfg="Kuehn">
		<model model="N025" numOuts="2" numFns="10"
		maxMotorCurrent="0.7 A" maxTotalCurrent="1 A" >
			<versionCV lowVersionID="34" />
			<output name="1" label="White" />
	    	<output name="2" label="Yellow" />
		</model>
		
		<model model="T125" numOuts="2" numFns="10"
		maxMotorCurrent="1.1 A" maxTotalCurrent="1.4 A" >
			<versionCV lowVersionID="34" />
			<output name="1" label="White" />
	    	<output name="2" label="Yellow" />
		</model>
		
		<model model="T145" numOuts="4" numFns="10"
		maxMotorCurrent="1.1 A" maxTotalCurrent="2.0 A" >
			<versionCV lowVersionID="34" />
			<output name="1" label="White" />
	    	<output name="2" label="Yellow" />
	    	<output name="3" label="Green" />
	    	<output name="4" label="Viol" />
		</model>
		
	</family>	
	
<programming ops="yes" register="yes" paged="yes" direct="yes"/>

<variables>
	<variable label="Primary Address" CV="1" comment="Short address"
						item="Short Address"  default="03">
			<shortAddressVal/>
			</variable>
	 
<variable comment="Range 0-255" default="3" item="Vstart" CV="2" label="Start Volts"> 
	 	<decVal/>
	 </variable>

<variable label="Acceleration" CV="3" default="2" item="Accel" comment="Range 0-63">
		<decVal max="63"/>
	</variable>
<variable label="Deceleration" CV="4" default="2" item="Decel"
				comment="Range 0-63">
			<decVal max="63"/>
	</variable>
<variable label="Vhigh" CV="5" default="0" 
				comment="Range 0-255">
			<decVal/>
	</variable>
 
<variable label="Vmid" CV="6" default="0" 
				comment="Range 0-255">
			<decVal/>
	</variable>
			
<variable label="Version ID" CV="7" readOnly="yes"
				item="Decoder Version" comment="at least version 34">
			<decVal/>
	</variable>

<variable label="Manufacturer ID" CV="8" readOnly="yes"
				item="Manufacturer" default="157">
			<decVal/>
	</variable>
	
<variable label="Total PWM Period" CV="9" default="0" item="Total PWM Period"
				tooltip="0=15.6 kHz, 1=120 Hz"
				comment="Range 0 / 1">
			<decVal min="0" max="1"/>
			</variable>
 
<variable label="Long Address" CV="17" item="Extended Address"
		        comment="4 digit address (Range 128-10240)">
			<longAddressVal/>
	</variable>
 
<variable label="Consist Address" CV="19" mask="XVVVVVVV" item="Consist Address">
			<decVal/>
	</variable>
 
<variable label="Consist Direction" CV="19" mask="VXXXXXXX">
		<enumVal>
			<enumChoice choice="Normal"></enumChoice>
			<enumChoice choice="Reversed"></enumChoice>
		</enumVal>
	</variable>
				 
<variable label="Normal direction of motion" CV="29" mask="XXXXXXXV" item="Locomotive Direction">
		<enumVal>
			<enumChoice choice="Forward"/>
			<enumChoice choice="Reverse"/>
		</enumVal>
	</variable>

<variable label="Speed Steps" CV="29" mask="XXXXXXVX" item="Speed Step Mode" default="1">
		<enumVal>
			<enumChoice choice="14"/>
			<enumChoice choice="28/128 (recommended)"/>
		</enumVal>
	</variable>
<variable label="Analog conversion mode" CV="29" mask="XXXXXVXX" default="1" item="Analog (DC) Operation">
		<enumVal>
			<enumChoice choice="Off"/>
			<enumChoice choice="On"/>
		</enumVal>
	</variable>

<variable label="Use Speed Table" CV="29" mask="XXXVXXXX" item="Speed Table Definition" >
		<enumVal>
			<enumChoice choice="Use Vstart, Vmid, Vhigh (CV29, bit 4)"/>
			<enumChoice choice="Use Table (CV's 67-94)"/>
		</enumVal>
	</variable>

<variable label="Addressing Mode" CV="29" mask="XXVXXXXX" item="Address Format" default="0">
		<enumVal>
			<enumChoice choice="2 digit addressing"/>
			<enumChoice choice="4 digit addressing"/>
		</enumVal>
	</variable>
 
<variable label="Speed Table" CV="67">
			<speedTableVal/>
	</variable>

<variable label="Effects Output A White" CV="49" mask="XXXXXXXV" default="0" item="A Pulsing Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output A White" CV="49" mask="XXXXXXVX" default="0" item="A Flashlight">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output A White" CV="49" mask="XXXXXVXX" default="0" item="A Blink Phase B">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output A White" CV="49" mask="XXXXVXXX" default="0" item="A Blink Phase A">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output A White" CV="49" mask="XXXVXXXX" default="0" item="A Dimm Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output A White" CV="49" mask="XXVXXXXX" default="0" item="A Light Off in rev">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output A White" CV="49" mask="XVXXXXXX" default="0" item="A Light Off in forw">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output A White" CV="49" mask="VXXXXXXX" default="0" item="A Dimm Light if F3 On">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>

		
<variable label="Effects Output B Yellow" CV="50" mask="XXXXXXXV" default="0" item="B Pulsing Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output B Yellow" CV="50" mask="XXXXXXVX" default="0" item="B Flashlight">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output B Yellow" CV="50" mask="XXXXXVXX" default="0" item="B Blink Phase B">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output B Yellow" CV="50" mask="XXXXVXXX" default="0" item="B Blink Phase A">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output B Yellow" CV="50" mask="XXXVXXXX" default="0" item="B Dimm Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output B Yellow" CV="50" mask="XXVXXXXX" default="0" item="B Light Off in rev">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output B Yellow" CV="50" mask="XVXXXXXX" default="0" item="B Light Off in forw">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output B Yellow" CV="50" mask="VXXXXXXX" default="0" item="B Dimm Light if F3 On">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>

<variable label="Effects Output C Green" CV="51" mask="XXXXXXXV" default="0" minOut="4" item="C Pulsing Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output C Green" CV="51" mask="XXXXXXVX" default="0" minOut="4" item="C Flashlight">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output C Green" CV="51" mask="XXXXXVXX" default="0" minOut="4" item="C Blink Phase B">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output C Green" CV="51" mask="XXXXVXXX" default="0" minOut="4" item="C Blink Phase A">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output C Green" CV="51" mask="XXXVXXXX" default="0" minOut="4" item="C Dimm Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/>
		</enumVal>
	</variable>
<variable label="Effects Output C Green" CV="51" mask="XXVXXXXX" default="0" minOut="4" item="C Light Off in rev">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/>
		</enumVal>
	</variable>
<variable label="Effects Output C Green" CV="51" mask="XVXXXXXX" default="0" minOut="4" item="C Light Off in forw">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output C Green" CV="51" mask="VXXXXXXX" default="0" minOut="4" item="C Dimm Light if F3 On">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>

<variable label="Effects Output D Violett" CV="52" mask="XXXXXXXV" default="0" minOut="4" item="D Pulsing Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output D Violett" CV="52" mask="XXXXXXVX" default="0" minOut="4" item="D Flashlight">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output D Violett" CV="52" mask="XXXXXVXX" default="0" minOut="4" item="D Blink Phase B">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output D Violett" CV="52" mask="XXXXVXXX" default="0" minOut="4" item="D Blink Phase A">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output D Violett" CV="52" mask="XXXVXXXX" default="0" minOut="4" item="D Dimm Light">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output D Violett" CV="52" mask="XXVXXXXX" default="0" minOut="4" item="D Light Off in rev">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output D Violett" CV="52" mask="XVXXXXXX" default="0" minOut="4" item="D Light Off in forw">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
<variable label="Effects Output D Violett" CV="52" mask="VXXXXXXX" default="0" minOut="4" item="D Dimm Light if F3 On">
		<enumVal><enumChoice choice="Off"/><enumChoice choice="On"/></enumVal>
	</variable>
	
	
	
<variable label="I adjustment" CV="53" default="2" item="EMF Dynamic Config"
				tooltip="I adjustment, 1-63"
				comment="Range 1-63">
			<decVal min="1" max="63"/>
	</variable>	

<variable label="P adjustment" CV="54" default="16" item="EMF Static Config"
				tooltip="P adjustment, 1-63"
				comment="Range 1-63">
		<decVal min="1" max="63"/>
	</variable>

<variable label="Cycle Time Effects/Output Reduction" CV="55" default="0" item="Output Reduction" mask="XXXXXXXV"
	          		comment="Controls function output voltage
	          				0=full on, 7=lowest">
		<decVal min="0" max="7"/>
	</variable>
	
<variable label="Cycle Time Effects/Output Reduction" CV="55" default="0" item="Cycle Time Effects" mask="XXXXXXVX"
	          		comment="Controls Cycle Time of Effects (CV49/50)
	          				0=0.5s, 9=4.5s">
		<decVal min="0" max="9"/>
	</variable>

<variable label="User Configurationregister" CV="56" default="0" item="Direction Dependent Light (white/yellow)" mask="XXXXXXXV"
				comment="Direction Depentent Lights or Independant Light and Function on yellow">
		<enumVal>
			<enumChoice choice="On"/>
			<enumChoice choice="Off"/>
		</enumVal>
	</variable>
<variable label="User Configurationregister" CV="56" default="1" item="BEMF Load Compensation" mask="XXXXXXVX"
				comment="BEMF Load Compensation disabled/enabled">
		<enumVal>
			<enumChoice choice="Off"/>
			<enumChoice choice="On"/>
		</enumVal>
	</variable>
<variable label="User Configurationregister" CV="56" default="1" item="F4 controls Shunting Speed" mask="XXXXXVXX"
				comment="F4 controls Shunting Speed">
		<enumVal>
			<enumChoice choice="Off"/>
			<enumChoice choice="On"/>
		</enumVal>
	</variable>


		<variable label="F1 controls output 2" CV="58" default="0" mask="XXXXXXXV" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F2 controls output 2" CV="58" mask="XXXXXXVX" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F3 controls output 2" CV="58"  mask="XXXXXVXX" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F4 controls output 2" CV="58" mask="XXXXVXXX" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F5 controls output 2" CV="58" mask="XXXVXXXX" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F6 controls output 2" CV="58" mask="XXVXXXXX" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F7 controls output 2" CV="58" mask="XVXXXXXX" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F8 controls output 2" CV="58" mask="VXXXXXXX" minOut="2" minFn="2"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
			
		<variable label="F1 controls output 3" CV="59" default="0" mask="XXXXXXXV" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F2 controls output 3" CV="59" mask="XXXXXXVX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F3 controls output 3" CV="59"  mask="XXXXXVXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F4 controls output 3" CV="59" mask="XXXXVXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F5 controls output 3" CV="59" mask="XXXVXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F6 controls output 3" CV="59" mask="XXVXXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F7 controls output 3" CV="59" mask="XVXXXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F8 controls output 3" CV="59" mask="VXXXXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>	
	
		<variable label="F1 controls output 4" CV="60" default="0" mask="XXXXXXXV" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F2 controls output 4" CV="60" mask="XXXXXXVX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F3 controls output 4" CV="60"  mask="XXXXXVXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F4 controls output 4" CV="60" mask="XXXXVXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F5 controls output 4" CV="60" mask="XXXVXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F6 controls output 4" CV="60" mask="XXVXXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F7 controls output 4" CV="60" mask="XVXXXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
		<variable label="F8 controls output 4" CV="60" mask="VXXXXXXX" minOut="2" minFn="4"> <enumVal> 
			<enumChoice choice="No"/> <enumChoice choice="Yes"/> </enumVal> </variable>
			
			
<variable label="Reverse Trim" CV="95" default="0">
			<decVal/>
			</variable>

<variable label="User Private ID #1" CV="105"
			item="User Id #1">
			<decVal/>
		</variable>

<variable label="User Private ID #2" CV="106"
			item="User Id #2">
			<decVal/>
		</variable>

	</variables>

</decoder>



<pane name="Output Handling">
		
		<column>
			<label label="Effects Output A White (CV 49)" />
			<separator/>
			<display label="Pulsing Light" format="radiobuttons" item="A Pulsing Light"  />
			<display label="Flashlight" format="radiobuttons" item="A Flashlight"  />
			<display label="Blink Phase B" format="radiobuttons" item="A Blink Phase B"  />
			<display label="Blink Phase A" format="radiobuttons" item="A Blink Phase A"  />
			<display label="Dimm Light" format="radiobuttons" item="A Dimm Light"  />
			<display label="Light Off in rev" format="radiobuttons" item="A Light Off in rev"  />
			<display label="Light Off in forw" format="radiobuttons" item="A Light Off in forw"  />
			<display label="Dimm Light if F3 On" format="radiobuttons" item="A Dimm Light if F3 On"  />
		</column>
		
		<column>
			<label label="Effects Output B Yellow (CV 50)" />
			<separator/>
			<display label="Pulsing Light" format="radiobuttons" item="B Pulsing Light"  />
			<display label="Flashlight" format="radiobuttons" item="B Flashlight"  />
			<display label="Blink Phase B" format="radiobuttons" item="B Blink Phase B"  />
			<display label="Blink Phase A" format="radiobuttons" item="B Blink Phase A"  />
			<display label="Dimm Light" format="radiobuttons" item="B Dimm Light"  />
			<display label="Light Off in rev" format="radiobuttons" item="B Light Off in rev"  />
			<display label="Light Off in forw" format="radiobuttons" item="B Light Off in forw"  />
			<display label="Dimm Light if F3 On" format="radiobuttons" item="B Dimm Light if F3 On"  />
		</column>
		
		<column>
			<label label="Effects Output C Green (CV 51)" />
			<separator/>
			<display label="Pulsing Light" format="radiobuttons" item="C Pulsing Light"  />
			<display label="Flashlight" format="radiobuttons" item="C Flashlight"  />
			<display label="Blink Phase B" format="radiobuttons" item="C Blink Phase B"  />
			<display label="Blink Phase A" format="radiobuttons" item="C Blink Phase A"  />
			<display label="Dimm Light" format="radiobuttons" item="C Dimm Light"  />
			<display label="Light Off in rev" format="radiobuttons" item="C Light Off in rev"  />
			<display label="Light Off in forw" format="radiobuttons" item="C Light Off in forw"  />
			<display label="Dimm Light if F3 On" format="radiobuttons" item="C Dimm Light if F3 On"  />
		</column>
		
		<column>
			<label label="Effects Output D Violett (CV 52)" />
			<separator/>
			<display label="Pulsing Light" format="radiobuttons" item="D Pulsing Light"  />
			<display label="Flashlight" format="radiobuttons" item="D Flashlight"  />
			<display label="Blink Phase B" format="radiobuttons" item="D Blink Phase B"  />
			<display label="Blink Phase A" format="radiobuttons" item="D Blink Phase A"  />
			<display label="Dimm Light" format="radiobuttons" item="D Dimm Light"  />
			<display label="Light Off in rev" format="radiobuttons" item="D Light Off in rev"  />
			<display label="Light Off in forw" format="radiobuttons" item="D Light Off in forw"  />
			<display label="Dimm Light if F3 On" format="radiobuttons" item="D Dimm Light if F3 On"  />
		</column>
		
	</pane>
	
	
<pane name="Light Effects and Userconfig">
		
		<column>
			<label label="Cycle Time Effects/Output Reduction (CV 55)" />
			<separator/>
			<display item="Output Reduction"   label="Controls function output voltage: 0=full on 7=lowest"  />
			<display item="Cycle Time Effects" label="Controls Cycle Time of Effects(CV49/50): 0=0.5s, 9=4.5s"  />
	        <label label=" "/>
	        <label label=" "/>
	        
	        <label label="User Configurationregister (CV 56)" />
	        <separator/>
	        <display label="Direction Dependent Light (white/yellow)" format="radiobuttons" item="Direction Dependent Light (white/yellow)"  />
	        <separator/>
			<display label="BEMF Load Compensation" format="radiobuttons" item="BEMF Load Compensation"  />
	        <display label="F4 controls Shunting Speed" format="radiobuttons" item="F4 controls Shunting Speed"  />
	          				
		</column>
		
	</pane>




</decoder-config>
