2 Replies Latest reply on Jan 4, 2016 8:32 AM by Josh Fischer

    Help trying to set a same symbol barcode timeout with continuous scan

    Josh Fischer

      Hello All,

       

      I am trying to set the zebra TC70 to start a continuous scan and add a timeout between same barcode values.  I've gotten this to work by hacking up the code and putting my own breaks in, but I would rather use the functionality that Zebra supplies.

       

      The flow of the program should execute as so:

      1. User starts the scanner
      2. User scans an item, the enters a quantity
      3. Upon next scan of different barcode data is saved to an sqlite database
      4. And so forth

      The problem is after the scanner recognizes the first barcode it collects the data and scanning is stopped.  Code snippet is below for scanner profile set up. I hope this is enough information for anyone to diagnose the problem. .  Any help would be appreciated.

       

      Thanks!

       

      -Josh

       

      @Override
      public void onOpened( EMDKManager emdkManager ) {

         this.emdkManager = emdkManager;
         barcodeManager = (BarcodeManager) this.emdkManager.

        getInstance( EMDKManager.FEATURE_TYPE.BARCODE );

         deviceList = barcodeManager.getSupportedDevicesInfo();

         deInitScanner();
         initializeScanner( );
         setProfile( );

        try {

         scanner.triggerType = Scanner.TriggerType.SOFT_ALWAYS;


        if (scanner.isReadPending()) {

         scanner.cancelRead();
         }

         scanner.read();

         } catch (ScannerException e ) {

        e.printStackTrace();
         }

      }

       

      private void setProfile() {

       

         try {

       

         if ( scanner.isReadPending() ) {

         scanner.cancelRead();
         }

       

        ScannerConfig config = scanner.getConfig();
         config.decoderParams.code11.enabled = true;
         config.decoderParams.code39.enabled = true;
         config.decoderParams.code128.enabled = true;
         config.decoderParams.upca.enabled = true;
         config.decoderParams.ean8.enabled = true;
         config.decoderParams.ean13.enabled = true;
         config.readerParams.readerSpecific.imagerSpecific.beamTimer = 0;
         config.readerParams.readerSpecific.imagerSpecific.pickList = ScannerConfig.PickList.ENABLED;
         config.readerParams.readerSpecific.imagerSpecific.continuousRead.isContinuousScan = true;
         config.readerParams.readerSpecific.imagerSpecific.continuousRead.sameSymbolTimeout = 500;
         scanner.setConfig( config );

         // Starts an asynchronous Scan. The method will not turn
        // ON the
        // scanner. It will, however, put the scanner in a state
        // in which
        // the scanner can be turned ON either by pressing a
        // hardware
        // trigger or can be turned ON automatically.
         scanner.read( );

         } catch (ScannerException e ) {

        Log.d( TAG, "exception setting profile: " + e.getMessage() );
         }

      }