From 019a4ff3973dd136b1790f76086603a36321a52b Mon Sep 17 00:00:00 2001 From: Dave C-J Date: Mon, 23 Sep 2013 08:28:40 +0100 Subject: [PATCH] Patch for serial node - if no delimiter selected then it was holding onto the last character in the buffer. --- nodes/io/25-serial.js | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/nodes/io/25-serial.js b/nodes/io/25-serial.js index 1d61758fb..163975fdf 100644 --- a/nodes/io/25-serial.js +++ b/nodes/io/25-serial.js @@ -123,10 +123,18 @@ var serialPool = function() { } newline = newline.replace("\\n","\n").replace("\\r","\r"); var setupSerial = function() { - obj.serial = new serialp.SerialPort(port,{ - baudrate: baud, - parser: serialp.parsers.readline(newline) - }); + if (newline == "") { + obj.serial = new serialp.SerialPort(port,{ + baudrate: baud, + parser: serialp.parsers.raw + }); + } + else { + obj.serial = new serialp.SerialPort(port,{ + baudrate: baud, + parser: serialp.parsers.readline(newline) + }); + } obj.serial.on('error', function(err) { util.log("[serial] serial port "+port+" error "+err); obj.tout = setTimeout(function() { @@ -147,7 +155,15 @@ var serialPool = function() { obj._emitter.emit('ready'); }); obj.serial.on('data',function(d) { + if (typeof d !== "string") { + d = d.toString(); + for (i=0; i