From 0648f4cc0dfbddefa9a5131e26970507724377f0 Mon Sep 17 00:00:00 2001 From: Dave Conway-Jones Date: Sun, 3 Jan 2016 18:23:49 +0000 Subject: [PATCH] Add status indicators to PiFace node --- hardware/PiFace/37-rpi-piface.js | 22 +++++++++++++++++++--- hardware/PiFace/package.json | 2 +- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/hardware/PiFace/37-rpi-piface.js b/hardware/PiFace/37-rpi-piface.js index 59900a28..82fb0602 100644 --- a/hardware/PiFace/37-rpi-piface.js +++ b/hardware/PiFace/37-rpi-piface.js @@ -72,12 +72,16 @@ module.exports = function(RED) { else { node._interval = setInterval( function() { exec("gpio -p read "+node.pin, function(err,stdout,stderr) { - if (err) { node.error(err); } + if (err) { + node.error(err); + node.status({fill:"red",shape:"ring",text:"error"}); + } else { if (node.buttonState !== Number(stdout)) { var previousState = node.buttonState; node.buttonState = Number(stdout); if (previousState !== -1) { + node.status({fill:"green",shape:"dot",text:node.buttonState.toString()}); var msg = {topic:"piface/"+node.npin, payload:node.buttonState}; node.send(msg); } @@ -105,7 +109,13 @@ module.exports = function(RED) { if (node.pin) { if (node.set) { exec("gpio -p write "+node.pin+" "+node.level, function(err,stdout,stderr) { - if (err) { node.error(err); } + if (err) { + node.status({fill:"red",shape:"ring",text:"error"}); + node.error(err); + } + else { + node.status({fill:"yellow",shape:"dot",text:node.level}); + } }); } node.on("input", function(msg) { @@ -114,7 +124,13 @@ module.exports = function(RED) { var out = Number(msg.payload); if ((out === 0)|(out === 1)) { exec("gpio -p write "+node.pin+" "+out, function(err,stdout,stderr) { - if (err) { node.error(err); } + if (err) { + node.status({fill:"red",shape:"ring",text:"error"}); + node.error(err); + } + else { + node.status({fill:"green",shape:"dot",text:out.toString()}); + } }); } else { node.warn("Invalid input - not 0 or 1"); } diff --git a/hardware/PiFace/package.json b/hardware/PiFace/package.json index 73326620..1894f119 100644 --- a/hardware/PiFace/package.json +++ b/hardware/PiFace/package.json @@ -1,6 +1,6 @@ { "name" : "node-red-node-piface", - "version" : "0.0.5", + "version" : "0.0.6", "description" : "Node-RED nodes to read from and write to a PiFace Digital Raspberry Pi add-on board", "dependencies" : { },