About Scanner SDK for Windows

Overview

The Zebra Scanner Software Developer Kit (SDK) defines an architectural framework providing a single programming interface across multiple programming languages (such as MS .NET, C++, Java) and across multiple system environments (such as Windows and Linux) for all scanners communication variants (such as IBMHID, SNAPI, HIDKB, Nixdorf Mode B, etc.).

The Zebra Scanner SDK includes a suite of components that provides a unified software development framework with a wide range of functions for interfacing Zebra scanners to user applications and solutions.

With this SDK you can read bar codes, manage scanner configurations, capture images/videos and selectively choose a list of scanners on which to work. While one application is in one programming language using a scanner or a set of scanners, another application in a different language can be used differently within the same system environment.

Figure 1: Software Developer Framework

The SDK can build an application with complete control of its scanner's capabilities.

  • Data, Barcode

    • Simulation HID Keyboard output
    • OPOS/JPOS output
    • SNAPI output
  • Command and Control

    • LED and Beeper Control
    • Aim Control
  • Imaging

    • Capture / Transfer of images
    • Capture / Transfer of Video
  • Remote Scanner Management

    • Asset Tracking
    • Device Configuration (Get, Set and Store scanner attributes)
    • Firmware Upgrade
    • Scanner Communication Protocol Switching
    • Service to Automate Configuration / Firmware Upgrade Process

NOTE For a list of a scanner's supported attribute (parameter) numbers and definitions, refer to the Product Reference Guide for that model scanner, available from the Zebra Support website at http://www.zebra.com/support. Attributes include configuration parameters, monitored data, and asset tracking information.


Scanner SDK Architecture

Figure 2: SDK Architecture

You can configure Zebra scanner devices to be operated in different host communication modes such as USB SNAPI, USB OPOS, USB HID Keyboard, USB IBM Table-top, SSI, and RS232 Nixdorf Mode B. Device feature support varies depending on communication mode but all modes support bar code scanning. Refer to the Product Reference Guide of a specific scanner for the bar codes to set its supported host communication modes.

Using the Zebra Scanner SDK, you can switch between supported host communication modes by calling the host variant switching command programmatically. This is useful when the device is in a less feature supportive mode and some advanced functionality is required but not supported by the current communication mode. The scanner can be switched to a feature rich mode and commands executed before switching the scanner back to the previous mode.

For example, you want to disable the UPC-A symbology but the device is in USB HID Keyboard mode. If the mode is supported by the scanner, you may switch to USB SNAPI or USB OPOS, set UPC- A to be disabled permanently and then switch the scanner back to USB HID Keyboard mode. See Table 1 below for more information.

Table 1 illustrates scanner capabilities supported by each communication mode. Refer to the specifications of a device for its ability to support of each communication mode.

Table 1: Scanner Device Communication Modes Vs. Capabilities

Capabilities USB SNAPI USB OPOS USB HID Keyboard USB IBM Table-top RS232 Nixdorf B SSI
Data Supported Supported Supported Supported Supported Supported
Host Variant Switching Supported Supported Supported Supported Not Available Not Available
Management Supported Supported Not Available Supported Not Available Supported
Image & Video Supported Not Available Not Available Not Available Not Available Supported (Image Only)
Simulated HID Keyboard Output* Supported Supported Not Available Supported Supported* Supported
*Advanced Data Formatting (ADF) is not supported when using Simulated HID Keyboard Output.

Simulated HID Keyboard Output is a feature enabling scanners in USB SNAPI, USB IBM Table-top, USB OPOS, or SSI mode to emulate HID Keyboard keystrokes to a host system for scanned data labels. It sends the content of the scanned data label as HID Keyboard keystrokes thus emulating USB HID Keyboard scanner mode.


Multiple Scanner Device Identification Methodology For Applications

The Zebra Scanner SDK supports multiple scanner devices to any application that runs on top of CoreScanner APIs. Each scanner device is shown to the user application by a unique scanner identification number. The scanner ID is a numeric value assigned to each connected device so there cannot be multiple scanner devices holding the same scanner ID.

Asset tracking information like model number, serial number, current firmware version and date of manufacture are available if the scanner and its current host mode support the management feature.

For example, in some modes like USB HID Keyboard, you do not see asset tracking information but the same scanner device shows you such information when it is in USB OPOS or USB SNAPI mode.

