From e77534694645895e103acc852e8ac1d0cbbeedbc Mon Sep 17 00:00:00 2001 From: Dave C-J Date: Sun, 20 Oct 2013 20:37:01 +0100 Subject: [PATCH] Let Blinkstick accept upper case colours --- nodes/hardware/76-blinkstick.html | 41 ++++++++++--------- nodes/hardware/76-blinkstick.js | 68 +++++++++++++++---------------- 2 files changed, 55 insertions(+), 54 deletions(-) diff --git a/nodes/hardware/76-blinkstick.html b/nodes/hardware/76-blinkstick.html index bac60436c..1bef4306f 100644 --- a/nodes/hardware/76-blinkstick.html +++ b/nodes/hardware/76-blinkstick.html @@ -23,27 +23,28 @@ diff --git a/nodes/hardware/76-blinkstick.js b/nodes/hardware/76-blinkstick.js index 87feea64f..cae30ca80 100644 --- a/nodes/hardware/76-blinkstick.js +++ b/nodes/hardware/76-blinkstick.js @@ -18,44 +18,44 @@ var RED = require("../../red/red"); var blinkstick = require("blinkstick"); Object.size = function(obj) { - var size = 0, key; - for (key in obj) { if (obj.hasOwnProperty(key)) size++; } - return size; + var size = 0, key; + for (key in obj) { if (obj.hasOwnProperty(key)) size++; } + return size; }; function BlinkStick(n) { - RED.nodes.createNode(this,n); - var p1 = /^\#[A-Fa-f0-9]{6}$/ - var p2 = /[0-9]+,[0-9]+,[0-9]+/ - this.led = blinkstick.findFirst(); // maybe try findAll() (one day) - var node = this; + RED.nodes.createNode(this,n); + var p1 = /^\#[A-Fa-f0-9]{6}$/ + var p2 = /[0-9]+,[0-9]+,[0-9]+/ + this.led = blinkstick.findFirst(); // maybe try findAll() (one day) + var node = this; - this.on("input", function(msg) { - if (msg != null) { - if (Object.size(node.led) !== 0) { - try { - if (p2.test(msg.payload)) { - var rgb = msg.payload.split(","); - node.led.setColor(parseInt(rgb[0])&255, parseInt(rgb[1])&255, parseInt(rgb[2])&255); - } - else { - node.led.setColor(msg.payload); - } - } - catch (err) { - node.warn("BlinkStick missing ?"); - node.led = blinkstick.findFirst(); - } - } - else { - //node.warn("No BlinkStick found"); - node.led = blinkstick.findFirst(); - } - } - }); - if (Object.size(node.led) === 0) { - node.error("No BlinkStick found"); - } + this.on("input", function(msg) { + if (msg != null) { + if (Object.size(node.led) !== 0) { + try { + if (p2.test(msg.payload)) { + var rgb = msg.payload.split(","); + node.led.setColor(parseInt(rgb[0])&255, parseInt(rgb[1])&255, parseInt(rgb[2])&255); + } + else { + node.led.setColor(msg.payload.toLowerCase().replace(/\s+/g,'')); + } + } + catch (err) { + node.warn("BlinkStick missing ?"); + node.led = blinkstick.findFirst(); + } + } + else { + //node.warn("No BlinkStick found"); + node.led = blinkstick.findFirst(); + } + } + }); + if (Object.size(node.led) === 0) { + node.error("No BlinkStick found"); + } }