|
V3.0 Serial
Port Protocol
For X-10 And X-50 Multi-Coin And Encoded Token
Acceptors
(Click here for V4.0 Serial Port Protocol for
X-20 & X-60 Xeptors)
Introduction
IDX Xeptor Models X-10 and X-50, using rev. 3.0 or higher firmware,
support both an ASCII hexadecimal based RS-232 compatible protocol for
use by humans with a "terminal emulator", such as Procomm or
HypeTerminal, and a binary based protocol for use in communication
with other computing devices such as slot machines and tracking
systems. Port parameters are 9600,N,8,1. Binary protocol information
will be provided on request, and this document will focus only on the
hexadecimal protocol for humans.
Model X-10, X-50, X-70 Serial Port Interface
Xeptors implement a very basic three wire RS-232 interface. The
negative going voltage for the TxD line is derived from the negative
going voltage on the RxD line and thus will meet true RS-232
specifications if the RxD line meets true RS-232 specifications. A
connector cable is available from IDX.
HyperTermINAl Setup
Hyper Terminal is a dumb terminal emulator that is provided with the
Windows operating systems. It is usually found under the
Accessories/Communications folders. When you start it you will need to
create a New Connection, give it a name, and set the File/Properties.
Select the Connect Using list and pick either Direct To COM1 or Direct
To COM2 depending on the location of your available serial port.
Then
select Configure and set things for 9600 Bits/sec, 8 bits, Parity
None, Stop Bits - 1, Flow Control - None. Then you should be ready to
connect. If this does not work, sometimes you must leave the program
and return again for the settings to take effect.
ASCII
Hexadecimal Protocol Basics
1. This is
not the default
communication mode at power up. (use HH command)
2. All bytes are
echoed and a CR-LF terminates all responses.
3.
Some nice ASCII text may additionally be part of ASCII Hex mode
responses.
4.
ASCII is the name of the code set that represents printable
characters.
5.
Hexadecimal is a base-16 number system where each hex digit is made
from 4 binary bits, thus two hex digits represent the 8 bits of a byte
of data. Each digit in hexadecimal has 16 possible values: 0, 1, 2, 3,
4, 5, 6, 7, 8, 9, A, B, C, D, E, F, where E, for example has the
decimal value of 14. The hexadecimal number 3A would then have the
decimal value of 3x16 + 10x1 = 58. See handy dandy conversion chart
later in this document.
6.
When entering a command that requires numbers, do not put any spaces
between the digits.
7.
Specific commands are listed in the table below.
Table 1. Commands for both Binary and ASCII Hex modes.
|
Command
|
Response
|
Description
|
|
H
|
|
ASCII Hex mode. (Binary is power up default, type HH to change
mode.)
|
|
I
|
|
Inhibit input = logic 1
|
|
i
|
|
Inhibit input = logic 0
|
|
Pd0...d3
|
|
Pulse time in ms: credit/sense, diverter delay,
diverter pulse,
tilt(1/3sec)
|
|
R
|
Hex Only
|
Report system configuration including coin memory, optical and
inductive sensor values, pulse times, and option configuration.
Hex mode only.
|
|
r
|
d0d1
|
Report diagnostic health: failure, maintenance
|
|
S
|
|
Save current configuration, required to save new values to EE2
memory.
|
|
sd0
|
|
Set SysConfig byte: SysConfig
|
|
V
|
d0d1
|
Version of firmware identification: model (X), revision (30)
|
|
Bit#
|
Diagnostic Failure Byte
|
Preventative Maint. Byte
|
SysConfig Byte
|
|
0
|
Credit optics blocked
|
Credit optics marginal
|
Dwell between credit pulses
|
|
1
|
Size optics blocked
|
Size optics marginal
|
------
|
|
2
|
Inductive sensor malfunction
|
XMark optics marginal
|
One Pulse Limit (V3.0t +) |
|
3
|
Coin stuck at inductive sensor
|
------
|
Inhibit Line, 1=high, 0=low
|
|
4
|
Checksum in program bad
|
Rotary switch not at pos. 0
|
X-Mark Threshold, 1=high
|
|
5
|
Checksum in EE memory bad
|
Xeptor inhibited
|
X-Mark Lead/Trail, 1=both
|
|
6
|
Slow coin (transient reporting)
|
Excess ambient light
|
Tighter Metal Tolerance =1
|
|
7
|
Reverse coin (transient reporting)
|
Bad coin count high
|
Coin Data Secured, 1=yes
|
Auto Reporting
The Xeptors will not "speak unless spoken to" except when a coin has
been deposited. The Xeptor will automatically report the disposition
and sensor readings taken from each coin when the analysis is complete
and the SENSE pulse has been issued. If internal credit optics are
installed, a subsequent report on slow or reverse coins may
additionally occur. The auto report message consists of 6 data bytes
as shown below in ASCII Hex format.
Disposition, E-Metal-S, E-Metal-A, C-Metal-A, Diameter, and Token
Code. The disposition types are as shown in the table below. There are
three metal alloy readings, two taken at the edge of the coin and one
in the center of the coin. The diameter reading formula for the X-10
is 0.870 + 0.0027 x Diameter for coins larger than 0.870" and if the
Token Code = 80 signifying a coin smaller than 0.870", then use 0.870
- 0.0027 x Diameter. For
the X-50, use 1.290" in place of 0.870". Note, due to slight
variations in the optical parts used, the diameter reported by a given
unit may vary slightly from this ideal formula.
|
Value
|
Disposition Value Meaning
|
|
1-6
|
The coin memory number which had parameters matching the accepted
coin.
|
|
D
|
No coin memory had a DIAMETER matching the rejected coin.
|
|
X
|
Diameter was okay,
X-Mark doesn't match the rejected coin.
|
|
M
|
Diameter and X-Mark okay, edge METAL measurement doesn't match
rejected coin.
|
|
m
|
All parameters matched, except center METAL measurement, for the
rejected coin.
|
|
U
|
Parameters matched the designated UNWANTED coin, and was rejected.
|
|
T
|
Tighter metal alloy rejection based on ensemble of all three metal
alloy readings
|
|
S
|
A SLOW coin passed through the Xeptor, could be a stringer or
sticking problem.
|
|
R
|
An accepted coin REVERSED direction, credit may or may not have
issued.
|
|
L
|
The rotary switch was turned to one of the 6 LEARN positions.
|
|
I
|
The Xeptor was INHIBITED, coin rejected.
|
|
Bit
|
Option
Bits Description
|
|
0,1
|
Add bits to standard metal tolerance.
|
|
2,3
|
Add .030" / bit to diameter tolerance.
|
|
4,5,6
|
X-Mark reflective
strength tolerance.
|
|
7
|
Diverter enabled coin.
|
Report Command
The "R" REPORT command produces a list of all the critical operational
parameters of the Xeptor. An example of a REPORT is shown on the next
page. In the first line, the software version is identified and the
ID# of the unit is reported. The next 8 lines report the detail
contents of each of the 6 coin memories. The bits of the Options byte
are defined in the table above. The "Thresholds" line shows the
sensitivity levels set for the 4 X-Mark optical sensors, the three
diameter optical sensors, and the two credit optics sensors. These
values will be between 1 and 8 normally. The "Tank Calib" line shows
the value of the inductive sensor reading when the last "learn" was
performed, and what it is now in two different configurations. These
should be in the 40's or higher. The "Sys Config" byte will normally
be 00 for "inhibit low" and 80 for "inhibit high" on the Inhibit input
line. The remaining timing values should be self explanatory.
Example Configuration Report and Coin Auto Report Messages.
Xeptor 30 (d) ID#: 1F5E
--- Firmware version and ID#
Coin Memory: 01 02 03 04 05 06
Coin Pulses: 0D 01 00 01 00 00
Token Code: 00 00 00 03
00 00
E-Metal S: 26 24 00
24 00 00
E-Metal A: 2E 2C 00
2C 00 00
C-Metal A: 2E 2C 00
2C 00 00
Diameter: D9
DA 00 DC 00 00
Options:
01 01 00 81 00 00
Thresholds: 05 07 03 06
03 05 08 00
00
Tank Calib: 47
Tank Now: 47 51
Sys Config: 08
Tilt Time 1/3 sec: 09
Credit ms: 20
Divert Dly/Pls ms: 10 50
2 23 2D 2C D9 00
2 25 2C 2C DC 00
2 24 2C 2D DA 00
4 24 2D 2D DB 03 --
Distinguished by X-Mark from #2
D 35 3E 3E 1E 00 --
Failed on diameter
2 23 2D 2C D9 00
2 25 2C 2C DC 00
M 2A 30 30 DA 00 --
Failed on edge metal
4 25 2C 2C DC 03
4 24 2C 2D DA 03
4 24 2D 2D DB 03
U 26 2D 2E D6 00 --
Unwanted close slug for #2
U 27 2E 2D DA 00 --
Unwanted close slug for #2
I 00 00 00 00 00
I 00 00 00 00 00 --
Xeptor inhibited
I 00 00 00 00 00
2 23 2D 2C D9 00
2 25 2C 2C DC 00
2 24 2C 2D DA 00
S 00 00 00 00 00 --
Coin took too long in coin chute
R 00 00 00 00 00 --
Wrong exit after credit issue.
4 24 2C 2D DA 03
4 24 2D 2D DB 03
2 23 2D 2C D9 00
2 25 2C 2C DC 00
2 24 2C 2D DA 00
4 24 2D 2D DB 03
Note: The internal sequence for parameter checking is 1.) diameter,
2.) code, 3.) edge
metal-S, 4.) edge
metal-A, 5.) center
metal. Coin memory is checked in the order of 1-6 for a match.
Serial Port Command Examples For IDX
Xeptors
The examples commands below assume that a connection
has been successfully established through a PC serial port using a
terminal emulator program as described in the introduction paragraph
of this document. Please refer
to the second page of this same document for more information
about the example commands used below.
Configure For Humanly Hexadecimal Interface
The normal communication mode for Xeptors uses binary
data which is not very readable by people. The alternative mode, ASCII
Hexadecimal is (to some) human readable. Enter the command "HH"
(not including quotation marks) to enter this mode. In this mode,
binary data bytes are represented by a pair of ASCII Hexadecimal
characters with values 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E,
and F, where A-F represent values 10-15 respectively.
A conversion chart for hexadecimal to decimal follows.
|
Hexadeximal
Conversion Chart:
16's digit on left axis, 1's digit on top axis.
|
|
|
x0
|
x1
|
x2
|
x3
|
x4
|
x5
|
x6
|
x7
|
x8
|
x9
|
xA
|
xB
|
xC
|
xD
|
xE
|
xF
|
|
0x
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
|
1x
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
31
|
|
2x
|
32
|
33
|
34
|
35
|
36
|
37
|
38
|
39
|
40
|
41
|
42
|
43
|
44
|
45
|
46
|
47
|
|
3x
|
48
|
49
|
50
|
51
|
52
|
53
|
54
|
55
|
56
|
57
|
58
|
59
|
60
|
61
|
62
|
63
|
|
4x
|
64
|
65
|
66
|
67
|
68
|
69
|
70
|
71
|
72
|
73
|
74
|
75
|
76
|
77
|
78
|
79
|
|
5x
|
80
|
81
|
82
|
83
|
84
|
85
|
86
|
87
|
88
|
89
|
90
|
91
|
92
|
93
|
94
|
95
|
|
6x
|
96
|
97
|
98
|
99
|
100
|
101
|
102
|
103
|
104
|
105
|
106
|
107
|
108
|
109
|
110
|
111
|
|
7x
|
112
|
113
|
114
|
115
|
116
|
117
|
118
|
119
|
120
|
121
|
122
|
123
|
124
|
125
|
126
|
127
|
|
8x
|
128
|
129
|
130
|
131
|
132
|
133
|
134
|
135
|
136
|
137
|
138
|
139
|
140
|
141
|
142
|
143
|
|
9x
|
144
|
145
|
146
|
147
|
148
|
149
|
150
|
151
|
152
|
153
|
154
|
155
|
156
|
157
|
158
|
159
|
|
Ax
|
160
|
161
|
162
|
163
|
164
|
165
|
166
|
167
|
168
|
169
|
170
|
171
|
172
|
173
|
174
|
175
|
|
Bx
|
176
|
177
|
178
|
179
|
180
|
181
|
182
|
183
|
184
|
185
|
186
|
187
|
188
|
189
|
190
|
191
|
|
Cx
|
192
|
193
|
194
|
195
|
196
|
197
|
198
|
199
|
200
|
201
|
202
|
203
|
204
|
205
|
206
|
207
|
|
Dx
|
208
|
209
|
210
|
211
|
212
|
213
|
214
|
215
|
216
|
217
|
218
|
219
|
220
|
221
|
222
|
223
|
|
Ex
|
224
|
225
|
226
|
227
|
228
|
229
|
230
|
231
|
232
|
233
|
234
|
235
|
236
|
237
|
238
|
239
|
|
Fx
|
240
|
241
|
242
|
243
|
244
|
245
|
246
|
247
|
248
|
249
|
250
|
251
|
252
|
253
|
254
|
255
|
View The Report Screen
Send the "R" command to see the coin data stored in
memory and the operating parameters for various sensors and the timing
of the credit pulse and other signals.
Change Inhibit Line Logic
Xeptors have a hardware inhibit line that is used to
prevent acceptance of coins even when power is applied to the unit.
When inhibited, the Xeptor LED will flash amber color to indicate the
inhibit state. Send the "I"
command to change to "inhibit high" or send the "i"
command to change to "inhibit low". After doing so, you must send the
"S" command to save the
new configuration to non-volatile memory.
Change Credit Pulse Or Tilt Timing
The "Pccddpptt" command is used to change the output
credit pulse width (cc), the diverter output option delay (dd) and
pulse width (pp) and the tilt time (tt). Assuming you do not have a
diverter option and you would like the credit pulse to be 34ms (22
hex) and the self inhibit after a tilt to last 4 seconds (12/3 sec
Þ
0C hex) then you would enter the command
"P2200000C", followed by
the "S" command to save
the new configuration to non-volatile memory.
Tight-Metal Security.
Firmware version V3.0s (s only)
and all of V4.0 have the ability to increase the normal metal security
by setting bit 6 of SysConfig. By doing so, an
additional overall test of the ensemble of metal readings is conducted
and provides a means of measurably tightening the acceptance window
with virtually no impact on normal coin acceptance rate. It is
automatically invoked when the
BadCoinCount flag is set. To set bit 6 of SysConfig use the
"s" command to add 40 Hex to the current value
of SysConfig. For example, if SysConfig is currently 08 (see
System Report with "R" command) then you
would use the command "s48" followed by "S" to save the change to
EEPROM.
Increase X-Mark Code Reading Security
All X-Mark Xeptors have the
ability to increase the security in reading of the X-Mark minted
facets. In normal operation, the X-Mark sensors allow a fair amount of
variation in reflected signal strength from the facets and require a
successful read of the X-Mark on only the leading or trailing edge of
the coin... but not both... so that the system maintains a very high
acceptance rate even after years of wear and dirt accumulation on the
X-Mark facets. However, on rare occasions there are tokens that not
only have have the same alloy and diameter, but also have minted
graphics having patterns that in the right orientation may mimic the
reflection of a valid X-Mark facet.
Xeptors have two tools to increase X-Mark
detection security in these circumstances. By setting Bit 4 of
SysConfig the signal threshold required for valid
detection is doubled and can significantly reduce false detection due
to graphics on other otherwise similar tokens. By setting Bit 5 of
SysConfig, it is then required that the X-Mark be detected on both the
leading and trailing edges of the coin, dramatically reducing the
probability that false detection because of the graphics will happen
in both places. the graphical.
Both automatically invoked when the
BadCoinCount flag is set. Use
the "s" command
to set bits 4 and 5 of SysConfig
which adds 30 Hex to the current value of SysConfig. For example,
if SysConfig is currently 08 (see System Report
with "R" command) then you would use the command "s38" followed by "S"
to save the change to EEPROM.
|