The format of device asset tracking information can follow different naming conventions for device model, serial number or current firmware version. For example, the length of a serial number for DS6707 and DS9808 scanners can be different.


How Multiple Applications Access Multiple Scanners From Scanner SDK

The Zebra Scanner SDK supports multiple applications accessing multiple scanner devices connected to the host at the same time.

As described previously, a scanner ID uniquely identifies a connected scanner device to all applications. A scanner ID is consistent among all applications for one SDK instance. If the CoreScanner service or the host machine is restarted, a device may be assigned a different scanner ID but it is unique and referenced by all applications.

Three Applications Connected To One Scanner

Figure 3: Three Applications Connected To One Scanner

Implementation Details

  • Three applications are connected to one scanner.
  • App 1 & App 2 support bi-directional (two way) communication with the scanner.
  • Legacy App 3 supported by driver converting SNAPI data into HID format.

Three Applications Connected To Two Scanners

Figure 4: Three Applications Connected To Two Scanners

Implementation Details

  • Three applications are connected to two scanners.
  • App 1 and App 2 support bi-directional (two way) communication with the DS6878.
  • Legacy App 3 receives HID keyboard emulation data from the LS2208.

Many-to-Many Application Device Usage

Figure 5: Many-to-Many Application Device Usage

Implementation Details

  • App 1 performs image capture with the DS6878.
  • App 2 can remotely manage both the DS6878 and LS4208.
  • App 3 receives OPOS data from both the DS6878 and LS4208.

One Application Connected to Two Scanners

Figure 6: One Application Connected to Two Scanners

Implementation Details

  • One application can manage multiple scanners in multiple communication interfaces.
  • The application can capture data, image and video, send management commands and receive responses from multiple scanners.
  • All responses from the scanners consist of the scanner device details (ScannerID, serial number, model number, etc.) identifying the device that sent the response.

For example, a bar code event for a scanned label is shown below. The scanned data label arrives with a unique ScannerID and the scanner's model number and the serial number.



<outArgs>
    <scannerID>1</scannerID>
    <arg-xml>
        <scandata>
            <modelnumber>DS6707-SR20001ZZR</modelnumber>
            <serialnumber>7114000503308</serialnumber>
            <GUID>9008A01BB72BA34BB519806B63701AAA</GUID>
            <datatype>11</datatype>
            <datalabel>0x39 0x37 0x38 0x30 0x32 0x30 0x31 0x34</datalabel>
            <rawdata>0x39 0x37 0x38 0x30 0x32 0x30 0x31 0x34</rawdata>
        </scandata>
    </arg-xml>
</outArgs>        


Supported Devices

For the compatible devices list, please visit following page.

https://www.zebra.com/us/en/support-downloads/software/developer-tools/scanner-sdk-for-windows.html

Version History

Version 3.07.0001 - 09/2024

  1. Enhanced OPOS Driver
    1. Added "Real Time Alert (RTA)" support for OPOS. RTA configurations are supported through new DirectIO commands and RTA events are captured and delivered through OPOS.
    2. Added a new log view field to represent states of properties and method calls in OPOS Sample Application. Initially this supports RTA event status notifications.
    3. Bug Fix - Fixed issue in disabling scanner after a barcode is read through interactive health check option, when AutoDisable is enabled.
    4. Bug Fix - Fixed appending the correct label ID for symbology "ISSN".
    5. Bug Fix - Minor sample app fix - Implemented validations for values set for properties "DeviceEnabled" and "PowerNotify" to indicate invalid values to user through the sample application's log view.
    6. Bug Fix - Enhanced OPOS logging to include weight data when performing ReadWeight, LiveWeight and ZeroScale calls.
  2. Enhanced JPOS Driver
    1. Bug fix - Fixed issue in not throwing an exception pop up window upon performing zero scale in overweight scenario.
    2. Bug Fix - Corrected PIDXScan_ScanDataType getting set to 0 incorrectly after performing interactive checkhealth.
    3. Bug Fix - Minor sample app fix - Enable Live Weight checkbox now gets set to disabled state after enabling “Auto Device Enable” or after setting property for PIDX_DeviceEnabled to true.
    4. Enhancements in log file.
      1. Log entries are added to indicate the status of the “Zero Scale” command.
      2. Removed incorrect exception log entry upon performing zero scale process while PIDXScal_ZeroValid is false.
    5. Bug Fix - Fixed issue in disabling scanner after a barcode is read through interactive health check option, when AutoDisable is enabled.
    6. Bug Fix - Minor sample app fix - Implemented validations for values set for properties "DeviceEnabled", "EnableLiveWeight" and "PowerNotify" to indicate invalid values to user through the sample application's log view.
    7. Bug Fix - Corrected the text representations for Health Check options (Internal, External and Interactive) in log view.
  3. C# and C++ Sample Applications
    1. Added a new tab in the C++ sample application to configure Real Time Alert (RTA) configurations and view RTA event notifications (The RTA tab will only be visible if connected scanner firmware supports RTAs).
  4. CoreScanner Driver
    1. Bug Fix - Fixed handling discovery of scanners, when the scanner configuration name contained non-printable characters.
    2. Bug Fix - Fixed invalid representation of “Space” character in simulated HID, for languages English, French and Italian.

