What is the most portable way to support manual-drop feeding?

Started by Bryan Clark, February 09, 2010, 10:40:02 AM

Previous topic - Next topic

Bryan Clark

Notes:

  • Most Ranger-based applications support manual-drop feeding.
  • Applications typically implement manual-drop feeding in a generic way which supports both manual-drop feeding items normally and after an exception.
  • Due to the way manual-drop feeding is implemented, applications do not need to provide special exception handling.  They usually ignore the Ranger exception-related events.

Here is a high-level description of how most Ranger-based applications impelement feeding on scanners that support manual-drop feeding:

  • Whenever Ranger enters the ReadyToFeed state and the operator is allowed to feed items, the application tells Ranger to feed continuously from the manual-drop.  This technique allows the operator to feed items from the manual-drop after an exception and any time they are not hopper feeding.
  • If the operation requests that feeding start from the hopper, the application:

    • Sets a "hopper feeding requested" flag
    • Tells Ranger to stop feeding from the manual-drop
    • When Ranger enters the ReadyToFeedState the application checks the "hopper feeding requested" flag.  If it is set, then the application tells Ranger to start feeding from the hopper.

  • If the application need to change parameters, the application:

    • Sets a "change options requested" flag
    • Tells Ranger to stop feeding from the manual-drop
    • When Ranger enters the ReadyToFeedState the application checks the "change options requested" flag.  If it is set, then the application tells Ranger to go to the ChangeOptions state.

So there are three cases to test for when Ranger enters the ReadyToFeedState:

  • If the "change options requested" flag is set, then tell Ranger to go to the ChangeOptions state.
  • If the "hopper feeding requested" flag is set, then tell Ranger to start feeding from the hopper.
  • Otherwise, tell Ranger to feed items continuously from the manual-drop.

You may want to also wish to add a case to handle when the operator requests that you exit the scanning/the application.

If you use this technique, it should allow you to avoid any scnner-specific Ranger code, and implement code that will support manual-drop feeding on all scanners that support a manual-drop feeding mode.  This includes most scanners, both large and small.


Ranger® - The universal check scanner interface
Copyright © 2010 Silver Bullet Technology
www.sbullet.com