Zebra CORDLESS SSI Cordless SSI Programmer’s Guide

CORDLESS SSI
PROGRAMMER’S GUIDE
CORDLESS SSI
PROGRAMMER’S GUIDE
MN001667A02EN
Revision A
January 2021
ii Cordless SSI Programmer’s Guide
The software is provided strictly on an “as is” basis. All software, including firmware, furnished to the user is on a licensed basis. Zebra grants to the user a non-transferable and non-exclusive license to use each software or firmware program delivered hereunder (licensed program) . Except as n oted below, such licen se may not b e assigned, sublicensed, or otherwise tran sfe rr e d by th e user without prior written consent of Zebra. No right to copy a licensed program in whole or in part is granted, except as permitted under copyright law. The user shall not modify , merge, or incorporate any for m or portion of a licensed program with other pro gram material, create a derivative work from a licensed program , or us e a li censed program in a network without written permission from Zebra. The user agrees to maintain Zebra’s copyright notice on the licensed programs delivered hereunder , and to include the same on any au thorized copies it m akes, in whole or in part. The user agrees not to decompile, disassemble, decode, or reverse engineer any licensed program delivered to the user or any portion thereof.
Zebra reserves the right to make changes to any software or product to improve reliability, function, or design. Zebra does not assume any product liability arising out of, or in connection with, the application or use of any product, circuit, or application described herein.
No license is granted, either expressly or by implication, estoppel, or otherwise under any Zebra Technologies Corporation, intellectual property rights. An implied license only exists for equipment, circuits, and su bsystems contained in Zebra products.

Revision History

Changes to the original manual are listed below:
Change Date Description
-01 Rev. A 5/2015 Initial Release.
-02EN Rev. A 1/2021 Added to ’Code Types and Identifiers’ and ’Code Types by SSI ID’ tables:
iii
GS1 QR Mailmark Dotcode Multicode UK Plessey Grid Matrix Telepen UDI Parsed Code
Updated: UPCA to UPC-A UPCE to UPC-E UPCE1 Change to UPC-E1 UPCA + 2 UPC-A + 2 UPC-E + 2 to UPC-E + 2 UPCA + 5 UPC-A + 5 UPCE + 5 to UPC-E + 5 UPCE1 + 5 - Change to UPC-E1 + 5 D25 to Discrete 2 of 5 ITF to Interleaved 2 of 5 C 2 of 5 to Chinese 2 of 5
Removed: UPCD Parameter (FNC3) Decode Data from Custom Defaults
iv Cordless SSI Programmer’s Guide
Table of Contents
Revision History............................................................................................................. iii
About This Guide
Introduction.................................................................................................................... i
Chapter Descriptions..................................................................................................... i
Notational Conventions.................................................................................................. ii
Chapter 1: Introduction
SDK Overview .............................................................................................................. 1-1
Supported OS ............................................................................................................... 1-1
Supported Scanners ..................................................................................................... 1-1
Chapter 2: Programming and Configuration Recommendations
Programming - Opening a Virtual Com Port over a Bluetooth Connection ................... 2-1
Device Configuration - Host Device (PC/Tablet/Phone) ......................................... 2-1
Device Configuration - Scanner .............................................................................. 2-1
Chapter 3: Introduction to Simple Serial Interface
Using SSI ...................................................................................................................... 3-1
Software Handshaking .................................................................................................. 3-1
Transfer of Decode Data .............................................................................................. 3-1
Expected Responses .................................................................................................... 3-2
Message Packets .................................................................................................... 3-3
Multipacketing ......................................................................................................... 3-4
Packet Format ......................................................................................................... 3-4
Chapter 4: SSI Commands
Introduction ................................................................................................................... 4-1
SSI Command Lists ...................................................................................................... 4-1
vi Cordless SSI Programmer’s Guide
ABORT_MACRO_PDF ........................................................................................... 4-6
AIM_OFF ................................................................................................................ 4-7
AIM_ON .................................................................................................................. 4-8
BEEP ...................................................................................................................... 4-10
CAPABILITIES_REQUEST .................................................................................... 4-13
CAPABILITIES_REPLY .......................................................................................... 4-14
BATCH_DATA ........................................................................................................ 4-17
Bar Code String ................................................................................................ 4-17
BATCH_REQUEST ................................................................................................ 4-18
CHANGE_ALL_CODE_TYPES .............................................................................. 4-19
CMD_ACK .............................................................................................................. 4-20
CMD_ACK_ACTION ............................................................................................... 4-22
CMD_NAK .............................................................................................................. 4-24
CUSTOM_DEFAULTS ............................................................................................ 4-27
DECODE_DATA ..................................................................................................... 4-28
EVENT .................................................................................................................... 4-41
FLUSH_MACRO_PDF ............................................................................................ 4-43
FLUSH_QUEUE ..................................................................................................... 4-44
ILLUMINATION_OFF .............................................................................................. 4-45
ILLUMINATION_ON ............................................................................................... 4-46
IMAGE_DATA ......................................................................................................... 4-47
IMAGER_MODE ..................................................................................................... 4-49
LED_OFF ................................................................................................................ 4-50
LED_ON .................................................................................................................. 4-51
PAGER_MOTOR_ACTIVATION ............................................................................ 4-52
PARAM_DEFAULTS .............................................................................................. 4-53
PARAM_REQUEST ................................................................................................ 4-54
PARAM_SEND ....................................................................................................... 4-57
REPLY_REVISION ................................................................................................. 4-59
REQUEST_REVISION ........................................................................................... 4-60
SCAN_DISABLE ..................................................................................................... 4-61
SCAN_ENABLE ...................................................................................................... 4-62
SLEEP .................................................................................................................... 4-63
SSI_MGMT_COMMAND ........................................................................................ 4-64
START_SESSION .................................................................................................. 4-65
STOP_SESSION .................................................................................................... 4-66
VIDEO_DATA ......................................................................................................... 4-67
WAKEUP ................................................................................................................ 4-69
Appendix A: Model Specific Details
CS4070 Details ............................................................................................................. A-1
Appendix B: Using Scan-To-Connect with an SSI Application
Appendix C: Code Samples
Code Samples .............................................................................................................. C-1
Calculating a Checksum ............................................................................................... C-1
Index
Table of Contents vii
viii Cordless SSI Programmer’s Guide

About This Guide

Introduction

The Cordless SSI Developers Guide provides information about opening a virtual com port over a Bluetooth®
connection.

Chapter Descriptions

Topics covered in this guide are as follows:
Chapter 1, Introduction gives an overview of the contents of this guide.
Chapter 2, Programming and Configuration Recommendations provides information for opening a virtual
com port over a Bluetooth connection, and device configuration.
Chapter 3, Introduction to Simple Serial Interface provides an overview of SSI.
Chapter 4, Cordless SSI Commands describes each available SSI command, including field descriptions
and host and cordless scanner requirements.
Appendix A, Model Specific Details includes CS4070 specific commands.
Appendix B, Using Scan-To-Connect with an SSI Application describes the cordless Scan-To-Connect
application.
1 - ii Cordless SSI Programmer’s Guide

Notational Conventions

The following conventions are used in this document:
“User” refers to anyone using an SSI product.
“You” refers to the End User, System Administrator or Programmer using this manual as a reference for SSI.
Italics are used to highlight the following:
Chapters and sections in this and related documents
Dialog box, window and screen names
Drop -d o wn list an d list bo x na mes
Check box and radio button names
Icons on a screen.
Bold text is used to highlight the following:
Key names on a keypad
Button names on a screen or window.
bullets (•) indicate:
Action items
Lists of alter na tiv es
Lists of req uir ed step s th at ar e not nece ssa r ily seque nt ial
Sequential lists (e.g., those that describe step-by-step procedures) appear as numbered lists.
NOTE This symbol indicates something of special interest or importance to the reader. Failure to read the note
will not result in physical harm to the reader, equipment or data.
CAUTION This symbol indicates that if this information is ignored, the possibility of data or material damage may
occur.
WARNING! This symbol indicates that if this information is ignored the possibility that serious personal
injury may occur.
CHAPTER 1 INTRODUCTION

SDK Overview

The Cordless SSI Programmer’s Guide allows a programmer to open a virtual com port over a Bluetooth
connection and issue commands that control a cordless scanner. This solution utilizes the pre-existing
Bluetooth driver of the host OS to establish communication between the scanner and host.
NOTE For information about how to open a virtual com port over a Bluetooth connection consult a search engine,
such as Google. The answer is operating system and programming language specific.
Application functionality can include:
Receiving bar code data.
Command and control
Get/Set symbologies
Control Beeper/LED
Enable/disable the vibrator
Scanning control (enable/disable scanning and host applications initiated triggering).

Supported OS

Windows
Linux
Android.

Supported Scanners

All cordless Made For iOS (MFi) enabled scanners, such as the CS4070 scanner.
NOTE For product specifics, such as any SSI/product limitations, see Appendix A, Model Specific Details.
1 - 2 Cordless SSI Programmer’s Guide
CHAPTER 2 PROGRAMMING AND
CONFIGURATION RECOMMENDATIONS

Programming - Opening a Virtual Com Port over a Bluetooth Connection

For information about how to open a virtual com port over a Bluetooth connection consult a search engine,
such as Google. The web guidance is operating system and programming language specific.
NOTE The host PC/tablet/phone is configured for Bluetooth SPP communication, while the scanner is configured
for Bluetooth SSI communication.

Device Configuration - Host Device (PC/Tablet/Phone)

Confirm your PC/tablet/phone host supports Bluetooth Serial Port Profile (SPP). Your application issues
cordless SSI commands over the Bluetooth SPP connection.

Device Configuration - Scanner

A user must scan the SSI or cradle host parameter bar code to set the scanner's communication protocol.
When the scanner pairs to the host device, it sends data in an SSI format to the virtual com port over the
Bluetooth SPP connection.
2 - 2 Cordless SSI Programmer’s Guide
CHAPTER 3 INTRODUCTION TO SIMPLE
SERIAL INTERFACE

Using SSI

Before attempting to use SSI, it is important to understand the following information about SSI.
The SSI interface provides a means for the host application to control the cordless scanner.
SSI is a half-duplex communication protocol.
SSI is transaction-based. The host application commands and the cordless scanner responds. For example, the host application commands beep the beeper and the cordless scanner both beeps and ACKs as a response. Acknowle dgments are vital for maintaining synchronization.

Software Handshaking

Software handshaking provides an ACK/NAK response for commands that do not h ave a natural response. For
example, the command tell me your parameters is followed by the response my parameters are X. However the
command start a decode session has no natural response. Therefore, software handshaking provides an
ACK/NAK response.
NOTE Hardware handshaking is not used for Cordless SSI.

Transfer of Decode Data

The cordless scanner sends a DECODE_DA T A me ssage after a successful decode. The cordless scanner waits
for 30 seconds time-out for a CMD_ACK response. If it does not receive the response, the cordless scanner
tries to send two more times before issuing a host transmission error. If the cordless scanner receives a
CMD_NAK from the host, it may attempt a retry depending on the cause field of the CMD_NAK message.
3 - 2 Cordless SSI Programmer’s Guide

Expected Responses