Version 3.06.0038 - 07/2024

  1. Enhanced OPOS Driver
    1. Bug Fix - The OPOS Scale sample application now clears error notifications displayed previously (if any), when a valid weight reading is delivered.
    2. Bug Fix - Fixed issue in incorrect update of good scan count in statistics after releasing and re-claiming a scanner.
    3. Bug Fix - Fixed issue in scale live weight displaying status as “Not Ready” when performing read weight calls while scale is in async mode.
    4. Bug Fix - ResultCode and ResultCodeExtended properties of Scale are now updated correctly when read weight is performed while scale is in async RTAmode.
    5. Added implementations for Statistics methods (Reset Statistics, Retrieve Statistics and Update Statistics) for Scale.
    6. Updated OPOS Scanner and Scale Sample application names to “ScannerSDK_SampleApp_OPOS_Scanner” and “ScannerSDK_SampleApp_OPOS_Scale” respectively.
  2. Enhanced JPOS Driver
    1. Bug fix - Minor sample app fix - State of Power Notify checkbox in JPOS Sample application now shows the correct state after releasing the JPOS Scale profile.
    2. Bug Fix - Fixed PIDXScan_ScanData field to display label IDs (if configured) in the JPOS Sample application.
    3. Bug Fix - Fixed JPOS zero scale feature limits up to 0.05 lbs only when it should be 0.60 lbs.
  3. C# and C++ Sample Applications
    1. Added a new tab in the C# sample application to configure Real Time Alert (RTA) configurations and view RTA event notifications (The RTA tab will only be visible if connected scanner firmware supports RTAs).
    2. Bug Fix - Fixed the C++ application crash occurring upon closing the application.
    3. Updated the C# sample application name to ScannerSDK_SampleApp_CSharp”.
  4. CoreScanner Driver
    1. Added a new feature called “Real Time Alert (RTA)”.
      1. This feature sends a RTA from the scanner (originating from the scanner's firmware meeting a RTA criteria) to the driver stack.
      2. For a list of available RTAs, see TechDocs for CoreScanner Driver for Windows at https://techdocs.zebra.com/dcs/scanners/sdk-windows/api/
      3. RTA is supported in select scanners and requires a firmware update.
      4. Supported com protocols include SNAPI, IBM TableTop, IBM Handheld and IBM OPOS.

Version 3.06.0037 - 04/2024

  1. Enhanced OPOS Driver
    1. Bug fix - Resolved a handle leak occurring in OPOS logging module on both Scanner and Scale service objects.
    2. Bug fix - Resolved a memory leak occurring in OPOS Scale when live weight is enabled.
    3. Bug fix - Resolved a handle leak occurring in OPOS Open and Close methods on both Scanner and Scale service objects.
    4. Bug fix - Fixed an invalid character returned within the Device Description property call for OPOS Scale.
    5. Bug fix - Minor sample app fix - State of Auto Enable checkbox is now enabled after successfully opening an OPOS Scanner profile.
    6. Bug fix - OPOS now returns OPOS_E_ILLEGAL when “ZeroScale” is called with a weight that exceeds the scanner's zeroing weight limit.
    7. Added a new registry key “ClearQueueOnRelease” to configure clearing the data queue when device is released.
    8. Enhanced OPOS logs to include DirectIO command name in the logged Information when DirectIO commands are used.
  2. Enhanced JPOS Driver
    1. Bug fix - Minor sample app fix - State of Data Event Enable and Device Enable checkboxes in JPOS Sample application now shows the correct state when JPOS Scale profile is not opened.
    2. Bug fix - Fixed intermittent exception caused in the JPOS Scale live weight thread when attempting to restart or configure the scale while live weight is in progress.
    3. Bug fix - Minor sample app fix - Synchronized state of “Device Enable” checkbox when “Auto Device Enable” or "Enable Live Weight" selections are used.
    4. Added a new attribute as "ClearQueueOnRelease" to JPOS.xml file, to configure clearing the data queue when device is released.
    5. Bug Fix - An exception is fired upon performing Zero Scale with weights greater than the firmware implemented scale zeroing weight limit.
    6. Bug Fix - Prevented incorrectly throwing “Timed out with zero stable weight” exception after setting PIDXScal_ZeroValid to true in JPOS Scale live weight DIO.
  3. C# and C++ Sample Applications
    1. Added "Configuration Name" column to the C# and C++ sample applications in the grid representing the discovered scanners.
  4. CoreScanner Driver
    1. Added the code types of Han Xin Code and Dot Code to the USB IBM HandHeld and TableTop host modes.
    2. Added the Configuration Name into the XML response of the "GetScanners" API call.

Version 3.06.0034 - 01/2024

  1. Enhanced OPOS Driver
    1. Two OPOS Check Health modes were supported (Internal and External Check Health), added a third mode. The third mode is called Interactive Check Health. Note all three modes are supported in the OPOS sample app.
  2. Enhanced JPOS Driver
    1. Bug fix - Minor sample app fix - State of Data Event Enable checkbox in JPOS Sample application after a barcode is scanned now works as expected.
    2. Bug fix - Minor sample app fix - State of Device Enable checkbox in JPOS Sample application after a barcode is scanned with AutoDisable enabled now works as expected.
  3. CoreScanner Driver
    1. Digital Signing of Zebra SNAPI Driver - Updated the digital signature of Zebra SNAPI Imaging Interface to support SHA256 algorithm.
    2. Bug Fix - Fixed rare issue when switching to USB OPOS mode if you are already in that mode. Now the scanner no longer goes into an unresponsive state when attempting to switch to the USB OPOS while already in the same host mode.
  4. IoT Connector
    1. Added support for logging of environment variables (pulled from operating system) into the URL and request headers in the HTTP sink. Note the environmental variable check is performed real-time on each logging occurrence.
    2. Security fix - Updated library “libcurl” used in IoT Connector from v7.78.0 to v8.4.0 to resolve security vulnerabilities.

Version 3.06.0033 - 10/2023

  1. Enhanced OPOS Driver
    1. Bug Fix - GoodScanCount no longer returns negative values when a large count value is set using Update Statistics method.
    2. Bug Fix - Sample App no longer shows incorrect weight when ReadWeight is called with Freeze Events enabled.
    3. Bug Fix - Sample App addressed situationally driven utility hang when retrieving Read Weight and Live Weight events after calling the retry option in asynchronous error events.
    4. Bug Fix - Removed redundant log on “FireHeadDataEvent” in OPOS log files.
    5. Bug Fix - Driver now returns “Not Ready” scale status, when scale is unplugged, while having live weight enabled.
    6. Bug Fix - Check Health (Internal and External) now returns “No hardware” response, when no scanner(s) is connected on the USB bus.
    7. Bug Fix - Driver now represents “Non-Printable Characters” in the scan data in their original form (unmodified by the OPOS driver).
  2. Enhanced JPOS Driver
    1. Added support for multiple JPOS Scanner instances when communicating to one application. This enables the JPOS driver to communicate to and track multiple scanners simultaneously and independently, like the MP7000 and DS8178/cradle.
    2. Added ability to “Filter Scanner Discovery” on 1) Host Communication Mode, 2) Model (a.k.a DS9908...) and 3) Serial Number. JPOS now matches OPOS functionality.
    3. Bug Fix - Check Health (Internal and External) now returns “No hardware” response, when no scanner(s) is connected on the USB bus.
    4. Bug Fix - Sample App no longer shows incorrect weight when ReadWeight is called with Freeze Events enabled.
    5. Bug Fix - Driver now returns “Not Ready” scale status, when scale is unplugged, while having live weight enabled.
  3. Enhanced CoreScanner Driver
    1. Access to Corescanner Version Info - Modified how-to-access Corescanner Version info. Now read from registry key, Instead of Corescanner binary file.
    2. Bug Fix - “Grave” accent no longer, incorrectly converting into CR/LF when scanner is operating in RS232 NIXMODB communication mode.
    3. Bug Fix - Fixed “Simulated HID Keyboard” issue. Scancode now properly generated for a “Group Separator” character, when in simulated HID Keyboard.

