
Manual 18-ccTalk
Version 0.6
Page 15
7.3. Hopper Dispense coins procedure
Dispensing coins using a ccTalk hopper requires some extra command steps before the actual
dispense command can be executed successfully.
Test Hopper (header 163)
Command : 03 00 01 A3 59
Response: 01 01 03 00 80 BA
First of all, check if any error flags are set in the status bytes.
This can be checked by sending a hopper TEST command. Two status bytes are returned in
response. See Table 6: Hopper Status .
Hopper Status
Bit nr Description
Default value
after power up
B0
1 = Absolute maximum current exceeded
0
B1
1 = Payout timeout occurred
0
B2
1 = Motor reversed during last payout to clear a jam
0
B3
1 = Opto fraud attempt, path blocked during idle
0
B4
1 = Opto fraud attempt, short-circuit during idle
0
B5
1 = Opto blocked permanently during payout
0
B6
Not used
0
B7
1 = Payout disabled
1
Table 6: Hopper Status
If any error flags are set, solve the problem by inspecting the hopper and issue a RESET
command.
If the hopper is build in the machine, inspecting the hopper may be difficult. There may be a
coin stuck in the coin exit port, due to a heavy jam followed by a reset, or due to a power
failure during a payout. The "Opto fraud attempt, path blocked during idle" flag is then set.
These flags can be cleared again with a Reset command but is set again 333ms after the Reset
command, due to the opto test during idle (done 3x per second). If an Opto error flag is set, no
payout can be started. However, if the dispensing commands are transmitted within 333ms
after receiving the ACK response from the Reset command, the opto flags will be cleared and
the hopper may be started again to start a new payout.
In our example the status byte (80) tells us that the hopper is dissabled. If no opto error flags are set,
the ENABLE HOPPER command may be issued.
After a power up or a reset the hopper is disabled. Check the status bytes again. The first data byte
contains the status of the hopper. If bit B7 is set, payout is disabled.
After checking the hopper status bytes, check if any residual (uncompleted) payout is pending. This
can occur if a previous payout was aborted due to a power failure, a coin jam or hopper ran out of
coins. Transmit the REQUEST HOPPER STATUS command to check the status:
Request hopper status (header 166)
Command : 03 00 01 A6 56
Response: 01 04 03 00 00 00 01 00 F7
The 4 data bytes
(00 00 01 00)
in the response have the following meaning:
[event counter] [payout coins remaining] [last payout: coins paid] [last payout: coins unpaid]
[event counter]
After each valid (no communication errors) Dispense coins command, this counter is incremented.