01-05-2010 06:35 PM
Hi,
I have an application with separate COD for UI and Library. Its a Wedge Driver for barcode scanner. The Library COD where the processing and injection takes place.
When scanning 1D barcodes and say (up to 36) characters the driver is working fine. But when scanning 2D barcodes with more than 36 characters i get this error:
guid:0x97C9F5F641D25E5F time: Wed Dec 16 15:37:50 2009 severity:0 type:2 app:System data:Process WedgeDriver(163) queue too large; key/stylus event(s) dropped
The log show where this error occurs:
guid:0x97C9F5F641D25E5F time: Wed Dec 16 15:37:50 2009 severity:0 type:2 app:System data:CMM: WedgeSDK(4805) no sig from 0x33 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00[ guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00) guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00> guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00\x1E guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x000 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x001 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00\x1D guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x000 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x002 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x009 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x002 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x006 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x001 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x004 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00\x1D guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x008 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x004 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x000 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00\x1D guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x005 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x001 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x00\x1D guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x009 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x008 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x005 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x008 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x002 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x009 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x000 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x002 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x007 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x002 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x009 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x005 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x000 guid:0xAFFFF32C2FFFFCFF time: Wed Dec 16 15:37:50 2009 severity:0 type:0 app: data:?4:\x00\x00\x002 guid:0x97C9F5F641D25E5F time: Wed Dec 16 15:37:50 2009 severity:0 type:2 app:System data:Process WedgeDriver(163) queue too large; key/stylus event(s) dropped
Here is my code:
for (int i = 0; i < sBarcode.length();) {
nByte = sBarcode.charAt(i);
EventInjector.invokeEvent(new EventInjector.KeyCodeEvent(EventInjector.KeyCodeEv ent.KEY_DOWN, (char)nByte , nKeypadListener, nDownTime ));
EventLogger.logEvent(GUID, nByte);
i++;
}
I search for (163) queue too large, but could not find anything.
Can someone help me on this?
Thanks...
Solved! Go to Solution.
01-05-2010 06:49 PM - edited 01-05-2010 06:51 PM
I think you need to go back to the driver developer for assistance.
There should be a way to throttle the input if it is coming in too fast.
01-05-2010 06:54 PM
Rex,
I am the developer. Well wanabe developer. So your thinking is that I'm over filling the queue and adding some delay between injector code might solve the problem?
Thanks.
01-05-2010 07:20 PM - edited 01-05-2010 07:21 PM
Think you might find RexDoug's name is actually Doug!
I agree with that suggestion. Give the input Field a chance to process the characters. Even a Thread.yield() might help.
01-05-2010 07:32 PM
Peter,
Thanks for the clarification on the delay and I stand corrected on RexDoug's name.
I'll give this a try and report back.
01-05-2010 07:37 PM
Sorry - reading your post it sounded like a 3rd party product that you were integrating.
So, obviously you are firing keyboard events faster than you are processing them.
Might be a coupla reasons for this, hard to say without knowing how you are handling/synchronizing threads.
And the name *is* Doug, as Peter suggests - one of the "Rex-Guys"
01-06-2010 11:23 AM - edited 01-06-2010 11:24 AM
Doug, Peter,
That delay was the fix. I tried "Thread.yield();" and it worked perfectly positing 2D barcodes into Mail and MemoPad without any problems on the 8100s. However on the faster devices such as 8800s that short delay was not enough. I did get more of the barcode data to inject but still missing a few characters.
The final solution was to use the delay "Thread.sleep(10);" which seems to be working on all devices.
Thank you both for the exellent feedback.
The developers on this forum rocks...