<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="../XSLT/decoder.xsl"?>
<!-- Copyright (C) JMRI 2003, 2004 All rights reserved -->
<!-- $Id: NCE_D102US.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="Michael Mosher" version="1" lastUpdated="20030706"/>
  <decoder>
    <family name="Non silent drive non-directional lights" mfg="North Coast Engineering" lowVersionID="21" highVersionID="21">
      <model model="D102US" numOuts="2" numFns="1"/>
      <model model="DA102US" numOuts="5" numFns="4"/>
    </family>
    <programming direct="no" paged="yes" register="yes" ops="yes"/>
    <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="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="Motor drive frequency" CV="9" item="Total PWM Period" comment="1-255 PWM drive freq in 128us increments" default="195">
        <decVal/>
        <label>Motor drive frequency</label>
        <comment>1-255 PWM drive freq in 128us increments</comment>
      </variable>
      <variable label="Extended Address" CV="17" item="Long Address">
        <longAddressVal/>
        <label>Extended Address</label>
      </variable>
      <variable label="Consist Address" CV="19" mask="XVVVVVVV">
        <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="Consist Acceleration Adjustment" CV="23" mask="XVVVVVVV">
        <decVal max="127"/>
        <label>Consist Acceleration Adjustment</label>
      </variable>
      <variable label="Consist Acceleration Adjustment Sign" CV="23" mask="VXXXXXXX">
        <enumVal>
          <enumChoice choice="Adjustment Added">
            <choice>Adjustment Added</choice>
          </enumChoice>
          <enumChoice choice="Adjustment Subtracted">
            <choice>Adjustment Subtracted</choice>
          </enumChoice>
        </enumVal>
        <label>Consist Acceleration Adjustment Sign</label>
      </variable>
      <variable label="Consist Deceleration Adjustment" CV="24" mask="XVVVVVVV">
        <decVal max="127"/>
        <label>Consist Deceleration Adjustment</label>
      </variable>
      <variable label="Consist Deceleration Adjustment Sign" CV="24" mask="VXXXXXXX">
        <enumVal>
          <enumChoice choice="Adjustment Added">
            <choice>Adjustment Added</choice>
          </enumChoice>
          <enumChoice choice="Adjustment Subtracted">
            <choice>Adjustment Subtracted</choice>
          </enumChoice>
        </enumVal>
        <label>Consist Deceleration Adjustment Sign</label>
      </variable>
      <variable label="Locomotive Direction" CV="29" mask="XXXXXXXV">
        <enumVal>
          <enumChoice choice="normal">
            <choice>normal</choice>
          </enumChoice>
          <enumChoice choice="reversed">
            <choice>reversed</choice>
          </enumChoice>
        </enumVal>
        <label>Locomotive Direction</label>
      </variable>
      <variable label="FL Location" CV="29" mask="XXXXXXVX" item="Speed Step Mode">
        <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>FL Location</label>
      </variable>
      <variable label="Power Source Conversion" CV="29" mask="XXXXXVXX" item="Analog (DC) Operation">
        <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>Power Source Conversion</label>
      </variable>
      <variable label="Advanced Decoder Acknowledgement" CV="29" mask="XXXXVXXX" item="Advanced Ack">
        <enumVal>
          <enumChoice choice="disabled">
            <choice>disabled</choice>
          </enumChoice>
          <enumChoice choice="enabled">
            <choice>enabled</choice>
          </enumChoice>
        </enumVal>
        <label>Advanced Decoder Acknowledgement</label>
      </variable>
      <variable label="Speed Table Definition" CV="29" mask="XXXVXXXX">
        <enumVal>
          <enumChoice choice="Use Vstart, Vmid, Vhigh">
            <choice>Use Vstart, Vmid, Vhigh</choice>
          </enumChoice>
          <enumChoice choice="Use table in CVs 66 through 95">
            <choice>Use table in CVs 66 through 95</choice>
          </enumChoice>
        </enumVal>
        <label>Speed Table Definition</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="Output 1 effect generated" CV="64" mask="XXXXXXXV">
        <enumVal>
          <enumChoice choice="F0 normal on/off operation">
            <choice>F0 normal on/off operation</choice>
          </enumChoice>
          <enumChoice choice="F0 Mars light simulation">
            <choice>F0 Mars light simulation</choice>
          </enumChoice>
        </enumVal>
        <label>Output 1 effect generated</label>
      </variable>
      <variable label="Speed Table" CV="67">
        <speedTableVal/>
        <label>Speed Table</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 1" minOut="1" default="1"/>
      <constant label="F1 controls output 2" minOut="2" default="1"/>
      <constant label="F2 controls output 3" minOut="3" minFn="1" default="1"/>
      <constant label="F3 controls output 4" minOut="4" minFn="2" default="1"/>
      <constant label="F4 controls output 5" minOut="5" minFn="3" default="1"/>
      <constant label="F5 controls output 6" minOut="6" minFn="4" default="1"/>
      <constant label="F6 controls output 7" minOut="7" minFn="5" default="1"/>
      <constant label="F7 controls output 8" minOut="8" minFn="6" default="1"/>
      <constant label="F8 controls output 9" minOut="9" minFn="7" default="1"/>
    </variables>
  </decoder>
</decoder-config>