T able 3-1, Table 3-2 o n page 3-3 and Table 3-3 on page 3-4 list allowable cordless scanner and host application
responses.
Table 3-1
AIM_OFF AIM_ON BATCH_REQUEST BEEP CAPABILITIES_REQUEST CHANGE_ALL_CODE_TYPES CMD_ACK/CMD_NAK CMD_ACK CMD_ACK_ACTION None CMD_NAK CUSTOM_DEFAULTS CMD_ACK / CMD_NAK FLUSH_QUEUE ILLUMINATION_OFF CMD_ACK / CMD_NAK ILLUMINATION_ON CMD_ACK / CMD_NAK
Cordless Scanner Responses to Host Ap plication Transmission
Host Transmission Allowable Decoder Responses
CMD_ACK / CMD_NAK CMD_ACK / CMD_NAK BATCH_DATA / CMD_NAK CMD_ACK / CMD_NAK CAPABILITIES_REPLY
None
None
CMD_ACK / CMD_NAK
IMAGER_MODE LED_OFF LED_ON PAGER_MOTOR_ACTIVATION CMD_ACK / CMD_NAK PARAM_DEFAULTS PARAM_REQUEST PARAM_SEND REQUEST_REVISION SCAN_DISABLE SCAN_ENABLE SLEEP SSI_MGMT_COMMAND SSI_MGMT_COMMAND or CMD_NAK
CMD_ACK / CMD_NAK CMD_ACK / CMD_NAK CMD_ACK / CMD_NAK
CMD_ACK / CMD_NAK PARAM_SEND CMD_ACK / CMD_NAK REPLY_REVISION CMD_ACK / CMD_NAK CMD_ACK / CMD_NAK CMD_ACK / CMD_NAK
Introduction to Simple Serial Interface 3 - 3
Table 3-1
START_SESSION
STOP_SESSION WAKEUP
Table 3-2
CAPABILITIES_REPLY CMD_ACK CMD_NAK DECODE_DATA EVENT
Cordless Scanner Responses to Host Application Transmission (Continued)
Host Transmission Allowable Decoder Responses
Host Application Responses to Cordless Scanner Transmission
Decoder Transmission Allowable Host Responses
CMD_ACK / CMD_NAK Note that once the decoder gathers the appropriate data, it sends this data unsolicited.
CMD_ACK / CMD_NAK None
None None None CMD_ACK / CMD_NAK * CMD_ACK / CMD_NAK *
IMAGE_DATA PARAM_SEND REPLY_REVISION VIDEO_DATA
* Multipacketed data; the host may ACK/NAK only the last packet of a
multi-packeted message. Intermediate packets get no response. Intermediate packets always have the continuation bit set (1). The last packet has the continuation bit cleared (0). See multi-packeting options.
CMD_ACK / CMD_NAK * None None CMD_ACK / CMD_NAK
Multipacketing on page 3-4
for

Message Packets

All communications between the host application and the cordless scanner are exchanged in the form of
packets. A packet is a collection of bytes framed by the proper SSI protocol formatting bytes. The maximum
length of a packet is 257 bytes, consisting of a checksum (two bytes), a header (four bytes), and up to 251
characters of data. Note that the length field in the header does NOT include the length of the checksum, but
DOES include the length of the header itself.
3 - 4 Cordless SSI Programmer’s Guide

Multipacketing

SSI supports multiple packets for one message for cases when size is insufficient to transfer a complete message. Bit 1 of the status byte in the message header is set to one for all packets except the last to indicate another packet follows. In the last packet, this bit is set to zero. The host application must re-assemble these packets into one message.
The cordless scanner sends each packet in order. The host application ACK/NAKs each packet in a strict transaction-based method. If a CMD_NAK checksum
message occurs, the cordless scanner retransmits the packet that was NAKd.

Packet Format

The general packet format for SSI messages is as follows:
Length Opcode Message Source Status Data... Checksum
Table 3-3
Field Name Format Sub-Field Meaning
Length 1 Byte Length Length of message not including the check
Opcode 1 Byte See command list on
Message Source 1 Byte 0 = Cordless Scanner
Status Bit 0 Retransmit 0 = First time packet is sent
Field Descriptions
Bit 1 Continuation 0 = Last frame of a multipacket message
Bit 2 Reserved Always set to zero Bit 3 3 Change Type (applies
page
Table 4-2 on page
4-3
.
04 = Host
to parameters)
sum bytes. Maximum value is 0xFF.
Identifies the type of packet data sent
Identifies where the message is coming from
1 = Subsequent transmission attempts
1 =Intermediate packet of a multipacket message
0 = Temporary change 1 = Permanent change
Bits 4 - 7 Unused bits must be set to 0
Data… Variable
number of bytes
Checksum 2 Bytes 2s complement sum of
Note: The checksum is a 2 byte checksum and must be sent as HIGH BYTE followed by LOW BYTE.
See individual sections for details.
message contents excluding checksum.
Checksum of message formatted as HIGH BYTE LOW BYTE
Chapter 4 SSI Commands

Introduction

This chapter describes each available SSI command, including field descriptions and host and decoder requirements.

SSI Command Lists

The following table lists the available SSI commands alphabetically.
Table 4-1
ABORT_MACRO_PDF
AIM_OFF AIM_ON BATCH_DATA BATCH_REQUEST BEEP CAPABILITIES_REQUEST CAPABILITIES_REPLY CHANGE_ALL_CODE_TYPES H 0xC9 Enables / Disables all code types. CMD_ACK
Note: D = Decoder, H = Host, H/D = Host/Decoder

SSI Commands

Name Type Opcode Description Page
H 0x11 Terminates MacroPDF sequence and discards
segments.
H 0xC4 Deactivates aim pattern. H 0xC5 Activates aim pattern. D 0xD6 Transmits stored decode data. H 0xD5 Requests stored decode data. H 0xE6 Sounds the beeper. H 0xD3 Requests commands which decoder will perform. D 0xD4 Lists commands which decoder will perform.
H/D 0xD0 Positive acknowledgment of received packet.
4-6
4-7
4-8 4-10 4-10 4-10 4-13 4-14 4-19 4-20
4 - 2 Cordless SSI Programmer’s Guide
Table 4-1
SSI Commands (Continued)
Name Type Opcode Description Page
CMD_ACK_ACTION H 0xD8 This is a positive acknowledgment of a received
packet and can be used in place of the CMD_ACK command to allow users to control the beeper, pager motor (i.e., vibration feedback) and LEDs after receiving decoded data or any other SSI command.
Note: This command in not supported by all scanners.
CMD_NAK
H/D 0xD1 Negative acknowledgment of received packet.
CUSTOM_DEFAULTS H 0x12 Host command to update Custom Defaults Buffer. DECODE_DATA EVENT FLUSH_MACRO_PDF
D 0xF3 Decode data in SSI packet format. D 0xF6 Event indicated by associated event code. H 0x10 Terminates MacroPDF sequence and transmits
captured segments.
FLUSH_QUEUE
H 0xD2 Tells the decoder to eliminate all packets in its
transmission queue.
4-22
4-24 4-27 4-28 4-41 4-43
4-44
ILLUMINATION_OFF H 0xC0 Deactivates Illumination ILLUMINATION_ON H 0xC1 Activates Illumination. IMAGE_DATA IMAGER_MODE LED_OFF LED_ON PAGER_MOTOR_ACTIVATION PARAM_DEFAULTS PARAM_REQUEST PARAM_SEND REPLY_REVISION
D 0xB1 Data comprising the image. H 0xF7 Commands imager into operational modes. H 0xE8 Extinguishes LEDs. H 0xE7 Activates LED output. H
0xCA Actuates the vibration feedback. H 0xC8 Sets parameter default values. H 0xC7 Requests values of certain parameters. H/D 0xC6 Sends parameter values. D 0xA4 Replies to REQUEST_REVISION with decoder's
software/hardware configuration.
REQUEST_REVISION SCAN_DISABLE SCAN_ENABLE
H 0xA3 Requests the decoder's configuration. H 0xEA Prevents the operator from scanning bar codes. H 0xE9 Permits bar code scanning.
4-45 4-46 4-47 4-49 4-50 4-51 4-52 4-53 4-54 4-57 4-59
4-60 4-61 4-62
SLEEP
H 0xEB Requests to place the decoder into low power.
Note: D = Decoder, H = Host, H/D = Host/Decoder
4-63
SSI Commands 4 - 3
Table 4-1
SSI Commands (Continued)
Name Type Opcode Description Page
SSI_MGMT_COMMAND
START_SESSION STOP_SESSION VIDEO_DATA WAKEUP
H/D
H 0xE4 Tells decoder to attempt to decode a bar code. H 0xE5 Tells decoder to abort a decode attempt. D 0xB4 Data comprising the video. H N/A Wakes up decoder after it's been powered down.
Note: D = Decoder, H = Host, H/D = Host/Decoder
0x80 RSM command to read/set some scanner
attributes.
4-64
4-65 4-66 4-67 4-69
4 - 4 Cordless SSI Programmer’s Guide
Table 4-2 lists the SSI commands by Opcode.
Table 4-2
Opcode Name
0x10 0x11 0x12 0x80 0xA3 0xA4 0xB0 0xB1 0xB4 0xC0 0xC1 0xC4 0xC5
SSI Commands by Opcode
FLUSH_MACRO_PDF ABORT_MACRO_PDF CUSTOM_DEFAULTS SSI_MGMT_COMMAND REQUEST_REVISION REPLY_REVISION Reserved IMAGE_DATA VIDEO_DATA ILLUMINATION_OFF ILLUMINATION_ON AIM_OFF AIM_ON
0xC6 0xC7 0xC8 0xC9 0xCA 0xD0 0xD1 0xD2 0xD3 0xD4 0xD5 0xD6 0xD8 0xE4 0xE5
PARAM_SEND PARAM_REQUEST PARAM_DEFAULTS CHANGE_ALL_CODE_TYPES PAGER_MOTOR_ACTIVATION CMD_ACK CMD_NAK FLUSH_QUEUE CAPABILITIES_REQUEST CAPABILITIES_REPLY BATCH_REQUEST BATCH_DATA CMD_ACK_ACTION START_SESSION STOP_SESSION
0xE6
BEEP
SSI Commands 4 - 5
Table 4-2
Opcode Name
0xE7 0xE8 0xE9 0xEA 0xEB 0xF3 0xF6 0xF7 N/A
SSI Commands by Opcode (Continued)
LED_ON LED_OFF SCAN_ENABLE SCAN_DISABLE SLEEP DECODE_DATA EVENT IMAGER_MODE WAKEUP
4 - 6 Cordless SSI Programmer’s Guide

ABORT_MACRO_PDF

Description
Terminates MacroPDF sequence and discards all captured segments.
Table 4-3
Length Opcode
04h 11h 04h
Table 4-4
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - ABORT_MACRO_PDF
Packet Format - ABORT_MACRO_PDF
Message
Source
Length of message (not including checksum). 1 Byte Length Field 11h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status Checksum
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type (for parameters)
0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
None.
Decoder Requirements
The decoder terminates the current MacroPDF sequence and discards all captured MacroPDF segments.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.

AIM_OFF

Description
Turns off aiming pattern.
SSI Commands 4 - 7
Table 4-5
Length Opcode
04h C4h 04h
Table 4-6
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - AIM_OFF
Packet Format - AIM_OFF
Message
Source
Length of message (not including checksum). 1 Byte Length Field C4h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type (for parameters)
0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
This command applies only to decoders that support an aim pattern.
Decoder Requirements
The decoder turns off the aim pattern, and responds with a CMD_ACK (if ACK/NAK handshaking is enabled). If the aim pattern is not supported, the decoder responds with NAK_DENIED (if ACK/NAK handshaking is
enabled).
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
4 - 8 Cordless SSI Programmer’s Guide

AIM_ON

Description
Turns on aiming pattern.
Table 4-7
Length Opcode
04h C5h 04h
Table 4-8
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - AIM_ON
Packet Format - AIM_ON
Message
Source
Length of message (not including checksum). 1 Byte Length Field C5h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type (for parameters)
0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
This command applies only to decoders which support an aim pattern.
Decoder Requirements
The decoder turns on the aim pattern, and responds with a CMD_ACK (if ACK/NAK handshaking is enabled). If the aim pattern is not supported, the decoder responds with NAK_DENIED (if ACK/NAK handshaking is
enabled).
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
SSI Commands 4 - 9
The Aim Duration para meter controls the amoun t of time the aiming pattern sta ys on during a trigger pull. The valid values for this parameter are 0 - 99, which equal 0.1 to 9.9 seconds in 100 msec increments. Table 4-9 lists Aim mode behavior in various situations.
Table 4-9
Command Sequence Action Performed Aim Duration Parameters
AIM_ON AIM_OFF AIM_ON,
START_DECODE
AIM_ON,AIM_OFF, START_DECODE
START_DECODE
Aim Mode
Turns on the aiming pattern indefinitely. aim duration = 0 Turns off the aiming pattern. aim duration = 0 Turns on the aiming pattern, when
START_DECODE received turns on scan pattern and begins decoding.
Turns on aiming pattern, turns off aiming pattern, turns on scan pattern and begins decoding.
Turns on aiming pattern for aim duration time, turns on scan pattern and begins decoding.
aim duration = 0
aim duration = 0
aim duration > 0
4 - 10 Cordless SSI Programmer’s Guide

