Page 4
QR Code symbology #ReaderState Settings that affect the transition from one state to another (i.e. Active to Idle) D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 4 of 106 ...
Page 5
Settings relating to the reader accepting text commands #UPC UPC symbology #Vibration Settings that affect vibration in readers with a vibration motor D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 5 of 106 ...
When sending commands from the host, there are two formats that can be used: packetized commands and text commands. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 6 of 106 ...
RS232, USB Virtual COM (VCOM) or USB HID mode by using appropriate communication software. Code Reader Batch (CRB) System The Code Reader Batch (CRB) system is a convenient method for creating and maintaining a set of commands that can be sent to the Reader. The commands in the CRB file are immediately processed by the reader.
Reader from keyboard to HID communication mode. See register 1B. USB Enumeration PID The following Product ID (PID) are used by Code to identify their products when connected to a PC. All Code products use the same Vendor ID (VID) of 11FA...
Page 10
Start of a group of ‘z’ packets to follow, terminated by a ‘d’ or ‘e’ packet (‘d’ for complete group, ‘e’ for incomplete group) D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 10 of 106 ...
Page 11
In “packet-mode,” the packet-start and crc16 fields are always sent. (See Figure 1) D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 11 of 106 ...
Page 12
– up to and including end or until timeout – should be discarded by the Host. If the Host had requested a response, it should reissue the request. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 12 of 106 ...
Single ASCII character in the set defined in section 7.3 data-size byte value in range [0,240], which indicates size of data (in bytes) D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 14 of 106 ...
(The Reader will respond with d containing a space-separated list of all setting values (in order, expressed as hexadecimal ASCII characters) or with e.) D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 15 of 106 ...
Page 16
P then a W command or use the newer C command. C(2B)0 is the same as these two commands combined: P(2B)0, W D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 16 of 106 ...
Page 17
YYY (change those bits to 0s) for register XXX (see Q command). For example CQ(1F7)40 will clear bit 6 of register 1F7 and save this setting. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 17 of 106 ...
Page 19
Configures in on-counter (In-Stand) or off-counter (Out-of-Stand) behavior of the CR5000 & CR5000RTC to the specified mode. These codes are designed to configure complex modes in a single command, even if Code adds or changes some of the underlying commands at a later date.
Page 20
Bluetooth® address. Format: HTc<Bluetooth®_Address> Where <Bluetooth®_Address> is the target Bluetooth® address represented in 12 hexadecimal characters. Example: HTcAC220B48F040 D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 20 of 106 ...
Page 21
When disconnected, the T500 will attempt to reconnect to the last host periodically as determined by this setting value (in ms). D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 21 of 106 ...
Page 22
Requests the Reader to restore settings to defaults (no data). Note: J(prefix) and J(suffix) set the respective prefix or suffix to their default value. For most readers this is clearing the prefix or suffix. For the CR900FD, however, the suffix is reset to a CodeXML® encoded enter key.
Page 23
ASCII hexadecimal characters (with optional minus sign) or ASCII decimal characters preceded by the ‘#’ character, e.g., Q(2e)1000 or Q(2e)#4096. The ones-complement of the specified integer is AND’ed with the existing register value. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 23 of 106 ...
Page 24
Requests the Reader to upload the specified stored file; data contains the file name, terminated with ASCII NUL. The Reader will respond with: A ‘g’ packet containing “filename<tab>(size)” D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 24 of 106 ...
If f response or timeout, restart the sequence at step 1. If e response, repeat step 5. If d response, file download has completed successfully. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 25 of 106 ...
Binary Dip Switch Some registers are what Code terms a ‘Binary Dip Switch’ where the value of each bit of the data string switches on or off some part of the behavior of that register. The bits are numbered from least significant to most (a.k.a.
This document will refer to FOI 0 as HD and FOI 1 as Wide. Note: The CR900FD is a single Field of Interest reader. There is no FOI 0 in the CR900FD. Reader Setting Persistence Some reader settings have special behaviors under certain conditions, such as when resetting to factory defaults.
For example, when the reader is docked, the value of the In-Stand Default Event register (2C2) is copied to the Default Event register (C4). D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 28 of 106 ...
In-Stand or Out-of-Stand settings directly, then event 0xF2 is not necessary. As an example, to create a custom configuration code that sets the beep volume of the CR5000 & CR5000RTC to 30% at all times and configures the on-counter (In-Stand) Trigger mode with the...
Page 32
Straight 2 of 5 with 3 start/stop is also called Industrial 2 of 5. CD12.3.0 supports Industrial 2 of 5. CD 13.1.4 supports IATA 2 of 5. Keywords: #2Of5 D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 32 of 106 ...
Page 33
On the last output report comm protocol is set to raw mode, comm expect response is false and comm mode is USB Downloader (HID) mode. Persistence: Protected Keywords: #Communications D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 33 of 106 ...
Page 34
1: Enabled Note: This register has no effect on a CR900FD without the proper 2D barcode decoding license. Keywords: #PDF417 D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 34 of 106 ...
Page 35
Standard QR. CD supports Model 1 even though Model 1 is considered obsolete. Keywords: #QR D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 35 of 106 ...
Page 36
2D3. Keyboard mapping is handled through Keyboard XML files that are provided by Code or customized by the user. Information D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 36 of 106 ...
Page 38
Keep processing the “read barcode” events for this amount of time (act as if the button stays down for this time) Keywords: #ButtonStayDownTime D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 38 of 106 ...
Page 39
The combination of pressing buttons defined by trigger 2 and trigger 4 being pressed simultaneously. Note: Register C4 contains the list of valid events. Keywords: #DefaultEvent D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 39 of 106 ...
Page 40
Host must be received. (Pending text command data is discarded when the timeout is exceeded.) Keywords: #Communications, #TextCommands D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 40 of 106 ...
Page 41
The % is not recognized as an escape character Accept On Timeout: Note: See register 156 for details Keywords: #TextCommands D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 41 of 106 ...
Page 42
MaxiCode Decoding, Mode 6 1: Enabled Note: This register has no effect on a CR900FD without the proper 2D barcode decoding license. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 42 of 106 ...
Page 45
This register enables concatenating a standard UPC with the secondary supplemental UPC or EAN data (two or five digits), when present. Keywords: #UPC, #EAN D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 45 of 106 ...
Page 46
MSI Mod11/10 with removal: set 4F to D (hex) MSI Mod10/10 with removal: set 4F to F (hex) D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 46 of 106 ...
Page 48
If this register is set to a value greater than zero and no checksum is present in the barcode or the checksum is incorrect, the barcode will not read. Keywords: #Code39 D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 48 of 106 ...
Page 50
0xF0. When motion is detected, this event is posted. See register 39 or C4 for list of events. Keywords: #MotionDetection D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 50 of 106 ...
Page 51
Current state: Idle (Mid power usage) Next state: Standby Note: Only applies to readers using Bluetooth® communication modes. Keywords: #ReaderState D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 51 of 106 ...
Page 52
(FOI 1) Y Offset Decoder uses the pixels after the specified pixel offset in the Wide field (FOI 1). See section 9.2 D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 52 of 106 ...
Page 55
Upper half is Wide field (FOI 1); lower half is High Density (FOI 0). The High Density field (FOI 0) does not exist on the CR900FD. Keywords: #PictureSettings D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 55 of 106 ...
Page 56
Valid Range: 1 to FF (#255) Milliseconds (#10) The Host is requested to poll the USB device at the specified period. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 56 of 106 ...
Page 58
(FOI 1) Height (#960) Decoder uses only the specified pixel height in the Wide field (FOI 1). See section 9.2 D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 58 of 106 ...
Page 59
Disconnect from the Host when the reader enters sleep mode. Note: Only applies to readers using Bluetooth® communication modes. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 59 of 106 ...
Page 60
Setting this value > 0 makes it easier to select combinations of triggers (e.g. trigger 3, which is trigger 1 & 2 asserted together). D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 60 of 106 ...
Page 63
CodeXML Modems locked to a different Reader. Note: Register C4 contains the list of valid events. Keywords: #Beep, #DefaultEvent D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 63 of 106 ...
Page 64
For CodeXML Modems, please refer to the D018582 Modem ICD document for details on the setPin command. Keywords: #Encryption D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 64 of 106 ...
Page 65
Use this register to add an additional delay amount to the built-in delay. Keywords: #MotionDetection D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 65 of 106 ...
Page 68
This is the additional amount of time that the reader will wait after connecting before sending data. The delay will only be used with the associated communication mode. Keywords: #Communications D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 68 of 106 ...
Page 69
Keywords: #HanXin Decoding Extras This is a bitmask that enables additional decode data post- processing. Binary Dip Switch D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 69 of 106 ...
Page 71
With this enabled, user may be able to scan barcode labels faster than the reader or modem can output the data to the host. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 71 of 106 ...
Page 72
If Enabled, disconnect when the reader is set to discoverable mode (see Section 10.1 for more info on the discoverable command) D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 72 of 106 ...
Page 73
(#70) When the error log exceeds the maximum length, it will be truncated to this percentage of its maximum size D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 73 of 106 ...
Page 75
29C added to the value in register 285. Note: Supported on CR4405 only. Keywords: #Battery D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 75 of 106 ...
Page 76
When indicating a low battery (and not charging), this is the blink duration. Note: Supported on CR4405 only. Keywords: #Battery D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 76 of 106 ...
Page 77
(such as a button press). Note: Supported on CR4405 only. Keywords: #Battery D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 77 of 106 ...
Page 78
LED color sequences (which are defined in register 298). Note: Supported on CR4405 only. Keywords: #Battery D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 78 of 106 ...
Page 79
LED color sequences (which are defined in register 299). Note: Supported on CR4405 only. Keywords: #Battery, #Charging D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 79 of 106 ...
Page 82
If device battery drops below this level, sled will start charging the device. Note: Supported on CR4405 only. Keywords: #Battery D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 82 of 106 ...
Page 83
In-Stand if the reader is in the charging base. Note: Applies to Bluetooth® readers only. Keywords: #Stand, #StandDetect D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 83 of 106 ...
Page 84
(and communication) will be restored to the iPhone. Note: Supported on CR4405 only. Keywords: #Battery D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 84 of 106 ...
Page 85
Note: Bit 0, 1, & 2 are for DL Formatting and require license 5014. Bit 3 is for Stand Alone Age Verification (CR5000RTC only) and require license 5017. Keywords: #AgeVerification D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 85 of 106 ...
Page 86
1: If the button event is a JavaScript event, the button event will continue to be generated until the button is released. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 86 of 106 ...
Page 87
9D will be set to the value in this register. Note: Applies to CR5000 & CR5000RTC readers only. Keywords: #Stand, #StandModes D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 87 of 106 ...
Page 88
Note: Supported on CR4405 only. Keywords: #Battery D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 88 of 106 ...
Page 89
Note: Readers with a vibration motor are the CR1400, CR1400XHD, CR1428, CR2600, CR2600XHD, CR3600, CR3600DPM and CR6000. Keywords: #Stand, #Vibration D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 89 of 106 ...
Page 90
If Disabled, or if the modem does not request USB scancodes, the reader will send the data as the decoded bytes. Note: Supported on Bluetooth® readers only. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 90 of 106 ...
Page 91
QCB, set this register to 0x10001. To post the 0x40 JavaScript event after scanning a QCB, set this register to 0x400003. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 91 of 106 ...
Page 92
This assumes the user does not perform some other action that would “wake” the reader normally, like press a button. Keywords: #ReaderState D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 92 of 106 ...
Page 93
F will be set to the value in this register. Note: Applies to CR5000 & CR5000RTC readers only. Keywords: #Stand, #StandModes D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 93 of 106 ...
Page 94
2E3 will be set to the value in this register. Note: Applies to CR5000 & CR5000RTC readers only. Keywords: #Stand, #StandModes D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 94 of 106 ...
Page 95
0 or larger or equal to Stand Alone Age Verification Primary Age. Note: Applies to CR5000RTC readers only. Keywords: #AgeVerification D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 95 of 106 ...
Page 96
Note: Undefined behavior will result if this setting is enabled when Serial Flow Control (0x1F) is enabled. Keywords: #GoodReadRTS D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 96 of 106 ...
Page 97
Minnesota DL is one example that does not include expiration. Note: Applies to CR5000RTC readers in SimpleAV mode only. Keywords: #SimpleAV D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 97 of 106 ...
“reverse” direction (right bars more significant than left bars for horizontal symbols; bottom bars more significant than top bars for vertical symbols). D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 100 of 106 ...
The CRC16 required by Reader to Host packets (see Section 6.2) can be calculated using the following sample C code. This CRC16 consists of two consecutive bytes, each in range [0,255] most significant byte first. A CRC16 is calculated on each packet byte, over the entire packet, excluding the prefix and the CRC16 itself.
Page 102
) c = (c << charBits) ^ crcTab[( c >> diffBits ) ^ *p++]; return c; /*eof*/ D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 102 of 106 ...
The CRC14 required by Host to Reader packets (see Section 7.2) can be calculated using the following sample C code. This CRC14 consists of two consecutive bytes, each in range [0,127] most significant byte first. A CRC16 is calculated on each packet byte, over the entire packet, excluding the prefix and the CRC16 itself.
Page 106
We reserve the right to modify such information as we find necessary based on client requests, available technology, and other eventualities. D014465 CR1400 CR1000 CR2300 CR2600 CR3600 CR44X5 CR8000 CR900FD CR6000 CR5000 T500 Client Version ICD Page 106 of 106 ...
Need help?
Do you have a question about the CR900FD and is the answer not in the manual?
Questions and answers