/
MoreInfo.shtml
181 lines (150 loc) · 7.11 KB
/
MoreInfo.shtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<meta name="generator" content=
"HTML Tidy for Mac OS X (vers 31 October 2006 - Apple Inc. build 15.17), see www.w3.org">
<!-- Copyright Bob Jacobsen 2008 -->
<title>JMRI: DecoderPro - The Details</title>
<!-- Style -->
<meta http-equiv="Content-Type" content=
"text/html; charset=us-ascii">
<link rel="stylesheet" type="text/css" href="/css/default.css"
media="screen">
<link rel="stylesheet" type="text/css" href="/css/print.css"
media="print">
<link rel="icon" href="/images/jmri.ico" type="image/png">
<link rel="home" title="Home" href="/">
<!-- /Style -->
</head>
<body>
<!--#include virtual="/Header" -->
<div id="mBody">
<!--#include virtual="Sidebar.shtml" -->
<div id="mainContent">
<h1>JMRI: DecoderPro User Guide</h1>
<h2>The Details</h2>
<p>This page provides information on how DecoderPro (Symbolic
Programmer) works.<br>
For details on the JMRI internals, please see the <a href=
"../../doc/Technical/IntroStructure.shtml">Technical Doc
pages</a>.</p>
<dl>
<dt class="left">Configuration Files</dt>
<dd class="first">
<p>There are three types of <a href=
"Files.shtml">Configuration Files</a>:</p>
<ul>
<li>Decoder configuration files - These carry the
description of a specific type of decoder, and control
how the programmer displays the variable
information.</li>
<li>Locomotive configuration files - These carry the
specific information on a single locomotive.</li>
<li>Programmer definitions - These define the formats
for the various programming sheets.</li>
</ul>
<p>The programmer can read either type of file. If you
select a decoder file after clicking Read File, the
programmer will be set up with the variables, options,
etc for that type. The values will be blank, as the
programmer doesn't know anything about what's been
programmed into a specific decoder unit.</p>
<p>If you select a locomotive file after clicking Read
File, information on both the decoder configuration and
the specific settings in this locomotive will be
displayed. This shows you how the locomotive is already
configured, allowing you to make small changes with less
chance of confusion.</p>
<p>You can also write locomotive files with the Write
File button. This will store the known contents of the
decoder, allowing you to come back to it later.</p>
<p>The configuration files are stored in XML format. This
is a standard form for structured data. XML is being
widely used to standardize the exchange of data between
different manufacturers in many fields; perhaps someday
DCC decoder manufacturers will provide an XML description
of each decoder they make. In the meantime, the
configuration files are being created by volunteers. If
one doesn't exist for a specific decoder you've got, you
can <a href="CreateDecoder.shtml">create your own</a>.
You can also modify a file if you'd prefer different
names, a different grouping of options, or you just never
want to see that certain options that you don't use. A
simple text editor can create these files easily, as the
format doesn't have fixed length fields, special
characters, etc. There are also powerful public-domain
XML tools that make it really easy to manage a large
number of decoder files.</p>
</dd>
<dt class="left">Variables</dt>
<dd>
<p>A "variable" defines the value that will be loaded
into all or part of a CV. For example, a variable can be
defined that sets the value of the three most-significant
bits of CV 47. If there are several options configured in
a single CV, these would normally be handled by separate
variables. Currently, there are several types of
variables:</p>
<ul>
<li>Decimal - numbers entered in the usual decimal
notation. These are useful for short address, starting
voltages, etc.</li>
<li>Enum (enumerated) - choose from a set of options.
These can be used for simple on/off, yes/no choices, or
more complicated sets like the FX lighting example
above. The configuration contains a name for each
possibility.</li>
<li>Long address - like a decimal value, except the
constraints on a valid long address are taken into
account.</li>
<li>Hex - This is not so much needed, since the
multiple options in a single CV can be handled by
multiple variables. But if its needed for some reason,
the capability is present.</li>
<li>Speed table - not yet really working well, this
type of variable is intended to provide a graphic speed
table chart that you can drag around to configure as
you wish.</li>
</ul>
</dd>
<dt class="left">Programmer communication: States</dt>
<dd>
<p>Communication with the Command Station/programmer,
hence reading and writing of the decoder, are only done
when the "Read" or "Write" buttons are pressed.
DecoderPro keeps track of whether a value has been sent
to the decoder using four States for variables or
CVs:</p>
<ul>
<li>Read - The value shown was read from the
decoder.</li>
<li>Stored - The value shown has been written to the
decoder.</li>
<li>Edited - The value shown has been changed in the
computer, but not yet written to the decoder. Push the
Write button when you're happy with the value.</li>
<li>Unknown - A default value, or a read has failed, or
for some other reason the program has no confidence
that the value is what you really want. Edit the value
or press the Write button.</li>
</ul>
</dd>
<dt class="left">Printing</dt>
<dd>
<p>You can print the current locomotive's information
from the programmer windows. From the "File..." menu,
select "Print...", and fill out the dialog box that's
presented.</p>
<p>The printout is formatted by the currently-selected
programmer format, so the information on all of the tabs
is printed. You get a shorter printout of just the most
important values when you print from the "Basic" format,
and a listing of everything when you use
"Comprehensive".</p>
</dd>
</dl><!--#include virtual="/Footer" -->
</div><!-- close #mainContent -->
</div><!-- close #mBody -->
</body>
</html>