Version 3.06.0029 - 07/2023

  1. Enhanced OPOS driver
    1. Bug fix - Fixed issue on incorrect check health text returned from query.
    2. Bug fix - Resolved issue in reading the weight when multiple reads are requested via API call (almost simultaneously) and DataEvent is enabled.
    3. Bug Fix - Fixed incorrectly clearing of both ScanData and ScanDataLabel properties when ClearInput is called.
    4. Sample App Bug fix - Fixed incorrect value set for GoodScanCount when Updating Statistics via JPOS Sample application, using a non-numeric value.
  2. Enhanced JPOS driver
    1. Bug fix - Fixed issue that incorrectly appended a Label ID for “NCR label” with barcode type ISSN.
    2. Bug fix - Fixed issue relevant to error arguments (locus and response) in JPOS read weight events.
    3. Sample App Security fix - Updated library "xercesImpl.jar" used in JPOS Sample application from v2.11.0 to v2.12.2 to resolve security vulnerabilities.
    4. Sample App Bug fix - Device enable button's state now gets updated upon enabling auto device enable (button) in JPOS scale.
    5. Sample App Bug fix - Barcode name now correctly displayed for Han Xin Code.
  3. CoreScanner Driver
    1. Added a new call (Opcode) to configure DDF (Driver Data Formatting) programmatically. Previously this was only supported manually from Config.xml file.
    2. Simulated HID Keyboard - Added support to configure ScanCode, in addition to existing Virtual Key code support, in simulated HID Keyboard. Configured through settings in the Config.XML file.
    3. Driver Data Formatting - Added ATL key combination support to Driver Data Formatting (DDF). This functionality enables an ALT key combination to be added to barcode data when using Simulated HID Keyboard.
      1. Configuring this capability is located in the CoreScanner configuration xml file.
      2. An example of this capability is appending "ALT [ + Data + Enter" to the barcode data. Another example is "ALT [ + Data + TAB".
      3. Solution supports sending ALT + one ASCII key sequence like "ALT [".
      4. Solution supports appending a Prefix only. Appending a Suffix is not supported.
    4. Bug fix - Fixed intermittent MP7000 Reset during GetScanners call.
    5. Bug fix - Fixed intermittent CoreScanner reset when a cascaded device like the DS8178 rebooted/disconnected, causing the MP7000 to reset.
    6. Bug fix - Fixed intermittent CoreScanner error when reading Scale Weight from MP7000 when a cascaded scanner like DS8178 gets disconnected/reconnected or rebooted.

