Skip to content

kulturbanken/node-can

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

node-can

This is a NodeJS SocketCAN extension. SocketCAN is a socket-based implementation of the CANbus protocol for Linux system.

This extensions makes it possible to send and receive CAN messages (extended, remote transission) using simple Javascript functions.

Usage

Basic CAN example:

var can = require('can');

var channel = can.createRawChannel("vcan0", true);

// Log any message
channel.addListener("onMessage", function(msg) { console.log(msg); } );

// Reply any message
channel.addListener("onMessage", channel.send, channel);

channel.start();

Working with message and signals:

var can = require('can');
var fs = require('fs');

// Parse database
var network = can.parseNetworkDescription("samples/can_definition_sample.kcd");
var channel = can.createRawChannel("vcan0");
var db      = new can.DatabaseService(channel, network.buses["Motor"].messages);

channel.start();

// Register a listener to get any value changes
db.messages["CruiseControlStatus"].signals["SpeedKm"].onChange(function(s) {
   console.log("SpeedKm " + s.value);
}

// Update tank temperature
db.messages["TankController"].signals["TankTemperature"].update(80);

// Trigger sending this message
db.send("TankController");

Install

There are two options for installing node-can:

  1. Clone / download node-can from GitHub, then:

    node-gyp configure && node-gyp build

  2. Install via npm:

    npm install can

About

NodeJS SocketCAN extension

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 49.1%
  • C++ 23.8%
  • CSS 21.6%
  • C 5.3%
  • Other 0.2%