Honeywell International Inc. (“HII”) reserves the right to make changes in specifications and other information contained in
this document without prior notice, and the reader should in all cases consult HII to determine whether any such changes
have been made. The information in this publication does not represent a commitment on the part of HII.
HII shall not be liable for technical or editorial errors or omissions contained herein; nor for incidental or consequential
damages resulting from the furnishing, performance, or use of this material. HII disclaims all responsibility for the
selection and use of software and/or hardware to achieve intended results.
This document contains proprietary information that is protected by copyright. All rights are reserved. No part of this
document may be photocopied, reproduced, or translated into another language without the prior written consent of HII.
Copyright 2018-2020 Honeywell International Inc. All rights reserved.
Web Address:
www.honeywellaidc.com
Trademarks
Google, Android, Google Play, Google Pay and other marks are trademarks of Google LLC
Bluetooth trademarks are owned by Bluetooth SIG, Inc., U.S.A. and licensed to Honeywell.
microSD is a registered trademark of SD-3C, LLC.
Qualcomm and Snapdragon are registered trademarks or trademarks of Qualcomm Incorporated in the United States
and/or other countries.
Other product names or marks mentioned in this document may be trademarks or registered trademarks of other
companies and are the property of their respective owners.
Patents
For patent information, refer to www.hsmpats.com.
Page 3
TABLE OF CONTENTS
Customer Support ..........................................................................................................................v
Steps to suppress USB permission dialog with Honeywell Sign................................. 9
PC43K Kioskiii
Page 4
ivPC43K Kiosk
Page 5
Customer Support
Technical Assistance
To search our knowledge base for a solution or to log in to the Technical Support
portal and report a problem, go to www.hsmcontactsupport.com.
For our latest contact information, see www.honeywellaidc.com/locations.
Product Service and Repair
Honeywell International Inc. provides service for all of its products through service
centers throughout the world. To find your service center, go to
www.honeywellaidc.com and select Support. Contact your service center to obtain
a Return Material Authorization number (RMA #) before you return the product.
To obtain warranty or non-warranty service, return your product to Honeywell
(postage paid) with a copy of the dated purchase record. To learn more, go to
www.honeywellaidc.com and select Service & Repair at the bottom of the page.
For ongoing and future product quality improvement initiatives, the mobile
computer comes equipped with an embedded device lifetime counter function.
Honeywell may use the lifetime counter data for future statistical reliability
analysis as well as ongoing quality, repair and service purposes.
Limited Warranty
For warranty information, go to www.honeywellaidc.com and click Resources >
Product Warranty.
PC43K Kioskv
Page 6
viPC43K Kiosk
Page 7
CHAPTER
1
OVERVIEW
This chapter details how to connect USB devices of the PC43K Kiosk to the android
system and set-up communication with the USB devices. When the Androidpowered device is in USB host mode, it acts as host, powers the bus, and
enumerates connected USB devices.
The android powered EDA71 tablet acts as host to the USB devices (Printer and
Scanner) in the PC43K Kiosk.
Caution: Do not connect a host, for example a PC or a laptop running on any OS,
to any of the USB device ports. Voltage inrush from both hosts would
damage the USB Hub of the Kiosk.
Setup USB Devices
When you connect USB devices to an Android-powered device, the Android system
can determine whether your application is interested in the connected device. If so,
you can set up communication with the device. To do this, your application must:
•Discover connected USB devices by using an intent filter to be notified when the
user connects a USB device or by enumerating USB devices that are already
connected.
•Ask the user for permission to connect to the USB device, if not already obtained.
PC43K Kiosk1
Page 8
•Communicate with the USB device by reading and writing data on the
appropriate interface endpoints.
Please refer to the https://developer.android.com/guide/topics/connectivity/
usb/host#java to implement your application for USB development.
Following sections, we will detail how to enumerate the devices with condition, how
to Initialize printer before printing label and how to print label.
Enumerate Devices
If you want to enumerate all USB devices currently connected while your
application is running. Please refer to the Enumerate devices section in following
link: https://developer.android.com/guide/topics/connectivity/usb/host#java.
We need to enumerate either printer or scanner or both, to achieve this goal, please
use product id as condition to filter out the USB devices that the app want to
connect.
Enumerate Printer
The below table displays the product id of the printer.
Note: The product id's represent different modes of the printer.
Note: All the programming follows Android USB host programming. For more information,
refer to the https://developer.android.com/guide/topics/connectivity/usb/
host#java.
2PC43K Kiosk
Page 9
Initialize Printer
Before printing the label, use the following commands to initialize the printer and
check the status of the printer. User can write the following commands with
android USB API to printer. Please also refer to https://developer.android.com/
guide/topics/connectivity/usb/host#java to find how to write and read data on the
appropriate interface endpoints.
Note: The commands may differ based on the selected printer language.
CommandsComments
VERBONSpecifies the verbosity level of the communication from the printer
INPUT OFFDisables the Intermec Direct Protocol
SYSVAR(21)Read the printhead density, expressed as number of dots per millimeter
?PRSTATReturn the current printer status or the current position of the insertion point
For how to parse the PRSTAT command return value to check the printer status
and how to parse the SYSVAR command return value to check the printhead
density. Please refer the Connect id demo code.
Print label
The sample code commands in the below table uses Honeywell Fingerprint
language. The commands include setting up the printer and printing the label.
Note: The printer supports multiple printer languages. For more information on the
commands, refer to the respective printer command reference manual.
CommandsComments
CLIPEnables or disables the printing of partial fields
CLIP BARCODECLIP BARCODE [HEIGHT|INFORMATION|X|Y] is used for bar code
fields only. Note that some bar codes, like Maxicode, consist of
images and should in this context be regarded as image fields.
LBLCONDOverrides the media feed setup
OPTIMIZE “BATCH” ON/OFFEnables or disables optimization for batch printing.
CLLPartial or complete clearing of the print image buffer
ALIGNSpecifies which part (anchor point) of a text field, bar code field,
image field, line, or box will be positioned at the insertion point.
PPSpecifies the insertion point for a line of text, a bar code, an image, a
box, or a line
FONTSIZEThe height of the font is given in points
NASCSelects a single-byte character set, alternatively the multi-byte
character set UTF-8
PTPrints data to the standard OUT channel.
PC43K Kiosk3
Page 10
Sample Code
CommandsComments
FTSelects a scalable TrueType or TrueDoc single-byte font, or a single-
byte bitmap font, for printing the subsequent PRTXT statements.
FONTSLANTClockwise slant in degrees. Range is 0 (default) to 90. Does not work
with bitmap fonts.
PRPOSSpecifies the insertion point for a line of text, a bar code, an image, a
box, or a line.
BARSETSpecifies a bar code and sets additional parameters for complex bar
codes.
PRBARProvides input data to a bar code.
BARFONTSpecifies fonts for the printing of bar code interpretation.
PRIMAGESelects an image stored in the printer’s memory.
The sample code for the print label used in the PC43K - Demo application is given
below for your reference. You can find details on Connect id demo source code.
Following is the fragment of handle barcode intent from ExplicitReceiver, for
details you can refer connect id demo source code.
if ("com.honeywell.sample.action.ACTION_BARCODE_DATA"
.equals(intent.getAction()))
String data = intent.getStringExtra("data");
Note: Intent is a broadcast from DCS layer after scanning a barcode;
data is the decode result string.
When Scanner has successfully scan a barcode, DCS will prompt beep to indicate.
And there is no need for App layer to do such thing again
Claim scanner
Following is the fragment of claim Scanner and is call on Actvity.onPause (), for
details you can refer connect id demo source code
sendExplicitBroadcast(instance,
PC43K Kiosk7
Page 14
new Intent("com.honeywell.aidc.action.ACTION_RELEASE_SCANNER"));
Configuring Scanner using Barcodes
You can create a set of menu commands as your own, custom defaults. To do so,
scan the Set Custom Defaults bar code below before scanning the menu
commands for your custom defaults. If a menu command requires scanning
numeric codes from the back cover, then Save code, that entire sequence will be
saved to your custom defaults. When you have entered all the commands you want
to save for your custom defaults, scan the Save Custom Defaults bar code.
Note: For more information on the configuration code, refer the N3680 User Guide.
BarcodeComments
To set custom default
To save custom default
To enable all symbologies
To reset the scan engine to factory default.
8PC43K Kiosk
Page 15
CHAPTER
HOW TO SUPPRESS POP-UP TO
2
ALLOW PRINTER USB ACCESS
Introduction
When users connect a device that matches your device filter, the system presents
them with a dialog that asks if they want to start your application. If users accept,
your application automatically has permission to access the device until the device
is disconnected. If you also check box to remember device, permission is granted
until app uninstalls, or data is deleted through app manager. Normal application
doesn't have permission to suppress it, but Honeywell is the vendor of this product,
after sign with system key, application can suppress this dialog.
For details of how to suppress pop-up USB access, please refer to the Connect id
demo source code.
Steps to suppress USB permission dialog with Honeywell
Sign
To suppress USB permission dialog with Honeywell sign,
1. Call UsbManager add permission using reflection
public boolean grantAutomaticPermission(UsbDevice usbDevice)