BEEP

Description
Sounds the beeper.
Table 4-10
Length Opcode
05h E6h 04h
Table 4-11
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - BEEP
Packet Format - BEEP
Message
Source
Length of message (not including checksum). 1 Byte Length Field E6h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status
Beep Code
1 Byte
Checksum
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type (for parameters)
0 = Temporary change 1 = Permanent change
Beep Code Checksum
This Opcode instructs the receiver to sound the beep sequence indicated by the Beep Code field.
See Table 4-12. 1 Byte Number that identifies a beep sequence. 2's complement sum of message contents
excluding checksum.
2 Bytes Checksum of message.
SSI Commands 4 - 11
For Table 4-12, Duration is the length of a sound, Pitch is the pitch of the sound, and Number of Beeps indicates the number of times a beep pitch is repeated at the specified duration.
Table 4-12
Beep Code Duration Pitch Number of Beeps
00h Short High 1 01h Short High 2 02h Short High 3 03h Short High 4 04h Short High 5 05h Short Low 1 06h Short Low 2 07h Short Low 3 08h Short Low 4 09h Short Low 5 0Ah Long High 1 0Bh Long High 2 0Ch Long High 3
Beep Code Definitions
0Dh Long High 4 0Eh Long High 5 0Fh Long Low 1 10h Long Low 2 11h Long Low 3 12h Long Low 4 13h Long Low 5 14h Fast Warble High-Low-High-Low 4 15h Slow Warble High-Low-High-Low 4 16h Mix 1 High-Low 2 17h Mix 2 Low-High 2 18h Mix 3 High-Low-High 3 19h Mix 4 Low-High-Low 3 1Ah Long High-High-Low-Low 4
4 - 12 Cordless SSI Programmer’s Guide
Table 4-12
Beep Code Duration Pitch Number of Beeps
1Bh Short High-High-High 13 1Ch High Click High 1 1Dh Low Click Low Click 1
Beep Code Definitions (Continued)
Host Requirements
The host sends this command to cause the decoder to b eep. The host may also send these beep codes as part of the PARAM_SEND directive.
Decoder Requirements
When the decoder receives this command, it beeps the seque nce provided in the BEEP directive. If ACK/NAK handshaking is enabled, the decoder ACKs if a valid beep code is requested. Otherwise it sends CMD_NAK, host directive denied.

CAPABILITIES_REQUEST

Description
Requests the decoder’s serial capabilities.
SSI Commands 4 - 13
Table 4-13
Length Opcode
04h D3h
Table 4-14
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - CAPABILITIES_REQUEST
Packet Format - CAPABILITIES_REQUEST
Message
Source
Length of message (not including checksum). 1 Byte Length Field D3h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status Checksum
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
The host transmits this message to request the serial capabilities of the decoder system.
Decoder Requirements
Upon receipt of this command, the decoder responds with the CAPABILITIES_REPLY messa ge.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
4 - 14 Cordless SSI Programmer’s Guide

CAPABILITIES_REPLY

Description
Decoder details the serial capabilities.
Table 4-15
Length Opcode
04h D4h
Table 4-16
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - CAPABILITIES_REPLY
Packet Format - CAPABILITIES_REPLY
Message
Source
Length of message (not including checksum). 1 Byte Length Field D4h 1 Byte Identifies this Opcode type. 0 = Decoder 1 Byte Identifies where the message is coming from.
Status Data Checksum
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Data Table 4-17 on page 4-15 Checksum
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
Host Requirements
The host must not CMD_ACK or CMD_NAK this message, as this is a natural response to the CAPABILITIES_REQUEST message.
Decoder Requirements
The decoder sends this message upon receipt of the CAPABILITIES_REQUEST message.
.
SSI Commands 4 - 15
Table 4-17
Field Size Description Supported
Baud Rates Supported
Data Fields
2 Bytes Bit mapped
Bit Definition
0 300 Baud 1 600 Baud 2 1200 Baud 3 2400 Baud 4 4800 Baud 5 9600 Baud 6 19200 Baud 7 28800 Baud 8 38400 Baud 9 57600 Baud 10 115200 Baud 11 230400 Baud
1 = Supported 0 = Not
Supported
Misc Serial Parameters
1 Byte Bit Mapped
12 460800 Baud 13 921600 Baud 14 Reserved 15 Reserved
Bit Definition
0 Odd Parity 1 Even Parity 2 Parity None 3 Check Parity 4 Do Not Check Parity 5 One Stop Bit 6 Two Stop Bits
1 = Supported 0 = Not
Supported
4 - 16 Cordless SSI Programmer’s Guide
Table 4-17
Multi Packet Options
Command List
Data Fields (Continued)
Field Size Description Supported
1 Byte Bit Mapped
1 Byte per Command
Bit Definition
0 Option 1 1 Option 2 2 Option 3 In this sequential list, the decoder details the
commands it supports. For example, imagers support video commands, while laser-based decoders do not. Commands associated with video mode will not appear in the list for laser-based decoders, but will for imagers.
1 = Supported 0 = Not
Supported
SSI Commands 4 - 17

BATCH_DATA

Description
Transmits stored decode data as a reply to the BATCH_REQUEST command. Scanners that can not store scans send a NAK DENIED or NAK BAD CONTEXT response.
Table 4-18
Length Opcode
Table 4-19
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - BATCH_DATA
Packet Format - BATCH_DATA
Message
Source
D6h 00h
Length of message (not including checksum). 1 Byte Length Field D6h 1 Byte Identifies this Opcode type. 0 = Decoder 1 Byte Identifies where the message is coming from.
Status
Bar Code
String(s)
1 Byte
Checksum
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Bar Code String(s)
Checksum
Bar Code String
Each string is stored in this message in three components: Size, Type, and Scan Data. To specify a bar code string these components are combined in the order specified.
Variable Data from a bar code scan in the bar code
string format. Multiple instances of this field may be repeated in one message. For multipacket messages, a partial string may be sent, continued in the next packet.
2's complement sum of message contents excluding checksum.
Size: One byte value that contains the length of the Scan Data component
Type: One byte value that indicates the bar code type of the data scanned:
A = UPC/EAN G = Discrete 2 of 5
•B = Code 39 K = Code 128
D = EAN 128 N = Coupon code
F = Interleaved 2 of 5 W = Web Code
Scan Data: One or more bytes of the scanner bar code data in ASCII.
2 Bytes Checksum of message.
4 - 18 Cordless SSI Programmer’s Guide

BATCH_REQUEST

Description
Requests stored decode data from the scanner. The scanner responds with the BATCH_DATA command. Scanners that can not store scans respond with a NAK DENIED or NAK BAD CONTEXT.
Table 4-20
Length Opcode
Table 4-21
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - BATCH REQUEST
Packet Format - BATCH_REQUEST
Message
Source
D5h 04h
Length of message (not including checksum). 1 Byte Length Field D5h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status
Bar Code
String(s)
1 Byte
Checksum
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.

CHANGE_ALL_CODE_TYPES

Description
This command enables and disables all code types.
SSI Commands 4 - 19
Table 4-22
Length Opcode
05h C9h 04h
Table 4-23
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - BATCH REQUEST
Packet Format - BATCH_REQUEST
Message
Source
Length of message (not including checksum). 1 Byte Length Field C9h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status
Change
Value
1 Byte
Bar Code
String(s)
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Change Value
Checksum
2's complement sum of message contents excluding checksum.
1 Byte 0 = Disable All Code Types
1 = Enable All Code Types
2 Bytes Checksum of message.
4 - 20 Cordless SSI Programmer’s Guide

CMD_ACK

Description
Positive acknowledgment of received packet.
Table 4-24
Length Opcode
04h D0h
Table 4-25
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - CMD_ACK
Packet Format - CMD_ACK
Message
Source
Length of message (not including checksum). 1 Byte Length Field D0h 1 Byte Identifies this Opcode type. 0 = Decoder
4 = Host
Status Checksum
1 Byte Identifies where the message is coming from.
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
This message is sent to the SSI packet transmitter when the received packet passes the checksum check and no negative acknowledgment conditions apply (see CMD_NAK on page 4-24). If the data is in response to a command (e.g., PARAM_REQUEST, REQUEST_REVISION, etc.), no ACK is sent.
2's complement sum of message contents excluding checksum.
NOTE ACK/NAK handshaking can be disabled, although we recommend it remain enabled.
NOTE DO NOT respond to a valid ACK or NAK message.
2 Bytes Checksum of message.
SSI Commands 4 - 21
Host Requirements
A CMD_ACK or response data must be sent by the decoder within the programmable Serial Response Time-out to acknowledge receipt of all messages, unless noted otherwise in the message description section. If the host sends data and does not receive a response within the programmable serial response time-out, it should resend the message (with the retransmit status bit set) before declaring a failure. The host should limit the number of retries.
Decoder Requirements
A CMD_ACK or response data must be sent by the decoder within the programmable Serial Response Time-out to acknowledge receipt of all messages, unless noted otherwise in the message description section. If the decoder does not receive an ACK within this time period, it sends the previous message again (retry). The decoder retries two more times (with the retransmit status bit set) before declaring a transmit error.
4 - 22 Cordless SSI Programmer’s Guide

CMD_ACK_ACTION

Description
This is the positive acknowledgment of a received pa cket. This command can be used in place of the standar d SSI CMD_ACK to control the beeper, pager motor and LEDs.
NOTE This command in not supported by all scanners.
Table 4-26
Length Opcode
08h D8h 04h
Table 4-27
Length
Opcode Message Source
Status
Packet Format - CMD_ACK_ACTION
Field Descriptions - CMD_ACK_ACTION
Field Name Format Size Description
Message
Source
Status
Length of message not including the checksum.
D8h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Beep
Command
Pager Motor
LED On
1 Byte Length of field.
from.
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
LED
Duration
Checksum
Beep Command
Pager Motor (PAGER_MOTOR_ACTIVATION)
0xFF = Do nothing 1 Byte Beep code. See
page 4-11
0 = Do nothing 1 Byte Pager Motor. See
PAGER_MOTOR_ACTIVATION on page 4-52
Integer number from 0 to FEh (i.e., 0 to 254 decimal) of 10 ms increments to vibrate the pager motor. For example, 01h = motor vibrates for 10 ms, 02h motor vibrates for 20 ms, etc.
.
.
Beep Code Definitions on
SSI Commands 4 - 23
Table 4-27
Field Descriptions - CMD_ACK_ACTION (Continued)
Field Name Format Size Description
LED_ON Selection
LED_ON Duration
0 = Do nothing 1 Byte
1 Byte This byte field is an integer number (0 - 254
Bits 0 - 7
correspond to different LEDs on the product. Set each bit to '1' to turn on the corresponding LED; set LED_ON Duration to the amount of time LEDs should remain on.
Example of LEDs on the product:
Bit 0 = Decode LED.
Bit 1 = Red LED.
See
LED_ON on page 4-51
for more
information. Also refer to the Product Reference Guide
(PRG) for further information about the LEDs supported via SSI on the device.
decimal, 00h to FEh) used in conjunction with the LED_ON Selection byte to control the LED On duration. The duration is controlled in increments of 10 ms (i.e., 1 - 10 ms, 2 - 20 ms etc.).
Note:
If this field is 0, and any of the LED bits are set to '1' in the LED_ON Selection field, then the LEDs remain on until an LED_OFF command is sent.
Checksum
This message is sent to the SSI packet transmitter when the received packet passes the checksum check, and no negative acknowledgment conditions apply (see CMD_NAK on page 4-24). If the data is in response to a command (e.g., PARAM_REQUEST, REQUEST_REVISION, etc.), no ACK is sent.
2's complement sum of
2 Bytes Checksum of message. message contents excluding checksum.
NOTES 1. ACK/NAK handshaking can be disabled, although it is recommended it remain enabled.
2.DO NOT respond to a valid ACK or NAK message.
4 - 24 Cordless SSI Programmer’s Guide

CMD_NAK

