<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../XSLT/decoder.xsl"?>
<!-- Copyright (C) JMRI 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-4-15-2.xsd">
	<version author="Michael Mosher" version="1" lastUpdated="20141024"/>
	<version author="Michael Mosher" version="2" lastUpdated="20150214"/>
	<!-- CV248 to read only -->
	<version author="Michael Mosher" version="3" lastUpdated="20150504"/>
	<!-- remove BEMF control and dither -->
	<version author="Michael Mosher" version="4" lastUpdated="20160608"/>
	<!-- Fix whistle selection -->
	<version author="Michael Mosher" version="5" lastUpdated="20160805"/>
	<!-- Fix defualt values CV4.9 & 4.21                                 -->
	<version author="Michael Mosher" version="6" lastUpdated="20170317"/>
	<!-- update factory resets -->
	<version author="Michael Mosher" version="7" lastUpdated="20180727"/>
	<!-- add read me pane -->
	<version author="Konrad Malkowski" version="8" lastUpdated="20230305"/>
	<!-- Remove individual volume panes -->
	<decoder>
		<family name="WOW Sound Set 2" mfg="Train Control Systems" comment="TCS FW Starting Jan 2012">
			<model model="WOW Sound 101" numOuts="6" numFns="14" maxMotorCurrent="1.3A (peak=2A)" formFactor="9pin"
				lowVersionID="2" highVersionID="2" productID="130">
				<output name="1" label="White" connection="solder" maxcurrent="100 mA"/>
				<output name="2" label="Yellow" connection="solder" maxcurrent="100 mA"/>
				<output name="3" label="Green" connection="solder" maxcurrent="100 mA"/>
				<output name="4" label="Purple" connection="solder" maxcurrent="100 mA"/>
				<output name="5" label="Brown" connection="solder" maxcurrent="100 mA"/>
				<output name="6" label="Pink" connection="solder" maxcurrent="100 mA"/>
				<output name="Dim"/>
				<output name="Ditch"/>
				<output name="Motor"/>
				<output name="Brake"/>
				<size length="2.860" width="0.680" height="0.145" units="inches"/>
			</model>
			<functionlabels>
				<functionlabel num="0" lockable="true">Headlight</functionlabel>
				<functionlabel num="1" lockable="true">Bell</functionlabel>
				<functionlabel num="2" lockable="false">Whistle long</functionlabel>
				<functionlabel num="3" lockable="false">Whistle short</functionlabel>
				<functionlabel num="4" lockable="true">Whistle quill</functionlabel>
				<functionlabel num="5" lockable="true">Cylinder cocks</functionlabel>
				<functionlabel num="6" lockable="true">Brake release</functionlabel>
				<functionlabel num="7" lockable="true">Brake</functionlabel>
				<functionlabel num="8" lockable="true">Mute</functionlabel>
				<functionlabel num="9" lockable="true">Whistle rotate</functionlabel>
				<functionlabel num="10" lockable="true">Coupler</functionlabel>
				<functionlabel num="11" lockable="true">Coupler</functionlabel>
				<functionlabel num="12" lockable="true">Injector</functionlabel>
				<functionlabel num="13" lockable="true">Air pump</functionlabel>
				<functionlabel num="14" lockable="true">Blower</functionlabel>
				<functionlabel num="15" lockable="true">Idling</functionlabel>
				<functionlabel num="16" lockable="true">Horn</functionlabel>
				<functionlabel num="17" lockable="true">Shovelling</functionlabel>
				<functionlabel num="18" lockable="true">Blow down</functionlabel>
				<functionlabel num="19" lockable="true">Ash dump</functionlabel>
				<functionlabel num="20" lockable="true">Water fill</functionlabel>
			</functionlabels>
		</family>
		<programming direct="yes" paged="yes" register="yes" ops="yes">
			<capability>
				<name>TCS 4 CV access</name>
			</capability>
		</programming>
		<variables>

			<xi:include href="http://jmri.org/xml/decoders/tcs/CV1_CV99_wow.xml"/>
			<xi:include href="http://jmri.org/xml/decoders/tcs/CV100_CV187_wow.xml"/>
			<variable item="Sound Option 4" CV="248" default="2" readOnly="yes">
				<decVal/>
				<label>Sound Set</label>
			</variable>
			<xi:include href="http://jmri.org/xml/decoders/tcs/CV249_CV252_FW86.xml"/>
			<!-- Sound function mapping -->
			<variable item="Function 0 Sound" CV="T2CV.1.0" default="113" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 1 Sound" CV="T2CV.1.1" default="0" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 2 Sound" CV="T2CV.1.2" default="19" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 3 Sound" CV="T2CV.1.3" default="18" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 4 Sound" CV="T2CV.1.4" default="20" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 5 Sound" CV="T2CV.1.5" default="104" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 6 Sound" CV="T2CV.1.6" default="200" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 7 Sound" CV="T2CV.1.7" default="193" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 8 Sound" CV="T2CV.1.8" default="358" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 9 Sound" CV="T2CV.1.9" default="360" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 10 Sound" CV="T2CV.1.10" default="97" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 11 Sound" CV="T2CV.1.11" default="98" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 12 Sound" CV="T2CV.1.12" default="116" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 13 Sound" CV="T2CV.1.13" default="118" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 14 Sound" CV="T2CV.1.14" default="95" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 15 Sound" CV="T2CV.1.15" default="382" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 16 Sound" CV="T2CV.1.16" default="85" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 17 Sound" CV="T2CV.1.17" default="126" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 18 Sound" CV="T2CV.1.18" default="92" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 19 Sound" CV="T2CV.1.19" default="383" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 20 Sound" CV="T2CV.1.20" default="384" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 21 Sound" CV="T2CV.1.21" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 22 Sound" CV="T2CV.1.22" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 23 Sound" CV="T2CV.1.23" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 24 Sound" CV="T2CV.1.24" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 25 Sound" CV="T2CV.1.25" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 26 Sound" CV="T2CV.1.26" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 27 Sound" CV="T2CV.1.27" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Function 28 Sound" CV="T2CV.1.28" default="473" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Random 1 Sound" CV="T2CV.1.29" default="119" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Random 2 Sound" CV="T2CV.1.30" default="125" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Random 3 Sound" CV="T2CV.1.31" default="115" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
			<variable item="Random 4 Sound" CV="T2CV.1.32" default="123" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV2.xml"/>
			</variable>
						
			<!-- sound CVs -->
			<variable item="First" CV="222" default="0" infoOnly="yes">
				<enumVal>
					<enumChoice choice="Alamo Michigan Plant"/>
				</enumVal>
				<label>For steam sound set 2, the first whistle is named</label>
			</variable>
			<variable item="Sound Option 1" CV="T2CV.4.8" default="0" tooltip="Rotate whistle function will change this setting">
				<enumVal>
					<enumChoice choice="Alamo Michigan Plant" />
					<enumChoice choice="PA 3 Chime" />
					<enumChoice choice="Kingsly 4 Chime" />
					<enumChoice choice="Reading 6 Chime 2" />
					<enumChoice choice="NPR 765" />
					<enumChoice choice="Reading 6 Chime" />
					<enumChoice choice="Reading Pacific G2" />
					<enumChoice choice="Wabash 3 Chime" />
					<enumChoice choice="B &amp; O" />
					<enumChoice choice="Pennsy K4" />
					<enumChoice choice="NW Single Chime Long Bell" />
					<enumChoice choice="Lunkenheimer 3 Chime" />
					<enumChoice choice="Unknown 1" />
					<enumChoice choice="Lunkenheimer 1 Chime" />
					<enumChoice choice="Unknown 3" />
					<enumChoice choice="Hamburg 1" />
					<enumChoice choice="Hancock 3 Chime" />
					<enumChoice choice="Southern 6 Chime" />
					<enumChoice choice="Wabash 6 Chime 1" />
					<enumChoice choice="NW Single Chime Short Bell" />
					<enumChoice choice="Great Northern 5 Chime" />
					<enumChoice choice="Nathan K5LA Horn" />
				</enumVal>
				<label>Default Whistle Set</label>
			</variable>
			<variable item="Sound Setting 34" CV="T2CV.4.9" default="10" >
				<decVal max="126"/>
				<label>Proto chuff start speed step</label>
			</variable>
			<variable item="Sound Setting 1" CV="T2CV.4.10" default="5" >
				<decVal max="5"/>
				<label>Global volume</label>
			</variable>
			<variable item="Sound Option 2" CV="T2CV.4.11" default="1" mask="XXXXXXXXXVVVVVVV">
				<enumVal>
					<enumChoice choice="Heavy Steam"/>
					<enumChoice choice="Medium Steam"/>
					<enumChoice choice="Light Steam"/>
				</enumVal>
				<label>Steam locomotive type</label>
			</variable>
			<variable item="Sound Option 3" CV="T2CV.4.11" default="0" mask="XXXXXXXXVXXXXXXX" >
				<enumVal>
					<enumChoice choice="Non Articulated"/>
					<enumChoice choice="Articulated"/>
					</enumVal>
				<label>Articulation type</label>
			</variable>
			<variable item="Sound Setting 11" CV="T2CV.4.15" default="1"  tooltip="Divides the BEMF value by n^2, higher the number the lower the chuff volume/change from loads">
				<decVal max="8"/>
				<label>BEMF sensitivity</label>
			</variable>
			<variable item="Sound Group 7 Checkbox 8" CV="T2CV.4.19" default="1" mask="XXXXXXXXVXXXXXXX">
				<xi:include href="http://jmri.org/xml/decoders/parts/enum-OnOff.xml"/>
				<label>Function 2 toggle in Audio Assist</label>
			</variable>
			<variable item="Sound Setting 2" CV="T2CV.4.21" default="256" mask="VVVVVVVVVVVVVVVV">
				<decVal max="65535"/>
				<label>Audio Auto Shut-off Time</label>
			</variable>
			<variable item="Volume Group 1" CV="T3CV.6.0.1" default="5">
				<decVal max="5"/>
				<label>Bell</label>
			</variable>
			<variable item="Volume Group 2" CV="T3CV.6.0.2" default="5">
				<decVal max="5"/>
				<label>Whistle</label>
			</variable>
			<variable item="Volume Group 3" CV="T3CV.6.0.3" default="5">
				<decVal max="5"/>
				<label>Horn</label>
			</variable>
			<variable item="Volume Group 4" CV="T3CV.6.0.4" default="5">
				<decVal max="5"/>
				<label>Rod clank</label>
			</variable>
			<variable item="Volume Group 5" CV="T3CV.6.0.5" default="5">
				<decVal max="5"/>
				<label>Direction change</label>
			</variable>
			<variable item="Volume Group 6" CV="T3CV.6.0.6" default="5">
				<decVal max="5"/>
				<label>Blow Down</label>
			</variable>
			<variable item="Volume Group 7" CV="T3CV.6.0.7" default="5">
				<decVal max="5"/>
				<label>Blower</label>
			</variable>
			<variable item="Volume Group 8" CV="T3CV.6.0.8" default="5">
				<decVal max="5"/>
				<label>Coupler clank</label>
			</variable>
			<variable item="Volume Group 9" CV="T3CV.6.0.9" default="5">
				<decVal max="5"/>
				<label>Cylinder cox</label>
			</variable>
			<variable item="Volume Group 10" CV="T3CV.6.0.10" default="5">
				<decVal max="5"/>
				<label>Generator</label>
			</variable>
			<variable item="Volume Group 11" CV="T3CV.6.0.11" default="5">
				<decVal max="5"/>
				<label>Injector</label>
			</variable>
			<variable item="Volume Group 12" CV="T3CV.6.0.12" default="5">
				<decVal max="5"/>
				<label>Air Pump</label>
			</variable>
			<variable item="Volume Group 13" CV="T3CV.6.0.13" default="5">
				<decVal max="5"/>
				<label>Safety</label>
			</variable>
			<variable item="Volume Group 14" CV="T3CV.6.0.14" default="5">
				<decVal max="5"/>
				<label>Shovelling</label>
			</variable>
			<variable item="Volume Group 15" CV="T3CV.6.0.15" default="5">
				<decVal max="5"/>
				<label>Stoker</label>
			</variable>
			<variable item="Volume Group 16" CV="T3CV.6.0.16" default="5">
				<decVal max="5"/>
				<label>Forward</label>
			</variable>
			<variable item="Volume Group 17" CV="T3CV.6.0.17" default="5">
				<decVal max="5"/>
				<label>Reverse</label>
			</variable>
			<variable item="Volume Group 18" CV="T3CV.6.0.18" default="5">
				<decVal max="5"/>
				<label>Stop</label>
			</variable>
			<variable item="Volume Group 19" CV="T3CV.6.0.19" default="5">
				<decVal max="5"/>
				<label>Quillable whistle up</label>
			</variable>
			<variable item="Volume Group 20" CV="T3CV.6.0.20" default="5">
				<decVal max="5"/>
				<label>Quillable whistle down</label>
			</variable>
			<variable item="Volume Group 21" CV="T3CV.6.0.21" default="5">
				<decVal max="5"/>
				<label>Water pump</label>
			</variable>
			<variable item="Volume Group 22" CV="T3CV.6.0.22" default="5">
				<decVal max="5"/>
				<label>Brake squeal</label>
			</variable>
			<variable item="Volume Group 23" CV="T3CV.6.0.23" default="5">
				<decVal max="5"/>
				<label>Brake release</label>
			</variable>
			<variable item="Volume Group 24" CV="T3CV.6.0.24" default="5">
				<decVal max="5"/>
				<label>Chuff</label>
			</variable>
			<variable item="Volume Group 25" CV="T3CV.6.0.25" default="5">
				<decVal max="5"/>
				<label>Prime mover</label>
			</variable>
			<variable item="Volume Group 27" CV="T3CV.6.0.27" default="5">
				<decVal max="5"/>
				<label>Rotate whistle</label>
			</variable>
			<variable item="Volume Group 28" CV="T3CV.6.0.28" default="5">
				<decVal max="5"/>
				<label>Idling</label>
			</variable>
			<variable item="Volume Group 29" CV="T3CV.6.0.29" default="5">
				<decVal max="5"/>
				<label>Ash dump</label>
			</variable>
			<variable item="Volume Group 30" CV="T3CV.6.0.30" default="5">
				<decVal max="5"/>
				<label>Water fill</label>
			</variable>
			<xi:include href="http://jmri.org/xml/decoders/tcs/wowSteamCV.xml"/>
		</variables>
		<resets>
			<mode>PAGEMODE</mode>
			<mode>DIRECTMODE</mode>
			<mode>OPSBYTEMODE</mode>
			<factReset label="Entire decoder (except speed table)" CV="8" default="2"/>
			<factReset label="Entire decoder (except address and speed table)" CV="T2CV.5.0" default="2"/>
			<factReset label="All sound settings" CV="T2CV.5.0" default="3"/>
			<factReset label="Sound Function mappings" CV="T2CV.5.0" default="4"/>
			<factReset label="Chuff timing" CV="T2CV.5.0" default="5"/>
			<factReset label="Sound CV's" CV="T2CV.5.0" default="6"/>
			<factReset label="Sound type volumes" CV="T2CV.5.0" default="7"/>
			<factReset label="Quick Lighting Preset: Standard Ditch Lights" CV="8" default="10"/>
			<factReset label="Quick Lighting Preset: Standard Trolley" CV="8" default="11"/>
			<factReset label="Quick Lighting Preset: Modified Trilley" CV="8" default="12"/>
		</resets>
	</decoder>
    <xi:include href="http://jmri.org/xml/programmers/parts/BasicSpeedControlTrimPane.xml"/>
	<xi:include href="http://jmri.org/xml/decoders/tcs/Pane_Momentum.xml"/>
	<xi:include href="http://jmri.org/xml/decoders/tcs/Pane_Brake.xml"/>
	<xi:include href="http://jmri.org/xml/decoders/tcs/Pane_TCS.xml"/>
	<xi:include href="http://jmri.org/xml/decoders/tcs/Pane_wow_snd.xml"/>
	<xi:include href="http://jmri.org/xml/decoders/tcs/Pane_wow_chuff.xml"/>
	<xi:include href="http://jmri.org/xml/decoders/tcs/Pane_wow_vol_grp.xml"/>
	<xi:include href="http://jmri.org/xml/decoders/tcs/Pane_wow_4cv.xml"/>
   <xi:include href="http://jmri.org/xml/decoders/tcs/paneWowReadMe.xml"/>
</decoder-config>
