Payout
A thin wrapper around the SSP protocol from ITL
ssp_defines.h
1 #ifndef __SSP_DEFINES_H
2 #define __SSP_DEFINES_H
3 
4 
5 #define SSP_STX 0x7F
6 
7 
8 //Standard BNV SSP Commands
9 #define SSP_CMD_RESET 0x1
10 #define SSP_CMD_SET_INHIBITS 0x2
11 #define SSP_CMD_BULB_ON 0x3
12 #define SSP_CMD_BULB_OFF 0x4
13 #define SSP_CMD_SETUP_REQUEST 0x5
14 #define SSP_CMD_HOST_PROTOCOL 0x6
15 #define SSP_CMD_POLL 0x7
16 #define SSP_CMD_REJECT_NOTE 0x8
17 #define SSP_CMD_DISABLE 0x9
18 #define SSP_CMD_ENABLE 0xA
19 #define SSP_CMD_PROGRAM 0xB //See SSP_PROGRAM_* defintions for second byte
20 #define SSP_CMD_SERIAL_NUMBER 0xC
21 #define SSP_CMD_UNIT_DATA 0xD
22 #define SSP_CMD_CHANNEL_VALUES 0xE
23 #define SSP_CMD_CHANNEL_SECURITY 0xF
24 #define SSP_CMD_CHANNEL_RETEACH 0x10
25 #define SSP_CMD_SYNC 0x11
26 #define SSP_CMD_DISPENSE 0x12
27 #define SSP_CMD_PROGRAM_STATUS 0x16
28 #define SSP_CMD_LAST_REJECT 0x17
29 #define SSP_CMD_HOLD 0x18
30 #define SSP_CMD_MANUFACTURER 0x30
31 #define SSP_CMD_EXPANSION 0x30
32 #define SSP_CMD_ENABLE_HIGHER_PROTOCOL 0x19
33 
34 //PAYOUT and HOPPER COMMANDS
35 #define SSP_CMD_PAYOUT_VALUE 0x33
36 #define SSP_CMD_SET_COIN_AMOUNT 0x34
37 #define SSP_CMD_GET_COIN_AMOUNT 0x35
38 #define SSP_CMD_HALT_PAYOUT 0x38
39 #define SSP_CMD_SET_ROUTING 0x3B
40 #define SSP_CMD_GET_ROUTING 0x3C
41 #define SSP_CMD_FLOAT 0x3D
42 #define SSP_CMD_MINIMUM_PAYOUT 0x3E
43 #define SSP_CMD_SET_COIN_INHIBIT 0x40
44 #define SSP_CMD_EMPTY 0x3F
45 #define SSP_CMD_HOST_SERIAL 0x14
46 #define SSP_CMD_ENABLE_PAYOUT_DEVICE 0x5C
47 #define SSP_CMD_DISABLE_PAYOUT_DEVICE 0x5B
48 
49 //generic SSP Responses
50 typedef enum
51 {
52 SSP_RESPONSE_OK = 0xF0,
53 SSP_RESPONSE_UNKNOWN_COMMAND = 0xF2,
54 SSP_RESPONSE_INCORRECT_PARAMETERS = 0xF3,
55 SSP_RESPONSE_INVALID_PARAMETER = 0xF4,
56 SSP_RESPONSE_COMMAND_NOT_PROCESSED = 0xF5,
57 SSP_RESPONSE_SOFTWARE_ERROR = 0xF6,
58 SSP_RESPONSE_CHECKSUM_ERROR = 0xF7,
59 SSP_RESPONSE_FAILURE = 0xF8,
60 SSP_RESPONSE_HEADER_FAILURE = 0xF9,
61 SSP_RESPONSE_KEY_NOT_SET = 0xFA,
62 SSP_RESPONSE_TIMEOUT = 0xFF,
63 } SSP_RESPONSE_ENUM;
64 
65 
66 //Poll Responses
67 #define SSP_POLL_RESET 0xF1
68 #define SSP_POLL_READ 0xEF //next byte is channel (0 for unknown)
69 #define SSP_POLL_CREDIT 0xEE //next byte is channel
70 #define SSP_POLL_REJECTING 0xED
71 #define SSP_POLL_REJECTED 0xEC
72 #define SSP_POLL_STACKING 0xCC
73 #define SSP_POLL_STACKED 0xEB
74 #define SSP_POLL_SAFE_JAM 0xEA
75 #define SSP_POLL_UNSAFE_JAM 0xE9
76 #define SSP_POLL_DISABLED 0xE8
77 #define SSP_POLL_FRAUD_ATTEMPT 0xE6 //next byte is channel
78 #define SSP_POLL_STACKER_FULL 0xE7
79 #define SSP_POLL_CLEARED_FROM_FRONT 0xE1
80 #define SSP_POLL_CLEARED_INTO_CASHBOX 0xE2
81 #define SSP_POLL_BARCODE_VALIDATE 0xE5
82 #define SSP_POLL_BARCODE_ACK 0xD1
83 #define SSP_POLL_CASH_BOX_REMOVED 0xE3
84 #define SSP_POLL_CASH_BOX_REPLACED 0xE4
85 #define SSP_POLL_DISPENSING 0xDA
86 #define SSP_POLL_DISPENSED 0xD2
87 #define SSP_POLL_JAMMED 0xD5
88 #define SSP_POLL_HALTED 0xD6
89 #define SSP_POLL_FLOATING 0xD7
90 #define SSP_POLL_FLOATED 0xD8
91 #define SSP_POLL_TIMEOUT 0xD9
92 #define SSP_POLL_INCOMPLETE_PAYOUT 0xDC
93 #define SSP_POLL_INCOMPLETE_FLOAT 0xDD
94 #define SSP_POLL_CASHBOX_PAID 0xDE
95 #define SSP_POLL_COIN_CREDIT 0xDF
96 #define SSP_POLL_EMPTYING 0xC2
97 #define SSP_POLL_EMPTY 0xC3
98 #define SSP_POLL_COINS_LOW 0xD3
99 #define SSP_POLL_COINS_EMPTY 0xD4
100 
101 
102 //Programming Type
103 #define SSP_PROGRAM_FIRMWARE 0x0
104 #define SSP_PROGRAM_DATASET 0x1
105 #define SSP_PROGRAM_RAM 0x3
106 
107 //channel definitions
108 #define SSP_CHANNEL_ONE 0x1
109 #define SSP_CHANNEL_TWO 0x2
110 #define SSP_CHANNEL_THREE 0x3
111 #define SSP_CHANNEL_FOUR 0x4
112 #define SSP_CHANNEL_FIVE 0x5
113 #define SSP_CHANNEL_SIX 0x6
114 #define SSP_CHANNEL_SEVEN 0x7
115 #define SSP_CHANNEL_EIGHT 0x8
116 #define SSP_CHANNEL_NINE 0x9
117 #define SSP_CHANNEL_TEN 0xA
118 #define SSP_CHANNEL_ELEVEN 0xB
119 #define SSP_CHANNEL_TWELVE 0xC
120 #define SSP_CHANNEL_THIRTEEN 0xD
121 #define SSP_CHANNEL_FOURTEEN 0xE
122 #define SSP_CHANNEL_FIFTEEN 0xF
123 #define SSP_CHANNEL_SIXTEEN 0x10
124 
125 //encryped
126 #define SSP_CMD_SET_GENERATOR 0x4A
127 #define SSP_CMD_SET_MODULUS 0x4B
128 #define SSP_CMD_REQ_KEY_EXCHANGE 0x4C
129 
130 //download
131 #define DOWNLOAD_COMPLETE 0x100000
132 #define OPEN_FILE_ERROR 0x100001
133 #define READ_FILE_ERROR 0x100002
134 #define NOT_ITL_FILE 0x100003
135 #define PORT_OPEN_FAIL 0x100004
136 #define SYNC_CONNECTION_FAIL 0x100005
137 #define SECURITY_PROTECTED_FILE 0x100006
138 
139 #define DATA_TRANSFER_FAIL 0x100010
140 #define PROG_COMMAND_FAIL 0x100011
141 #define HEADER_FAIL 0x100012
142 #define PROG_STATUS_FAIL 0x100013
143 #define PROG_RESET_FAIL 0x100014
144 #define DOWNLOAD_NOT_ALLOWED 0x100015
145 #define HI_TRANSFER_SPEED_FAIL 0x100016
146 
147 #endif