1.0.0 • Published 5 years ago

pos-devices v1.0.0

Weekly downloads
1
License
ISC
Repository
gitlab
Last release
5 years ago

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

1.0.0

5 years ago