Skip to content

Latest commit

 

History

History
181 lines (119 loc) · 6.5 KB

DX_SKU_454973.md

File metadata and controls

181 lines (119 loc) · 6.5 KB

Documenation for USB 2.0 Wired Barcode Scanner for Standard 1D Bar Codes

This documents DX.com SKU 454973 USB bar code scanner.

The supplied documentation provided no download link, so I'm adding online documentation and additional information about this barcode scanner here.

The 'magic' codes to program the device are actually specially formatted Code128 barcodes. All the codes are in Code128 code set B. All programming codes are prefixed with FNC3 special code. Details of Code128 on Wikipedia.

Update 2017-10-24 ok, it's not just a simple as printing those using any Code128 generator. It seems Code128 is a little complex (there is more than one way to encode the same string) and these magic codes are exploiting this. So even though my ZXing Android app recognizes these codes as "Code 128 Text", when I generate the codes doesn't invoke the special function. Investigating... ok: details of Code128 on Wikipedia it seems the magic codes start with at [START B] symbol followed by a [FNC3] followed by the codes below. So I withdraw my above criticism: these are unlikely codes to encounter under normal use. Now to figure out how to generate these codes: passing a simple string to a general purpose generator won't do. I need to specify a string of low level symbols. Maybe the ZXing library.

Update 2017-10-25 Disappointly this scanner does not retain programming after a power cycle. Perhaps the memory on mine is faulty. I have another few devices on order so I'll know when they arrive. This makes being able to produce a customized programming sheet even more important.

Update 2017-10-28 I sucessfully generated programming codes with JsBarcode. For example a factory reset (STARTB, FNC3, 000B0) can be generated like so:

<script src="https://cdn.jsdelivr.net/npm/jsbarcode@3.8.0/dist/barcodes/JsBarcode.code128.min.js"></script>
<svg id="barcode"></svg>
<script>
// special codes can be encoded as code+105. FNC3 is code 96, 
// so 96 + 105 = 201 = C9 hex.
JsBarcode("#barcode","\xC9000B0",{format:"CODE128B"});
</script>

Definition Settings

Function Code Comment
Show version info (user defined) 000A0 Returns 'Decoder U0 V7.33' on my unit
Show serial number (user defined) 000A2 Returns '20170313' on my unit
Reset to factory defaults 000B0

Interface options

Function Code Comment
PS2 keyboard wedge 000600 (not applicable for this SKU: no PS2 cable provided
Serial 000601 (not applicable for this SKU: no RS232/UART cable provided
USB keyboard wedge 000602 USB HID device (default mode): behaves like regular keyboard
USB serial 000603 UART device, behaves like serial port device

Reading mode

Function Code Comment
Single scan with trigger (default) 013300 Starts scanning when trigger pulled, automatically stops on first scan. Need to retrigger to scan again.
Single scan, no trigger 013301
Multiscan with trigger 013302 Continues to scan while trigger is pulled.
Multiscan, no trigger 013303
Continuous scan 013304
Pulse 013305

Buzzer

Enable or disable a beep on recognition of a barcode.

Function Code Comment
Buzzer off 014200
Buzzer on 014201

Add code ID

This function allows a single character to be added at the beginning (prefix) or at the end (suffix) of the actual barcode to indicate the barcode symbology used (eg Code128 vs EAN13 etc)

Function Code Comment
No code prefix/suffix 01400
Send code as prefix 01401
Send code as suffix 01402
Code prefix/suffix Barcode symbology
a Code128
d EAN13
n ITF
more...

Language

TODO

Serial mode parameter

TODO

Serial protocol

TODO

Check digits

TODO

Transmit speed

Image

Code 39 options

UPC-A options

UPC-E options

EAN13 options

EAN8 options

Supplements options

Code93 options

Code128 options

Codebar options

Interleaved 25 options

Industrial 25 options

Code MSI options

Code Plessy options

Code 11 options

Matrix 25 options

GS1 options

FUNC

Not sure what this is.

Front/behind CHARS settings

USB upload

IR auto-sensing

Hide characters

Multiscan settings

Conversion of EAN, ISBN and ISSN

Prefix & Suffix settings

Function Code Comment
Add suffix CR 0212@
Add suffix CR+CR 0213@
more... (TODO)
Set to add prefix 02240
Set to add suffix 02241
Quit out of prefix/suffix add mode 02242
Clear all prefix characters 02220
Clear all suffix characters 02200

Alphabet

This is a long table of codes for characters and keys. It seems to be just "1xxx" where xxx is the ASCII code of the character in decimal for regular characters (including non-printable ASCII characters below 32). This table also includes special keys (eg up arrow, Home, End etc). The mapping to those keys doesn't seem to follow any established standard, but are sill in format "1xxx". For example key F11 is "1138", down arrow is "1148".

The exact Code128 barcode symbols are START B, FNC3, Code C, (numberic code in table), Stop. (Code C encodes two decimal digits at a time.)

Character Code
ASCII a, a = 1 .. 127 1000+a
F1 1128
Fn, n = 1..12 1127+n
Down arrow 1148