Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

DeveloperAlan/node-can

Open more actions menu
 
 

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('socketcan');

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('socketcan');
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"]);

channel.start();

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

// Register a listener to get any value updates
db.messages["Emission"].signals["Enginespeed"].onUpdate(function(s) {
   console.log("Enginespeed " + 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:
    $ npm i
    $ npm run configure
    $ npm run build
  1. Install via npm:
    $ npm install socketcan

About

NodeJS SocketCAN extension

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 52.0%
  • C++ 46.9%
  • Other 1.1%
Morty Proxy This is a proxified and sanitized view of the page, visit original site.