Version 3.06.0028 - 04/2023

  1. Add support for BT (SSI over Bluetooth) support through the OPOS and JPOS drivers.
  2. Enhanced OPOS driver
    1. Bug fix - Now only OPOS log files created by the OPOS driver that reside in the OPOS log file path are deleted by the circular log management system.
    2. Bug fix - Fixed log file path issue for file deletion when max log file count is reached in a custom log file path.
    3. Updated the Scale status update events to be fired either when a change of weight reading is detected or when a change in scale status is detected.
    4. Bug fix - Fixed rare case of incorrectly deleting a log file based on its maximum file size specified in the OPOS log configuration registry keys.
  3. Enhanced JPOS driver
    1. Bug fix in Sample App - Fixed error message incorrectly displayed in JPOS Sample application when Zero Scale command is called and weighing item below 30 grams.
    2. Update JPOS driver to fire Scale status update events whenever a status update and a weight change is detected.
    3. Bug fix in Sample App - Made the display format for scale weight consistent in the sample application for Read Weight, Live Weight and Direct IO NCR Live Weight calls.
    4. Bug fix in JPOS Sample App - Fixed application lockup if enabling both live weight and auto disable simultaneously.
  4. CoreScanner Driver
    1. Added device re-enumeration logic to make the CoreScanner more robust against USB failures occurring at device discovery and device initialization.
    2. Bug fix - Improved methodology to detect if device is already available in the discovered scanners list. Now uses device path instead of device serial number.

