I'm using the SEC meter in conjunction with the PayLink with a Linux system. I have detected two problems:
1. If I call CounterIncrement with a value > 32767 the driver stops working. Any further calls do not work correctly, since the SEC meter does not get incremented any more. If I call CounterRead I get the incremented value, but this is not the value that at the SEC counter. I have to stop and then start again AESWDriver to the cached value of PayLink to the one of the meter.
2. Because of this I thought I could imcrement partially. A value of 32770 would then result in a double call of CounterIncrement. First value would be 32767, next would be 3. However, and this is the second problem, the call is a non-blocking one. If I make those calls without any waiting the counter hangs again.
I can live with the first problem. But only, if the second one is solved somehow. How could I find out that the incrementation is completed? Or could I make CounterIncrement blocking anyhow (return when the function has done its job)?
Another question: The only device that is connected to PayLink is the SEC meter. Which essential calls should be done to start and stop the system properly? EnableInterface? USBDriverExit? And are there any further recommendations when dealing with the meter (e.g. timing issue or so)?
The output of the driver:
Code: Select all
15:08:00.810 PC: Driver start up
15:08:11.832 Unit 0 OK, ID: 0x0403 0xde50
15:08:11.832 Type: Revision 4 (USB Powered)
15:08:11.832 Description: Genoa USB Hub
15:08:11.832 Manufacturer: Aardvark (AE)
15:08:11.832 Serial No: AE000001
15:08:11.832 Latency: 16
15:08:11.873 PC: Memory Reset - new protocol
15:08:11.892 USB: PC Link Up
15:08:12.148 DP: Interface memory set up
15:08:12.148
15:08:12.148 PC: *** USB unit major memory reset ***
15:08:12.148
10 November 2009 Firmware: 4.1.10.12 from May 14 2009 at 12:27:14 Driver:1.1.2.5
15:08:12.148 Exec: DP App. task took 258 msecRegards,
Robert