Skip to main content

API

Here you will find the methods that you can use to interact with the Relay device.

Setters

listenOnPort

Each device can have different configurations, for Relays port doesn't matter

Warning

Better don't use this

machine.listenOnPort = 1;

serialFilters

usbVendorId usbProductId are the filters that you can use to connect to the device

machine.serialFilters = [{
usbVendorId: 0x04d8,
usbProductId: 0x0053
}];

serialConfigPort

Warning

This is better don't use once constructor was called

machine.serialConfigPort = {
baudRate: 9600,
dataBits: 8,
stopBits: 1,
parity: "none",
bufferSize: 32768,
flowControl: "none",
}

Getters

listenOnPort

Address of the machine

console.log(machine.listenOnPort);

serialFilters

get the filters that apply when require a serial device

console.log(machine.serialFilters);

serialConfigPort

get the configuration of the serial port

console.log(machine.serialConfigPort);

isConnected

Check if the machine is connected

console.log(machine.isConnected);

isDisconnected

Check if the machine is disconnected

console.log(machine.isDisconnected);

deviceNumber

Get the number of device, isn't the same of the address.

Warning

Number of device is util if you have more than one machine in the same pc

console.log(machine.deviceNumber);

uuid

Get the uuid of the connection

When you create a new instance of the class, the uuid is generated

console.log(machine.uuid);

typeDevice

Get the type of the device each class has a different type, in this case is relay

console.log(machine.typeDevice);

queue

Get the queue of commands that are waiting to be executed

console.log(machine.queue);

isDispensing

Check if the machine is dispensing

console.log(machine.isDispensing);

balance

Get the balance of the hoppers

console.log(machine.balance);

currentHopper

Get the current hopper that is being used

console.log(machine.currentHopper);

levels

Get the levels of the hoppers

console.log(machine.levels);

Methods

softReload

Soft reload the machine

await machine.softReload();

sendConnect

Send connect to the machine

await machine.sendConnect();

sendCustomCode

Send custom code to the machine

await machine.sendCustomCode({code: ['00', '00', '00', '00', '00', '00', '00', '00', '00', '00']});

setMaxCapacity

Set the maximum capacity of the hopper

machine.setMaxCapacity({hopper: 1, capacity: 1000});

setHopperName

Set the name of the hopper

machine.setHopperName({hopper: 1, name: '10 Pesos'});

setHopperKey

Set the key of the hopper

machine.setHopperKey({hopper: 1, key: 'Hopper 1'});

setHopperCurrency

Set the currency of the hopper

machine.setHopperCurrency({hopper: 1, currency: 10});

requestStatus

Request levels of the hoppers

await machine.requestStatus();

readBalance

Read the balance of the hoppers

await machine.readBalance();

clearBalance

Clear the balance of the hoppers

await machine.clearBalance();

forceInvalid

Force the machine to be invalid, this is useful only to test an invalid sintax error

await machine.forceInvalid();

readHopper

Read the hopper levels

hopper: 1, 2, 3 or 4

await machine.readHopper({hopper: 1});

writeHopper

Write to the hopper levels

hopper: 1, 2, 3 or 4 quantity: amount of coins to write to the hopper max 32767

await machine.writeHopper({hopper: 1, quantity: 1000});

dispenseHopper

Dispense from the hopper hopper: 1, 2, 3 or 4

await machine.dispenseHopper({hopper: 1});

dispenseChange

Dispense change from the hopper

change: amount of change to dispense in pesos (MXN), max 32767

await machine.dispenseChange({change: 210});

configValidator

Configure the validator of the hoppers

enable: true to enable the validator, false to disable it

await machine.configValidator({ enable: true });

disableValidator

Disable the validator of the hoppers

await machine.disableValidator();

enableValidator

Enable the validator of the hoppers

await machine.enableValidator();

change1x1

return change 1 by 1

hopper: 1, 2, 3 or 4

await machine.change1x1({hopper: 1});