Version 3.06.0024 - 01/2023

  1. Enhanced OPOS driver,
    1. Added log file configurations via registry settings. Configuration now available on log level, log file length and maximum file count. This new functionality is applicable to both OPOS Scanner and OPOS Scale.
  2. CoreScanner Driver for Windows,
    1. Added device re-enumeration logic to make the CoreScanner more robust against USB failures occurring at device discovery and device initialization.
    2. Bug fix - Improved methodology to detect if device is already available in the discovered scanners list. Now uses device path instead of device serial number.
  3. IoT Connector for Windows,
    1. Added VIQ (Visibility IQ) endpoint support
    2. Added 5 new events as JSON formatted log entries for DEVICE ATTACHED, DEVICE DETACHED, STATISTICS, BARCODE and BATTERY Events.
    3. Added ability to remove displaying empty curly brackets ({}) when no data is available for JSON formatted log messages.
    4. Bug fix - Network location can be specified as log file path.
    5. Bug fix - Fixed intermittent crash on IoT Connector when multiple devices are used, AND network connection is disconnected.

Version 3.06.0023 - 10/2022

  1. Enhanced OPOS driver,
    1. Updated driver to meet newest GS1 specification: Scan Data Type displayed for GS1 Databar is now "SCAN_SDT_GS1DATABAR" and for GS1 Databar Expanded is now "SCAN_SDT_GS1DATABAR_E".
  2. Enhanced JPOS driver,
    1. Enhanced driver to support NCR requested “HealthCheck” label IDs.
    2. Bug fix - “Get Error Response” API now returns the correct error on Read Weight in Scale.
    3. Bug fix - Deliver an error event with Error response, ER_CONTINUEINPUT, when all items of the queue are delivered and DataEvent is enabled.
    4. Minor UI optimizations in the JPOS Sample Application for Windows.

Version 3.06.0022 - 08/2022

  1. Windows 11 support added.
  2. Enhanced JPOS driver,
    1. Enhanced driver to support Freeze Events in JPOS Scale.
    2. Bug fix - ReadWeight events now reported correctly when DataEventEnabled is false and LiveWeight is true.

Version 3.06.0018 - 04/2022

  1. Bug fix - ScanData property now populating in OPOS Scanner driver when compatibility mode is enabled.
  2. Bug fix - Barcode data now passing properly through the CoreScanner Diver when the scanners connected in serial (RS-232) Nixdorf Mode B.
  3. Enhanced Toshiba Global Commerce Solutions (TGCS) POS system support
    1. OPOS driver enhanced to supports System Management information calls from TGCS POS systems
      1. CoreScanner enhanced to support TGCS' UPOS WMI = “UPOS_BarcodeScanner” queries
    2. JPOS driver enhanced to support System Management Information calls from TGCS POS systems
      1. CoreScanner enhanced to support TGCS' CIM Service Provider = “UPOS_BarcodeScanner” queries

Version 3.06.0015 - 01/2022

  1. Logging Agent renamed "IoT Connector".
  2. Enhanced JPOS Driver,
    1. Updated Windows JPOS sample application to support smaller/lower resolutions monitors.
    2. Fixed rarely seen JPOS statistics retrieval issue.

Version 3.06.0013 - 10/2021

  1. Enhanced JPOS Driver
    1. Added support to execute DirectIO commands without claiming the device.
    2. JPOS sample application enhancement to display the "Live Weight" and the logs on live weight status update events.
    3. Enhanced logging in JPOS driver including access to barcode data, power state, scale weight, and what API calls have been made.
  2. Enhanced Logging Agent capabilities
    1. Added support for logging of operating system environment variables like "host PC name". The environmental variable check is performed real time on each logging occurrence.
    2. Added support for real time logging via a JSON call to cloud-based consoles like Splunk.

Version 3.06.0010 - 08/2021

  1. Enhanced options associated with the OPOS driver's "ScanData" property. Option now exists to only display scanned data (without displaying the communication protocol specific details).
  2. Enhanced logging in JPOS driver including access to barcode data, scale weight, and what API calls have been made.
  3. Fixed statistics and health parameters reporting from the parent scanner device in a cascaded device setup.

Version 3.06.0006 - 04/2021

  1. Enhanced JPOS driver
    1. Add support for “extended error codes” for NCRDIO_SCALE_LIVE_WEIGHT DirectIO command in JPOS.
    2. Add support for JPOS Scale status responses.
  2. Fixed JPOS Scale Open command to enable the “DeviceEnabled” property to execute.
  3. Fixed JPOS DirectIO RESET command.
  4. Fixed JPOS Scanner Not of File Direct IO Command.
  5. Fixed JPOS Sample application, which now shows the scale weight value when DirectIO NCR_LIVE_WEIGHT command executes.
  6. Fixed Scale OPOS crash issue when retrieving Check Health Text after executing Check Health command.

