<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../XSLT/decoder.xsl"?>
<!-- Copyright (C) JMRI 2001, 2005, 2007, 2-009, 2010 All rights reserved -->
<!--                                                                        -->
<!-- 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="Bob Jacobsen" version="4" lastUpdated="20190727"/> <!-- xinclude for CV19 -->
  <version author="Peter Ulvestad" version="3" lastUpdated="20130501"/>
  <version author="Peter Ulvestad" version="2" lastUpdated="20091028"/>
  <version author="Joe Salemi" version="1" lastUpdated="20041105"/>
  <!-- version 1 - made from Atlas_342 Version 1 and
			Atlas_DualMode Version 5 -->
  <!-- Decoder used in Atlas Master H15-44/H16-44 engines -->
  <!-- version 2 - Added Factory reset -->
  <!-- version 3 - Corrected CV 3/4 not showing on Motor Control Pane -->
  <decoder>
    <family name="Four Function #345" mfg="Atlas" lowVersionID="46" highVersionID="46">
      <model model="Four Function #345 H15-44/H16-44" numOuts="4" numFns="4"/>
    </family>
    <programming direct="yes" paged="yes" register="yes" ops="yes"/>
    <variables>
      <xi:include href="http://jmri.org/xml/decoders/nmra/shortAndLongAddress.xml"/>
      <variable CV="2" item="Vstart" default="8" comment="Range 0-31">
        <decVal max="31"/>
        <label>Start Volts</label>
        <label xml:lang="it">Volt Partenza</label>
        <label xml:lang="fr">V démarr.</label>
        <label xml:lang="de">Anfahrspannung</label>
        <comment>Range 0-31</comment>
      </variable>
      <variable CV="3" item="Accel" default="1" comment="Range 1-255">
        <decVal max="255"/>
        <label>Acceleration momentum</label>
        <label xml:lang="it">Accellerazione (0-255)</label>
        <label xml:lang="fr">Accelération (0-255)</label>
        <label xml:lang="de">Anfahrverzögerung (0-255)</label>
        <comment>Range 1-255</comment>
      </variable>
      <variable CV="4" item="Decel" default="1" comment="Range 1-255">
        <decVal max="255"/>
        <label>Brake momentum</label>
        <label xml:lang="it">Decellerazione (0-255)</label>
        <label xml:lang="fr">Décélération (0-255)</label>
        <label xml:lang="de">Bremszeit (0-255)</label>
        <comment>Range 1-255</comment>
      </variable>
      <variable CV="7" item="Decoder Version" readOnly="yes">
        <decVal/>
        <label>Version ID</label>
        <label xml:lang="it">Versione Decoder: </label>
        <label xml:lang="fr">Version décodeur: </label>
        <label xml:lang="de">Decoder Version: </label>
      </variable>
      <variable CV="8" readOnly="yes" item="Manufacturer" default="127" comment="Atlas - 127">
        <decVal/>
        <label>Manufacturer ID</label>
        <label xml:lang="it">ID Costruttore: </label>
        <label xml:lang="fr">ID constructeur: </label>
        <label xml:lang="de">Hersteller ID: </label>
        <comment>Atlas - 127</comment>
        <comment xml:lang="it">Atlas - 127</comment>
      </variable>

      <xi:include href="http://jmri.org/xml/decoders/nmra/consistAddrDirection.xml"/>

      <xi:include href="http://jmri.org/xml/decoders/nmra/cv29direction.xml"/>
      <xi:include href="http://jmri.org/xml/decoders/nmra/cv29speedSteps.xml"/>
      <xi:include href="http://jmri.org/xml/decoders/nmra/cv29analog.xml"/>
      <xi:include href="http://jmri.org/xml/decoders/nmra/cv29table3-28.xml"/>
      <variable item="Motor Drive Selection" CV="50" mask="XXXXVXXX" default="1">
        <enumVal>
          <enumChoice choice="Silent Drive off">
            <choice>Silent Drive off</choice>
          </enumChoice>
          <enumChoice choice="Silent Drive on">
            <choice>Silent Drive on</choice>
          </enumChoice>
        </enumVal>
        <label>Motor Drive Selection</label>
      </variable>
      <!-- CV=50 -->
     <xi:include href="http://jmri.org/xml/decoders/nmra/cv50_DCbrake.xml"/>
      <!-- CV=51 -->
     <xi:include href="http://jmri.org/xml/decoders/nmra/cv51_DirectionalHeadlights.xml"/>
      <variable item="Output A dimming control" CV="51" comment="Controls how headlight dims (CV 52 controls amount)" mask="XXXXXXVX">
        <enumVal>
          <enumChoice choice="Always Dim">
            <choice>Always Dim</choice>
          </enumChoice>
          <enumChoice choice="F1 or F4 controls dimming">
            <choice>F1 or F4 controls dimming</choice>
          </enumChoice>
        </enumVal>
        <label>Output A dimming control</label>
        <comment>Controls how headlight dims (CV 52 controls amount)</comment>
      </variable>
      <variable item="Output A dimming" CV="51" comment="Controls how front headlights dim" mask="XXXXXVXX">
        <enumVal>
          <enumChoice choice="Output A cannot dim">
            <choice>Output A cannot dim</choice>
          </enumChoice>
          <enumChoice choice="Output A can dim">
            <choice>Output A can dim</choice>
          </enumChoice>
        </enumVal>
        <label>Output A dimming</label>
        <comment>Controls how front headlights dim</comment>
      </variable>
      <variable item="Output A is Gyrolight" CV="51" mask="XXXVXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output A is Gyrolight</label>
      </variable>
      <variable item="Output A is Mars light" CV="51" mask="XXVXXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output A is Mars light</label>
      </variable>
      <variable item="Output A is single strobe" CV="51" mask="XVXXXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output A is single strobe</label>
      </variable>
      <variable item="Output A is double strobe" CV="51" mask="VXXXXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output A is double strobe</label>
      </variable>
      <variable item="Output A dim intensity" CV="52" default="64" comment="Controls how much headlights dim (0-dark to 255-max bright)">
        <decVal min="0" max="255"/>
        <label>Output A dim intensity</label>
        <comment>Controls how much headlights dim (0-dark to 255-max bright)</comment>
      </variable>
      <variable item="Output B dimming control" CV="57" mask="XXXXXXVX">
        <enumVal>
          <enumChoice choice="Always dim">
            <choice>Always dim</choice>
          </enumChoice>
          <enumChoice choice="F1 or F4 controls dimming">
            <choice>F1 or F4 controls dimming</choice>
          </enumChoice>
        </enumVal>
        <label>Output B dimming control</label>
      </variable>
      <variable item="Output B dimming" CV="57" comment="Controls how back headlights dims" mask="XXXXXVXX">
        <enumVal>
          <enumChoice choice="Output B cannot dim">
            <choice>Output B cannot dim</choice>
          </enumChoice>
          <enumChoice choice="Output B can dim">
            <choice>Output B can dim</choice>
          </enumChoice>
        </enumVal>
        <label>Output B dimming</label>
        <comment>Controls how back headlights dims</comment>
      </variable>
      <variable item="Output B is Gyrolight" CV="57" mask="XXXVXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output B is Gyrolight</label>
      </variable>
      <variable item="Output B is Mars light" CV="57" mask="XXVXXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output B is Mars light</label>
      </variable>
      <variable item="Output B is single strobe" CV="57" mask="XVXXXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output B is single strobe</label>
      </variable>
      <variable item="Output B is double strobe" CV="57" mask="VXXXXXXX">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>Output B is double strobe</label>
      </variable>
      <variable item="Output B dim intensity" CV="58" default="64" comment="Controls how much headlights dim (0-dark to 255-max bright)">
        <decVal min="0" max="255"/>
        <label>Output B dim intensity</label>
        <comment>Controls how much headlights dim (0-dark to 255-max bright)</comment>
      </variable>
      <variable CV="54" mask="XXXXXXXV" minOut="3" minFn="1" item="F1 controls output 3" default="1">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F1 controls output C</label>
      </variable>
      <variable CV="54" mask="XXXXXXVX" minOut="3" minFn="2" item="F2 controls output 3">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F2 controls output C</label>
      </variable>
      <variable CV="54" mask="XXXXXVXX" minOut="3" minFn="3" item="F3 controls output 3">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F3 controls output C</label>
      </variable>
      <variable CV="54" mask="XXXXVXXX" minOut="3" minFn="4" item="F4 controls output 3">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F4 controls output C</label>
      </variable>
      <variable CV="54" mask="XXXVXXXX" minOut="3" minFn="5" item="F5 controls output 3">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F5 controls output C</label>
      </variable>
      <variable CV="54" mask="XXVXXXXX" minOut="3" minFn="6" item="F6 controls output 3">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F6 controls output C</label>
      </variable>
      <variable CV="54" mask="XVXXXXXX" minOut="3" minFn="7" item="F7 controls output 3">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F7 controls output C</label>
      </variable>
      <variable CV="54" mask="VXXXXXXX" minOut="3" minFn="8" item="F8 controls output 3">
        <xi:include href="http://jmri.org/xml/decoders/parts/enum-NoYes.xml"/>
        <label>F8 controls output C</label>
      </variable>
      <xi:include href="http://jmri.org/xml/decoders/nmra/cv67speedTableBasic.xml"/>
      <variable item="Decoder Software Version" CV="128" readOnly="yes" default="1">
        <decVal/>
        <label>Decoder Software Version</label>
        <label xml:lang="it">Versione Decoder: </label>
        <label xml:lang="fr">Version décodeur: </label>
        <label xml:lang="de">Decoder Version: </label>
      </variable>
      <!-- Define the fixed Function-Output mapping -->
      <constant item="FL(f) controls output 1" minOut="1" default="1"/>
      <constant item="FL(r) controls output 2" minOut="2" default="1"/>
    </variables>
    <resets>
      <factReset label="Reset All CVs except Speed Table" CV="8" default="33"/>
    </resets>
  </decoder>
  <pane>
    <name>Atlas</name>
    <column>
      <display item="Directional Headlights"/>
      <label>
        <text> </text>
      </label>
      <display item="Output A dimming"/>
      <display item="Output A dimming control"/>
      <display item="Output A is Gyrolight" format="checkbox"/>
      <display item="Output A is Mars light" format="checkbox"/>
      <display item="Output A is single strobe" format="checkbox"/>
      <display item="Output A is double strobe" format="checkbox"/>
      <display item="Output A dim intensity"/>
      <label>
        <text> </text>
      </label>
      <display item="Output B dimming"/>
      <display item="Output B dimming control"/>
      <display item="Output B is Gyrolight" format="checkbox"/>
      <display item="Output B is Mars light" format="checkbox"/>
      <display item="Output B is single strobe" format="checkbox"/>
      <display item="Output B is double strobe" format="checkbox"/>
      <display item="Output B dim intensity"/>
    </column>
    <column>
      <label>
        <text> </text>
      </label>
      <display item="Motor Drive Selection"/>
      <display item="Decoder Software Version"/>
    </column>
  </pane>
</decoder-config>
