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

<!-- Copyright (C) JMRI 2002, 2004, 2007 All rights reserved -->
<!-- $Id: Digitrax_STDstar.xml,v 1.13 2008/04/27 00:41:36 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="jake@physics.berkeley.edu" 
					version="4" lastUpdated="20030606"/>
		<version author="Walter Thompson wsthompson@earthlink.net" 
					version="5" lastUpdated="20080412"/>

<!-- Represent the family of Digitrax decoders with STD* outputs. -->
<!-- STD* means that the lights are reversing only, so -->
<!-- that aspect can't be configured -->

<!-- Version 1 made from old 1x1 file -->
<!-- Version 2 with versionID range -->
<!-- Version 3 remove speed tables, not present -->
<!-- Version 4 - add consist direction, DH84 - jake -->

<decoder>
	<family name="Basic STD*" mfg="Digitrax" lowVersionID="1" highVersionID="1">
		<model model="DN121" numOuts="2" numFns="2"/>
		<model model="DN93" numOuts="3" numFns="4"/>
		<model model="DH84" numOuts="3" numFns="4"/>
	</family>

	<programming direct="no" paged="yes" 
	                     register="yes" ops="no"></programming>

	<variables>
		<variable label="Primary Address" CV="1" comment="Short address"
						item="Short Address"  default="03">
			<shortAddressVal/></variable>
		<variable label="Vstart" CV="2"
						comment="A value of 255 corresponds to 100%">
			<decVal/></variable>
		<variable label="Acceleration Rate" CV="3"
						item="Accel" >
			<decVal max="31"/></variable>
		<variable label="Deceleration Rate" CV="4"
						item="Decel">
			<decVal max="31"/></variable>
		<variable label="Vhigh" CV="5">					<decVal/></variable>
		<variable label="Vmid" CV="6">					<decVal/></variable>
		<variable label="Manufacturer Version No" CV="7" readOnly="yes"
						item="Decoder Version"><decVal/></variable>
		<variable label="Manufacturer ID" CV="8" readOnly="yes"
						item="Manufacturer">			<decVal/></variable>

		<variable label="Analog Mode Function Status - F1" CV="13" mask="XXXXXXXV">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>
		<variable label="Analog Mode Function Status - F2" CV="13" mask="XXXXXXVX">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>
		<variable label="Analog Mode Function Status - F3" CV="13" mask="XXXXXVXX">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>
		<variable label="Analog Mode Function Status - F4" CV="13" mask="XXXXVXXX">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>
		<variable label="Analog Mode Function Status - F5" CV="13" mask="XXXVXXXX">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>
		<variable label="Analog Mode Function Status - F6" CV="13" mask="XXVXXXXX">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>
		<variable label="Analog Mode Function Status - FL(f)" CV="13" mask="XVXXXXXX">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>
		<variable label="Analog Mode Function Status - FL(r)" CV="13" mask="VXXXXXXX">
			<enumVal>
				<enumChoice choice="off"/>
				<enumChoice choice="on"/>
				</enumVal></variable>

		<variable label="Long Address" CV="17">
			<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 speed step format"/>
				<enumChoice choice="28 speed step format"/>
				</enumVal>
			</variable>
		<variable label="Analog (DC) Operation" CV="29" mask="XXXXXVXX" default="1">
			<enumVal>
				<enumChoice choice="NMRA Digital only"/>
				<enumChoice choice="DC conversion enabled"/>
				</enumVal></variable>
		<variable label="Address Format" CV="29" mask="XXVXXXXX">
			<enumVal>
				<enumChoice choice="One byte (short) address"/>
				<enumChoice choice="Two byte (extended) address"/>
				</enumVal></variable>

		<variable label="Kick Start" CV="65">
			<decVal/>
			</variable>
		<variable label="Forward Trim" CV="66">
			<decVal/>
			</variable>
		<variable label="Reverse Trim" CV="95">
			<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>


	<!-- Define the fixed Function-Output mapping -->
	<constant label="FL(f) controls output 1" minOut="1" default="1" /> 
	<constant label="FL(r) controls output 2" minOut="2" default="1" /> 
	<constant label="F1 controls output 3" minOut="3" minFn="1" default="1" /> 
	<constant label="F2 controls output 4" minOut="4" minFn="2" default="1" /> 
	<constant label="F3 controls output 5" minOut="5" minFn="3" default="1" /> 
	<constant label="F4 controls output 6" minOut="6" minFn="4" default="1" /> 
	<constant label="F5 controls output 7" minOut="7" minFn="5" default="1" /> 
	<constant label="F6 controls output 8" minOut="8" minFn="6" default="1" /> 
	<constant label="F7 controls output 9" minOut="9" minFn="7" default="1" /> 
	<constant label="F8 controls output 10" minOut="10" minFn="8" default="1" /> 

	</variables>

  <resets>
  	<factReset label="Reset All CVs" CV="8" default="8"/>
  	<factReset label="Reset All CVs except speed table" CV="8" default="9"/>
  </resets>

	
</decoder>
</decoder-config>
