<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="../XSLT/decoder.xsl"?>
<!-- Copyright (C) JMRI 2002, 2004, 2007 All rights reserved -->
<!-- $Id: Digitrax_STDstar.xml 17977 2011-07-18 17:23:46Z zoo $ -->
<!--                                                                        -->
<!-- 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 xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jmri.org/xml/schema/decoder.xsd">
  <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"/>
    <variables>
      <variable label="Primary Address" CV="1" comment="Short address" item="Short Address" default="03">
        <shortAddressVal/>
        <label>Primary Address</label>
        <comment>Short address</comment>
      </variable>
      <variable label="Vstart" CV="2" comment="A value of 255 corresponds to 100%">
        <decVal/>
        <label>Vstart</label>
        <comment>A value of 255 corresponds to 100%</comment>
      </variable>
      <variable label="Acceleration Rate" CV="3" item="Accel">
        <decVal max="31"/>
        <label>Acceleration Rate</label>
      </variable>
      <variable label="Deceleration Rate" CV="4" item="Decel">
        <decVal max="31"/>
        <label>Deceleration Rate</label>
      </variable>
      <variable label="Vhigh" CV="5">
        <decVal/>
        <label>Vhigh</label>
      </variable>
      <variable label="Vmid" CV="6">
        <decVal/>
        <label>Vmid</label>
      </variable>
      <variable label="Manufacturer Version No" CV="7" readOnly="yes" item="Decoder Version">
        <decVal/>
        <label>Manufacturer Version No</label>
      </variable>
      <variable label="Manufacturer ID" CV="8" readOnly="yes" item="Manufacturer">
        <decVal/>
        <label>Manufacturer ID</label>
      </variable>
      <variable label="Analog Mode Function Status - F1" CV="13" mask="XXXXXXXV">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - F1</label>
      </variable>
      <variable label="Analog Mode Function Status - F2" CV="13" mask="XXXXXXVX">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - F2</label>
      </variable>
      <variable label="Analog Mode Function Status - F3" CV="13" mask="XXXXXVXX">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - F3</label>
      </variable>
      <variable label="Analog Mode Function Status - F4" CV="13" mask="XXXXVXXX">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - F4</label>
      </variable>
      <variable label="Analog Mode Function Status - F5" CV="13" mask="XXXVXXXX">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - F5</label>
      </variable>
      <variable label="Analog Mode Function Status - F6" CV="13" mask="XXVXXXXX">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - F6</label>
      </variable>
      <variable label="Analog Mode Function Status - FL(f)" CV="13" mask="XVXXXXXX">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - FL(f)</label>
      </variable>
      <variable label="Analog Mode Function Status - FL(r)" CV="13" mask="VXXXXXXX">
        <enumVal>
          <enumChoice choice="off">
            <choice>off</choice>
          </enumChoice>
          <enumChoice choice="on">
            <choice>on</choice>
          </enumChoice>
        </enumVal>
        <label>Analog Mode Function Status - FL(r)</label>
      </variable>
      <variable label="Long Address" CV="17">
        <longAddressVal/>
        <label>Long Address</label>
      </variable>
      <variable label="Consist Address" CV="19" mask="XVVVVVVV" item="Consist Address">
        <decVal/>
        <label>Consist Address</label>
      </variable>
      <variable label="Consist Direction" CV="19" mask="VXXXXXXX">
        <enumVal>
          <enumChoice choice="Normal">
            <choice>Normal</choice>
          </enumChoice>
          <enumChoice choice="Reversed">
            <choice>Reversed</choice>
          </enumChoice>
        </enumVal>
        <label>Consist Direction</label>
      </variable>
      <variable label="Normal direction of motion" CV="29" mask="XXXXXXXV" item="Locomotive Direction">
        <enumVal>
          <enumChoice choice="forward">
            <choice>forward</choice>
          </enumChoice>
          <enumChoice choice="reverse">
            <choice>reverse</choice>
          </enumChoice>
        </enumVal>
        <label>Normal direction of motion</label>
      </variable>
      <variable label="Speed steps" CV="29" mask="XXXXXXVX" item="Speed Step Mode" default="1">
        <enumVal>
          <enumChoice choice="14 speed step format">
            <choice>14 speed step format</choice>
          </enumChoice>
          <enumChoice choice="28 speed step format">
            <choice>28 speed step format</choice>
          </enumChoice>
        </enumVal>
        <label>Speed steps</label>
      </variable>
      <variable label="Analog (DC) Operation" CV="29" mask="XXXXXVXX" default="1">
        <enumVal>
          <enumChoice choice="NMRA Digital only">
            <choice>NMRA Digital only</choice>
          </enumChoice>
          <enumChoice choice="DC conversion enabled">
            <choice>DC conversion enabled</choice>
          </enumChoice>
        </enumVal>
        <label>Analog (DC) Operation</label>
      </variable>
      <variable label="Address Format" CV="29" mask="XXVXXXXX">
        <enumVal>
          <enumChoice choice="One byte (short) address">
            <choice>One byte (short) address</choice>
          </enumChoice>
          <enumChoice choice="Two byte (extended) address">
            <choice>Two byte (extended) address</choice>
          </enumChoice>
        </enumVal>
        <label>Address Format</label>
      </variable>
      <variable label="Kick Start" CV="65">
        <decVal/>
        <label>Kick Start</label>
      </variable>
      <variable label="Forward Trim" CV="66">
        <decVal/>
        <label>Forward Trim</label>
      </variable>
      <variable label="Reverse Trim" CV="95">
        <decVal/>
        <label>Reverse Trim</label>
      </variable>
      <variable label="User Private ID #1" CV="105" item="User Id #1">
        <decVal/>
        <label>User Private ID #1</label>
      </variable>
      <variable label="User Private ID #2" CV="106" item="User Id #2">
        <decVal/>
        <label>User Private ID #2</label>
      </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>