Description
Negative acknowledgment of received packet.
Table 4-28
Length Opcode
05 D1h
Table 4-29
Field Name Format Size Description
Length Opcode Message
Source
Field Descriptions - CMD_NAK
Packet Format - CMD_NAK
Message
Source
Length of message (not including checksum). 1 Byte Length Field D1h 1 Byte Identifies this Opcode type. 0 = Decoder
4 = Host
Status Cause Checksum
1 Byte Identifies where the message is coming from.
SSI Commands 4 - 25
Table 4-29
Field Descriptions - CMD_NAK (Continued)
Field Name Format Size Description
Status
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Cause
Reason code 1 Byte Identifies the reason the NAK occurred:
0 = Reserved 1 = (RESEND) Checksum failure 2 = (BAD_CONTEXT) Unexpected or Unknown
message 3 = Reserved 4 = Reserved 5 = Reserved 6 = (DENIED) Host Directive Denied 7 = Reserved 8 = Reserved 9 = Reserved 10 = (CANCEL) Undesired Message
Checksum
This message is sent when the received packet fails the checksum verification or some error occurred while handling the message.
2's complement sum of message contents excluding checksum.
NOTE ACK/NAK handshaking can be disabled, although we recommend it remain enabled.
NOTE DO NOT respond to a valid ACK or NAK message.
2 Bytes
Checksum of message.
4 - 26 Cordless SSI Programmer’s Guide
NAK types supported by the decoder are listed in Table 4-30.
Table 4-30
BAD_CONTEXT
CANCEL
DENIED
RESEND
The decoder only resends a message twice. If the message has not been sent successfully at that time, the decoder declares a transmit error, and issues transmit error beeps (LOW-LOW-LOW-LOW).
Decoder-Supported NAK Types
NAK Type Meaning Receiver Action
Host does not recognize the command.
Host does not want the message in progress.
Host is unable to comply with the requested message (e.g., beep code is out of range).
Checksum incorrect. Ensure checksum is correct.
Decoder discards the current message.
Do not send data with this message again. Developer should check values with specified values. Developer should ensure the proper character is sent, if using wake-up character.
Limit number of resends. Send packet again with resend bit set.
CMD_NAK, cancel is a special message used when the decoder is sending a message the host do es not want, for example a very large image message. The message is disca rded by the decoder upon receipt of the CMD_NAK, cancel. This only affects the first queued message. Subsequent messages are not touched. If the host wants the decoder to discard all messages, the host must send a FLUSH_QUEUE message.

CUSTOM_DEFAULTS

Description
Writes or restores parameters to custom defaults.
SSI Commands 4 - 27
Table 4-31
Length Opcode
05h
Table 4-32
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - CUSTOM_DEFAULTS
Packet Format - CUSTOM_DEFAULTS
Message
Source
12h 04h
Length of message (not including checksum). 1 Byte Length Field 12h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status Action Checksum
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Action
Checksum
This command writes or restores parameters to their custom default settings.
Host Requirements
The host sends this command to program or restore the product's custom default values.
Decoder Requirements
If supported by the scanner, upon receiving this command, the scanner will write the current parameter settings to the custom defaults buffer. If the restore action is requested, then the parameters are restored to their previously stored custom defaults. CMD_ACK / CMD_NAK is transmitted if handshaking is enabled.
2's complement sum of message contents excluding checksum.
1 Byte 0 = Write to Custom Defaults
1 = Restore Custom Defaults
2 Bytes Checksum of message.
4 - 28 Cordless SSI Programmer’s Guide

DECODE_DATA

