<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../XSLT/decoder.xsl"?>
<!-- Copyright (C) JMRI 2002, 2004, 2007, 2015, 2017 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"
                showEmptyPanes="no">

    <version author="Bob Jacobsen" version="1" lastUpdated="20171121" />

    <decoder>

        <family name="SE8c" mfg="Digitrax">
            <model model="SE8c"/>
        </family>

        <programming direct="no" paged="no" register="no" ops="no">
            <mode>LOCONETBDOPSWMODE</mode>
        </programming>

        <variables>
          <variable CV="1" comment="Board address" item="Short Address" default="01" infoOnly="yes">
            <!-- needed to set the board address value -->
            <decVal min="1" max="36" />
            <label>Board ID</label>
            <tooltip>Board IDs may be in the range 1-24 or 1-36, depending on the
                number of aspects per head</tooltip>
          </variable>

          <variable CV="114.01" item="Mode of operation" default="0"
                tooltip="OpSw01">
              <enumVal>
              <enumChoice>
                <choice>SE8c Mode</choice>
              </enumChoice>
              <enumChoice>
                <choice>Reserved</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable CV="114.02" item="Number of Aspects Per head" default="0"
                tooltip="OpSw02">
              <enumVal>
              <enumChoice>
                <choice>Four aspects per head</choice>
              </enumChoice>
              <enumChoice>
                <choice>Two aspects per head</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable CV="114.03" item="Drv1-4 Head Type 1" default="0"
                tooltip="OpSw03">
              <enumVal>
              <enumChoice>
                <choice>Thrown</choice>
              </enumChoice>
              <enumChoice>
                <choice>Closed</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable CV="114.04" item="Drv1-4 Head Type 2" default="0"
                tooltip="OpSw04">
              <enumVal>
              <enumChoice>
                <choice>Thrown</choice>
              </enumChoice>
              <enumChoice>
                <choice>Closed</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable CV="114.05" item="Drv1-4 Head Type 3" default="0"
                tooltip="OpSw05">
              <enumVal>
              <enumChoice>
                <choice>Thrown</choice>
              </enumChoice>
              <enumChoice>
                <choice>Closed</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable item="Head Type For DRV1 to DRV4"
                tooltip="OpSw03, OpSw04, OpSw05">
              <compositeVal>
                  <compositeChoice choice="3/3 Dual-heads, common anode">
                      <compositeSetting label="Drv1-4 Head Type 1" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="3/3 Dual-heads, common cathode">
                      <compositeSetting label="Drv1-4 Head Type 1" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="1"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 3-wire, common anode">
                      <compositeSetting label="Drv1-4 Head Type 1" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 3-wire, common cathode">
                      <compositeSetting label="Drv1-4 Head Type 1" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="1"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 2-wire, common anode">
                      <compositeSetting label="Drv1-4 Head Type 1" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 2-wire, common cathode">
                      <compositeSetting label="Drv1-4 Head Type 1" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="1"/>
                  </compositeChoice>
                  <compositeChoice choice="Undefined (1)">
                      <compositeSetting label="Drv1-4 Head Type 1" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Undefined (2)">
                      <compositeSetting label="Drv1-4 Head Type 1" value="1"/>
                      <compositeSetting label="Drv1-4 Head Type 2" value="0"/>
                      <compositeSetting label="Drv1-4 Head Type 3" value="1"/>
                  </compositeChoice>
              </compositeVal>
          </variable>

          <variable CV="114.06" item="Drv5-8 Head Type 1" default="0"
                tooltip="OpSw06">
              <enumVal>
              <enumChoice>
                <choice>Thrown</choice>
              </enumChoice>
              <enumChoice>
                <choice>Closed</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable CV="114.07" item="Drv5-8 Head Type 2" default="0"
                tooltip="OpSw07">
              <enumVal>
              <enumChoice>
                <choice>Thrown</choice>
              </enumChoice>
              <enumChoice>
                <choice>Closed</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable CV="114.08" item="Drv5-8 Head Type 3" default="0"
                tooltip="OpSw08">
              <enumVal>
              <enumChoice>
                <choice>Thrown</choice>
              </enumChoice>
              <enumChoice>
                <choice>Closed</choice>
              </enumChoice>
            </enumVal>
          </variable>

          <variable item="Head Type For DRV5 to DRV8"
                tooltip="OpSw06, OpSw07, OpSw08">
              <compositeVal>
                  <compositeChoice choice="3/3 Dual-heads, common anode">
                      <compositeSetting label="Drv5-8 Head Type 1" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="3/3 Dual-heads, common cathode">
                      <compositeSetting label="Drv5-8 Head Type 1" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="1"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 3-wire, common anode">
                      <compositeSetting label="Drv5-8 Head Type 1" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 3-wire, common cathode">
                      <compositeSetting label="Drv5-8 Head Type 1" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="1"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 2-wire, common anode">
                      <compositeSetting label="Drv5-8 Head Type 1" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Searchlight, 2-wire, common cathode">
                      <compositeSetting label="Drv5-8 Head Type 1" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="1"/>
                  </compositeChoice>
                  <compositeChoice choice="Undefined (1)">
                      <compositeSetting label="Drv5-8 Head Type 1" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Undefined (2)">
                      <compositeSetting label="Drv5-8 Head Type 1" value="1"/>
                      <compositeSetting label="Drv5-8 Head Type 2" value="0"/>
                      <compositeSetting label="Drv5-8 Head Type 3" value="1"/>
                  </compositeChoice>
              </compositeVal>
          </variable>

          <variable CV="114.09" item="4th Aspect 1" default="0"
                tooltip="OpSw09">
              <enumVal>
                  <enumChoice>
                      <choice>Thrown</choice>
                  </enumChoice>
                  <enumChoice>
                      <choice>Closed</choice>
                  </enumChoice>
              </enumVal>
          </variable>

          <variable CV="114.10" item="4th Aspect 2" default="0"
                tooltip="OpSw10">
              <enumVal>
                  <enumChoice>
                      <choice>Thrown</choice>
                  </enumChoice>
                  <enumChoice>
                      <choice>Closed</choice>
                  </enumChoice>
              </enumVal>
          </variable>

          <variable item="Fourth Aspect"
                tooltip="OpSw09, OpSw10">
              <compositeVal>
                  <compositeChoice choice="Flashing Yellow">
                      <compositeSetting label="4th Aspect 1" value="0"/>
                      <compositeSetting label="4th Aspect 2" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Flashing Red">
                      <compositeSetting label="4th Aspect 1" value="0"/>
                      <compositeSetting label="4th Aspect 2" value="1"/>
                  </compositeChoice>
                  <compositeChoice choice="Dark (unlit)">
                      <compositeSetting label="4th Aspect 1" value="1"/>
                      <compositeSetting label="4th Aspect 2" value="0"/>
                  </compositeChoice>
                  <compositeChoice choice="Flashing Green">
                      <compositeSetting label="4th Aspect 1" value="1"/>
                      <compositeSetting label="4th Aspect 2" value="1"/>
                  </compositeChoice>
              </compositeVal>
          </variable>

          <variable CV="114.11" item="Semaphore Mode" default="0"
                tooltip="OpSw11">
              <enumVal>
                  <enumChoice>
                      <choice>Pulsed outputs</choice>
                  </enumChoice>
                  <enumChoice>
                      <choice>Static outputs for Semaphores or slow-motion turnout machines</choice>
                  </enumChoice>
              </enumVal>
              <label>SMTM outputs are</label>
          </variable>

          <variable CV="114.13" item="DS reporting" default="0"
                tooltip="OpSw13">
                <xi:include href="http://jmri.org/xml/decoders/parts/enum-enabledDisabled.xml"/>
              <label>Detection Section reporting is</label>
          </variable>

          <variable CV="114.14" item="Switch commands from" default="0"
                tooltip="OpSw14">
              <enumVal>
                  <enumChoice>
                      <choice>DCC Track Signal (RailSync wires in LocoNet cable)</choice>
                  </enumChoice>
                  <enumChoice>
                      <choice>LocoNet messages</choice>
                  </enumChoice>
              </enumVal>
              <label>Switch messages are taken from</label>
          </variable>

          <variable CV="114.15" item="Local Switch Toggle" default="0"
                tooltip="OpSw15">
              <enumVal>
                  <enumChoice>
                      <choice>toggle the corresponding SMTM0x outputs</choice>
                  </enumChoice>
                  <enumChoice>
                      <choice>are ignored</choice>
                  </enumChoice>
              </enumVal>
              <label>DS0x inputs</label>
          </variable>

          <variable CV="114.21" item="Test Mode" default="0"
                tooltip="OpSw21">
                <xi:include href="http://jmri.org/xml/decoders/parts/enum-enabledDisabled.xml"/>
              <label>Signal Head Test Pattern is</label>
          </variable>
        </variables>
    </decoder>
  <pane xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jmri.org/xml/schema/programmer.xsd">
    <name>OpSws</name>
    <qualifier>
          <variableref>Short Address</variableref>
          <relation>gt</relation>
          <value>0</value>

    </qualifier>
    <column>
        <row>
            <cvtable/>
        </row>
        <row>
            <label>
                <text>&lt;html&gt;The "CV" column in the table above shows "OpSw" 
                    numbers, where the value "114." is pre-pended
                    &lt;p&gt;to the OpSw Number.  For example, SE8c OpSw 1 
                    is represented as "114.01".
                    &lt;p&gt;&lt;p&gt;The top-most row above reflects the Board 
                    Address configured on the "Basic" sheet.
                    &lt;p&gt;&lt;p&gt;OpSw value 0 = "T"hrown.  OpSw value 1 = "C"losed.
                    &lt;/html&gt;
                </text>
            </label>
        </row>
    </column>
  </pane>

  <pane>
      <name>Basic</name>
      <column>
          <display item="Short Address"/>
          <label>
              <text> </text>
          </label>
          <label>
            <text>&lt;html&gt;&lt;p&gt;
                Board ID may be between 1 and 24 if using "Four Aspects per head" mode
                or may be between 1 and 36 if using "Two aspects per head" mode.
                &lt;p&gt;
                &lt;p&gt;This roster entry will only access the specified SE8C if the
                Board ID, on the "Basic" sheet, is correct when the
                &lt;p&gt;programmer is opened.
                &lt;p&gt;
                &lt;p&gt;If the Board ID has been changed since
                the programmer was opened, the programmer will attempt to access the
                &lt;p&gt;SE8C address which was specified in the Roster entry
                when the progammer was opened.
                &lt;p&gt;
                &lt;p&gt;After making a change to the Roster entry's Board ID
                (Active Address) on the "Basic" sheet, save and close the programmer
                &lt;p&gt;window and re-open the Roster entry to ensure that the
                the programmer will use the modified Active Address for accesses
                &lt;p&gt;to the device.
                &lt;p&gt;Note that BDL16x and PM4x documentation refers 
                to Board Address, while DS64 and SE8C documentation refers to 
                &lt;p&gt;Board ID.  These are equivalent concepts.

            &lt;/html&gt;</text>
          </label>
      </column>
  </pane>
    <pane>
        <name>Basic SE8c OpSw Settings</name>
        <column>
            <label><text>&lt;html&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;h2&gt;&lt;strong&gt;Operating Mode&lt;/strong&gt;&lt;/h2&gt;&lt;/html&gt;</text></label>
            <display item="Mode of operation"/>
            <label><text> </text></label>
            <separator/>
            <label><text>&lt;html&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;h2&gt;&lt;strong&gt;Signal Head Characteristics&lt;/strong&gt;&lt;/h2&gt;&lt;/html&gt;</text></label>
            <display item="Number of Aspects Per head"/>
            <display item="Head Type For DRV1 to DRV4"/>
            <display item="Head Type For DRV5 to DRV8"/>
            <display item="Fourth Aspect"/>
            <display item="Test Mode"/>
            <label><text> </text></label>
            <separator/>
            <label><text>&lt;html&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;h2&gt;&lt;strong&gt;LocoNet Characteristics&lt;/strong&gt;&lt;/h2&gt;&lt;/html&gt;</text></label>
            <display item="Switch commands from"/>
            <label><text> </text></label>
            <separator/>
            <label><text>&lt;html&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;h2&gt;&lt;strong&gt;Inputs Characteristics&lt;/strong&gt;&lt;/h2&gt;&lt;/html&gt;</text></label>
            <display item="DS reporting"/>
            <display item="Local Switch Toggle"/>
            <label><text> </text></label>
            <separator/>
            <label><text>&lt;html&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;h2&gt;&lt;strong&gt;Outputs Characteristics&lt;/strong&gt;&lt;/h2&gt;&lt;/html&gt;</text></label>
            <display item="Semaphore Mode"/>
            <label><text> </text></label>
        </column>
    </pane>
  <pane>
      <name>Notes</name>
      <column>
        <label><text>&lt;html&gt;&lt;span style=&quot;color: black;&quot;&gt;
            &lt;h2&gt;&lt;strong&gt;Notes on SE8C Roster Entries and Programming
            &lt;/strong&gt;&lt;/h2&gt;&lt;/html&gt;</text>
        </label>
        <label>
            <text>&lt;html&gt;&lt;/strong&gt;&lt;ul&gt;
                &lt;li&gt;The SE8C &lt;em&gt;must&lt;/em&gt; be in its normal
                operating mode in order to respond to this Roster entry's read and
                write operations.&lt;/li&gt;
                &lt;li&gt;
                &lt;p&gt;See the "Basic" sheet for the programmer's limitations with
                respect to Board Address.&lt;/li&gt;
                &lt;li&gt;This Roster entry is neither able to query nor change the SE8C
                to determine the addresses which control the signals.
                &lt;p&gt;Users should
                keep careful records of any such change to each SE8C's configuration.&lt;/li&gt;
                &lt;li&gt;When using "Four aspects per head" mode with the SE8C configured
                with a Board ID in the range 13 thru 24 the SE8c
                &lt;p&gt;will (by default)
                control the signal heads using Switch addresses which cannot be
                actuated by the typical LocoNet throttle.
                &lt;p&gt;Similarly, when using "Two aspects per head" mode with the SE8C configured
                with a Board ID in the range 18 thru 36, the
                &lt;p&gt;SE8c will (by default) control the signal heads using
                Switch addresses which cannot be actuated by the typical LocoNet
                &lt;p&gt;throttle.
                &lt;p&gt;If you wish to be able to control SE8C signal heads using a typical
                throttle, be sure to use a Board ID number below the
                &lt;p&gt;ranges listed above.
                &lt;p&gt;This implied switch address configuration may be overriden
                by setting OpSw17 to "Closed" and then issuing a turnout
                &lt;p&gt;control message on LocoNet.
                &lt;p&gt;See Digitrax SE8C documentation for details.&lt;/li&gt;
                &lt;li&gt;By default, the SE8C requires that its switch control
                messages arrive on the LocoNet cable's low-voltage
                &lt;p&gt;equivalent of the DCC track signals.  This means that
                the SE8C will only react to switch control messages
                &lt;p&gt;on the DCC track signal, by default, so the command
                station track power must be on.  If using the SE8C
                &lt;p&gt;on a "Standalone" LocoNet, it will be necessary to configure the
                SE8C to take its switch control messages
                &lt;p&gt;from "LocoNet messages",
                instead of from the "DCC track signal".&lt;/li&gt;
                &lt;li&gt;JMRI's "SE8C Signal Head" assumes that the SE8C is
                configured in "Four aspects per head" mode.&lt;/li&gt;
                &lt;li&gt;JMRI's support for flashing aspects on SE8C signal heads
                assumes that the SE8C is configured for "Fourth aspect is
                &lt;p&gt;Dark".
                &lt;p&gt;Note that when JMRI is flashing a signal head, there will
                be two LocoNet messages for each flash of the lamp.  This can be
                &lt;p&gt;a significant amount of LocoNet traffic if many signal heads are
                flashing.
                &lt;p&gt;Additionally, the LocoNet switch commands are passed to
                the DCC track signal by the command station.  The command
                &lt;p&gt;station can only process a limited number of LocoNet
                switch control messages.  When LocoNet traffic exceeds that
                &lt;p&gt;capacity, the command
                station will reject the switch control message.  This can manifest
                as "missed" flashes, "stuck lit"
                &lt;p&gt;and "stuck off" signal heads, as well as excessive LocoNet
                traffic.  This problem may be mitigated by using the
                &lt;p&gt;SE8C on a "Standalone LocoNet" and configuring the
                SE8C to take switch control messages from "LocoNet messages".&lt;/li&gt;
                &lt;li&gt;For the purposes of this Roster entry, SE8C OpSws are listed as 
                "CV"s.
            &lt;/ul&gt;&lt;/html&gt;</text>
        </label>
      </column>
  </pane>
  <pane xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://jmri.org/xml/schema/programmer.xsd">
    <name>CVs</name>
    <name xml:lang="it">CV</name>
    <name xml:lang="de">CV-Tabelle</name>
    <name xml:lang="ca">Taula-CV</name>
    <name xml:lang="cs">Tabulka CV</name>
    <name xml:lang="nl">CV-tabel</name>
    <qualifier>
          <variableref>Short Address</variableref>
          <relation>eq</relation>
          <value>0</value>
    </qualifier>
    <column>
        <label>
            <text>This sheet intentionally un-populated.  See the "OpSws" tab.</text>
        </label>
    </column>
  </pane>
</decoder-config>
