Fix listing errors in node-red-nodes

This commit is contained in:
Dave Conway-Jones
2016-03-01 21:10:58 +00:00
parent ea9356a3cc
commit d70ae82d10
9 changed files with 50 additions and 48 deletions

View File

@@ -1,6 +1,6 @@
{
"name" : "node-red-node-pi-unicorn-hat",
"version" : "0.0.3",
"version" : "0.0.5",
"description" : "A Node-RED node to output to a Raspberry Pi Unicorn HAT from Pimorini.",
"dependencies" : {
"pngjs": "2.2.*"

View File

@@ -50,7 +50,6 @@
<script type="text/javascript">
RED.nodes.registerType('rpi-unicorn',{
category: 'Raspberry Pi',
label: 'Raspberry Pi',
color:"#c6dbef",
defaults: {
name: { value:"" },

View File

@@ -92,6 +92,7 @@ module.exports = function(RED) {
else { ready = true; }
function inputlistener(msg) {
var a,b,c,d,e;
var s = msg.payload.toUpperCase().split(",");
var doDraw = true;
if (s.length === 1) {
@@ -118,7 +119,7 @@ module.exports = function(RED) {
else if (s.length === 3) {
//console.log("BACKGROUND",s)
for (var i=0; i<192; i++) {
pic[i] = s[0];
pic[i] = s[0];
pic[i+1] = s[1];
pic[i+2] = s[2];
i += 2;
@@ -131,32 +132,32 @@ module.exports = function(RED) {
else {
node.child.stdin.write('P'+msg.payload+'\n');
doDraw = false;
for (var a=0; a<s.length; a++) {
for (a=0; a<s.length; a++) {
//console.log("PIXELS",a);
if ((s[a] === "*") && (s[a+1] === "*")) {
for (var c=0; c<192; c++) {
pic[c] = s[a+2];
for (c=0; c<192; c++) {
pic[c] = s[a+2];
pic[c+1] = s[a+3];
pic[c+2] = s[a+4];
c += 2;
}
}
else if (s[a] === "*") {
for (var d=0; d<8; d++) {
pic[d*3+s[1]*24] = s[a+2];
for (d=0; d<8; d++) {
pic[d*3+s[1]*24] = s[a+2];
pic[d*3+s[1]*24+1] = s[a+3];
pic[d*3+s[1]*24+2] = s[a+4];
}
}
else if (s[a+1] === "*") {
for (var e=0; e<8; e++) {
pic[s[a]*3+e*24] = s[a+2];
for (e=0; e<8; e++) {
pic[s[a]*3+e*24] = s[a+2];
pic[s[a]*3+e*24+1] = s[a+3];
pic[s[a]*3+e*24+2] = s[a+4];
}
}
else {
pic[s[a]*3+s[a+1]*24] = s[a+2];
pic[s[a]*3+s[a+1]*24] = s[a+2];
pic[s[a]*3+s[a+1]*24+1] = s[a+3];
pic[s[a]*3+s[a+1]*24+2] = s[a+4];
}
@@ -165,11 +166,11 @@ module.exports = function(RED) {
}
}
else if (s.length === 192) { // handle complete buffer refresh.
for (var i=0; i<192; i++) {
pic[i] = s[i];
pic[i+1] = s[i+1];
pic[i+2] = s[i+2];
i += 2;
for (var h=0; h<192; h++) {
pic[h] = s[h];
pic[h+1] = s[h+1];
pic[h+2] = s[h+2];
h += 2;
}
}
else {
@@ -180,28 +181,30 @@ module.exports = function(RED) {
var pixels = new Buffer(192);
pic.copy(pixels);
for (var p in node.items) {
var b = node.items[p].split(",");
for (var a=0; a<b.length; a++) {
if (b[a] === "*") {
for (var d=0; d<8; d++) {
pixels[d*3+b[a+1]*24] = b[a+2];
pixels[d*3+b[a+1]*24+1] = b[a+3];
pixels[d*3+b[a+1]*24+2] = b[a+4];
if (node.items.hasOwnProperty(p)) {
b = node.items[p].split(",");
for (a=0; a<b.length; a++) {
if (b[a] === "*") {
for (d=0; d<8; d++) {
pixels[d*3+b[a+1]*24] = b[a+2];
pixels[d*3+b[a+1]*24+1] = b[a+3];
pixels[d*3+b[a+1]*24+2] = b[a+4];
}
}
}
else if (b[a+1] === "*") {
for (var e=0; e<8; e++) {
pixels[b[a]*3+e*24] = b[a+2];
pixels[b[a]*3+e*24+1] = b[a+3];
pixels[b[a]*3+e*24+2] = b[a+4];
else if (b[a+1] === "*") {
for (e=0; e<8; e++) {
pixels[b[a]*3+e*24] = b[a+2];
pixels[b[a]*3+e*24+1] = b[a+3];
pixels[b[a]*3+e*24+2] = b[a+4];
}
}
else {
pixels[b[a]*3+b[a+1]*24] = b[a+2];
pixels[b[a]*3+b[a+1]*24+1] = b[a+3];
pixels[b[a]*3+b[a+1]*24+2] = b[a+4];
}
a += 4;
}
else {
pixels[b[a]*3+b[a+1]*24] = b[a+2];
pixels[b[a]*3+b[a+1]*24+1] = b[a+3];
pixels[b[a]*3+b[a+1]*24+2] = b[a+4];
}
a += 4;
}
}
node.child.stdin.write(pixels);