help/en/html/apps/DecoderPro/LocoFile.shtml
<!DOCTYPE html>
<html lang="en">
<head>
<meta name="generator" content="HTML Tidy for HTML5 for Apple macOS version 5.8.0">
<!-- Copyright Bob Jacobsen 2008 -->
<title>JMRI: DecoderPro User Guide - Locomotive Files</title>
<!--#include virtual="/help/en/parts/Style.shtml" -->
</head>
<body>
<!--#include virtual="/help/en/parts/Header.shtml" -->
<div id="mBody">
<!--#include virtual="Sidebar.shtml" -->
<div id="mainContent">
<h1>JMRI: DecoderPro User Guide</h1>
<h2>Locomotive Files</h2>
<p>DecoderPro maintains the information for each roster entry in a separate file. You
generally don't have to edit these, or even look at them. This page describes their content
just in case you're interested.</p>
<p>First, the XML contains some header information that describes the format & history of the
file:</p>
<p class="example"><?xml version="1.0" encoding="UTF-8"?><br>
<!DOCTYPE locomotive-config SYSTEM "locomotive-config.dtd"><br>
<locomotive-config><br>
<!--Written by JMRI version 1.6.1 on Sat Oct 08 07:00:30 PDT 2005 $Id$--></p>
This is followed by the summary information for the entry. Most of this comes from the
"Roster Entry" pane in DecoderPro:
<p class="example"><locomotive id="UP 792" roadNumber="" roadName="" mfg="" model=""
dccAddress="792" comment=""><br>
<decoder model="DH163" family="Series 3 with FX3, silent, readback" comment=""
/><br></p>
That's then followed by a section that contains values for all the variables defined in the
decoder definition file. Note that these are numeric values; the decoder definition file are
used to convert these to strings, etc, when this is read back in.
<p class="example"><values><br>
<decoderDef><br>
<varValue item="Primary Address" value="24" /><br>
<varValue item="Start Volts" value="0" /><br>
<varValue item="Acceleration Rate" value="0" /><br>
<varValue item="Deceleration Rate" value="0" /><br>
<varValue item="Max Volts" value="0" /><br>
<varValue item="Mid Volts" value="0" /><br>
<varValue item="Version ID" value="0" /><br></p>
Finally, there's a similar section that contains numeric values for all the CVs. We store
both variables and CVs so that if a decoder definition changes in the future, we can sort out
what's actually in the decoder.
<p class="example"><CVvalue name="1" value="24" /><br>
<CVvalue name="2" value="0" /><br>
<CVvalue name="3" value="0" /><br>
<CVvalue name="4" value="0" /><br></p>
<!--#include virtual="/help/en/parts/Footer.shtml" -->
</div><!-- close #mainContent -->
</div><!-- closes #mBody -->
<script src="/js/help.js"></script>
</body>
</html>