wiring-pi-wrapper
v1.2.2
Published
Node.js wrapper around [wiring-pi](https://github.com/eugeneware/wiring-pi) written in TypeScript.
Downloads
2
Readme
wiring-pi-wrapper
Node.js wrapper around wiring-pi written in TypeScript.
Usage
npm install wiring-pi-wrapper --save
var wpw = require('wiring-pi-wrapper').WiringPiWrapper;
var pinLayout = require('wiring-pi-wrapper').PinLayout;
var pinModes = require('wiring-pi-wrapper').PinModes;
var ChangeWorker = require('wiring-pi-wrapper').ChangeWorker;
// setup the pin layout
wpw.setup(pinLayout.wpi);
// write example
var pin = wpw.setupPin(3, pinModes.output);
pin.write(true);
// read example
var pin = wpw.setupPin(2, pinModes.input);
var status = pin.read(); // returns a boolean
// event listener example
var pin = wpw.setupPin(2, pinModes.input);
ChangeWorker.interval = 50; // sets the worker interval
pin.addEventListener('change', (status) => {
console.log(status);
});
API
wpw
wpw.setup(mode: wpw.PinLayout)
Maps directly to the wiring-pi
setup()
function. Mode must be one of the following values:
PinLayout.wpi
: sets up pin numbering withwiringPiSetup()
PinLayout.gpio
: sets up pin numbering withwiringPiSetupGpio()
PinLayout.sys
: sets up pin numbering withwiringPiSetupSys()
PinLayout.phys
: sets up pin numbering withwiringPiSetupPhys()
More information can be found here.
wpw.setupPin(pin: number, mode: wpw.PinModes)
Creates a new Pin
object and executes the pinMode()
function. Mode must be one of the following values:
PinModes.input
PinModes.output
Pin
constructor
The Pin
class cannot be instantiated using the new
keyword. Use wpw.setupPin()
.
pin.read()
Synchronously returns the status of the pin as a boolean. Maps to digitalRead()
.
pin.write(status: boolean)
Synchronously writes a status to the pin. Maps to digitalWrite()
.
pin.addEventListener(event: string, handler: function)
Binds one of the following events to the pin:
change
: Fires when the status of the pin changes. Thehandler
function receives the status as a parameter.
pin.removeEventListener(event: string, handler?: function)
Unbinds an event listener. If no handler
function gets passed it removes all registered event listeners of that event.
ChangeWorker
ChangeWorker.interval
Allows the user to change the dirty checking interval of the pins.