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

<!-- Copyright (C) JMRI 2007 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>

        <version author="Marc Fournier forfoum@videotron.ca" version="1" lastUpdated="20090618" />

        <!-- version 1 based on the MRC_soundbrilliance1645 file by Bill Chown -->

    <decoder>
        <family name="Athearn" mfg="MRC"
            lowVersionID="32" highVersionID="32">
            <model model="Athearn Genesis MP 15" numOuts="2" numFns="28"
                    maxTotalCurrent="1.5A" extFnsMRC="yes">
                    <!-- Functions F0 to F28 are NMRA compatible -->
                <size length="90" width="14" height="4.2" units="mm" />
            </model>
        </family>

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

    <variables>

        <variable label="Short Address" CV="1" comment="Range 1-127"
            tooltip="Sets the Short, Primary or 2-digit address, CV 1, range 1-127"
                        item="Short Address" default="3">
            <shortAddressVal/>
        </variable>

        <variable label="Start voltage" CV="2" item="Vstart" default="0"
                tooltip="sets the motor voltage at Speed Step 1, range 0(default)-32, CV2"
                comment="Range 0-32">
            <decVal max="32"/>
        </variable>

        <variable label="Acceleration" CV="3" item="Accel" default="0"
                tooltip="Sets the acceleration rate (delay or momentum), range 0(default)-32, CV3"
                comment="Range 0-32">
            <decVal max="32"/>
        </variable>

        <variable label="Deceleration" CV="4" item="Decel" default="0"
                tooltip="Sets the deceleration rate (delay or momentum), range 0(default)-32, CV4"
                comment="Range 0-32">
            <decVal max="32"/>
        </variable>

        <variable label="Top voltage" CV="5" item="Vhigh" default="32"
                tooltip="sets the motor voltage at top Speed Step, range 0-32(default), CV5"
                comment="Range 0-32">
            <decVal max="32"/>
        </variable>

        <variable label="Speed curve select" CV="6" item="Speed Table Selection" default="0"
                tooltip="sets the motor voltage increase curve with Speed Steps, range 0(default)-2, CV6">
                <enumVal>
                    <enumChoice choice="Linear" value="0"/>
                    <enumChoice choice="Slow - increase at slow speed" value="1"/>
                    <enumChoice choice="Fast - increase at fast speed" value="2"/>
                </enumVal>
            </variable>

        <variable label="Manufacturer version number" CV="7" readOnly="yes"
                tooltip="CV7=32 for all MRC Brilliance models, Read Only"
                item="Decoder Version" default="32">
            <decVal/>
        </variable>

        <variable label="Manufacturer ID" CV="8" readOnly="yes" tooltip="CV8=143 for MRC, Read Only"
                item="Manufacturer" default="143">
            <decVal/>
        </variable>

        <variable label="Long Address" CV="17" item="Long Address"
                tooltip="Sets the Extended (4 digit) address, range 128-9999, mapped to CV17 and 18"
                comment="4 digit address (Range 0001-9999)">
            <longAddressVal/>
        </variable>

        <variable label="Advanced consist address" CV="19" mask="XVVVVVVV" item="Consist Address"
                tooltip="CV19, range 1-127">
            <decVal/>
        </variable>

        <variable label="Functions Respond to Address" CV="21" mask="XXXXXXXV" default="0"
        item="Consist Function" tooltip="Set function to follow base address or consist address">
            <enumVal>
                <enumChoice choice="Functions follow locomotive address"/>
                <enumChoice choice="Functions follow consist address"/>
            </enumVal>
        </variable>

        <variable label="Normal direction of motion" CV="29"
                tooltip="CV29, '1' (least significant) bit, Forward(0)(default) or Reverse(1)"
                mask="XXXXXXXV"
                item="Locomotive Direction">
            <enumVal>
                <enumChoice choice="Forward"/>
                <enumChoice choice="Reverse"/>
            </enumVal>
        </variable>

        <variable label="Speed Steps" CV="29" mask="XXXXXXVX"
                tooltip="CV29, '2' bit. Sets the Speed Step for motor, also affects some light settings"
                item="Speed Step Mode" default="1">
            <enumVal>
                <enumChoice choice="14"/>
                <enumChoice choice="28/128 (recommended)"/>
                </enumVal>
        </variable>

        <variable label="Analog conversion mode" CV="29"
                tooltip="CV29, '4' bit. Allows the loco to run on DC, default is Off"
                mask="XXXXXVXX" default="0"
                item="Analog (DC) Operation">
            <enumVal>
                <enumChoice choice="Off"/>
                <enumChoice choice="On"/>
            </enumVal>
        </variable>

        <variable label="Addressing Mode" CV="29" mask="XXVXXXXX" tooltip="CV29, '32' bit"
                item="Address Format">
            <enumVal>
                <enumChoice choice="2 digit addressing"/>
                <enumChoice choice="4 digit addressing"/>
            </enumVal>
        </variable>

        <variable label="Sound Control" CV="49" item="Sound Option 1" default="0" tooltip="CV49, On or Off">
            <enumVal>
                <enumChoice choice="Off"/>
                <enumChoice choice="On"/>
            </enumVal>
        </variable>

        <variable label="Horn type" CV="50" item="Sound Option 2" default="4" tooltip="CV50, range 0-16"
                comment="Range 0-16">
            <decVal max="16"/>
        </variable>

        <variable label="Horn volume" CV="51" item="Sound Setting 1" default="3" tooltip="CV51, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Bell type" CV="52" item="Sound Option 3" default="3" tooltip="CV52, range 0-6"
                comment="Range 0-6">
            <decVal max="6"/>
        </variable>

        <variable label="Bell volume" CV="53" item="Sound Setting 2" default="3" tooltip="CV53, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Bell ring rate" CV="54" item="Sound Setting 3" default="3" tooltip="CV54, range 0-50"
                comment="Range 0-50">
            <decVal max="50"/>
        </variable>

        <variable label="Diesel Rumble volume" CV="55" item="Sound Setting 4" default="3" tooltip="CV55, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Brake Squeal volume" CV="56" item="Sound Setting 5" default="3" tooltip="CV56, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Air Release volume" item="Sound Setting 6" CV="58" default="3" tooltip="CV58, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Air Pump volume" CV="59" item="Sound Setting 7" default="3" tooltip="CV59, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Safety Pop Valve volume" CV="60" item="Sound Setting 11" default="3" tooltip="CV60, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Engine Cooling Fan volume" CV="61" item="Sound Setting 12" default="3" tooltip="CV61, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Coupling volume" CV="62" item="Sound Setting 13" default="3" tooltip="CV62, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Random Noise volume" CV="63" item="Sound Setting 14" default="3" tooltip="CV63, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Rail Wheel Clack volume" CV="64" item="Sound Setting 15" default="3" tooltip="CV64, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="User ID #1" CV="105" item="User Id #1" default="0" tooltip="CV105, range 0-255"
                comment="Range 0-255">
            <decVal max="255"/>
        </variable>

        <variable label="User ID #2" CV="106" item="User Id #2" default="0" tooltip="CV106, range 0-255"
                comment="Range 0-255">
            <decVal max="255"/>
        </variable>

        <variable label="Coupling Fire volume" CV="113" item="Sound Setting 16" default="3" tooltip="CV113, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Brake Release volume" CV="114" item="Sound Setting 17" default="0" tooltip="CV114, range 0-3"
                comment="Range 0-3">
            <decVal max="3"/>
        </variable>

        <variable label="Auto Brake Squeal" item="Sound Option 5" CV="115" default="1"
                tooltip="CV115, Off(0) or On(1)(default)">
             <enumVal>
                 <enumChoice choice="Off"/>
                 <enumChoice choice="On"/>
             </enumVal>
        </variable>

        <variable label="Coupling Sound Type" item="Sound Option 6" CV="116" default="1"
                tooltip="CV116, Off(0) or Type1(1)(default) or Type2(2)">
             <enumVal>
                 <enumChoice choice="Off"/>
                 <enumChoice choice="Type 1"/>
                 <enumChoice choice="Type 2"/>
             </enumVal>
        </variable>

        <variable label="Lighting Mode for Consist" item="Consist Function Mode" CV="117" default="0"
                tooltip="CV117 Lets you pick a lighting mode for consist/mu. Entries here overide analogue transmitter buttons and the DCC function buttons">
             <enumVal>
                 <enumChoice choice="Mode 1- All Lights controlable"/>
                 <enumChoice choice="Mode 2- No rear light"/>
                 <enumChoice choice="Mode 3- No lights at all"/>
                 <enumChoice choice="Mode 4- No front lights (including ditch, gyra,strobe"/>
             </enumVal>
        </variable>

        <variable label="Diesel notch mode" item="Sound Option 7" CV="122" default="1"
                tooltip="CV122, Off(0) or Auto(1)(default) or Linear(2) or Manual(3)">
             <enumVal>
                 <enumChoice choice="Off" value="0"/>
                 <enumChoice choice="Auto notch - RPM and notch synchro to speed" value="1"/>
                 <enumChoice choice="Linear notch - RPM synchro to speed" value="2"/>
                 <enumChoice choice="Manual notch - notch up/down with F8/F9" value="3"/>
             </enumVal>
        </variable>

    </variables>

        <resets>
            <factReset label="Reset All CVs" CV="125" default="1"/>
        </resets>

    </decoder>

    <pane name="MRC">

        <column>
            <label label="MRC NOTE: Some DCC systems do not have enough power on the program track for programming"/>
            <label label="sound decoders. If your system is one of these, There are Program Track Boosters availlable"/>
            <label label="from aftermarket DCC suppliers."/>
            <label label=" "/>
            <separator/>
            <label label=" "/>
            <label label="MRC NOTE: Because this locomotive has a dual function sound decoder on board, it does not "/>
            <label label="support CV read back features. This decoder supports all program methods including; "/>
            <label label="register mode, paged mode, CV programming mode, direst mode, and programming on the "/>
            <label label="main [OPS mode programming]. Program the locomotive the same way you would program any "/>
            <label label="other NMRA compatible decoder with your DCC system. "/>
        </column>

    </pane>


</decoder-config>




 	  	 
