Hopper Empty Error

Support for the Milan Intelligent interface, sold by Money Controls as the Paylink USB unit and for the earlier PCI card version.

Moderators: aardvark, davebush, Admin

Post Reply
Mike

Hopper Empty Error

Post by Mike »

To reliably reproduce this error all I have to do is turn on the system (SR5/£1 hopper/ 10p Hopper/Lumina) run my program (which is a multigame shell such as itbox/4leaf etc) insert a £10 note
then try and dump the bank which is curently at £4 Hopper has £16 but reports empty and dumps its entire contents.

This occured at 13:41 in my log of 2004-06-24 where you can see the initial values of CurrentPaid=155150 I then exitied to get the aes diag output and re-run my shell at 13:56 wher you can see the CurrentPaid has reset to £16, the ammount dumped by the hopper when it complained of being empty.

If i refloat the hopper it then works perfectly.
If i power down the system the CurrentPaid reverts to its original 155150 again and the hopper errors again. Inserting the note therefore appears to be nothing to do woth it.

I've not seen this problem before on the live machines but they may be running a different version of the aardvark software, as i lost mine when my HD crashed, so I reblew my aardvark with the latest from the distribution CD.

The line DP: Pay request!! 155550 > 0 appears to be key in the aesdiag.

My Log:
Machine Shell Ver 1.0.1.4 (Mu) Initialise

13:41:18 Gamecode 0 Site Name Monte Carlo Player Station
13:41:18 Gamecode 0 SR5 on acceptor Block 0
13:41:18 Gamecode 0 LUMINA on acceptor Block 1
13:41:18 Gamecode 0 SCH2 Hopper value 10 on Block 0
13:41:18 Gamecode 0 SCH2 Hopper value 100 on Block 1
13:41:18 Gamecode 0 coinnum 0 (value 0) is slot 15
13:41:18 Gamecode 0 coinnum 1 (value 10) is slot 4
13:41:18 Gamecode 0 coinnum 2 (value 20) is slot 3
13:41:18 Gamecode 0 coinnum 3 (value 50) is slot 2
13:41:18 Gamecode 0 coinnum 4 (value 100) is slot 1
13:41:18 Gamecode 0 coinnum 5 (value 200) is slot 0
13:41:18 Gamecode 0 notenum 0 (value 1000) is slot 15
13:41:18 Gamecode 0 notenum 1 (value 500) is slot 5
13:41:18 Gamecode 0 notenum 2 (value 1000) is slot 6
13:41:18 Gamecode 0 notenum 3 (value 2000) is slot 7
13:41:18 Gamecode 0 notenum 4 (value 1000) is slot 15
13:41:18 Gamecode 0 notenum 5 (value 1000) is slot 15
13:41:18 Gamecode 0 COIN ENTRY LOCKED
13:41:21 Gamecode 0 Current Credit=1750
13:41:21 Gamecode 0 Current Bank=400
13:41:21 Gamecode 0 Current Notes=0
13:41:21 Gamecode 0 Hopper 1 Credit=1600
13:41:21 Gamecode 0 Hopper 2 Credit=0
13:41:21 Gamecode 0 Current Paid=155150
13:41:21 Gamecode 0 MODEDOORS1 td=1 sd=1 fd=1 ks=0
13:41:21 Gamecode 0 All doors closed
13:41:21 Gamecode 0 COIN ENTRY UNLOCKED
13:41:21 Gamecode 0 ENTERING USER MENU AT STARTUP
13:41:43 Gamecode 0 Note Value 1000 Entered. 200 added to Credit. 800 added to NoteBank. Credit=1950. NoteBank=800
13:41:45 Gamecode 0 User Transferred 200 from NoteBank to Credit. Credit now 2150 NoteBank now 600
13:41:46 Gamecode 0 User Transferred 200 from NoteBank to Credit. Credit now 2350 NoteBank now 400
13:41:48 Gamecode 0 User pressed Collect with 400 in Bank
13:41:48 Gamecode 0 paymoney called. Ammount=400 payoutpending=400 PayoutStart=155150
13:42:12 Gamecode 0 HOPPER PAYOUT ERROR (EMPTY). Hoppers should be at 1600,0 but payout short by 400
13:42:30 Gamecode 0 COIN ENTRY LOCKED
13:42:30 Gamecode 0 Machine Shell Finish
13:56:06 Gamecode 0



AES log:
DP: Application active
Acc: MCL SR5/3 Enable
Acc: cc Note Enable
Acc: MCL SR5/3 Disable
SR5: Inhibit all coins
8980 bytes memory free
Note: Enable acceptance
Note: inhibits to 00ff
Acc: MCL SR5/3 Enable
SR5: inhibits to 001f
SR5: Modify path for coin 1 to 4
SR5: Modify path for coin 3 to 4
SR5: Modify path for coin 4 to 4
SR5: Modify path for coin 5 to 4
8968 bytes memory free
Note: New event 1, Old 0, note 5 read
Meter: Incremented counter 1 by 20
Meter: Incremented counter 5 by 100
Meter: Incremented counter 1 by 20
Meter: Incremented counter 1 by 20
DP: Pay request!! 155550 > 0
Acc: MCL SR5/3 Disable
SR5: Inhibit all coins
DP: Pay 255 coins for 155550 from 3
ccHopper: Request to pay 255...
ccHopper: Final payout status... 0c 00 10 ef
ccHopper: ***** Pay failed 0042, Empty
DP: Cycle End - 16 coins @ 100 status: -1
DP: Hopper for 100 not available
DP: Pay 255 coins for 153950 from 7
ccHopper: Request to pay 255...
ccHopper: Final payout status... 08 00 00 fay result!!
Acc: MCL SR5/3 Enable
Acc: cc Note Enable
Note: Enable acceptance
SR5: inhibits to 001f
Acc: MCL SR5/3 Disable
DP: Application has gone away
Acc: MCL SR5/3 Disable
Acc: cc Note Disable
aardvark
Posts: 19
Joined: Mon Jun 21, 2004 6:05 pm

Post by aardvark »

This is a "standard" error that you can get during development.

It's due to E2Prom "corruption" (Generally due to going backwards and then forwards in Firmware revision level, which is not supported).

The problem occurs in the 1.8.x series because the code doesn't SAVE the total paid out - leaving it zero in E2Prom. It does however restore it (clever eh!), but doesn't take note of the restored value (even cleverer). Obviously as long as the E2Prom is zero this doesn't matter, nut if the E2PRom becomes "random" then, as soon as the DLL payout routines get triggered they copy across the restored result - and bingo, a massive payout. Once the payout completes the DLL updates all the values and from then on it's fine until the next reset.

The fix is simple, run the little test application E2Reset in the SDK examples, this will clear all values from the E2Prom.
Post Reply