Zebra scanner Interleaved 2 of 5 cannot read

925 views Asked by At

I have Zebra TC510K and I am developing an app on it in Kotlin. I am using this EMDK com.symbol:emdk:9.1.1. I am trying to scan Interleaved 2of5 barcode but the scanner doesn´t response.

My code is show below. This is only place where I set decodeParams.i2of5.enabled = true. Other types of barcodes works properly. Do you have somebody some idea what should be wrong?

override fun onStatus(statusData: StatusData) {
        val state = statusData.state
        when (state){
            StatusData.ScannerStates.IDLE -> {
                statusString = statusData.friendlyName + " je zapnuty a ceka...."
                if (!scanner!!.isReadPending()) {
                    val scannerConfig = scanner!!.config
                    //Log.d("scanpr","Before${scannerConfig.decoderParams.i2of5.enabled.toString()}")
                    scannerConfig.decoderParams.i2of5.enabled = true
                    scannerConfig.decoderParams.code128.enabled = true
                    scannerConfig.decoderParams.code39.enabled = true
                    scannerConfig.decoderParams.code93.enabled = true
                    //Log.d("scanpr","After${scannerConfig.decoderParams.i2of5.enabled.toString()}")
                    //scanner!!.config(scannerConfig)
                    try {
                        scanner!!.read()
                    } catch (e: ScannerException) {
                        statusString = e.message.toString()
                        statusTextView!!.text = statusString
                    }
                }
            }
            StatusData.ScannerStates.WAITING -> {

            }
            StatusData.ScannerStates.SCANNING -> {

            }
            StatusData.ScannerStates.DISABLED -> {

            }
            StatusData.ScannerStates.ERROR -> {

            }
            else -> {

            }
        }
    }

1

There are 1 answers

0
jenik2205 On

I forget to add one line to setDecoder functionality: scanner!!.config = scannerConfig. To set config of scanner.

                    if (!scanner!!.isReadPending()) {
                    val scannerConfig = scanner!!.config                    
                    scannerConfig.decoderParams.i2of5.enabled = true
                    scannerConfig.decoderParams.code128.enabled = true
                    scannerConfig.decoderParams.code39.enabled = true
                    scannerConfig.decoderParams.code93.enabled = true
                    scanner!!.config = scannerConfig                    
                    try {
                        scanner!!.read()
                    } catch (e: ScannerException) {
                        statusString = e.message.toString()
                        statusTextView!!.text = statusString
                    }
                }