Version 3.06.0003 - 01/2021

  1. OPOS and JPOS enhancements
    1. Added support for Scanner DirectIO RESET command.
    2. Added support for custom MP7000 scale result codes for ErrorOverWeight, ErrorUnderZero and ErrorSameWeight.
  2. Enhanced Logging Agent capabilities
    1. Log agent can now retrieve Host/PC name and IP address.
    2. "Scan Avoidance" functionality renamed to "Non-Decode Event".
    3. The reporting interval can be customized. Set unique programming interval by attribute. Note a small interval (less than 30 seconds) may impact POS system performance.

Version 3.06.0002 - 10/2020

  1. Updated Visual C++ redistributable package from 2017 to 2019. Note redistributable package for 2017 is no longer included with the SDK.
  2. Add support for the scanner page motor action to the sample applications (C++ and C#).
  3. JPOS driver update. Removed Apache Xerces XML parser dependency from the Zebra JPOS Service Object (SO).

Version 3.05.0005 - 07/2020

  1. Logging Agent bundled with Windows SDK
    1. The Logging Agent allows a 3rd party management console, like Microsoft's SCCM, to track scanner information including the scanner's health by parsing a Logging Agent generated log file.
    2. The Logging Agent will output a log file, one file per scanner/host.
    3. The Logging Agent is configurable and can document one or all of the following information:
      1. Asset information
      2. Statistics for example battery charge level or UPCs scanned
      3. Firmware failures and or firmware success
      4. Parameter value(s) changed. Achieved by tracking parameter 616 (config file name changed to “Modified”)
      5. Scanned barcode data (all scanned items)
      6. Scan avoidance for MP7000
    4. The logging agent can have its output stored locally on its host PC or output to a network shared folder.
  2. Added support for Data Parsing (supports UDI, GS1 Label Parsing and Blood Bag) symbology to sample applications (C++ and C#).
  3. Added support for CDC switching on SDK sample applications (C++ and C#).
  4. OPOS Scanner/Scale CCO update from version 1.14 to version 1.14.1.

Version 3.05.0003 - 04/2020

  1. For NCR based retail POS customers- Added support for NCR Direct I/O command in OPOS and JPOS drivers (Scanner and Scale).
  2. Faster wireless firmware update for select scanners over the Bluetooth Classic communication protocol. See 123Scan's release notes per scanner for product support details.
  3. OPOS driver updated to comply with all Symbologies specified in the OPOS 1.14 specification.
  4. JPOS driver update. JPOS driver now uses a common code base with the more mature Linux JPOS driver.
  5. JPOS driver operation now also validated on OpenJDK 11, in addition to existing validation on the Oracle JDK.
  6. Updated the version of Visual C++ redistributable package from 2012 to 2017. Note redistributable package for 2012 is no longer included with the SMS.
  7. Removed Windows XP support.

Version 3.05.0001 - 01/2020

  1. Enhanced the OPOS driver to comply with the OPOS 1.14 specification on supported Symbologies.
  2. JPOS Driver
    1. Enhanced the JPOS driver to meet fully JPOS 1.14 specification compliance.
    2. Enhanced JPOS demo app to display barcode data in HEX format.
    3. Enhanced JPOS driver to support scanner configuration through a jpos.xml file.

Version 3.04.0011 - 10/2019

  1. Fixed WMI agent enabling filtering of scanner(s) when the configuration name contained unreadable characters.
  2. Fixed Windows 10 issue preventing scanner from returning barcode data in HIDKB mode after host PC logoff/logon or sleep mode event.
  3. Fixed a conflict when CoreScanner installed and pairing Bluetooth devices by searching the host PC.

Version 3.04.0007 - 07/2019

  1. Add support within OPOS driver for the following Symbologies: GS1 Data Matrix, QS1 QR and Grid Matrix.
  2. Enhanced the C# demo application: Added a RFID tab with Scan Scan Write functionality.

Version 3.04.0002 - 04/2019

  1. Added customizable logging module to CoreScanner. A user can now format the log file output to include parameters and layout from predefined options.
  2. Simulated HID Keyboard output, now handles German by setting “Keyboard emulation/locale” to “Default”. Other languages supported include English and French.

Version 3.03.0016 - 02/2019

  1. Fixed some bugs and improved stability in TWAIN driver.
  2. Fixed an issue in Scanner WMI provider regarding firmware download events.
  3. Fixed an issue with OPOS binary conversion.

Version 3.03.0013 - 11/2018

  1. Fixed firmware update failure (low occurrence problem).
  2. Updated SNAPI driver. It now includes a Microsoft signature.
  3. Implemented Scale OPOS driver beep on good read weight. This is a custom feature implemented to address a customer issue which can be enable through Windows registry configurations.
  4. Added support for NCR Direct IO command (DIO_NCR_SCAN_TONE).
  5. Introduced support for barcodes encoded with Windows' code pages like Russian and Korean.
  6. Introduced registry entries
    1. to control the value of the OPOS Power State property.
    2. to configure scale behavior.
    3. to configure Windows' code pages.
  7. Introduced support for the NCR direct I/O command to get the “Scale live weight” data.
  8. Fixed a security vulnerability - Exe execution can no longer introduce a shell command injection via filename.
  9. Fixed firmware update progress event missing issue with Scanner WMI provider.
  10. Minor bug fixes.

Version 3.02.0000 - 08/2017

  1. Updated JPOS sample application to demonstrate Direct I/O functionality.

Version 3.01.0000 - 09/2016

  1. Bluetooth support for cordless scanners without a cradle on Windows 7, 8 and 10 using Microsoft's Bluetooth stack.
  2. OPOS support for “Not On File Beep” NCR capability.
  3. Source codes of Sample Applications updated to support Microsoft Visual Studio 2010 and above.

Version 3.00.0000 - 11/2015

  1. Rebranded Scanner SDK from Motorola to Zebra.
  2. Supports Windows 10 (32 and 64 bit).

Version 2.06.0000 - 11/2015

  1. Support for RFD8500 firmware update.

Version 2.05.0000 - 07/2015

  1. Support for new MP6000 firmware features.
  2. Stability enhancements.

Version 2.04.0000 - 08/2014

  1. OPOS Direct IO support.
  2. JPOS supports both 64bit and 32bit JVMs on 64bit platforms.
  3. Added support for 32bit OPOS drivers on 64bit platforms.
  4. Bug fixes.
  5. Security enhancements to address potential security vulnerabilities.

Version 2.03.0000 - 05/2014

  1. Driver ADF support.
  2. MP6000 Scale Live Weight Event support.
  3. Microsoft® Visual Studio Project Template provided for Zebra Scanner SDK.
  4. Bug fixes.

Version 2.02.0000 - 12/2013

  1. Supports Windows 8/8.1 (32 and 64 bit).
  2. Bug fixes.

Version 2.01.0000 - 08/2013

  1. Inter key delay feature in HID Keyboard emulation.
  2. Bug fixes.

Version 2.00.0000 - 06/2013

  1. Optimized log file operation.
  2. IBM Table Top host interface support.
  3. MP6000 scale commands added.
  4. MP6000 scale support for OPOS and JPOS.
  5. DWORD attribute support.
  6. Unsolicited scanner events (Topology changes and Decode data) support (Scanner firmware support required).
  7. Statistics support (Scanner firmware support required).

Version 1.02.0000 - 08/2012

  1. Codeless scanner plug-n-play events added (Require Firmware update, check scanner PRGs for firmware support availability).
  2. Simple Data Formatting feature added for emulated keyboard data.
  3. TWAIN Custom capabilities added.
  4. SNAPI scanner support added to Scanner WMI Provider.
  5. Enhanced InstallShield with more custom installation options.
  6. OPOS driver modified to support Multi-threaded apartment (in-proc/out-proc) POS applications (clients).
  7. Host variant switching support added for scanners with NULL synapse buffer.

Version 1.01.0000 - 03/2012

  1. 64-bit Windows 7 support added.
  2. TWAIN imaging interface supported.
  3. USB-CDC Serial Emulation mode supported. Com protocol switching partially supported - able to programmatically switch into USB-CDC host mode but not exist.

Version 1.00.0000 - 07/2011

  1. Supports Windows XP SP3 (32-bit) and Windows 7 (32-bit).
  2. RSM 2.0 Scanner Support.
  3. SNAPI faster firmware download support.
  4. Programmatic Host Variant Switching support.
  5. HID Keyboard Emulation support for English and French language keyboards.