Skip to content

API Reference

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

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

Warning

Better don’t use this

machine.listenOnPort = 1;

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

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

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",
}

Address of the machine

console.log(machine.listenOnPort);

get the filters that apply when require a serial device

console.log(machine.serialFilters);

get the configuration of the serial port

console.log(machine.serialConfigPort);

Check if the machine is connected

console.log(machine.isConnected);

Check if the machine is disconnected

console.log(machine.isDisconnected);

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);

Get the uuid of the connection

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

console.log(machine.uuid);

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

console.log(machine.typeDevice);

Get the queue of commands that are waiting to be executed

console.log(machine.queue);

Check if the machine is dispensing

console.log(machine.isDispensing);

Get the balance of the hoppers

console.log(machine.balance);

Get the current hopper that is being used

console.log(machine.currentHopper);

Get the levels of the hoppers

console.log(machine.levels);

Soft reload the machine

await machine.softReload();

Send connect to the machine

await machine.sendConnect();

Send custom code to the machine

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

Set the maximum capacity of the hopper

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

Set the name of the hopper

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

Set the key of the hopper

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

Set the currency of the hopper

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

Request levels of the hoppers

await machine.requestStatus();

Read the balance of the hoppers

await machine.readBalance();

Clear the balance of the hoppers

await machine.clearBalance();

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

await machine.forceInvalid();

Read the hopper levels

hopper: 1, 2, 3 or 4

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

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});

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

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

Dispense change from the hopper

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

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

Configure the validator of the hoppers

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

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

Disable the validator of the hoppers

await machine.disableValidator();

Enable the validator of the hoppers

await machine.enableValidator();

return change 1 by 1

hopper: 1, 2, 3 or 4

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