Description
Decode data in SSI packet format.
Table 4-33
Length Opcode
Table 4-34
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - DECODE_DATA
Packet Format - DECODE_DATA
Message
Source
F3h 00h
Length of message (not including checksum). 1 Byte Length Field F3h 1 Byte Identifies this Opcode type. 0 = Decoder 1 Byte Identifies where the message is coming from.
Status
Bar code
Type
1 Byte
Decode
Data
Checksum
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Bar Code Type
Decode Data
Checksum
This Opcode is used by the decoder when packeted data is selected to send decoded bar code data to the host. The decoded message is contained in the Decode Data field.
If the decoded data contains more structure than can be presented in the standard form at, the Bar Code Type field is set to 0x99 to indicate the Decode Data message contains multiple packets. The format of the Decode Data field
See Table 4-37 1 Byte Identifies the scanned data code type. 0 = Not
Applicable
<data> Variable Data is decoded data including prefix and
suffix sent in ASCII format.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
SSI Commands 4 - 29
contains the actual Bar Code Type and a packeted form of decode data. For example, a packeted Decode Data message for Micro PDF417 would look like:
Table 4-35
Length Opcode
Packeted Decode Data Message for Micro PDF417
Message
Source
Status
Bar code
Type
Decode
Data
Checksum
12 F3h 00h 0 99 see
below
where the Decode Data field is broken out as follows:
Table 4-36
Actual Bar
Code Type
Decode Data
# of
Packets
Spare
Byte
Byte Length of
Packet #1
Data
Spare
Byte
Byte Length
of Packet #2
Data
1A 2 0 00 03 ABC 0 00 04 DEFG
Note that the Packet Length subfields consist of two bytes, where the first byte represents the high value of length x 256.
Structured Append
Structured append data for PDF417 and Micro PDF417 can be transmitted in either an unstructure d format which adheres to the PDF417 specification, or a structured "smart for mat" using the multipacketed fo rmat above. The Bar Code Type field contains 0x99 and data is sent from a single structured append symbol in two Decode Data packets. The first packet contains the main bar code data, and the second contains any bar code identification enabled for transmission (e.g., the control block, optional fields, symbol terminator). Each field begins with its identifying marker codeword (e.g., \928 for control blocks, \923 for optional fields, and \922 for the symbol terminator).
Table 4-37 and Table 4-38 lists all supported code types, by code name and hex value (SSI ID). The associated
hex value for each code (as required) is entered in the Code Type field.
NOTE For multipacketed data, this code type appears in every packet.
Table 4-37
Aztec Code Aztec Rune Code Bookland Chinese 2 of 5
Code Types and Identifiers
Symbology SSI ID Code ID
0x2D z z 0 0x2E z z C 0x16 L X 0 0x72 U X 0
AIM ID
Letter
AIM ID Modifier
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
4 - 30 Cordless SSI Programmer’s Guide
Table 4-37
Codabar Code 11 Code 128 Code 16K Code 32 Code 39
Code 39 Full ASCII
Code 49 Code 93 Composite
(CC-A + GS1-128) Composite
(CC-A + EAN-13)
Code Types and Identifiers (Continued)
Symbology SSI ID Code ID
AIM ID
Letter
0x02 C F 0 (1) - standard (ABC) 0x0C H H 0 (1) [2] - 1 (2) [0] check digits included 0x03 D C 0 (also see GS1-128) 0x12 X X 0 0x20 B A Same rules as for Code 39 0x01 B A 0 - no check digit
1 (3) - check digit included (excluded)
0x13 B A 4 - no check digit
5 (7) - check digit included (excluded) 0x0D X X 0 0x07 E G 0 0x51 T See Table 4-39
0x52 T See Table 4-39
AIM ID Modifier
Composite (CC-A + EAN-8)
Composite (CC-A + GS1 DataBar Expanded)
Composite (CC-A + GS1 DataBar Limited)
Composite (CC-A + GS1 DataBar-14)
Composite (CC-A + UPC-A)
Composite (CC-A + UPC-E)
Composite (CC-B + GS1-128)
Composite (CC-B + EAN-13)
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
0x53 T See Table 4-39
0x54 T See Table 4-39
0x55 T See Table 4-39
0x56 T See Table 4-39
0x57 T See Table 4-39
0x58 T See Table 4-39
0x61 T See Table 4-39
0x62 T See Table 4-39
SSI Commands 4 - 31
Table 4-37
Code Types and Identifiers (Continued)
Symbology SSI ID Code ID
Composite (CC-B + EAN-8)
Composite (CC-B + GS1 DataBar Expanded)
Composite (CC-B + GS1 DataBar Limited)
Composite (CC-B + GS1 DataBar-14)
Composite (CC-B + UPC-A)
Composite (CC-B + UPC-E)
Composite (CC-C + GS1-128)
Coupon Code Cue CAT Code
AIM ID
Letter
0x63 T See Table 4-39
0x64 T See Table 4-39
0x65 T See Table 4-39
0x66 T See Table 4-39
0x67 T See Table 4-39
0x68 T See Table 4-39
0x59 T See Table 4-39
0x17 N
E+C
1
0+1
0x38 Q X 0
AIM ID Modifier
Discrete 2 of 5 Data Matrix
0x04 G S 0 0x1B P00 d 4 (1) - ECC 200 with (w/o) ECI
Dotcode 0xC4 P0E GS1-128 GS1 QR EAN-13 EAN-13 + 2
EAN-13 + 5 EAN-8
EAN-8 + 2 EAN-8 + 5 French Lottery
0x0F K C 1 (2) - character 1 (2) is Function 1 (F1) 0xC2 P0Q 0x0B A E 0 0x4B A
0x8B A
E + E E + E
2
0 for main block; 1 for supplemental
2
0 for main block; 2 for supplemental
0x0A A E 4 0x4A A
0x8A A
E + E E + E
2
4 for main block; 1 for supplemental
2
4 for main block; 2 for supplemental
0x2F X X 0
Grid Matrix 0xC8 P0D
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
4 - 32 Cordless SSI Programmer’s Guide
Table 4-37
GS1 DataBar Expanded GS1 DataBar Limited GS1 DataBar-14 GS1 Datamatrix GS1 QR 0xC2 P0Q Han Xin IATA ISBT-128 ISBT-128 Concat. ISSN Interleaved 2 of 5 Korean 2 of 5 Macro Micro PDF
Code Types and Identifiers (Continued)
Symbology SSI ID Code ID
0x32 R 0x31 R 0x30 R 0xC1 P0G d 2
0xB7 P0H X 0 0x05 G S 0 0x19 D C 0 0x21 D C 4 0x36 X X 0 0x06 F I Same rules as for Code 39 0x73 V X 0 0x9A X L Same rules as for Micro PDF-417
AIM ID
Letter
AIM ID Modifier
Macro PDF-417 Macro QR Code Mailmark 0xC3 P0C X0 Matrix 2 of 5 Maxicode
Micro PDF
Micro PDF CCA Micro QR Code MSI
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
0x28 X L Same rules as for PDF-417 0x29 X X 0
0x39 S X 0 0x25 P02 U 1 - Mode 0, 2 or 3, without ECI
3 (1) - Extended EC with (w/o) ECI
0x1A X L 3 - Code 128 emul: implied F1 in 1st
position 4 - Code 128 emul: F1 after 1st letter/digits
5 - Code 128 emul: no implied F1 0x1d X X 0 0x2C P01 Q 1 0x0E J M 0 - Modulo 10 symbol check character
validated and transmitted
1 - Modulo 10 symbol check character
validated but not transmitted
SSI Commands 4 - 33
Table 4-37
Code Types and Identifiers (Continued)
Symbology SSI ID Code ID
Multicode 0xC6 P0M Multipacket Format
NW7 OCRB PDF-417
Planet (US) Postal (Australia) Postal (Dutch) Postal (Japan) Postal (UK) Postbar (CA)
0x99 N/A N/A Data is packeted; SSI ID is embedded in
0x18 X X 0 0xA0XX0 0x11 X L 0 - Conforms with 1994 PDF-417 spec
0x1F P04 X 0x23 P09 X 0 0x24 P08 X 0 0x22 P05 X 0 0x27 P06 X 0 0x26 P07 X 0
AIM ID
Letter
AIM ID Modifier
decode data.
1 - Backslash characters doubled
2 - Backslash characters not doubled
Postnet (US) QR Code RFID Raw RFID URI RSS (GS1 Databar) Expanded
0x1E P03 X 0 0x1C P01 Q 0 0xE0XX0 0xE1XX0 0xB4 R X 0
Coupon Scanlet Webcode Signature
0x37 W X 0 0x69 P0X X 0
Telepen 0xCA TLC-39 Trioptic
0x5A T See T able 4-39 0x15 M X 0
UDI Parsed Code 0xCC UPC-A UPC-A + 2
0x08 A E 0 0x48 A
E + E
2
0 for main block; 1 for supplemental
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
4 - 34 Cordless SSI Programmer’s Guide
Table 4-37
UPC-A + 5 UPC-E
UPC-E + 2 UPC-E + 5 UPC-E1
UPC-E1 + 2 UPC-E1 + 5
Code Types and Identifiers (Continued)
Symbology SSI ID Code ID
0x88 A
3
0x09 A E 0 0x49 A
0x89 A 0x10 A E 0
0x50 A 0x90 A
AIM ID
Letter
E + E
E + E E + E
E + E E + E
AIM ID Modifier
2
0 for main block; 2 for supplemental
2
0 for main block; 1 for supplemental
2
0 for main block; 2 for supplemental
2
0 for main block; 1 for supplemental
2
0 for main block; 2 for supplemental
UK Plessey 0xC7 4State US 4State US4
0x34 P0A X 0 0x35 P0B X 0
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
Table 4-38
Code 39
Code Types by SSI ID
Symbology SSI ID Code ID
0x01 B A 0 - no check digit
AIM ID
Letter
AIM ID Modifier
1 (3) - check digit included (excluded)
Codabar Code 128 Discrete 2 of 5 IATA Interleaved 2 of 5 Code 93 UPC-A
0x02 C F 0 (1) - standard (ABC) 0x03 D C 0 (also see GS1-128) 0x04 G S 0 0x05 G S 0 0x06 F I Same rules as for Code 39 0x07 E G 0 0x08 A E 0
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes
the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the
second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
SSI Commands 4 - 35
Table 4-38
Code Types by SSI ID (Continued)
Symbology SSI ID Code ID
UPC-E EAN-8 EAN-13 Code 11 Code 49 MSI
GS1-128 UPC-E1 PDF-417
3
0x09 A E 0 0x0A A E 4 0x0B A E 0 0x0C H H 0 (1) [2] - 1 (2) [0] check digits included 0x0D X X 0 0x0E J M 0 - Modulo 10 symbol check character
0x0F K C 1 (2) - character 1 (2) is Function 1 (F1) 0x10 A E 0 0x11 X L 0 - Conforms with 1994 PDF-417 spec
AIM ID
Letter
AIM ID Modifier
validated and transmitted 1 - Modulo 10 symbol check character
validated but not transmitted
1 - Backslash characters doubled 2 - Backslash characters not doubled
Code 16K Code 39 Full
ASCII Trioptic
Bookland Coupon Code
NW7 ISBT-128 Micro PDF
0x12 0x13 B A 4 - no check digit
5 (7) - check digit included (excluded) 0x15 M X 0 0x16 L X 0 0x17 N
E+C
1
0+1 0x18 X X 0
0x19 D C 0 0x1A X L 3 - Code 128 emul: implied F1 in 1st
position
4 - Code 128 emul: F1 after 1st letter/digits
5 - Code 128 emul: no implied F1
Data Matrix QR Code Micro PDF CCA
0x1B P00 d 4 (1) - ECC 200 with (w/o) ECI 0x1C P01 Q 0 0x1d X X 0
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
4 - 36 Cordless SSI Programmer’s Guide
Table 4-38
Code Types by SSI ID (Continued)
Symbology SSI ID Code ID
Postnet (US) Planet (US) Code 32 ISBT-128 Concat. Postal (Japan) Postal (Australia) Postal (Dutch) Maxicode
Postbar (CA) Postal (UK) Macro PDF-417 Macro QR Code
0x1E P03 X 0 0x1F P04 X 0x20 B A Same rules as for Code 39 0x21 D C 4 0x22 P05 X 0 0x23 P09 X 0 0x24 P08 X 0 0x25 P02 U 1 - Mode 0, 2 or 3, without ECI 3 (1) -
0x26 P07 X 0 0x27 P06 X 0 0x28 X L Same rules as for PDF-417 0x29 X X 0
AIM ID
Letter
AIM ID Modifier
Extended EC with (w/o) ECI
Micro QR Code Aztec Code Aztec Rune Code French Lottery GS1 DataBar-14 GS1 DataBar
0x2C P01 Q 1 0x2D z z 0 0x2E z z C 0x2F X X 0 0x30 R 0x31 R
Limited GS1 DataBar
0x32 R
Expanded 4State US 4State US4 Scanlet Webcode Cue CAT Code UPC-A + 2
UPC-E + 2
0x34 P0A X 0 0x35 P0B X 0 0x37 W X 0 0x38 Q X 0 0x48 A
0x49 A
E + E E + E
2
2
0 for main block; 1 for supplemental 0 for main block; 1 for supplemental
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
SSI Commands 4 - 37
Table 4-38
Code Types by SSI ID (Continued)
Symbology SSI ID Code ID
EAN-8 + 2 EAN-13 + 2 UPC-E1 + 2 Composite
0x4A A 0x4B A 0x50 A 0x51 T See Table 4-39
(CC-A + GS1-128) Composite
0x52 T See Table 4-39
(CC-A + EAN-13) Composite
0x53 T See Table 4-39
(CC-A + EAN-8) Composite (CC-A
0x54 T See Table 4-39
+ GS1 DataBar Expanded)
Composite (CC-A
0x55 T See Table 4-39
+ GS1 DataBar Limited)
AIM ID
Letter
E + E E + E E + E
AIM ID Modifier
2
4 for main block; 1 for supplemental
2
0 for main block; 1 for supplemental
2
0 for main block; 1 for supplemental
Composite (CC-A + GS1 DataBar-14)
Composite (CC-A + UPC-A)
Composite (CC-A + UPC-E)
Composite (CC-C + GS1-128)
TLC-39 Composite
(CC-B + GS1-128) Composite
(CC-B + EAN-13) Composite
(CC-B + EAN-8) Composite (CC-B
+ GS1 DataBar Expanded)
0x56 T See Table 4-39
0x57 T See Table 4-39
0x58 T See Table 4-39
0x59 T See Table 4-39
0x5A T See Table 4-39 0x61 T See Table 4-39
0x62 T See Table 4-39
0x63 T See Table 4-39
0x64 T See Table 4-39
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
4 - 38 Cordless SSI Programmer’s Guide
Table 4-38
Code Types by SSI ID (Continued)
Symbology SSI ID Code ID
Composite (CC-B
0x65 T See Table 4-39
+ GS1 DataBar Limited)
Composite
0x66 T See Table 4-39
(CC-B + GS1 DataBar-14)
Composite
0x67 T See Table 4-39
(CC-B + UPC-A) Composite
0x68 T See Table 4-39
(CC-B + UPC-E) Signature Matrix 2 of 5 Chinese 2 of 5 Korean 3 of 5 UPC-A + 5
0x69 P0X X 0 0x71 S X 0 0x72 U X 0 0x73 V X 0 0x88 A
AIM ID
Letter
E + E
AIM ID Modifier
2
0 for main block; 2 for supplemental
UPC-E + 5 EAN-8 + 5 EAN-13 + 5 UPC-E1 + 5 Multipacket
Format Macro Micro PDF
OCRB RSS (GS1
0x89 A 0x8A A 0x8B A 0x90 A 0x99 N/A N/A Data is packeted; SSI ID is embedded in
0x9A X L Same rules as for Micro PDF-417 0xA0 0xB4 R X 0
E + E E + E E + E E + E
2
0 for main block; 2 for supplemental
2
4 for main block; 2 for supplemental
2
0 for main block; 2 for supplemental
2
0 for main block; 2 for supplemental
decode data.
Databar) Expanded Coupon
Han Xin GS1 Datamatrix
0xB7 P0H X 0 0xC1 P0G d 2
GS1 QR 0xC2 P0Q
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
SSI Commands 4 - 39
Table 4-38
Code Types by SSI ID (Continued)
Symbology SSI ID Code ID
AIM ID
Letter
AIM ID Modifier
Mailmark 0xC3 P0C X0 Dotcode 0xC4 P0E Multicode 0xC6 P0M UK Plessey 0xC7 Grid Matrix 0xC8 P0D Telepen 0xCA UDI Parsed Code 0xCC RFID Raw RFID URI
0xE0 X 0 0 0xE1 X 0 0
Notes:
1. E+C denotes 2 AIM IDs are transmitted: one for the UPC/EAN block; the second prefixes the extended GS1-128 data.
2. E+E denotes 2 AIM IDs are transmitted: the first prefixes the main UPC/EAN block; the second prefixes the supplemental block.
3. UPC-E, UPC-E1, and UPC-A are converted to EAN-13 for AIM ID.
Table 4-39
Composite Code Data Formats
Data Format
1D Component
Standard Mode GS1-128 Emulation Mode
EAN-13, UPC-A, UPC-E
EAN-8
Notes:
1. All Function 1 characters in the 1D and 2D are sent as not transmitted.
1D: ]E0 2D: ]e0 See note 5 below.
1D: ]E4 2D: ]e0 See note 5 below.
1D: ]E0 2D: ]C1 before each GS1-128 split transmission See notes 3 -5 below.
1D: ]E4 2D: ]C1 before each GS1-128 split transmission See notes 3 -5 below.
G
(2910); the first Function 1 in the GS1-128 is
S
2. In standard mode, the data following symbol separator begins with AIM ID "]e1". The data following the composite component escape mechanism begins with AIM ID "]e2" if ECI interpretation is enabled, "]e3" if ECI interpretation is not enabled.
3. In GS1-128 emulation mode, each packet is split on an AI boundary and limited to less than 48 characters.
4. In GS1-128 emulation mode, data is discarded after the first symbol separator or escape mechanism.
5. If the UPC/EAN component has a supplemental , ]E1 precedes a 2-digit supplemental and ]E2 precedes the 5-digit supplemental
6. RS is character 30
and EOT is character 04. The transmitted format (05 or 06) is data dependent.
10
4 - 40 Cordless SSI Programmer’s Guide
Table 4-39
Composite Code Data Formats (Continued)
Data Format
1D Component
Standard Mode GS1-128 Emulation Mode
GS1 DataBar-14 GS1 DataBar Limited
Code 39 (TLC39)
1D: ]e0 2D: ]e1 See note 2 below.
ANSI MH10.8.3M syntax:
R
G
06
05
6P 1D
S
G
906P 1D
S
06 Format: [)> 05 Format: [)>
S
R
S
]C1 before each GS1-128 split transmission See notes 3 -5 below.
G
S
S 2D
G
8004 2D
S
R
EOT
S
R
EOT
S
See note 6 below.
GS1-128 GS1 DataBar Expanded
If the last AI in the GS1-1 28 is a predefined, fixed length:]e0 Otherwise, ]e0 GS
]C1 before each GS1-128 split transmission See notes 3 and 4 below.
See note 2 below.
Notes:
1. All Function 1 characters in the 1D and 2D are sent as not transmitted.
G
(2910); the first Function 1 in the GS1-128 is
S
2. In standard mode, the data following symbol separator begins with AIM ID "]e1". The data following the composite component escape mechanism begins with AIM ID "]e2" if ECI interpretation is enabled, "]e3" if ECI interpretation is not enabled.
3. In GS1-128 emulation mode, each packet is split on an AI boundary and limited to less than 48 characters.
4. In GS1-128 emulation mode, data is discarded after the first symbol separator or escape mechanism.
5. If the UPC/EAN component has a supplemental , ]E1 precedes a 2-digit supplemental and ]E2 precedes the 5-digit supplemental
6. RS is character 30
and EOT is character 04. The transmitted format (05 or 06) is data dependent.
10
Host Requirements
If DECODE_EVENT reporting is enabled, the decode event message is received before the DECODE_DATA message. If ACK/NAK handshaking is enabled, the host responds to each of these messages.
Decoder Requirements
Decode data is sent in this format if packeted decode data is selected via parameter. The host responds to this message with a CMD_ACK, if ACK/NAK handshaking is enabled.

EVENT

