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.