COPYRIGHTS & TRADEMARKS: For complete copyright and trademark information, go to
www.zebra.com/copyright
.
WARRANTY: For complete warranty information, go to www.zebra.com/warranty
END USER LICENSE AGREEMENT: For complete EULA information, go to www.zebra.com/eula
For Australia Only
For Australia Only. This warranty is given by Zebra Technologies Asia Pacific Pte. Ltd., 71 Robinson Road, #0502/03, Singapore 068895, Singapore. Our goods come with guarantees that cannot be excluded under the
Australia Consumer Law. You are entitled to a replacement or refund for a major failure and compensation for any
other reasonably foreseeable loss or damage. You are also entitled to have the goods repaired or replaced if the
goods fail to be of acceptable quality and the failure does not amount to a major failure.
Zebra Technologies Corporation Australia’s limited warranty above is in addition to any rights and remedies you
may have under the Australian Consumer Law. If you have any queries, please call Zebra Technologies
Corporation at +65 6858 0722. You may also visit our website: www.zebra.com
terms.
Terms of Use
•Proprietary Statement
This manual contains proprietary information of Zebra Technologies Corporation and its subsidiaries
(“Zebra Technologies”). It is intended solely for the information and use of parties operating and
maintaining the equipment described herein. Such proprietary information may not be used, reproduced,
or disclosed to any other parties for any other purpose without the express, written permission of Zebra
Technologies.
•Product Improvements
Continuous improvement of products is a policy of Zebra Technologies. All specifications and designs are
subject to change without notice.
•Liability Disclaimer
Zebra Technologies takes steps to ensure that its published Engineering specifications and manuals are
correct; however, errors do occur. Zebra Technologies reserves the right to correct any such errors and
disclaims liability resulting therefrom.
•Limitation of Liability
In no event shall Zebra Technologies or anyone else involved in the creation, production, or delivery of the
accompanying product (including hardware and software) be liable for any damages whatsoever
(including, without limitation, consequential damages including loss of business profits, business
interruption, or loss of business information) arising out of the use of, the results of use of, or inability to
use such product, even if Zebra Technologies has been advised of the possibility of such damages. Some
jurisdictions do not allow the exclusion or limitation of incidental or consequential damages, so the above
limitation or exclusion may not apply to you.
.
.
for the most updated warranty
2
Page 3
Revision History
Changes to the original guide are listed below:
ChangeDateDescription
MN-003395-01 Rev A10/2018Initial release.
MN-003395-02 Rev A7/2019- Updated Supported Feature Set
For Australia Only ....................................................................................................................... 2
Terms of Use .................................................................................................................................... 2
Revision History ................................................................................................................................ 3
Table of Contents................................................................................................................................... 4
List of Figures ........................................................................................................................................ 6
List of Tables.......................................................................................................................................... 7
This guide provides information about the Zebra Scanner JPOS Driver.
NOTE Screens and windows pictured in this guide are samples and can differ from actual screens.
Chapter Descriptions
Topics covered in this guide are as follows:
•Introduction to the Scanner JPOS Driver provides an overview of the Zebra Scanner JPOS Driver.
•Installation and Configuration describes specific installation instructions and settings to configure the
Zebra Scanner JPOS Driver on a host computer.
•JPOS Properties, Methods, Events provides information about JPOS properties, methods, and events.
•Sample Application provides information about the sample application in the Zebra Scanner JPOS Driver
suite.
Notational Conventions
The followingconventions are used in this document:
•Bold text is used to highlight the following:
•Dialog box, window and screen names
•Drop-down list and list box names
•Check box and radio button names
•Icons on a screen
•Key names on a keypad
•Button names on a screen.
8
Page 9
•Bullets (•) indicate:
•Action items
•Lists of alternatives
•Lists of required steps that are not necessarily sequential.
•Sequential lists (e.g., those that describe step-by-step procedures) appear as numbered lists.
Service Information
If you have a problem with your equipment, contact Zebra Global Customer Support for your region. Contact
information is available at: zebra.com/support
When contacting support, please have the following information available:
•Serial number of the unit
•Model number or product name
•Software type and version number.
Zebra responds to calls by email, telephone or fax within the time limits set forth in support agreements.
About This Guide
.
If your problem cannot be solved by Zebra Customer Support, you may need to return your equipment for servicing
and will be given specific directions. Zebra is not responsible for any damages incurred during shipment if the
approved shipping container is not used. Shipping the units improperly can possibly void the warranty.
If you purchased your Zebra business product from a Zebra business partner, contact that business partner for
support.
Provide Documentation Feedback
If you have comments, questions, or suggestions about this guide, send an email to EVM-Techdocs@zebra.com.
9
Page 10
Introduction to the Scanner
JPOS Driver
Introduction
The POS application is either a Java application or an applet that uses one or more JavaPOS devices. An
application accesses the JavaPOS device through the JavaPOS Device Interface, which is specified by Java
interfaces.
Each JavaPOS device is a combination of these components:
•JavaPOS Device Control is a Java class that provides the interface between the application and the device
category. It contains no graphical component and is therefore invisible at runtime and conforms to the
JavaBeans API. The Device Control was designed so that all implementations of a device category's
control are compatible. The Device Control can be developed independently of a Device Service for the
same device category. They may even be developed by different companies.
•JavaPOS Device Service is a Java class that is called by the Device Control through the JavaPOS Device
Service Interface. The Device Service is used by the Device Control to implement JavaPOS-prescribed
functionality for a physical device. It can also call special event methods provided by the Device Control to
deliver events to the application.
10
Page 11
Installation and
Configuration
Introduction
The Zebra CoreScanner daemon is a prerequisite component for the JPOS driver.
For CoreScanner installation instructions refer to the Installation & Configuration chapter in the Zebra Scanner
SDK For Linux Developer’s Guide (p/n MN-003028-xx).
Install JPOS Driver with RPM Packages
The rpm command with "-i" option is used to install RPM packages. The zebra-scanner-corescanner package must
be installed first, followed by the JPOS driver package.
The Debian command with "-i" option is used to install DEB packages. The zebra-scanner-corescanner package
must be installed first followed by the JPOS driver package.
After a successful installation of the Zebra CoreScanner with the JPOS driver, an XML file named jpos.xml is
created in the folder /usr/share/zebra-scanner/javapos/xml/. The Zebra Scanner JPOS Driver reads jpos.xml to
retrieve required configurations such as scanner filtering rules to form the logical scanner defined by the user.
Each tag defines a logical scanner. The following sample JPOSEntries represents USB IBM Table-Ttop, USB IBM
Hand-held and USB SNAPI, All Scanners and Scale logical devices.
url="http://www.zebra.com"/>
<!--Other non JavaPOS required properties-->
<!--Comm port device name, must be 'USB' for USB scanner-->
<prop name="port" value="USBIBMHID"/>
<!--Scanner type, default=0, valid values are: 19200=HandHeld(0x4B00)-->
<prop name="ScannerType" value="19200"/>
</JposEntry>
Scan the Set All Defaults barcode below to return all parameters to the scanner's default values. Refer to the
scanners Product Reference Guide for default values.
USB Communication Protocol
Scan the appropriate barcode below to configure the scanner for the desired USB communication protocol.
Set All Defaults
IBM Hand-held USB
IBM Table-top USB
Symbol Native API (SNAPI) with Imaging Interface
15
Page 16
JPOS Properties, Methods,
Events
Introduction
The following steps depict the behavioral model of the JPOS driver and scanner.
1. The scanner reads encoded data from a label.
2. When the Control receives input, it queues a DataEvent.
3. If the AutoDisable property is TRUE, the Control is disabled when a DataEvent is queued.
4. The Control can deliver a queued DataEvent to the application when the DataEventEnabled property is TRUE.
Just before delivering this event, the Control copies the data into properties and disables further data events by
setting the DataEventEnabled property to FALSE. This causes the Control to queue subsequent input data
while the application processes the current input and associated properties. When the application finishes the
current input and is ready for more data, it re-enables events by setting DataEventEnabled to TRUE.
5. The Control queues an ErrorEvent (or events) if it encounters an error while gathering or processing input, and
delivers this to the application when the DataEventEnabled property is TRUE.
6. The DataCount property contains the number of DataEvents queued by the Control.
7. Call the ClearInput method to delete all input that the Control queued.
Scanned data is placed into the property ScanData. If the application sets the property DecodeData to TRUE, the
data is decoded into ScanDataLabel and ScanDataType.
The following steps depict the behavioral model of the JPOS driver and scale:
1. The POS application calls the ReadWeight method in JPOS control.
2. When JPOS control receives the method call, it passes the request to the JPOS scale service and JPOS scale
service passes that request to CoreScanner service.
3. The CoreScanner Service requests the weight data from the scale and reports it back up through the JPOS
scale service to the JPOS control.
JPOS control returns the ReadWeight method with the weight data retrieved to the POS application.
Deviations from JPOS Specifications
When there is no scanner connected to a cordless base, the Zebra Scanner JPOS Driver considers the cordless
base as a scanner. Therefore, a claim succeeds with a cordless base.
16
Page 17
Supported Feature Set
This section describes the supported feature set per the JPOS specification.
Scanner Properties
Table 2 Scanner Common Properties
PropertyVersionTypeAccessMay Use AfterZebra Driver Support
compareFirmwareVersion1.9Open, Claim and EnableNot Supported
resetStatistic1.8Open, Claim and EnableSupported
retrieveStatistics1.8Open, Claim and EnableSupported
updateFirmware1.9Open, Claim and EnableNot Supported
updateStatistics1.8Open, Claim and EnableSupported
Table 9 Scale Specific Methods
MethodVersionMay User AfterZebra Driver Support
displayText1.3Open, Claim and EnableNot Supported
doPriceCalculating1.14Open, Claim and EnableNot Supported
freezeValue1.14Open, Claim and EnableNot Supported
readLiveWeightWithTare1.14Open, Claim and EnableNot Supported
readWeight1.3Open, Claim and EnableSupported
setPriceCalculationMode1.14Open, Claim and EnableNot Supported
setSpecialTare1.14Open, Claim and EnableNot Supported
setTarePrioity1.14Open, Claim and EnableNot Supported
setUnitPriceWithWeightUnit1.14Open, Claim and EnableNot Supported
zeroScale1.0Open, Claim and EnableSupported
Scale Events
Table 10 Scale Events
EventVersionMay User AfterZebra Driver Support
DataEvent1.0Open, Claim and EnableSupported
DirectIOEvent1.0Open and ClaimNot Supported
ErrorEvent1.0Open, Claim and EnableSupported
StatusUpdateEvent1.3Open, Claim and EnableNot Supported
21
Page 22
Sample Application
Introduction
The Zebra Scanner JPOS Driver suite includes a sample application that demonstrates all the JPOS operations on
connected Zebra scanner and scale devices.
JPOS Sample Application (JavaPOStester)
The JPOS Test Utility allows to simulate an application communicating with the Zebra Scanner JPOS Driver. This
utility displays scanner and scale data received from the devices through the Zebra Scanner SDK.
JavaPOStester Scanner Functionality
Viewing Barcode Data
To view barcode data using the Scanner JavaPOStester:
1. Scan the IBM Hand-held USB barcode or Symbol Native API (SNAPI) with Imaging Interface barcode on page
15 to configure the scanner for the correct communication protocol.
2. Open a terminal, go to the /usr/share/zebra-scanner/samples/jpos-sample-app folder, and type
# ./jpos-sample-app.sh to launch the Scanner JavaPOStester.
3. Enter the logical name of the scanner and select Open.
Figure 1 JPOS Sample App Scanner Tab
22
Page 23
Sample Application
012345678905
4. From the JPOS Sample App Scanner tab select Claim.
5. Select the Data event enabled check box.
6. Select the Auto Data Event enabled check box.
7. Select the Device enabled check box.
8. Select the Decode data check box.
9. Scan the following sample barcode:
UPC-A
10. The processed driver barcode data displays in the Scan Data, Scan Data Type, and Scan Data Label boxes.
Figure 2 Processed Driver Barcode Data
11. Select Clear Fields to clear the data from all three boxes.
12. To perform a second test, scan another barcode.
23
Page 24
Sample Application
JavaPOStester Scale Functionality
Measuring the Weight of an Item
To measure the weight of an item using the Scanner JavaPOStester:
1. Scan the IBM Hand-held USB barcode, IBM Table-top USB barcode or Symbol Native API (SNAPI) with
Imaging Interface barcode on page 15 to configure the scanner for the correct communication protocol.
2. Open a terminal, go to the /usr/share/zebra-scanner/samples/jpos-sample-app folder, and type
# ./jpos-sample-app.sh to launch the Scanner JavaPOStester.
3. Select the Scale tab.
4. Enter the logical name of the scale and select Open.
Figure 3 JPOS Sample App Scale Tab
5. From the JPOS Sample App Scale tab select Claim.
6. Select the Device enabled check box.
7. Place an item on the scale platter.
8. Select the Read Weight button. The item's weight displays in the adjoining text box.
9. To measure the weight of another item, remove any items on the platter and place the new item on the scale;