johnny-five
Version:
Firmata based Arduino Programming Framework.
29 lines (22 loc) • 680 B
JavaScript
var Board = require("../lib/board.js");
function ShiftRegister( opts ) {
if ( !(this instanceof ShiftRegister) ) {
return new ShiftRegister( opts );
}
// Initialize a Device instance on a Board
Board.Device.call(
this, opts = Board.Options( opts )
);
this.pins = {
data: opts.pins.data,
clock: opts.pins.clock,
latch: opts.pins.latch
};
}
ShiftRegister.prototype.send = function( value ) {
this.board.digitalWrite( this.pins.latch, this.firmata.LOW );
this.board.shiftOut( this.pins.data, this.pins.clock, true, value );
this.board.digitalWrite( this.pins.latch, this.firmata.HIGH );
return this;
};
module.exports = ShiftRegister;