a simple and easy to use SPI interface for node.js (for raspberry pi etc)
C++ Python JavaScript Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
binding.gyp
build.sh
example.js
package.json
simplespi.cc

README.md

node-simplespi

This is a simple and easy to use SPI module for node.js.

I wrote this to have an easy way to control a Adafruit PWM LED driver with my Raspberry Pi (node-leddriver), but it should also work with different clients and hosts. It uses a CLK frequency of 500kHz.

Installation

npm install simplespi

Usage

var simplespi = require( "simplespi" );

var response = simplespi.send( "AA00FF", "/dev/spidev0.1" );

The send method accepts a hexcode string as parameter and sends it to the SPI device defined in the optional second parameter. If the second parameter is undefined it uses /dev/spidev0.0.

The value returned is the response of the device in hexcode string form.

Testing on the Pi

First run the following on your Raspberry Pi (with root privileges):

console.log(simplespi.send( "AA00FF" ));

It should return:

000000

Then shortcut the MISO and MOSI pins of your pi and run the same command again. It should then return:

AA00FF

If you got this your SPI device is working.

Enabling SPI on the Pi

If it's still not working, check your /etc/modprobe.d/raspi-blacklist.conf and comment out the entry:

blacklist spi-bcm2708

by changing it to:

#blacklist spi-bcm2708

then reboot your pi and type ls /dev. If spidev0.0 is in the list you're fine and you can repeat the test.