This package contains a nodejs library and command line tool for the pifacedigital board. As long as the user is in the group spi this module does not need any root privileges.
On a fresh Raspbian installation you should enable SPI. Therefor start raspi-config
and
enable SPI under "Advanced Options".
After rebooting you should add your user to the SPI-Group:
usermod -a -G spi pi
git clone https://github.com/piface/libmcp23s17.git
cd libmcp23s17/
make
sudo make install
git clone https://github.com/piface/libpifacedigital.git
cd libpifacedigital/
make
sudo make install
npm install node-pifacedigital -g
You can use node-pifacedigital as commandline tool or library.
Setting output value:
pifacedigital --type set --pin 1 --value 1
Getting input value:
pifacedigital --type get --pin 1
Watch input values:
pifacedigital --type watch --pin 1
The constructor of PIFaceDigital
takes two arguments. HW_ADDR the address of
your board (setted via jumper) and the optional closeOnExit
if true all output
pins will reset to 0 if the node process receives the exit
signal.
var PIFD = require('node-pifacedigital');
var pi = new PIFD.PIFaceDigital(0,true);
You can set the value of on of the output pins with:
var value = 1;
pi.set(pin,value);
You can read the input pin value with:
var val = pi.get(pin);
or all input values at once:
var val = pi.getInput();
You can watch changes on a single Input-Pin with:
var callback = function(pin,type){
// Type will be 'lohi' or 'hilo'.
};
pi.watch(pin,callback);