Description
Indicates selected events occurred.
SSI Commands 4 - 41
Table 4-40
Length Opcode
05h F6h 00h
Table 4-41
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - EVENT
Packet Format - EVENT
Message
Source
Length of message (not including checksum). 1 Byte Length Field F6h 1 Byte Identifies this Opcode type. 0 = Decoder 1 Byte Identifies where the message is coming
Status
Event Code
1 Byte
Checksum
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Event Code Checksum
This message is sent by the decoder when an enabled event occurs. Use Table 4-42 and parameters F0h 00h through F0h 07h to determine which events you would like to be reported.
Host Requirements
The host receives this message when a selected event occurs.
Decoder Requirements
Generate this message when a selected event occurs. Events may vary by decoder type.
Type of Event Code. 1 Byte See 2's complement sum of message contents
excluding checksum.
2 Bytes Checksum of message.
Table 4-42 on page 4-42
.
4 - 42 Cordless SSI Programmer’s Guide
Table 4-42
Boot Event Decode Event Parameter Defaults Parameter Entry Error Parameter Num Expected Parameter Stored Trigger Pull Event Parameter Entry Cancel MPDF Incorrect Symbol MPDF File ID Error MPDF Out of Memory Error MPDF Bad Symbology Error MPDF Flush Buffer
Event Codes
Event Code
03h 01h 0Ah 07h 0Fh 08h 02h 09h 11h 12h 13h 14h 15h
MPDF Data Xmitted MPDF Flush No Data MPDF Abort Buffer Code 39 Add Buffer Code 39 Empty Buffer Code 39 Full Buffer Code 39 Clear Buffer Code 39 Xmit System Fault: Laser Safety
17h 18h 19h 1Ah 1Bh 1Ch 1Dh 1Eh 2h

FLUSH_MACRO_PDF

Description
Terminates MacroPDF sequence and sends all captured segments.
SSI Commands 4 - 43
Table 4-43
Length Opcode
04h 10h 04h
Table 4-44
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - FLUSH_MACRO_PDF
Packet Format - FLUSH_MACRO_PDF
Message
Source
Length of message (not including checksum). 1 Byte Length Field 10h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type (for parameters)
0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
None.
Decoder Requirements
The decoder terminates the current MacroPDF sequence and transmits the captured MacroPDF segments.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
4 - 44 Cordless SSI Programmer’s Guide

FLUSH_QUEUE

Description
Eliminates content of decoder’s transmission queue.
Table 4-45
Length Opcode
04h D2h 04h
Table 4-46
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - FLUSH_QUEUE
Packet Format - FLUSH_QUEUE
Message
Source
Length of message (not including checksum). 1 Byte Length Field D2h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
This message is sent by the host to instruct the decoder to discard or flush the transmission que ue. This is useful when the decoder is attempting to send a lengthy multipacket message. If the host does not want the message, the host can interrupt the decoder (by asserting RTS) and send a FLUSH_QUEUE message.
The decoder ACK/NAKs the FLUSH_QUEUE message. No further packets in the transmission queue are sent. Note that this does not abort decoder actions that cause packets to be added to the transmission queue.
We recommend issuing a SCAN_DISABLE prior to issuing a FLUSH_QUEUE so that new elements are not added to the queue just after it is emptied. Also, paradoxical cases may arise if a SCAN_DISABLE is not issued first.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.

ILLUMINATION_OFF

Description
Turns off Illumination pattern.
SSI Commands 4 - 45
Table 4-47
Length Opcode
04h C0h 04h
Table 4-48
Field Name Format Size Description
Length Opcode Message
Source Status
Data Content
Checksum
Field Descriptions - ILLUMINATION_OFF
Packet Format - ILLUMINATION_OFF
Message
Source
Length of message (not including checksum). 1 Byte Length Field C0h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
2's complement sum of message contents excluding checksum.
Status Data Checksum
from.
1 Byte
Up to 251 Bytes
2 Bytes Checksum of message.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Image Data records.
Decoder Requirements
The decoder turns off the Illumination, and responds with a CMD_ACK (if ACK/NAK handshaking is enabled).
4 - 46 Cordless SSI Programmer’s Guide

ILLUMINATION_ON

Description
Turns off Illumination pattern.
Table 4-49
Length Opcode
04h C1h 04h
Table 4-50
Field Name Format Size Description
Length Opcode Message
Source Status
Data Content
Checksum
Field Descriptions - ILLUMINATION_ON
Packet Format - ILLUMINATION_ON
Message
Source
Length of message (not including checksum). 1 Byte Length Field C0h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
2's complement sum of message contents excluding checksum.
Status Data Checksum
from.
1 Byte
Up to 251 Bytes
2 Bytes Checksum of message.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Image Data records.
Decoder Requirements
The decoder turns on the Illumination, and responds with a CMD_ACK (if ACK/NAK handshaking is enabled).
Table 4-51
ILLUMINATION_ON Turns on the Illumination. ILLUMINATION_OFF Turns off the Illumination.
Aim Mode
Command Sequence Action Performed

IMAGE_DATA

Description
A JPEG, BMP, or TIFF image.
SSI Commands 4 - 47
Table 4-52
Length Opcode
Table 4-53
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - IMAGE_DATA
Packet Format - IMAGE_DATA
Message
Source
B1h 01h
Length of message (not including checksum). 1 Byte Length Field B1h 1 Byte Identifies this Opcode type. 0 = Decoder 1 Byte Identifies where the message is coming
Status Data Checksum
from.
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Data Content
Checksum
This packet contains image information. Images sent from the decoder to the host are described by the image preamble contained in the first 10 bytes of the first packet of the image. The details of the image preamble follow. Due to the small packet size of SSI, multiple packets of image data should be received by the host and re-assembled in the order given by the decoder. The packets describe, for example, a JPEG image when re-assembled.
2's complement sum of message contents excluding checksum.
Up to 251 Bytes
2 Bytes Checksum of message.
Image Data records.
4 - 48 Cordless SSI Programmer’s Guide
The image preamble consists of the following fields:
Table 4-54
File size Image Width Image Height Image Type
Bits per Pixel
Note: The preamble only appears in the first packet of a multipacket message.
In a multipacketed environment, one image frame is spread over several packets in the following format:
Image Preamble Fields
Field Field Size Description
4 byte field Number of bytes in the overall image. 2 byte field Image width in pixels 2 byte field Image height in pixels 1 byte field 0x31 = JPEG Image File
0x33 = BMP Windows Bit Map File 0x34 = TIFF File Note: These values are ASCII.
1 byte field Number of bits per pixel in image
0 = 1 bit/pixel Black White Image 1 = 4 bit/pixel 16 Gray Scale Image 2 = 8 bit/pixel 256 Gray Scale Image
Packet 1
Header Preamble Image Data, Part 1 Checksum
Packet 2
Header Image Data, Part 2 Checksum
.
. .
Packet N
Header Last of Image Data Checksum
This is re-assembled by the host into:
Preamble Image Frame

IMAGER_MODE

Description
Commands Imager into Operational Modes.
0 = Decode Mode
1 = Image Capture Mode
2 = Video Mode.
SSI Commands 4 - 49
Table 4-55
Length Opcode
05h F7h 00h
Table 4-56
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - IMAGER_MODE
Packet Format - IMAGER_MODE
Message
Source
Length of message (not including checksum). 1 Byte Length Field F7h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Data Checksum
from.
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Data Content Checksum
Host Requirements
This command is supported by the imager only. The host sends this command with the data field set to 0 for decode mode, 1 for image capture mode, and 2 for video mode.
Decoder Requirements
The decoder (imager) sends a CMD_ACK if the mode is valid, and CMD_NAK if not.
2's complement sum of message contents excluding checksum.
1 Byte Value 0, 1, or 2 decimal 2 Bytes Checksum of message.
4 - 50 Cordless SSI Programmer’s Guide

LED_OFF

Description
De-activates LED output.
Table 4-57
Length Opcode
05h E8h 04h
Table 4-58
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - LED_OFF
Packet Format - LED_OFF
Message
Source
Length of message (not including checksum). 1 Byte Length Field E8h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status
Selection
1 Byte
LED
Checksum
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
LED Selection
Checksum
The host sends this message to turn off the specified decoder LEDs.
Host Requirements
None.
Decoder Requirements
The decode LED is turned off by the decoder.
Bit 0 - 7: LED bit numbers to turn off. 1 Byte Bit 0 = Decode LED
See your product’s Product Reference Guide for further bit information.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.

LED_ON

Description
Activates LED output.
SSI Commands 4 - 51
Table 4-59
Length Opcode
05h E7h 04h
Table 4-60
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - LED_ON
Packet Format - LED_ON
Message
Source
Length of message (not including checksum). 1 Byte Length Field E7h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status
Selection
1 Byte
LED
Checksum
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
LED Selection
Checksum
The host sends this message to turn on the specified decoder LEDs.
Host Requirements
None.
Decoder Requirements
The decode LED is turned on by the decoder.
Bit 0 - 7: LED bit numbers to turn on. 1 Byte Bit 0 = Decode LED
See your product’s Product Reference Guide f or further bit information.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
4 - 52 Cordless SSI Programmer’s Guide

PAGER_MOTOR_ACTIVATION

Description
Actuates the vibration feedback device in the target device (e.g., the pager motor). Example: A value of 15 causes the scanner to vibrate for 150 ms.
Table 4-61
Length Opcode
05h CAh 04h
Table 4-62
Field Name Format Size Description
Length Opcode Message
Source Status
Vibration Duration
Field Descriptions - PAGER_MOTOR_ACTIVATION
Packet Format - PAGER_MOTOR_ACTIVATION
Message
Source
Length of message (not including checksum). 1 Byte Length Field CAh 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status
Vibration
Feedback
Duration
1 Byte
1 Byte Number of 10 ms increments to vibrate.
Checksum
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
0 = Use the system parameter vibration duration.
Example: A value of 15 causes the scanner to vibrate for 150 ms.
Checksum
This Opcode instructs the receiver to actuate the vibration feedback device (e.g., the pager motor) for the amount of 10 ms increments specified in the Vibration Duration field. If the Vibrations Duration field is set to 0, then the vibration feedback duration will be that which is defined in the system parameter for vibration duration.
Host Requirements
The host sends this command to cause the decoder to actuate its vibration feedback mechanism (e.g., its pager motor) for the specified amount of time.
Decoder Requirements
If the decoder has a Pager Motor and handshaking is enabled, it sends a CMD_ACK and activates the PAGER_MOTOR for the appropriate duratio n. If the decoder does not have a Pager Motor, it sends a CMD_NAK with type NAK_DENIED.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.

PARAM_DEFAULTS

Description
Sets the parameters to their default values.
SSI Commands 4 - 53
Table 4-63
Length Opcode
04h C8h 04h
Table 4-64
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - PARAM_DEFAULTS
Packet Format - PARAM_DEFAULTS
Message
Source
Length of message (not including checksum). 1 Byte Length Field C8h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
from.
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
This command returns all parameters to their default settings.
Host Requirements
The host sends this command to reset the decoder’s parameter settings to the default values.
Decoder Requirements
Upon receiving this command, the decoder resets all its parameters to the default values. This is equivalent to scanning a SET DEFAULTS bar code.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
4 - 54 Cordless SSI Programmer’s Guide

PARAM_REQUEST

