Kvaser CanLib implementation for Node.js. Works on Windows only (mocked for MacOS and Linux).
-
Install all the required tools and configurations using Microsoft's windows-build-tools. Open your terminal as an Administrator and type following
npm install -g windows-build-tools@4.0.0
. -
Install Kvaser Drivers for Windows.
First at all you need to create a CanApi
instance with the number of the channel, and the bitrate of can message.
bitrate default : canBITRATE_500k
.
const CanApi = require("canapi");
const myChannel = new CanApi(0, CanApi.bitRates.canBITRATE_500K);
Open the CAN channel.
Returns: bool
Closes the CAN channel.
Returns: bool
Send message to the CAN channel.
Input param | Type | Description |
---|---|---|
identifier |
number |
the identifier of the CAN message to send |
data |
array |
the data buffer |
dlc |
number |
the length of the message in bytes |
Returns: bool
Example:
myChannel.sendMessage(731, CanApi.createBuffer([180, 20, 180, 2]), 4);
Read message from the CAN channel.
Input param | Type | Description |
---|---|---|
Object.timeout |
number |
the number of milliseconds to wait for a message before returning (default: 0 ) |
Returns: Object
Output param | Type | Description |
---|---|---|
Object.identifier |
number |
the identifier of the CAN message to read |
Object.data |
buffer |
the data buffer |
Object.dlc |
number |
the length of the message in bytes |
Example:
const message = myChannel.readMessage({ timeout: 3000 });
console.log({
identifier: message.identifier,
data: Array.from(message.data),
dlc: message.dlc
});
Allows you to create buffer from JavaScript array.
Input param | Type | Description |
---|---|---|
data |
array |
the data buffer |
Returns: Uint8Array
Example:
CanApi.createBuffer([180, 20, 180, 2]);
List all of the bit rates.
Name |
---|
canBITRATE_1M |
canBITRATE_500K |
canBITRATE_250K |
canBITRATE_125K |
canBITRATE_100K |
canBITRATE_62K |
canBITRATE_50K |
canBITRATE_83K |
canBITRATE_10K |