0/29/2014 C005066 Client Version of the Interface Configuration Document For: CR900FD CR1000 CR1400 CR2300 CR2600 CR3600 CR3600DPM CR4405 CR6000 CR8000 Page 1 of 72 © 2014 The Code Corporation 12393 South Gateway Park Place Suite 600, Draper, UT 84020 (801) 495-2200 FAX (801) 495-0280
10/29/2014 Table of Contents 1 2 3 Scope .................................................................................................................... 3 Notations .............................................................................................................. 3 Host to Reader Command Overview ..................................................................... 4 3.1 Packetized Commands ...................................................................................... 4 3.
10/29/2014 1 Scope This Interface Configuration Document (ICD) specifies the communication protocol between the Code Reader™ 900FD (CR900FD), Code Reader™ 1000 (CR1000), Code Reader™ 1400 (CR1400), Code Reader™ 2300 (CR2300), Code Reader™ 2600 (CR2600), Code Reader™ 3600 (CR3600), Code Reader™ 3600 DPM (CR3600 DPM), Code Reader™ 4405 (CR4405), Code Reader™ 6000 (CR6000) or Code Reader™ 8000 (CR8000) hardware and application software that runs on the Host computer, specific Reader commands, examples of a va
10/29/2014 3 Host to Reader Command Overview This section is intended to introduce developers/users to the basic command types of the Reader. There are two ways to send a command to the Reader: from a Host computer, or by scanning a barcode containing a command sequence. In addition, there are two methods of sending a command from a Host computer to the Reader: packetized and text commands. 3.1 Packetized Commands Packetized commands are the most reliable way to communicate to the Reader.
10/29/2014 Note: USB keyboard communications are one-way, from the Reader to Host only. A special sequence is available to switch the Reader from keyboard to HID communication mode. See register 1B. 4.
10/29/2014 data-packet-number: any byte value in the range [0,7f]; increments with each packet; does not increment with resends; used with z and a packets only cmd-packet-number: any byte value in the range [80-ff]; increments with each packet; does not increment with resends; used with all packets other than z and a timestamp: big-endian 32-bit number, indicates timestamp in seconds (relative to Reader power-up) (For all but z packets, the timestamp represents the time the packet was sent to the Host; for
10/29/2014 The following packet-types are defined: a Append decode data; indicates that data contains the first part of the decode data. A sequence of ‘a’ packets always ends with a ‘z’ packet. The data of all ‘a’ packets in a group and the final ‘z’ packet should be concatenated by the Host. d Done response; command and its associated data were successfully received; data optionally contains a null-terminated text message.
10/29/2014 Raw Mode ‘z’ (data) packet: Data (non-z) packet:example ‘i' CodeXML® ‘i’ response example CodeXML-start SOH ‘X’ RS packet-type data CodeXML-end ‘i’ VVV… EOT ‘ap/’ Packet Mode ‘z’ (data) packet: packet-start SOH ‘X’ ‘R’ ‘1’ packet time Reader ID data size number stamp (4 bytes) (2 bytes) (1 byte) (4 bytes) Data packet-end crc16 data (2 bytes) (non-z) packet:example ‘i’ packet-start CodeXML® ‘i’ response packet-end packet time Reader ID data size SOH ‘X’ ‘R’ ‘1’ number stamp SOH
10/29/2014 6 Host to Reader Communication Commands and data from the Host to the Reader are sent in the form of commands as specified in this section. Commands are normally sent in USB Native, VCOM, or RS232 modes. Commands may not be sent via keyboard modes. Two command formats are supported: text-command and packetized-command. Text-command format is applicable to RS232 and VCOM modes but only if the Reader is configured to accept this format. Packetized-command format is applicable to all interfaces.
/29/2014 For example, to send the Reader commands by typing commands in HyperTerminal: ;>PA1 P(xx)yy P(xx)yy W PA8 Where ;>PA1 enables text commands with echo and command responses, P%xxyy can be any desired commands, W saves the settings just sent by the P command, and PA8 turns text commands back off (except for the initial sequence). (Note: ‘A’ is the ASCII character that corresponds to 41 hex, thus P%418 would be equivalent.) Note: ;>PA1 is used for interactive text commands.
10/29/2014 6.3 Command Types # Causes the Reader to beep and vibrate the specified number of times; data contains the number as a single character in the range [0,127]. (The Reader will respond with d or e.) Example – beep three times: #%03 Note: Behavior is defined per platform. CR900FD/CR1000/CR2300/CR8000 – Beep three times. CR1400/CR2600/CR3600/CR6000 – Beep and vibrate three times. $ ( Note: Readers with a vibration motor are the CR1400, CR2600, CR3600 and CR6000.
10/29/2014 2 Indicates a continuation of a file download; data contains the next portion of the file data. 5 (The Reader will not send any response.) Indicates the end of a regular file download; data contains the name of the file, which is from 1 to 200 letters, digits, periods, hyphens, and underscores, terminated with ASCII NUL. 9 (The Reader will respond with d, e, or f.) Requests the Reader to delete a file from its storage; data contains the file name, terminated with ASCII NUL.
10/29/2014 @ Causes the Reader to reset its internal date/timestamp to the specified time; data contains the date and/or time in one of the following formats. yyyy-mm-dd hh:mm:ss yyyy-mm-dd hh:mm hh:mm:ss hh:mm Note: the separators are optional; only digits are significant. (The Reader will respond with d or e.
10/29/2014 G Get setting from Reader if followed by a register number in parenthesis. G([prefix|suffix]) will return the prefix or suffix text. (The Reader will respond with d and the setting valueor with e. The setting value, if numeric, will be in hexadecimal, padded to 8 digits.) I Note: see Section 8 for possible Reader settings. Requests the Reader to send its information string (no data). (The Reader will respond with i or e.
10/29/2014 P Put a value in a Reader register; data contains a printable ASCII string in the following format: hexadecimal register number in parentheses followed by a 32-bit signed integer value, expressed in ASCII hexadecimal characters (with optional minus sign) or ASCII decimal characters preceded by the ‘#’ character, e.g., /(2e)1000 or /(2e)#4096; the specified integer replaces the existing register value. (The Reader will respond with d or e.
10/29/2014 W Requests the Reader to write its current settings from RAM to its non-volatile memory. (The Reader will respond with d or e.) Note: The W command saves changes that have been make with a /, O, P or Q so those settings will survive a reboot. If you issue a P(2B)0 command to change the value of register 2B from 1, then reboot the reader, the value of the 2B register will be 1 when the reader is ready again.
10/29/2014 3) Send a series of 2 commands, each with a portion of the file. (The Reader will not send any response.) 4) Send a 5 command to end the download and install the file. 5) Wait for a d, e, or f response from the Reader or a timeout. a) If f response or timeout, restart the sequence at step 1. b) If e response, repeat step 5. c) If d response, file download has completed successfully.
10/29/2014 Bit (R to L) Controls 0 NEC 2 of 5 Decoding 1 Checksum checking 2 Strip checksum from the result 3 1 Digit Symbol Allowed 4 2 Digit Symbol Allowed Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled Given the settings above, the binary string to turn on NEC 2 of 5 decoding with checksum checking and the checksum stripped from the result string, allowing 2 digit symbols is 10111 (bits left to right).
10/29/2014 Reg Setting Name 00 Bluetooth® Radio Out-of-range indicator 04 05 08 Continuous Illumination During Read USB Declaration Wait State Reader Packet Format Default (Hex) 0 Comment Binary Dip Switch Bit 0 0 1 Controls 0 Vibrate 1 Beep Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled Note: Readers with a vibration motor are the CR1400, CR2600, CR3600 and CR6000.
10/29/2014 Reg Setting Name 0A NEC 2 of 5 Symbology Default (Hex) 0 Comment Binary Dip Switch Bit 0B Matrix 2 of 5 Symbology 0 Controls 0 NEC 2 of 5 Decoding 1 Checksum checking 2 Strip checksum from the result Binary Dip Switch Bit 0C Telepen Symbology 0 0F Targeting Contro 1 13 1D Barcode Aggressiveness 0 Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled Controls 0 Matrix 2 of 5 Decoding 1 Checksum checking 2 Strip checksum from the result Value 0: D
10/29/2014 Reg Setting Name 19 Data Matrix Symbology Default (Hex) 3 Comment Binary Dip Switch Bit 1A Straight 2 of 5 Symbology 0 Controls 0 Data Matrix Decoding 1 Inverse Data Matrix Decoding 2 Mirror Data Matrix Decoding Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled Note: This register has no effect on a CR900FD without the proper 2D barcode decoding license. 0: Disabled 1: Enabled Straight 2 of 5 (with 2 or 3 start/stop codes) Decoding.
10/29/2014 Reg Setting Name 1B Communications Mode Default (Hex) USB decode board: 2 RS232 decode board: 1 CR2300: CR2600: CR3600: 5 CR4405: C (#12) Comment 1: RS232 Serial 2: USB Keyboard 3: USB IBM POS 4: Bluetooth (SPP) 5: USB Native (HID) 6: USB Virtual COM 7: USB HID POS -Terminal 131 9: Wi-Fi A (#10): Bluetooth Keyboard B (#11): iOS® External Accessory mode C (#12): iOS® Keyboard Mode D (#13): iOS® USB Pass through Mode This setting is used in conjunction with registers 08 and 42 to configure the
10/29/2014 Reg Setting Name 1D Serial Stop Bits 1E 1F 22 26 29 Serial Data Bits Serial Flow Control Serial Parity Beep Volume (percent) PDF417 Symbology Default (Hex) 1 Comment 1: Send 1 Stop Bit 2: Send 2 Stop Bits 8 Also see registers: 1C, 1E, 1F, 22 7: 7 Data Bits 8: 8 Data Bits 0 Also see registers: 1C, 1D, 1F, 22 0: Disabled 1: Hardware 0 64 (#100) 1 Also see registers: 1C, 1D, 1E, 22 0: None 1: Odd 2: Even Also see registers: 1C, 1D, 1E, 1F Valid Range: 0 to 64 (#100) Percent Thi
10/29/2014 Reg Setting Name 2B QR Code Symbology Default (Hex) 1 Comment Binary Dip Switch Bit Controls 0 QR Code Standard Decoding 1 QR Code Inverse Decoding 2 Micro QR Code Decoding 3 Unused 4 QR Code Mirror Decoding 5 Model 1 QR Code Decoding Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled Note: This register has no effect on a CR900FD without the proper 2D barcode decoding license.
10/29/2014 Reg Setting Name 2C Active Mode Countdown Timer (ms) Default (Hex) 2710 (#10000) Bluetooth: Extra Cabled Active Time Timer (ms) Comment Valid Range: 0 to 7FFFFFFF Milliseconds. This state: Active (Highest power usage) Next state: Idle Counts down to the end of Active Mode.
10/29/2014 Reg Setting Name 32 Idle Mode Countdown Timer (ms) Default (Hex) 64 (#100) Bluetooth readers: Active Mode Countdown Timer (ms) Comment Valid Range: 0 to 7FFFFFFF Milliseconds. This state: Idle (Mid power usage) Next state: Standby Counts down to the end of Idle Mode.
10/29/2014 Reg Setting Name 39 Trigger 1 Default (Hex) 3 Comment The specified event is posted upon press of this button. For the CR2600 and CR2300, trigger 1 is the button towards the back on the top of the reader. For the CR3600, trigger 1 is the button to the left of the center navigation buttons. 3A 3B 3C Trigger 2 Trigger 3 Trigger 4 3 See the description for Register C4 for a list of valid events.
10/29/2014 Reg Setting Name 41 Text Commands Default (Hex) 8 Comment Binary Dip Switch Bit Controls 0 Text Commands 1 Suppress Echo 2 Suppress Responses 3 4 5 Disable Text Commands but Enable Magic Sequence; See Below Suppress URL Decode; See Below Accept On Timeout Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled Magic Sequence: The Magic Sequence is the string “;>PAx” where x is 1, 3, or 7 as defi
10/29/2014 Reg Setting Name 42 Expect Acknowledgement From Host Default (Hex) 0 Comment 0: Reader doesn’t wait for acknowledge 1: Reader will retransmit data when Host doesn’t acknowledge receipt This setting is used in conjunction with registers 08 and 1B to configure the communication mode between standard “one-way” and “two-way” modes.
10/29/2014 Reg Setting Name 48 Codabar Checksum Default (Hex) 0 Comment Binary Dip Switch Bit 49 4A Code 39 Full ASCII Symbology Composite Codes 0 0 Controls 0 Codabar Checksum Checking 1 Strip Checksum From Output Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled Code 39 Full ASCII Decoding 0: Disabled 1: Enabled Composite Code Decoding 4B Postal Code Symbology 0 Also see registers: 34, D8, DB Binary Dip Switch Bit Controls 0 USPS Postnet 1 USPS Planet 2
10/29/2014 Reg Setting Name 4C GS1 DataBar™ Symbology 4D UPC Expansion Default (Hex) 1F (#31) 0 Comment Binary Dip Switch Bit Controls Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0: Disabled 1: Enabled 0 GS1 DataBar™ Expanded decoding 1 GS1 DataBar™ Expanded Stacked decoding 2 GS1 DataBar™ Limited decoding 3 GS1 DataBar™ Omnidirectional and GS1 DataBar™ Truncated decoding 0: Disabled GS1 DataBar™ Stacked and GS1 4 DataBar™ Stacked Omnidirectional decoding 0: Disabled 1: Enabled
10/29/2014 Reg Setting Name 4F MSI Plessey Symbology Default (Hex) 0 Comment Binary Dip Switch with bits 1-3 comprising one value Bit Controls 0 MSI Plessey Bits 1-3 This is a value based setting.
10/29/2014 Reg Setting Name 53 Decoder HD field (FOI 0) Width 54 Default (Hex) 280 (#640) Decoder HD field (FOI 0) Height 3C0 (#960) 55 Notify Of Read Failure 0 59 Beep Duration 64 (#100) 6A UPC/EAN Symbology 1 Comment Valid Range: 1 to 640 pixels Decoder uses only the specified pixel width in the HD field (FOI 0). See section 8.2 Note: The High Density field (FOI 0) does not exist on the CR900FD.
10/29/2014 Reg Setting Name 6E Interleaved 2 Of 5 Symbology Default (Hex) 1 6F Codabar Symbology 1 70 Code 39 Checksum 0 Comment 0: Disabled 1: Enabled Also see registers: 71, C9 0: Disabled 1: Enabled Binary Dip Switch Bit 71 Interleaved 2 Of 5 Checksum 0 72 Auto Stored Data Erase (Auto Log Erase) 1 Controls 0 Code 39 Checksum Checking 1 Strip Checksum From Output Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled Also see register: 6B 0: Disable checksum checking 1: Enable checksum
10/29/2014 Reg Setting Name 76 Send And Store Mode Default (Hex) 0 Comment 0: Normal mode (buffered send) 1: Send and log mode 3: Log only mode Note: Only applies to readers using Bluetooth communication modes. 78 Settings Lock 1 85 Tri-Optic Options 0 Also see register: B4. Reader will not allow the user to set autoreconnect on, and store data. If any setting that allows storing data is turned on, auto-reconnect will be turned off (if it is on).
10/29/2014 Reg Setting Name 88 Sleep Timeout (sec) Default (Hex) CR2300: CR2600: CR3600: A8C0 (#43200, 12 hours) Comment Valid Range: 0 to 7FFFFFFF Milliseconds. This state: Sleep (Lowest power usage) Next state: Power off Counts down to the end of Sleep Mode and then the device powers off.
10/29/2014 Reg Setting Name 93 Suppress Beep On Decode Default (Hex) 0 Comment 0: Beep indicating decode before JavaScript processing 1: Call JavaScript without beeping to indicate decode Normally, the Reader beeps as soon as decodes are read and processes them via JavaScript if necessary after the beep.
10/29/2014 Reg Setting Name 9E Extra Cabled Idle Time Default (Hex) CR2300: CR2600: CR3600: 2710 (#10000) CR4405: #-500 Comment This is the time added to the idle timeout register 8E if unit is in the charger. To disable this timer, set the register value to -1 as in the following example which disables and saves the timer setting with the ‘C’ command: C(9E)#-1 Current State: Idle Next State: Standby Note: Only applies to readers using Bluetooth communication modes.
10/29/2014 Reg Setting Name A2 Default Event Delay (ms) A7 Beep (Vibrate) Pulse Separation (ms) Default (Hex) 64 (#100) 64 (#100) Comment Valid Range: 0 to 7FFFFFFF Milliseconds The Reader will pause for this amount of time between each posting of the default event (used with “continuous read” mode). Also see register: C4 Valid Range: 0 to 7FFFFFFF Milliseconds The spacing in milliseconds between beeps when beeping multiple times.
10/29/2014 Reg Setting Name AF Wide field (FOI 1) Picture Window Height Default (Hex) 3C0 (#960) Comment Specify height of window used with “take picture.” The position and size are relative to the virtual image (i.e., not the rotated physical image). Note: On a Code Reader, overall image is 960 pixels by 1280 pixels. 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.
10/29/2014 Reg Setting Name C4 Default Event Default (Hex) FF (#255) CR900FD: CR1400: CR1000: CR6000: F0 (#240) Comment The default value of FF is the idle event. This means that normally, no activity is occurring. However, if the value is set to one of those shown in the list below, then that action will be repeated continuously, unless interrupted by an external trigger or command. Any event other than 0 or FF will prevent the reader from entering power save mode.
10/29/2014 Reg Setting Name C6 Auto Connect Mode C7 C8 C9 Default (Hex) 1 Decoder Wide field (FOI 1) Width 280 (#640) Decoder Wide field (FOI 1) Height 3C0 (#960) Interleaved 2 Of 5 Lengths 0 Comment 0: No Auto Connect - connect only on “X” and “:” commands and upload events 1: Auto Connect - attempt to establish connection when in idle mode and maintain connection when in standby mode 2: Auto Reconnect - attempt to connect when there is data to send but only within specified time of last vali
10/29/2014 Reg Setting Name CE Codablock F Symbology CF Macro PDF417 Symbology Default (Hex) 0 0 Comment 0: Disabled 1: Enabled Note: This register has no effect on a CR900FD without the proper 2D barcode decoding license. 0: Disabled 1: Enabled Note: This register has no effect on a CR900FD without the proper 2D barcode decoding license.
10/29/2014 Reg Setting Name E5 Trigger 3 Confirmation Time (ms) E6 E7 E8 E9 EB EC ED Default (Hex) 0 Comment Valid Range: 0 to 7FFFFFFF Milliseconds Trigger 4 Confirmation Time (ms) 0 The trigger input must be asserted for this amount of time before the trigger event is generated. Setting this value > 0 makes it easier to select combinations of triggers (e.g. trigger 3, which is trigger 1 & 2 asserted together).
10/29/2014 Reg Setting Name F0 F6 Allow Code 128 Short Margin Code 39 Short Margin F7 Code 11 Symbology Default (Hex) 1 1 0 Comment 0: Disabled 1: Enabled 0: disallow short margin Code 39 symbol decoding 1: allow short margin Code 39 symbol decoding Binary Dip Switch Bit 0 2 F8 Pharmacode Symbology 0 Controls Code 11 Decoding with one or two checksum digits checked Strip checksum(s) from the result string Value 0: Disabled 1: Enabled 0: Disabled 1: Enabled Note: The firmware determines whether
10/29/2014 Reg Setting Name 10B Enable JavaScript 10C Bluetooth Connected Cache Time (Seconds) Default (Hex) 1 3 Comment 0: Disabled 1: Enabled When set to 0 installed scripts are disabled. This can be useful from boot mode for recovering the unit if a non-responsive script is installed. Valid Range: 0 to 7FFFFFFF Seconds The time the last connection status received from the radio remains valid. If a request is made during this time since last radio query, the cached status is returned.
10/29/2014 Reg Setting Name 159 Ignore Duplicate Code (ms) 172 173 Automatically save the Bluetooth connection address Enable Bluetooth Encryption Default (Hex) 0 Comment Valid Range: 0 to 7FFFFFF Milliseconds Consecutive duplicate codes (i.e., codes that contain the same data) are blocked for this amount of time (in milliseconds). 0 turns off blocking of duplicate codes.
10/29/2014 Reg Setting Name 21B Reported Board Type Default (Hex) (See Comment column) Comment Valid Range: 1 to 9999 The firmware will report this number as the “hardware type identifier” field of the reader information string.
10/29/2014 Reg Setting Name 236 Uncradled event 243 244 245 246 247 249 Default (Hex) 0 CR2300: CR2600: CR3600: CR4405: DF (#223) Connection Delay (ms) – 0 USB KB CR2300: CR3600: CR2600: CR4405: 1388 (#5000) Connection Delay (ms) – 0 USB HID Comment This event will be triggered when the reader is removed from its cradle.
10/29/2014 Reg Setting Name 24A Han Xin Code Default (Hex) 0 Comment Binary Dip Switch Bit Controls 0 Enable/Disable Han Xin Value 0: Disabled 1: Enabled Note: This register has no effect on a CR900FD without the proper 2D barcode decoding license.
10/29/2014 Reg Setting Name 24F Decoding Extras Default (Hex) 0 Comment This is a bitmask that enables additional decode data postprocessing.
10/29/2014 Reg Setting Name 250 Korean Post Symbology 251 Background Transmit Enable 256 Decoding Options Default (Hex) 0 1 CR4405: 0 10 (#16) Comment 0: Disabled 1: Enabled Enables use of background transmit feature. With this enabled, user may be able to scan barcode labels faster than the reader or modem can output the data to the host. Note: Supported in firmware versions 0449+. CortexDecoder decoding options. (DPM license supported in CD13.2.
10/29/2014 Reg 25E 270 271 272 Setting Name Default (Hex) Connection Delay (ms) – 0 Bluetooth Keyboard Requested Download 0 Memory Allocation Size Connection Delay (ms) – 0 iAP2 External Accessory mode Connection Delay (ms) – 0 iAP2 Keyboard mode 273 Max Error Log Size (bytes) 274 Error Log Truncation Percent Max Motion Brightness Percent Low Battery Sleep Voltage (mV) 277 278 279 27B Low Battery Sleep Wakeup Voltage (mV) Cabled Event C8 * 1000 ((#200) * (#1024)) 46 (#70) 3C (#60) 0 CR4405: C
10/29/2014 Reg Setting Name 27D Phone Connected Event Default (Hex) DC (#220) Comment This event will be triggered when a phone is connected to the reader. Note: Supported on CR4405 only. 27E Phone Disconnected Event DD (#221) See register C4 for a list of events This event will be triggered when a phone is disconnected from the reader. Note: Supported on CR4405 only.
10/29/2014 Reg Setting Name 284 Device Battery Charge Mode Default (Hex) 2 Comment Defines the way in which the reader will attempt to charge a connected device/phone. All power schemes involving charging the device will stop charging when the critical sled battery level is reached (register 282). 0 = Do not charge 1 = Keep phone fully charged 2 = Managed Power Scheme: Never charge device (phone) if sled battery is below value in register 282 (Sled battery critical level).
10/29/2014 Reg 289 28A Setting Name Default (Hex) Low Battery Pre Indicate 1F4 Period (ms) (#500) Low Battery Indicate Period (ms) 1F4 (#500) Note: Supported on CR4405 only. When indicating a low battery (and not charging), this is the time between blinks. Low Battery Post Indicate Period (ms) 1F4 (#500) 28C Low Battery Indicate Pulses 3 28E 28F Medium Battery Indicate Period (ms) Medium Battery Post Indicate Period (ms) 1F4 (#500) Note: Supported on CR4405 only.
10/29/2014 Reg Setting Name 293 High Battery Charging Indicate Period (ms) Default (Hex) 1F4 (#500) Comment When indicating a high (but not yet fully charged) battery while charging, this is the duration of each LED color display in the color sequence (see register 299). Low Battery Charging Post Indicate Period (ms) 1F4 (#500) Note: Supported on CR4405 only. When indicating a low battery while charging, this is the time between LED color sequences (which are defined in register 297).
10/29/2014 Reg Setting Name 29C Device Battery Critical Level Default (Hex) 19 (#25) Comment Only applies to charging mode 2 in charging mode register 284. If device battery drops below this level, sled will start charging the device. Note: Supported on CR4405 only. 29D Sled Battery Reserve Level 28 (#40) Also see register: 282, 283, 284, 285, 29C, 29D, 2AF, 2B0, 2C5 Only applies to charging mode 2 in charging mode register 284.
10/29/2014 Reg Setting Name 2B0 USB passthrough mode hysteresis battery capacity (%) Default (Hex) 19 (#25) Comment When in USB passthrough mode, if the sled battery drops below the USB passthrough mode minimum battery capacity, the sled battery must reach this higher capacity before power (and communication) will be restored to the iPhone. Note: Supported on CR4405 only.
10/29/2014 Reg Setting Name 2BD Allowed Repeated JavaScript Button Events 2BE 2BF 2C2 2C3 Default (Hex) 0 In Stand Event 0 Out of Stand Event CR2300: CR2600: CR3600: F2 (#242) 0 In Stand Default Event Out of Stand Default Event CR2300: CR2600: CR3600: F2 (#242) FF (#255) CR2300: CR2600: CR3600: F0 (#240) FF (#255) Comment 0: If the button event is a JavaScript event, the button event will only be generated once.
10/29/2014 Reg Setting Name 2C5 Minimum Initial Battery Percent to power iPhone Default (Hex) 5 Comment In iPhone communication modes (Apple App mode and Apple Keyboard mode, currently) the reader will not provide any power or communication channel to the iPhone until it has confirmed that the sled battery is above this percent. Note: Supported on CR4405 only.
10/29/2014 Reg Setting Name 2CA Extended Duplicate Block Time Options Default (Hex) 1 Comment Binary Dip Switch Bit 0 1 2 3 2CB 2CC iPhone Onscreen Keyboard Release Delay (ms) Allow sending USB scan codes over a Bluetooth SPP connection 7D0 (#2000) 1 Controls Use extended duplicate block time if stand detected Use extended duplicate block time if in motion detection mode Use extended duplicate block time if in continuous scan mode Always use extended duplicate block time Value 0: Disabled 1: En
10/29/2014 Reg Setting Name 2CD “On QuickConnect Code” behavior Default (Hex) 0 Comment This setting defines special behavior that will occur when a QuickConnect Code (QCC) is scanned. A QCC is defined as any barcode that contains the “:%07” command.
10/29/2014 Reg Setting Name 2CE Motion Detection Pattern Option Default (Hex) 1 Comment This setting defines the type of pattern detection to be applied after initial motion is detected. Bit 0 1 Controls Basic pattern detection. It has fast response time and can be used for general applications. Advance pattern detection. It has better detection for low contrast labels and 2D barcodes but is slower.
10/29/2014 9 Radio Commands The Host controls the radio by issuing ‘:’ commands. The following tables describe the available commands. Command numbers less than 0x80 are Bluetooth commands. The ‘#’ column is the radio command number (in hexadecimal) to be used with the ‘:’ command. For example, “:%0E” gets the Bluetooth® device address. The ‘# bytes’ column indicates how many bytes of data are required as arguments for the command. 9.
10/29/2014 The .crb files can be sent directly to the Reader using the normal file transfer. As CRB files are just a list of text commands, they can also be sent by a serial terminal program. Note: if using a serial terminal program the Reader will first need to be commanded in to “text command mode”; see Section 6.1. You can request a copy of all the CR1000/CR8000 Configuration codes in the .crb format. 11 Symbology Detail Settings 11.
10/29/2014 12 Appendix: Example CRC16 C Code The CRC16 required by Reader to Host packets (see Section 5.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.
10/29/2014 crc_t ( , , ) { crc crc_t initialCrc const unsigned char* p size_t n enum { crcBits = 16, charBits = 8, diffBits = crcBits - charBits }; crc_t c = initialCrc; #include "crc16tab.
10/29/2014 /* crc16tab.h * crc16 table of partial remainders generated by * mkcrctab.c with polynomial 1021. * included only from within crc() function in file crc16.
10/29/2014 13 Appendix: Example CRC14 C Code The CRC14 required by Host to Reader packets (see Section 6.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. Bitwise AND each byte of the CRC16 checksum with 0x7F to generate the two bytes of the CRC14 checksum.
10/29/2014 14 Appendix: Custom Keyboard XML File Formatting To support any USB keyboard the following xml file format is implemented. Header “” Tags: Attributes: “id” identifies the default code set used for mapping to scancodes. “version” (optional) user supplied version of the mapping. Data: none Example: Attributes: “value” (optional) user supplied copyright information.
10/29/2014 Attributes: “condition” (not used) Data: Scancode tags Example: Attributes: “value” “modifier” Data: none Example: Note : There is a maximum scancode limit of 10 Scancode tags per Scancodes tag Example Language.xml : ManualShelf © 2013-2025