Description
Requests values of selected parameters.
Table 4-65
Length Opcode
Table 4-66
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - PARAM_REQUEST
Packet Format - PARAM_REQUEST
Message
Source
C7h 04h
Length of message (not including checksum). 1 Byte Length Field C7h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status
Request
Data
1 Byte
Checksum
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Request Data
Checksum
The host uses this message to request selected parameters from the decoder.
Host Requirements
The host requests the decoder’s current values for specific parameters by listing the parameter numbers in the Request_Data field. If the host asks for a parameter value not supported by the decoder, the decoder does not send a value for this unsupported param_num. If none of the requested values is supported, an empty
<Param_num><Param_num> <Param_num>...
2's complement sum of message contents excluding checksum.
Variable
2 Bytes Checksum of message.
SSI Commands 4 - 55
PARAM_SEND message is transmitted. If the host requests the value of all the parameters, it sends a special param_num called ALL_PARAMS (FEh) in the first position of the Request_Data field.
NOTE The decoder’s response to this command is PARAM_SEND, not ACK. Depending on the time-out set, and
the number of parameters requested, this reply may fall outside the programmable Serial Response Timeout. It should not be considered an error if the time-out is exceeded. To compensate, increase the time-out.
Decoder Requirements
When the decoder receives this message, it processes the information by formatting a PARAM_SEND message containing all requested parameters that are supported, and their values. The programmable Serial Response Time-out may be exce eded when processing this message, depending on the time-out set, and the number of parameters requested.
Hints for Requesting Parameter Values
Before forming a PARAM_REQUEST, be sure you are requesting parameters supported by the deco der (Table
4-67). To find out what parameters are supported, send an FEh (request all parameters). The decoder responds
with a PARAM_SEND which contains all the supported parameters and their values. This response may be multipacketed; ACK responses are not necessary.
Table 4-67
0 to 239 <param_num> 256 to 495 F0<param_num - 256> 512 to 751 F1<param_num - 512> 768 to 1007 F2<param_num - 768> 1024 or higher F8<param_num_high_byte><param_num_low_byte> Additionally, the following special codes are provided: All Parameters FE All Defaults FD
When using the FEh, it must be in the first position of the Request_Data field, or it is treated as an unsupported parameter.
Unsupported parameters are not listed in the PARAM_SEND response. Requesting unsupported parameters has no effect, but can cause delays in responding to requests for valid parameters. See Table 4-68 for example requests and responses.
Table 4-68
Parameter Numbers Format
Parameter Number Encoding
Example Requests and Replies
PARAM_REQUEST Message Response PARAM_SEND Message
#ALL #1, 9C #All, 1, 9C
05 C7 04 00 FE FE 32 0D C6 00 00 FF 01 00 02 01 9C 07 E6 63 FC 3E 06 C7 04 00 01 9C FE 92 09 C6 00 00 FF 01 00 9C 07 FD 8E 07 C7 04 00 FE 01 9C FD 93 0D C6 00 00 FF 01 00 02 01 9C 07 E6 63 FC 3E
4 - 56 Cordless SSI Programmer’s Guide
Table 4-68
#1, 9C, ALL #4 #ALL - 3 times #1 -3 times 533 (F1 15)
Example of buffer parameter above
512.
318 (F0, 3E)
Example of Word parameter above
256.
Example Requests and Replies (Continued)
PARAM_REQUEST Message Response PARAM_SEND Message
07 C7 04 00 01 9C FE FD 93 09 C6 00 00 FF 01 00 9C 07 FD 8E 05 C7 04 00 04 FF 2C 05 C6 00 00 FF FE 36 07 C7 04 00 FE FE FE FC 34 0D C6 00 00 FF 01 00 02 01 9C 07 E6 63 FC 3E 07 C7 04 00 01 01 01 FF 2B 0B C6 00 00 FF 01 00 01 00 01 00 FE 2D 06 C7 04 80 F1 15 FD 1D C6 00 00 FF
30 30 37 5A 5A 57 57 F7 7E Where:
F7
= Multipacket array
F1h 15h / 533
Value= "DS4308-SR00007ZZ"
06 C7 04 80 F0 3E FD 81 0A C6 00 00 FF
Where:
F4
= Word parameter
F0 3E / 318 04 FF
= Value 1279
F7 F1 15
=SSI number / parameter number
F4 F0 3E 04 FF
=SSI number / parameter number
12 00 00 44 53 34 33 30 38 2D 53 52 30 30
FB 0C
1118 (F8 04 5E)
Example of a Word parameter with a parameter number above
1024.
07 C7 04 80 F8 04 5E FD 54 0B C6 00 00 FF F4 F8 04 5E 00 00 FB E2
Where: F4 = Word Parameter F8 04 5E / 1118=SSI number / parameter number 00 00= Value

PARAM_SEND

Description
Responds to a PARAM_REQUEST, changes particular parameter values.
SSI Commands 4 - 57
Table 4-69
Length Opcode
Table 4-70
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - PARAM_SEND
Packet Format - PARAM_SEND
Message
Source
C6h
Length of message (not including checksum). 1 Byte Length Field C6h 1 Byte Identifies this Opcode type. 0 = Decoder
4 = Host
Status
Beep Code
1 Byte Identifies where the message is coming from.
1 Byte
Param
Data
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Beep code Param_Data
Checksum
This message is sent by the decoder in response to the PARAM_REQUEST message, or by the host to change the decoder’s parameter values.
Parameter numbers F0h (+256), F1h (+512), F2h (+768) access parameters whose numbers are 256 and higher. For example, to access the first parameter in the 256-511 range, use F0h and 00h.
See
Table 4-12 on page 4-11
See
Table 4-71 on page 4-58
2's complement sum of message contents excluding checksum.
. 1 Byte If no beep is required, set this field to FF.
. The parameter numbers and data to be sent to
the requester.
2 Bytes Checksum of message.
4 - 58 Cordless SSI Programmer’s Guide
The PARAM_SEND message encodes parameter plus data as shown in Table 4-71.
Table 4-71
Param Data Format
Parameter Number Encoding
0 to 239 256 to 495
<param_num> F0<param_num - 256>
512 to 751 F1<param_num - 512> 768 to 1007 F2<param_num - 768> 1024 or higher F8<param_num_high_byte><param_num_low_byte>
Additionally, there are modifiers to allow data other than byte values.
Table 4-72
Data Types
Data Type Format
String Word Array Multi-Packet
F3 <param num><len of data><val1><val2>... F4<param num><high byte><low byte> F6<param num><len of array><byte0><byte1>... F7<param num><packet len><2 byte
offset><byte0><byte1>...
Host Requirements
NOTE Due to the processing time of interpreting and storing parameters contained in the message, it may not be
possible for the decoder to send an ACK within the programmable Serial Response Timeout. It should not be considered an error if the time-out is exceeded. To compensate, increase the time-out.
The host transmits this message to change the decoder’s parameters. Be sure the Change Type bit in the Status byte is set as desired. If no beep is required, the beep code must be set to FFh, or the de coder beeps as defined in
Table 4-12.
Decoder Requirements
When the decoder receives a PARAM_SEND, it interprets and stores the parameters, then ACKs the command (if ACK/NAK handshaking is enabled). These parameters are stor ed permanently only if the Change T yp e (bit 3 of the Status byte) is set to 1. If bit 3 is set to 0 the changes are temporary, and are lost when the decoder is powered down.
If the PARAM_SEND sent by the host contains a valid beep code, the decoder issues the requested beep sequence, and changes the requested parameter values.
The decoder issues a PARAM_SEND in response to a PARAM_REQUEST from the host. It sends the values for all the supported parameter values requested in the PARAM_REQUEST message. No value is sent for any unsupported param_num. If none of the requeste d values is supported, the PARAM_SEND message is transmitted with no parameters. When sending this command, the Change Type bit (bit 3 of Status byte) can be ignored.
NOTE For multipacketed PARAM_SEND, the beep code appears in every packet.

REPLY_REVISION

Description
Replies to REQUEST_REVISION command with software revision string.
SSI Commands 4 - 59
Table 4-73
Length Opcode
Table 4-74
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - REPLY_REVISION
Packet Format - REPLY_REVISION
Message
Source
A4h 00h S/W_REVISION <space>
Length of message (not including checksum). 1 Byte Length Field A4h 1 Byte Identifies this Opcode type. 0 = Decoder 1 Byte Identifies where the message is coming from.
Status Revision Checksum
BOARD_TYPE <space> ENGINE_CODE <space>
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Revision
Checksum
Host Requirements
None.
Decoder Requirements
The decoder sends its revision string to the host. The revision string is decoder-dependent.
ASCII data variable Revision String fields indicate:
2's complement sum of message contents excluding checksum.
S/W_REVISION
software
BOARD_TYPE
board, F for flash
ENGINE_CODE
engine paired with the decoder (see the scan engine’s Integration Guide for the engine code value)
2 Bytes Checksum of message.
is the release name of the
is N for non-flash decoder
indicates the type of scan
4 - 60 Cordless SSI Programmer’s Guide

REQUEST_REVISION

Description
Requests the software revision string from the de co der.
Table 4-75
Length Opcode
04h A3h 04h
Table 4-76
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - REQUEST_REVISION
Packet Format - REQUEST_REVISION
Message
Source
Length of message (not including checksum). 1 Byte Length Field A3h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
The host sends this message to request revision information from the decoder. The decoder responds with REPLY_REVISION.
Decoder Requirements
The decoder sends its revision string to the host. See REPLY_REVISION on page 4-59 for format.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.

SCAN_DISABLE

Description
Prevents the decoder from scanning bar codes.
SSI Commands 4 - 61
Table 4-77
Length Opcode
04h EAh 04h
Table 4-78
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - SCAN_DISABLE
Packet Format - SCAN_DISABLE
Message
Source
Length of message (not including checksum). 1 Byte Length Field EAh 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
All scan attempts are disabled by this command until either a SCAN_ENABLE is sent, or the decoder is reset.
Decoder Requirements
When the decoder receives this command, it ignores all trigger/ST ART_SESSION requests until a SCAN_ENABLE command is received.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.
4 - 62 Cordless SSI Programmer’s Guide

SCAN_ENABLE

Description
Permits the decoder to scan bar codes.
Table 4-79
Length Opcode
04h E9h 04h
Table 4-80
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - SCAN_ENABLE
Packet Format - SCAN_ENABLE
Message
Source
Length of message (not including checksum). 1 Byte Length Field E9h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
The host sends the SCAN_ENABLE command to tell the decoder to allow scanni ng. Scanning is enabled upon power-up, so this command need only be send if a prior SCAN_DISABLE command has been sent.
Decoder Requirements
The decoder allows scanning and decoding upon receipt of this command.
2's complement sum of message contents excluding checksum.
NOTE At initial power-up, the decoder should assume SCAN_ENABLED.
2 Bytes Checksum of message.

SLEEP

Description
Requests to place the decoder into low power mode.
SSI Commands 4 - 63
Table 4-81
Length Opcode
04h EBh 04h
Table 4-82
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - SLEEP
Packet Format - SLEEP
Message
Source
Length of message (not including checksum). 1 Byte Length Field EBh 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status Checksum
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Host Requirements
The host sends this command to place the decoder into low power mode. If the low power mode parameter is enabled, the scanner goes into low power mode automatically, and the SLEEP command is not necessary.
Decoder Requirements
None.
2's complement sum of message contents excluding checksum.
NOTE The decoder may not sleep immediately upon acknowledging the command, as it may be busy processing
data at the time.
2 Bytes Checksum of message.
4 - 64 Cordless SSI Programmer’s Guide

SSI_MGMT_COMMAND

Description
The SSI protocol allows the host to send a command that is variable in length up to 255 bytes. Although there is a provision in the protocol to multi-packet commands from the host, it is not supported in the scanner. It is required that the host fragment packets using the provisions supplied in the Remote Scanner Management (RSM) protocol (A TTRIBUTE_SET_OFFSET, ATTRIBUTE_GET_OFFSET).
RSM command is encapsulated in SSI packet as follows.
Table 4-83
Length Opcode
Table 4-84
Length
Opcode Message Source Status
Field Descriptions - SSI_MGMT_COMMAND
Field Name Format Size Description
Packet Format - SSI_MGMT_COMMAND
Message
Source
80h 04h
Length of message (not including checksum).
80h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status
Management
Payload
1 Byte Length Field
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
Management Payload Checksum
The expected response in the positive case is SSI_MGMT_COMMAND that may be a multi-packet response. For devices that do not support the SSI_MGMT_COMMAND, the response will be the standard SSI_NAK (NAK_BADCONTEXT).
Host Requirements
None.
Decoder Requirements
Decoder reply the RSM command in the format below.
Table 4-85
Length Opcode
Response Packet Format - SSI_MGMT_COMMAND
80h 04h
Data Variable RSM command. 2's complement sum of
message contents excluding checksum.
Message
Source
2 Bytes Checksum of message.
Status
Management
Payload
Checksum

START_SESSION

Description
Tells decoder to attempt to obtain the requested data.
SSI Commands 4 - 65
Table 4-86
Length Opcode
04h E4h 04h
Table 4-87
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - START_SESSION
Packet Format - START_SESSION
Message
Source
Length of message (not including checksum). 1 Byte Length Field E4h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming from.
Status Checksum
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
This command tells the decoder to start a scan session. See Table 4-88 for the decoder’s reactions to this command in each operational mode.
Table 4-88
Operational
Decode Mode Image Capture Video Mode
ST ART_SESSION Actions
Mode
Decoder Requirements
Trigger Mode must be set to Host or a CMD_NAK DENIED response is issued.
2's complement sum of message contents excluding checksum.
Actions Upon Receipt of Command End Result of Session
The decoder attempts to decode a bar code Successful decode, or STOP_SESSION command The decoder clicks the shutter An image is captured The decoder continuously produces a video stream STOP_SESSION command
2 Bytes
Checksum of message.
4 - 66 Cordless SSI Programmer’s Guide

