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

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

  • 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's a high-level description of how most Ranger-based applications implement 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 scanner-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 © 2023 Silver Bullet Technology
www.sbullet.com

    • Related Articles

    • How should I implement manual-drop feeding?

      See: What is the most portable way to support manual-drop feeding? Ranger® - The universal check scanner interface Copyright © 2023 Silver Bullet Technology www.sbullet.com
    • What's the difference between hopper and manual drop feeding?

      Feeding begins when Ranger calls your plug-in's StartFeeding() function. Below are the actions that your plug-in must take in different scenarios. When feeding from the Main or Merge Hopper: No items in the feeder: Call ...
    • What's the difference between Main Hopper and Manual Drop?

      The Main Hopper will feed continuously until the hopper is empty, an exception occurs, or the feed count is reached. Manual Drop will feed continuously until stop feeding is called, an exception occurs, or the feed count is reached. In larger ...
    • How to can I contact the Ranger technical support team?

      The best way to contact technical support is by emailing our team at support@sbullet.com, or creating a ticket through our support page. Ranger® - The universal check scanner interface Copyright © 2023 Silver Bullet Technology www.sbullet.com
    • Is there a way to hide the Ranger splash banner?

      Sorry, there is current no way for you to hide the Ranger splash screen. Best regards, Bryan Clark Ranger® - The universal check scanner interface Copyright © 2023 Silver Bullet Technology www.sbullet.com