From c34cba317626486d08608179ba69cb69a8fa7a50 Mon Sep 17 00:00:00 2001 From: Stefan Sterz Date: Thu, 21 Jan 2016 22:49:04 +0100 Subject: [PATCH] bug fix ir Reading capability --- arduino/src/sketch.ino | 23 ++++++++++++----------- nodejs/routes/index.js | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/arduino/src/sketch.ino b/arduino/src/sketch.ino index 5fc5421..56f193b 100644 --- a/arduino/src/sketch.ino +++ b/arduino/src/sketch.ino @@ -20,7 +20,7 @@ void setup() void loop() { - if (irReceive < millis() && irrecv.decode(&results)) { + if (irReceive > millis() && irrecv.decode(&results)) { irRead(&results); irrecv.resume(); @@ -45,8 +45,8 @@ void loop() void decodeMessage() { int cmd = message[0]; - int pin = (message[1] - 97 < 0 || message[1] - 97 > 19)? -1 : message[1] - 97 < 0; - + int pin = (message[1] - 97 < 0 || message[1] - 97 > 19)? -1 : message[1] - 97 ; + if(com) { uint8_t val[6]; memcpy(val, message + 2, 6); @@ -134,13 +134,13 @@ void sendRCTristate (uint8_t val[], int pin) { triStateCode.toCharArray(triState, triStateCode.length() + 1); rc.sendTriState(triState); - Serial.println("RC-Tristate send!"); + delay(500); + Serial.print("RC-Tristate send: "); + Serial.println(triState); } void irRead(decode_results *results) { - unsigned long codeValue; - int codeLen; int codeType = results->decode_type; if (codeType == UNKNOWN) { @@ -155,9 +155,10 @@ void irRead(decode_results *results) { } } - codeValue = results->value; - codeLen = results->bits; - String m = String(codeType + "::" + codeValue); - Serial.println(String(m + "::" + codeLen)); + unsigned long codeValue = results->value; + int codeLen = results->bits; + char m[22]; + sprintf(m, "%04d::%04d::%09lu", codeType,codeLen,codeValue); + Serial.println(m); } -} \ No newline at end of file +} diff --git a/nodejs/routes/index.js b/nodejs/routes/index.js index ce6e1c4..5aa6408 100644 --- a/nodejs/routes/index.js +++ b/nodejs/routes/index.js @@ -14,7 +14,7 @@ router.get('/toggleLight', function (req, res) { var s = "0FFF0FFF000F"; var str = ""; for(i = 0; i < s.length; i+=2) { str += String.fromCharCode(parseInt(s.substr(i,2), 16)); } - arduino.write(new Buffer('Wa' + str,'ascii')); + arduino.write(new Buffer('Wl' + str,'ascii')); res.send('switch light'); });