ledstripe
Version:
control WS2801 and LPD8806 LED stripes via SPI
39 lines (33 loc) • 975 B
JavaScript
/*
* display some .png files (without alpha channel!) as animation
*/
var fs = require('fs'),
path = require("path"),
pngparse = require("pngparse"),
myLedStripe = require('./index')
var imgDir = __dirname + '/img',
numLEDs = 30,
//ledStripeType = 'LPD8806'
ledStripeType = 'WS2801'
var blackBuffer = new Buffer(numLEDs*3);
for (var i=0; i<blackBuffer.length; i++){
blackBuffer[i]=0;
};
function displayPNG(filename, onFinish){
pngparse.parseFile(path.join(imgDir, filename), function(err, data) {
if(err)
throw err
console.log(data);
console.log('writing to device');
//append 1 black row
var imgBuffer = Buffer.concat([data.data, blackBuffer]);
myLedStripe.animate(imgBuffer,'10m', onFinish);
});
return;
}
myLedStripe.connect(numLEDs,ledStripeType,'/dev/spidev0.0');
displayPNG("rainbowsparkle.png",function(){
displayPNG("johnsbild.png",function(){
displayPNG("terminate.png")
});
});