pos-devices
v1.0.0
Published
USB/Bluettooth/Serial connector for POS bundle together
Downloads
1
Readme
pos-devices
On windows if HID devices claim by the OS, use (https://sourceforge.net/projects/libwdi/files/zadig/)[Zadig] to install the WinUSB driver for your USB device.
to install
npm i https://gitlab.com/wawasan/pos-devices
API
const connector = require('pos-devices')
const dev = new connnector('COM6', { deviceType: 'serial' })
connector(adapter, options)
top level constructor, to initialize new object where ADAPTER is the specific address of a device i.e:
- serial:
COM
- usb:
[VID, PID]
- bluetooth:
02:18:9D:4A:ED:E7
options.deviceType
String, the type of device serial
, usb
or bluetooth
options.HID
Boolean, default is false
, if the original device is a HID device but replace with another driver i.e zadig WinUSB
and need to map
the input/output buffer to HID key code format (on WINDOWS)
options.filterHID
Array, filter HID keys
options.transformHID
Function, transform the HID codes i.e HID_KEYBOARD_SC_MEDIA_CALCULATOR -> MEDIA
transform = data => `0x${data.toString('hex').slice(4, 6).toUpperCase()}`
dev
represent the initalize constructor object
dev.list()
Promise, return the list of devices i.e
dev.list().then(devices =>
console.log(devices)
)
dev.formatESCPOS(data)
return a Buffer in ESCPOS format i.e
let data = [
{font: 'a'},
{align : 'ct'},
{style : 'bu'},
{size: [1, 1]},
{text: 'The quick brown fox jumps over the lazy dog'},
{text: '敏捷的棕色狐狸跳过懒狗'},
{barcode: ['1234567', 'EAN8']}
]
let buffer = dev.formatESCPOS(data)
// send the data to the device
dev.sendInput(buffer)
dev.sendInput(inputBuffer, callback, options)
send inputBuffer
to device
dev.outputRead(callback, options)
read the output buffer from device i.e
let dev = connector([1155, 17], {
deviceType: 'usb',
HID: true,
filterHID: ['HID_KEYBOARD_SC_RESERVED']
})
let endpoint = dev.outputRead(function(data){
console.log(data)
})
data : can be send as a series of event like a stream