STOP_SESSION

Description
Tells decoder to abort a decode attempt or video transmission.
Table 4-89
Length Opcode
04h E5h 04h
Table 4-90
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - STOP_SESSION
Packet Format - STOP_SESSION
Message
Source
Length of message (not including checksum). 1 Byte Length Field E5h 1 Byte Identifies this Opcode type. 4 = Host 1 Byte Identifies where the message is coming
Status Checksum
1 Byte
from.
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Checksum
This command tells the decoder to stop a scan and decode attempt.
Host Requirements
None.
Decoder Requirements
None.
2's complement sum of message contents excluding checksum.
2 Bytes Checksum of message.

VIDEO_DATA

Description
Imager transmission of a video frame in JPEG format.
SSI Commands 4 - 67
Table 4-91
Length Opcode
Table 4-92
Field Name Format Size Description
Length Opcode Message
Source Status
Field Descriptions - VIDEO_DATA
Packet Format - VIDEO_DATA
Message
Source
B4h 00h
Length of message (not including checksum). 1 Byte Length Field B4h 1 Byte Identifies this Opcode type. 00 = Decoder 1 Byte Identifies where the message is coming
Status Data Checksum
from.
1 Byte
Bit 0: Retransmit
0 = First transmission 1 = Subsequent transmission
Bit 1: Continuation
0 = Last packet of a multipacket message 1 = Intermediate packet
Bit 2: Reserved
Always 0
Bit 3: Parameter Change Type
(for parameters) 0 = Temporary change 1 = Permanent change
Data
Checksum
The first packet of a video frame contains the video preamble, described below. The first packet also contains the JPEG data comprising the video frame. Multipacketing is expected in video mode.
2's complement sum of message contents excluding checksum.
Up to 251 Bytes
2 Bytes Checksum of message.
Image data.
4 - 68 Cordless SSI Programmer’s Guide
The video preamble consists of the following fields:
Table 4-93
File size Image Width Image Height Image Type
Bits per Pixel
In a multipacketed environment, one video frame is spread over several packets in the following format:
Video Preamble Fields
Field Field Size Description
4 byte field Number of bytes in the overall image. 2 byte field Image width in pixels 2 byte field Image height in pixels 1 byte field 0x31 = JPEG Image File
0x33 = BMP Windows Bit Map File 0x34 = TIFF File Note: These values are ASCII.
1 byte field Number of bits per pixel in image
0 = 1 bit/pixel Black White Image 1 = 4 bit/pixel 16 Gray Scale Image 2 = 8 bit/pixel 256 Gray Scale Image
Packet 1
Header Preamble Video Data, Part 1 Checksum
Packet 2
Header Video Data, Part 2 Checksum
.
. .
Packet N
Header Last of Video Data Checksum
This is re-assembled by the host into:
Preamble Video Frame
SSI Commands 4 - 69

WAKEUP

Description
Wakes up decoder after it was put into low power operation. If the decoder is in low power mode, sending the single character NULL (00) wakes up the decode r. This character
is only needed when hardware handshaking is not being used or is bypassed.
Host Requirements
Once the WAKEUP character is sent, the host must wait a period of time to permit the decoder to wake up. The decoder remains awake for a fixed period of time after wake up. These time periods vary by decoder.
Decoder Requirements
The decoder must not go back into low power mode for a decoder-dependent time period after waking up.
NOTE The mechanism to wake up a decoder in this manner also works if characters other than WAKEUP are
sent to the decoder. There is, however, no guarantee that these commands are interpreted correctly upon power-up. Therefore, it is not recommended that characters other than WAKEUP be used to awaken the decoder.
The WAKEUP character has no ef fect if sent when th e scanner is awake. If the host is unsure of the scanner state, it should send the wakeup character when it wants to communicate with the scanner.
4 - 70 Cordless SSI Programmer’s Guide
APPENDIX A MODEL SPECIFIC DETAILS

CS4070 Details

Table A-1
REQUEST_REVISION PL3307 engine replies. PARAM_REQUEST PARAM_SEND CAPABILITIES_REQUEST PL3307 engine replies. DECODE_DATA BEEP See LED On/Off LED selection field values:
CHANGE_ALL_CODE_TYPES SCAN Enable/Disable AIM On/Off START SESSION STOP_SESSION is not supported.
CS4070 Specific Commands
Supported SSI Commands Notes
Table 4-4 on page 4-10
1 - Green LED on/off 2 - Amber LED on/off 4 - Red LED on/off.
for beep codes.
ILLUMINATION On/Off
A - 2 Cordless SSI Programmer’s Guide
APPENDIX B USING SCAN-TO-CONNECT
WITH AN SSI APPLICATION
The Cordless Scan-To-Connect application enables a Bluetooth scanner to pair directly to a PC/tablet/phone by scanning an on-screen bar code, replacing the need for a paper pairing label. This paperless pairing solution wirelessly connects the scanner directly to the host, without the need of a cradle.
If using Scan-To-Connect to pair your scanner to a PC/tablet/phone host, the scanner must first be configured to communicate properly with the host. This includes, but is not limited to, scanning the communication protocol parameter bar code. Use 123Scan between the scanner and the host.
Follow the sequence below when pairing a scanner to a host PC/tablet/phone.
1. Scanner - Start with scanner at factory default.
2. Scanner - Configure the scanner for Bluetooth SSI communication by scanning the Bluetooth SSI Profile
configuration bar code.
3. Host - Launch the target application on the host PC/tablet/phone. The application opens a virtual com over
a Bluetooth connection.
4. Host - On the host PC/tablet/phone, launch Scan-To-Connect. Scan-To-Connect creates a pairing bar
code.
2
to generate the 2D parameter bar code that sets up communication
5. Scanner - Us the scanner to scan the pairing bar code on the host PC/tablet/phone screen.
6. Host - The scanner and host are now paired and ready to use.
NOTE Once a scanner and host are paired, no repairing (rescanning the Scan-To-Connect pairing bar code) is
required, even upon device wake up, assuming auto-reconnect was enabled.
B - 2 Cordless SSI Programmer’s Guide
APPENDIX C CODE SAMPLES

Code Samples

Table C-1
Disable Scanning 0x04 0xea 0x00 0x08 0xff 0x0a Enable Scanning 0x04 0xe9 0x00 0x08 0xff 0x0b Send Beep/LED Code Sequence to the
Scanner Receive Data From the Scanner 0x10 0xf3 0x00 0x00 0x01 0x01 0x00 0x08 0x41 0x48 0x33 0x39 0x35
Sample Code
Action Code Sequence Sample
0x05 0xe6 0x04 0x00 0x01 0xff 0x10 (where 0x01 = high short beep)
0x39 0x32 0x31 0xfd 0x2d (for "AH395921" bar code of type code 39)

Calculating a Checksum

Sample code to calculate checksum:
checksum = 0; for (int i = 0; i < length; i++)
checksum += msg[i];
checksum = ~checksum + 1;
Sample code to add checksum to message:
msg[length++] = checksum >> 8; msg[length++] = checksum & 0x00ff
Sample CMD_ACK message with checksum:
{0x04, 0xd0, 0x04, 0x80, 0xFE, 0xA8}
C - 2 Cordless SSI Programmer’s Guide
Index
A
aim mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-9
B
bar code data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
beep code definitions . . . . . . . . . . . . . . . . . . . . . . . . 4-11
Bluetooth connection . . . . . . . . . . . . . . . . . . . . . .1-1, 2-1
C
calculating a checksum . . . . . . . . . . . . . . . . . . . . . . . C-1
checksum calculation . . . . . . . . . . . . . . . . . . . . . . . . C-1
code samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
command and control . . . . . . . . . . . . . . . . . . . . . . . . 1-1
commands
ABORT_MACRO_PDF . . . . . . . . . . . . . . . . . . . . 4-6
AIM_OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-7
AIM_ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-8
BATCH_DATA . . . . . . . . . . . . . . . . . . . . . . . . . 4-17
BATCH_REQUEST . . . . . . . . . . . . . . . . . . . . . 4-18
BEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-10
CAPABILITIES_REPLY . . . . . . . . . . . . . . . . . . 4-14
CAPABILITIES_REQUEST . . . . . . . . . . . . . . . 4-13
CHANGE_ALL_CODE_TYPES . . . . . . . . . . . . 4-19
CMD_ACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-20
CMD_ACK_ACTION . . . . . . . . . . . . . . . . . . . . . 4-22
CMD_NAK . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-24
CUSTOM_DEFAULTS . . . . . . . . . . . . . . . . . . . 4-27
DECODE_DATA . . . . . . . . . . . . . . . . . . . . . . . . 4-28
EVENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-41
FLUSH_MACRO_PDF . . . . . . . . . . . . . . . . . . . 4-43
FLUSH_QUEUE . . . . . . . . . . . . . . . . . . . . . . . . 4-44
ILLUMINATION_OFF . . . . . . . . . . . . . . . . . . . . 4-45
ILLUMINATION_ON . . . . . . . . . . . . . . . . . . . . . 4-46
IMAGE_DATA . . . . . . . . . . . . . . . . . . . . . . . . . . 4-47
IMAGER_MODE . . . . . . . . . . . . . . . . . . . . . . . . 4-49
LED_OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-50
LED_ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-51
list by opcode . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-4
list, alphabetical . . . . . . . . . . . . . . . . . . . . . . . . . 4-1
PAGER_MOTOR_ACTIVATION . . . . . . . . . . . 4-52
PARAM_DEFAULTS . . . . . . . . . . . . . . . . . . . . 4-53
PARAM_REQUEST . . . . . . . . . . . . . . . . . . . . . 4-54
PARAM_SEND . . . . . . . . . . . . . . . . . . . . . . . . . 4-57
REPLY_REVISION . . . . . . . . . . . . . . . . . . . . . . 4-59
REQUEST_REVISION . . . . . . . . . . . . . . . . . . . 4-60
SCAN_DISABLE . . . . . . . . . . . . . . . . . . . . . . . 4-61
SCAN_ENABLE . . . . . . . . . . . . . . . . . . . . . . . . 4-62
SLEEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-63
SSI_MGMT_COMMAND . . . . . . . . . . . . . . . . . 4-64
START_SESSION . . . . . . . . . . . . . . . . . . . . . . 4-65
STOP_SESSION . . . . . . . . . . . . . . . . . . . . . . . 4-66
VIDEO_DATA . . . . . . . . . . . . . . . . . . . . . . . . . . 4-67
WAKEUP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-69
communication protocol . . . . . . . . . . . . . . . . . . . . . . 2-1
E
event codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-42
I
image preamble fields . . . . . . . . . . . . . . . . . . . . . . . 4-48
N
NAK types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-26
P
parameter values
requesting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4-55
1 - 2 Cordless SSI Programmer’s Guide
R
receiving bar code data . . . . . . . . . . . . . . . . . . . . . . . 1-1
S
sample code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C-1
scanners supported . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
Scan-To-Connect . . . . . . . . . . . . . . . . . . . . . . . . . . . B-1
Serial Port Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
software handshaking
responses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3-3
SPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2-1
support os . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
supported scanners . . . . . . . . . . . . . . . . . . . . . . . . . . 1-1
T
transmission responses . . . . . . . . . . . . . . . . . . . . . . . 3-3
V
video preamble fields . . . . . . . . . . . . . . . . . . . . . . . . 4-68
Zebra Technologies Corporation Lincolnshire, IL U.S.A. www.zebra.com
ZEBRA and the stylized Zebra head are trademarks of Zebra Technologies Corporation, registered in many jurisdictions worldwide. All other trademarks are the property of their respective owners.
© 2021 Zebra Technologies Corporation and/or its affiliates. All rights reserved.
MN001667A02EN Revision A January 2021
Loading...