Data Capture for Workforce in Motion ToughRunners / ScanWear Communication Protocol ©Baracoda TM – May 2009
Data Capture for Workforce in Motion SUMMARY SUMMARY ................................................................... 2 REVISION HISTORY .......................................................... 3 1. INTRODUCTION: GENERIC PACKET FORMAT ................................. 4 2. COMMAND ID SUMMARY .................................................. 5 3. COMMAND DETAILS ..................................................... 8 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10. 3.11. 4. 4.1. 4.2. 4.3. 4.4.
Data Capture for Workforce in Motion Revision History Changes to the original manual are listed below. Document Date Description 1.0 25th Sep. 07 Initial release 1.1 16th Dec. 08 Graphic Presentation updated 1.2 15th May 09 Updated for firmware version 4.00.6 ToughRunners / ScanWear – Communication Protocol v1.
Data Capture for Workforce in Motion 1. Introduction: generic packet format All the frames described in this document are formatted as shown (*): STX Frame # Nbr of cmds Command 1 … Command x Checksum ETX 1 byte 1 byte 1 byte 3 n bytes … 3 n bytes 1 byte 1 byte Ba) 1 Byte Bb) 1 Byte Bc) 1 Byte Bd) 3..n Bytes … Bx) 3..
Data Capture for Workforce in Motion 2.
Data Capture for Workforce in Motion 0x3? RESERVED 0x4? MMI commands 0x40 Get vibrator 0x41 Set vibrator 0x42 Get beeps (since version 3.01.00) 0x43 Set beeps (since version 3.01.
Data Capture for Workforce in Motion 0xA? Data format commands 0xA2 Get symbology prefix 0xA3 Set symbology prefix 0xA4 Get data suffix 0xA5 Set data suffix 0xA6 Get data prefix 0xA7 Set data prefix 0xA8 Get AIM symbology ID transmission 0xA9 Set AIM symbology ID transmission 0xAA Get symbology suffix 0xAB Set symbology suffix 0xB? RESERVED 0xC? RESERVED 0xD? Communication commands 0xD5 Get Radio behavior when in charge 0xD6 Set Radio behavior when in charge 0xE? RESERVED
Data Capture for Workforce in Motion 3. Command details 3.1. Setting mode Command ID 0x01 Description Enter Setting mode Length 0 payload none Response 0 (1 = ERROR) Command ID 0x02 Description Exit Setting mode Length 0 payload none Response 0 (1 = ERROR) A radio disconnection leads to an exit from this setting mode. 3.2.
Data Capture for Workforce in Motion Command ID 0x06 Description Reset operational statistics Length 10 payload 10 bytes : AAAABBBBCC where : AAAA = Number of scans done BBBB = Operating time (minutes) CC = Number of charge cycles done (MSB first) Response 0 (1 = ERROR) 3.3.
Data Capture for Workforce in Motion 3.4. Restore default settings Command ID 0x0F Description Restore factory default settings (reboots scanner) Length 1 payload A = 0 Response none 3.5.
Data Capture for Workforce in Motion B = Vibration duration on BARCODE LOST event C = Vibration duration on NACK event Durations in 1/10 sec Response 0 (1 = ERROR) Command ID 0x42 (Since version 3.01.00) Description Get beeps Length 0 payload none Response 1 byte: Bit A.0 = 0 enable barcode decoded beep, 1 disable barcode decoded beep Bit A.1 = 0 enable barcode acknowledgement beep, 1 disable barcode acknowledgement beep Default settings: 0x00 Command ID 0x43 (Since version 3.01.
Data Capture for Workforce in Motion 3.6. Bluetooth commands 0x5E Command ID Description Bluetooth Commands Length Variable (1-255) payload {Code ID} {length} “Parameters” Response If the device “Response” responds: {Code ID} {length} Else: {0} Bluetooth specific commands from the Bluetooth communication protocol are to be framed within the payload of this message. See Appendix A for more details.
Data Capture for Workforce in Motion Bd32) 0x00 Bd33) 0x04 Bd34) 0x30 Bd35) 0x30 Bd36) 0x30 Bd37) 0x30 Be) 0x31 : Length MSB : Length LSB : PIN Code 0 : PIN Code 1 : PIN Code 2 : PIN Code 3 : CheckSum x =( ∑B i =b i ) mod 256 = 0x01+0x5E+x007+0x07+0x04+0x00 +0x30+0x30+0x30+0x30 mod 0x100 = 0x131 mod 0x100 = 0x31 Bf) 0x03 : ETX 3.7. Reading and triggering commands Command ID 0x60 Description Get reading mode Length 0 payload none Response ABCDEFGHI where : A = long press action (1 sec.
Data Capture for Workforce in Motion ------01 : Simple scan ------10 : Start Multiscan Session ---1---- : Stop Multiscan Session D = long press duration x 100ms E = maximum scans in session: -0000000 : unlimited -XXXXXXX : number of scans in the session 1------- : Anti-doubloon in the session F = Inter-scan interval x100ms G = 0 H = 0 I = 0 Default settings : ScanWear : 0x00 0x01 0x01 0x0A 0x00 0x0A 0x00 0x00 0x00 ToughRunners :0x01 0x01 0x01 0x0A 0x00 0x0A 0x00 0x00 0x00 ToughRunners / ScanWear
Data Capture for Workforce in Motion Command ID 0x61 Description Set reading mode Length 9 payload ABCDEFGHI where : A = long press action (1 sec.
Data Capture for Workforce in Motion G = 0 H = 0 I = 0 Response 0 (1 = ERROR) Command ID 0x62 Description Get remote triggering settings Length 0 payload none Response ABCDEFG where : A = character to trigger a Good Read signal B = character to trigger a Good Read signal C = character to trigger a Simple Scan D = character to start an Multiscan Session E = character to stop an Multiscan Session F = character to lock the scan engine G = character to unlock the scan engine Default settings : 0xA1 0x
Data Capture for Workforce in Motion Command ID 0x63 Description Set remote triggering settings Length 7 payload ABCDEFG where : A = character to trigger a Good Read signal B = character to trigger a Good Read signal C = character to trigger a Simple Scan D = character to start an Multiscan Session E = character to stop an Multiscan Session F = character to lock the scan engine G = character to unlock the scan engine Response 0 (1 = ERROR) 3.8.
Data Capture for Workforce in Motion Command ID 0x81 Description Set symbology settings Length 20 (since version 3.02.03) payload cf.
Data Capture for Workforce in Motion Length 1 payload T = timeout in seconds (255 = Autoscan mode) Response 0 (1 = ERROR) 3.9. Data format commands Command ID 0xA2 Description Get symbology prefix Length 0 or 1 payload None Response 22 or 28 bytes (since version 3.02.
Data Capture for Workforce in Motion Default settings : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Command ID 0xA3 Description Set symbology prefix Length 28 (since version 3.02.
Data Capture for Workforce in Motion Command ID 0xA4 Description Get data suffix Length 0 payload None Response 0-32 bytes: suffix Default settings : No suffix Command ID 0xA5 Description Set data suffix Length 0-32 payload suffix Response 0 (1 = ERROR) Command ID 0xA6 Description Get data prefix Length 0 payload None Response 0-32 bytes: prefix Default settings : No prefix Command ID 0xA7 Description Set data prefix Length 0-32 payload prefix Response 0 (1 = ERROR) ToughRun
Data Capture for Workforce in Motion Command ID 0xA8 Description Get AIM symbology ID transmission Length 0 payload None Response A : 0 = disabled 1 = enabled Default settings : A=0 Command ID 0xA9 Description Set AIM symbology ID transmission Length 1 payload A : 0 = disabled 1 = enabled Response 0 (1 = ERROR) Command ID 0xAA Description Get symbology suffix Length 0 or 1 payload None Response 22 or 28 bytes (since version 3.02.
Data Capture for Workforce in Motion CC = Standard 2 of 5 DD = Codabar EE = EAN/UPC FF = Code128 GG = MSI HH = PLESSEY II = Code93 JJ = EAN128 KK = Codablock F LL = RSS 14 (GS1 Databar) MM = RSS Ltd (GS1 Databar Ltd) NN = RSS Expanded (GS1 Databar Expanded) 0x00 means disabled. Default settings : 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 Command ID 0xAB Description Set symbology suffix Length 28 (since version 3.02.
Data Capture for Workforce in Motion EE = EAN/UPC FF = Code128 GG = MSI HH = PLESSEY II = Code93 JJ = EAN128 KK = Codabloc F LL = RSS 14 (GS1 Databar) MM = RSS Ltd (GS1 Databar Ltd) NN = RSS Expanded (GS1 Databar Ltd) 0x00 means disabled. Response 3.10. Command ID 0 (1 = ERROR) Communication commands 0xD5 Description Get radio behavior when in charge Length 0 payload None Response 1 byte: Bit A.0 = 1 if switch to slave when charging Bit A.
Data Capture for Workforce in Motion Length 1 payload Bit A.0 = 1 if switch to slave when charging Bit A.1 = 1 if switch radio off when charging Response 3.11. Command ID 0 (1 = ERROR) Power saving commands 0xF0 Description Get shutdown timers Length 0 payload None Response 7 bytes: AABBCCU Where: AA = scanner shutdown timer (sec.) BB = radio shutdown timer when in Master mode (sec.) CC = radio shutdown timer when in Slave mode (sec.
Data Capture for Workforce in Motion CC = radio shutdown timer when in Slave mode (sec.) U = 0 (unused) Response 0 (1 = ERROR) Command ID 0xF2 Description Get battery status Length 0 payload None Response 1 byte: Bits A.0-6 = battery level (RFU) Bit A.7 = 1 low battery ToughRunners / ScanWear – Communication Protocol v1.
Data Capture for Workforce in Motion 4. Special packets These packets do not follow the above frame format. 4.1. Deprecated packets Code ID Description frame 0x01 Legacy 1 1 1 or 1 2 1 These 2 sequences will be recognized and purged for backward compatibility with older Baracoda products. 4.2.
Data Capture for Workforce in Motion 4.3. Special scanner to host messages Code ID Description Payload 0x32–0x33 Barcode data Barcode string 4.4.
Data Capture for Workforce in Motion 5. Appendix A: Bluetooth Protocol. 5.1. The configuration frames are as follows: Header Length Payload 1 byte 2 bytes(MSB, LSB) 0 to 65535 bytes 5.2. Commands: Command Header Length Payload Answer Set PinCode 0x01 xx xx N digits PIN. (Default “0000”) 0x01 00 01 01 if done (new pin size) 0x01 00 01 00 if not Max Pin length=16 Command Header Length Payload Answer Get PinCode 0x07 00 00 N digits PIN.
Data Capture for Workforce in Motion Command Header Length Payload Answer Set mode 00 02 [0x01 if MASTER, 0x00 if SLAVE], 0x03 00 01 01 if done [BT Clock Role switch] (default SLAVE) 0x03 00 01 00 if not 0x03 You can set the size to 2. In this case, the second argument tells the module for an automatic BT clock role switch. This is an optional argument. The real MASTER in a Bluetooth piconet is the device which manages the clock used for the frequency hopping.
Data Capture for Workforce in Motion Command Header Length Payload Answer Get Bluetooth Version 0x76 00 00 - 0x76, x, x, {version string} Command frame Answer Restore Factory Settings 'R', 's', 't' - Restore default settings: Pin code “0000” Mode : Slave Link Timeout : 5s Security mode : ON Sniff Uart settings. Class of Device : 0x500 (peripheral) Encryption Mode Page And Inquiry Scan.
Data Capture for Workforce in Motion Command Header Length Payload Answer Get page scan timeout 0x25 00 00 - 0x25 00 04 [Page Interval (MSB) | Page Interval (LSB) | Page Window (MSB) | Page Window (LSB)] Page Scan Interval and Page Scan Window are in number of Bluetooth slots) (1 slot = 0.
Data Capture for Workforce in Motion Command Header Length Payload Answer Set sniff 0x09 00 04 [MSB of MinSniff interval, LSB of MinSniff interval, MSB of MaxSniff interval, LSB of MaxSnif interval] 0x09 00 01 01 if done Command Header Length Set sniff 0x09 (advanced) 00 08 0x09 00 01 00 if not Payload Answer [MSB of MinSniff interval, LSB of MinSniff interval, MSB of MaxSniff interval, LSB of MaxSnif interval, 0x09 00 01 01 if done 0x09 00 01 00 if not Sniff Attempts MSB, Sniff attempts
Data Capture for Workforce in Motion MinSniff = 0x0050 MaxSniff = 0x00F0 Attempt = 0x0008 Timeout = 0x0030 MaxSniff and MinSniff are only used for sniff negociation between the Smartodule and the other BT device. If both sides allow sniff value MaxSniff, then MaxSniff will be used. If the other side does not accept Sniff values MinSniff to MaxSniff, no sniff will be used. Values are in number of Bluetooth slots (1 slot = 625µs) Set MinSniff and MaxSniff to 0 to disable Sniff.
Data Capture for Workforce in Motion Command Header Length Payload Answer Set security mode 0x21 00 {size} {00 non secured, 01 secured} {PIN CODE 0x21 00 01 01 if done, (default 01) 0x21 00 01 00 if not Size=PINCODE size + 1 For example : 0x21 00 05 00 30 30 30 30 to disable security Command Header Length Payload Answer Get security mode 0x20 00 00 - 0x20 00 01 01 if secured 0x20 00 01 00 if non secured Command Header Length Payload Answer Get Bluetooth class of device 0x30 00
Data Capture for Workforce in Motion Command Header Length Payload Answer Get local BT address 0x43 00 00 - 0x43 00 06 {6 Bytes (BD_address MSB, ..., LSB)} Command Header Length Payload Answer Set Target Service UUID 0x38 00 02 [UUID (2 Bytes)] 0x38 00 01 01 if done (default 0x1101) 0x38 00 01 00 if not Try to connect to this remote service. Here are some service UUID: SPP 0x1101 DUN 0x1103 FAX 0x1102 You can get more UUIDs by reading the Bluetooth spec.
Data Capture for Workforce in Motion Command Header Length Payload Answer Set Remote rfcomm channel 0x36 00 01 [channel (1 Byte)] 0x36 00 01 01 if done 0x36 00 01 00 if not Command Header Length Payload Answer Get Remote rfcomm channel 0x37 00 00 - 0x37 00 01 [channel] If “channel” is not zero, the Module will directly try to connect (if in master mode) to the specified rfcomm channel.
Data Capture for Workforce in Motion 6. Appendix B: Decoder Protocol. This section describes in detail the 20 bytes of the response/payload of the 0x80/0x81.
Data Capture for Workforce in Motion When both code128 and EAN128 are enabled, both are decoded but have a different symbology ID. When only EAN128 is enabled, only EAN128 codes are decoded.
Data Capture for Workforce in Motion Standard 2 of 5 and MSI parameters: OP25S b0 b1 b2 b3 b4 b5 b6 b7 Description Reserved (do not modify) (0,0) : 1 fixed allowed length (specified in LES1) (1,0) : 2 fixed allowed lengths (specified in LES1 and LES2) (0,1) : 3 fixed allowed lengths (specified in LES1, LES2 and LES3) (1,1) : any length allowed (>4) Check digit not transmitted Check digit not calculated Code MSI Check Digit (0,0): not calculated (1,0): Modulo 11 (0,1): Double modulo 10 (1,1) : Modulo 10 Cod
Data Capture for Workforce in Motion OPEAN2 b0 b1 b2 b3 b4 b5 b6 b7 Description UPCE check digit not transmitted UPCE conversion enabled 0: transmit UPCE as UPCA 1: transmit UPCE as EAN13 0: transmit UPCA as EAN13 1: transmit UPCA as UPCA Reserved (do not modify) UPCE number system not transmitted Reserved (do not modify) EAN13check digit not transmitted Default 0 0 Description Reserved (do not modify) Default 0 Description ASCII (0 à 127) GS replacment character FNC1 separator character transmitted D
Data Capture for Workforce in Motion RSS Expanded (GS1 Databar Expanded) parameters : RSS Expanded b0 b1 b2 b3 b4 b5 b6 b7 Description Default RSS Expanded validation AIM Prefix « ]e0 » validation AIM Prefix « ]C1 » validation (prioritary over b1) Application indentifier AI=(01) or (019) validation Checksum modulo 10 validation Linear decoding of composite 2D barcodes allowed Not used Not used 1 1 0 1 1 1 0 0 ToughRunners / ScanWear – Communication Protocol v1.