<?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="Simon Ginsburg" version="1" lastUpdated="20130522"/>
	<version author="Michael Mosher" version="2" lastUpdated="20130711"/>
	<version author="Michael Mosher" version="3" lastUpdated="20130722"/>
	<version author="Michael Mosher" version="4" lastUpdated="20130826"/>
	<!-- ver 5  workaround indexedPairVal bug, fix max to 65535, a few instersecting highCVnames, qualifier and read/write issues -->
	<version author="Michael Mosher and Dave Heap" version="5" lastUpdated="20131005"/>
	<!-- ver 6  add sound set cv 248, override acc, dec default values -->
	<version author="Michael Mosher" version="6" lastUpdated="20141017"/>
	<version author="Michael Mosher" version="7" lastUpdated="20150214"/>
	<!-- CV248 to read only -->
	<version author="Michael Mosher" version="8" lastUpdated="20150504"/>
	<!-- remove BEMF control and dither -->
	<version author="Michael Mosher" version="9" lastUpdated="20160608"/>
	<!-- Fix whistle selection -->
	<version author="Michael Mosher" version="10" lastUpdated="20160805"/>
	<!-- Fix defualt values CV4.9 & 4.21                                 -->
	<version author="Michael Mosher" version="11" lastUpdated="20170317"/>
	<!-- update factory resets -->
	<version author="Michael Mosher" version="12" lastUpdated="20180727"/>
	<!-- add read me pane -->
	<version author="Konrad Malkowski" version="13" lastUpdated="20230305"/>
	<!-- Remove individual volume panes -->
	<decoder>
		<family name="WOW Sound" mfg="Train Control Systems" comment="TCS FW Starting Jan 2012">
			<model show="no" model="WOWSound Steam" numOuts="6" numFns="14" maxMotorCurrent="1.3A (peak=2A)" formFactor="Wires"
				lowVersionID="1" highVersionID="1" productID="61"
				replacementModel="WOW Sound 100" replacementFamily="WOW Sound" >
				<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>
			<model model="WOW Sound 100" numOuts="6" numFns="14" maxMotorCurrent="1.3A (peak=2A)" formFactor="Wires"
				lowVersionID="1" highVersionID="1" productID="61">
				<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="119" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 1 Sound" CV="T2CV.1.1" default="0" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 2 Sound" CV="T2CV.1.2" default="19" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 3 Sound" CV="T2CV.1.3" default="18" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 4 Sound" CV="T2CV.1.4" default="20" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 5 Sound" CV="T2CV.1.5" default="110" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 6 Sound" CV="T2CV.1.6" default="212" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 7 Sound" CV="T2CV.1.7" default="205" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 8 Sound" CV="T2CV.1.8" default="370" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 9 Sound" CV="T2CV.1.9" default="372" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 10 Sound" CV="T2CV.1.10" default="103" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 11 Sound" CV="T2CV.1.11" default="104" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 12 Sound" CV="T2CV.1.12" default="122" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 13 Sound" CV="T2CV.1.13" default="124" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 14 Sound" CV="T2CV.1.14" default="101" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 15 Sound" CV="T2CV.1.15" default="396" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 16 Sound" CV="T2CV.1.16" default="91" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 17 Sound" CV="T2CV.1.17" default="132" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 18 Sound" CV="T2CV.1.18" default="98" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 19 Sound" CV="T2CV.1.19" default="397" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 20 Sound" CV="T2CV.1.20" default="398" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 21 Sound" CV="T2CV.1.21" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 22 Sound" CV="T2CV.1.22" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 23 Sound" CV="T2CV.1.23" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 24 Sound" CV="T2CV.1.24" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 25 Sound" CV="T2CV.1.25" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 26 Sound" CV="T2CV.1.26" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 27 Sound" CV="T2CV.1.27" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Function 28 Sound" CV="T2CV.1.28" default="65535" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Random 1 Sound" CV="T2CV.1.29" default="125" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Random 2 Sound" CV="T2CV.1.30" default="131" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Random 3 Sound" CV="T2CV.1.31" default="121" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
			<variable item="Random 4 Sound" CV="T2CV.1.32" default="129" mask="VVVVVVVVVVVVVVVV">
				<xi:include href="http://jmri.org/xml/decoders/tcs/enumSoundV1.xml"/>
			</variable>
						
			<!-- sound CVs -->
			<variable item="Sound Setting 31" CV="T2CV.4.0" default="256" tooltip="very early decoders only" mask="VVVVVVVVVVVVVVVV">
				<decVal max="65535"/>
				<label>Cylinder cocks auto turn on time early</label>
			</variable>
			<variable item="First" CV="222" default="0" infoOnly="yes">
				<enumVal>
					<enumChoice choice="Alamo Michigan Plant"/>
				</enumVal>
				<label>For steam sound set 1, 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="Reading Single Chime"/>
				<enumChoice choice="Wabash 3 Chime"/>
				<enumChoice choice="B &amp; O"/>
				<enumChoice choice="Pennsy K4"/>
				<enumChoice choice="NW Single Chime"/>
				<enumChoice choice="Lunkenheimer 3 chime"/>
				<enumChoice choice="Whistle 14"/>
				<enumChoice choice="Lunkenheimer Single Note"/>
				<enumChoice choice="Whistle 16"/>
				<enumChoice choice="Whistle 17"/>
				<enumChoice choice="Hancock 3 Chime"/>
				<enumChoice choice="Southern 6 Chime"/>
				<enumChoice choice="Wabash 6 Chime"/>
				<enumChoice choice="Santa Fe 6 Chime"/>
				<enumChoice choice="NW single chime short bell"/>
				<enumChoice choice="Great Northern 5 Chime"/>
				<enumChoice choice="Nathan K5LA"/>
				</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 Group 5 Checkbox 1" CV="T2CV.4.12" default="0" mask="XXXXXXXXXXXXXXXV" tooltip="very early decoders only">
				<xi:include href="http://jmri.org/xml/decoders/parts/enum-OnOff.xml"/>
				<label>Cam enable early</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>
			<xi:include href="http://jmri.org/xml/decoders/tcs/wowSteamCV.xml"/>
			<variable item="Sound Setting 2" CV="T2CV.4.21" default="256" mask="VVVVVVVVVVVVVVVV">
				<decVal max="65535"/>
				<label>Audio Auto Shut-off Time</label>
			</variable>
		</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_4cv.xml"/>
   <xi:include href="http://jmri.org/xml/decoders/tcs/paneWowReadMe.xml"/>
</decoder-config>
