ioboard

Provides a standard interface to boards capable of IO (e.g. Arduinos, Maestros, Raspberry Pis, etc) and their firmware

ioboard

An extendable implementation of Johnny Five's IO Plugins.

Implements all required and optional methods, along with the required constants - MODE, HIGH, LOW, etc.

You should configure the relevant pins of your board in your constructor, then emit the ready event.

E.g.:

var util = require('util'),
  IOBoard = require('ioboard');
 
MyIO = function(pathcallback) {
  // call super constructor 
  IOBoard.call(this);
 
  // connect to hardware and emit "connected" event 
  this.emit("connected");
 
  // .. configure pins 
  this._pins.push(..);
 
  // all done, emit ready event 
  this.emit("ready");
 
  // finally call the passed callback 
  callback();
}
util.inherits(IO, IOBoard);

Finally implement any of the IO Plugin methods of your choosing:

// implement digitalWrite 
MyIO.prototype.digitalWrite = function(pinvalue) {
  ..
};

By default IOBoard will print a message when every non-implemented method is invoked. To prevent this, set the quiet property of the super constructor args to true:

MyIO = function(pathcallback) {
  // call super constructor 
  IOBoard.call(this, {
    ..
    quiet: true
  });
 
  ..
}
util.inherits(IO, IOBoard);