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>
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 |
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 |
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 |
Enable or disable a beep on recognition of a barcode.
Function | Code | Comment |
---|---|---|
Buzzer off | 014200 | |
Buzzer on | 014201 |
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... |
TODO
TODO
TODO
TODO
Not sure what this is.
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 |
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 |