Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

serialport

Package Overview
Dependencies
Maintainers
0
Versions
175
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

serialport - npm Package Compare versions

Comparing version 0.1.3 to 0.2.0

tests/._test_read.js

2

._package.json

@@ -1,4 +0,4 @@

Mac OS X  2��ATTRQ-���"�"com.macromates.caret{
Mac OS X  2��ATTR`�s��"�"com.macromates.caret{
column = 22;
line = 1;
}

@@ -1,4 +0,4 @@

Mac OS X  2��ATTRQ-���"�"com.macromates.caret{
column = 5;
line = 30;
Mac OS X  2��ATTR`�u��#�#com.macromates.caret{
column = 31;
line = 68;
}

@@ -1,4 +0,4 @@

Mac OS X  2��ATTRQ-���#�#com.macromates.caret{
column = 48;
line = 49;
Mac OS X  2��ATTR`�x��#�#com.macromates.caret{
column = 23;
line = 43;
}
{ "name" : "serialport",
"version" : "0.1.3",
"version" : "0.2.0",
"description" : "Welcome your robotic javascript overlords. Better yet, program them!",

@@ -4,0 +4,0 @@ "author": "Chris Williams <voodootikigod@gmail.com>",

@@ -15,2 +15,4 @@ <pre>

Version: 0.2 - Released March 8, 2011
*****

@@ -41,3 +43,3 @@

var SerialPort = require("serialport").SerialPort
var serialPort = new SerialPort("/dev/tty-usbserial1", 9600);
var serialPort = new SerialPort("/dev/tty-usbserial1");
</pre>

@@ -48,7 +50,39 @@

1. Path to Serial Port - required.
1. Baud Rate - optional, defaults to 9600. Must be one of: 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1800, 120,, 600, 300, 200, 150, 134, 110, 75, or 50.
1. Data Bits - optional, defaults to 8. Must be one of: 8, 7, 6, or 5.
1. Stop Bits - optional, defaults to 1. Must be one of: 1 or 2.
1. Parity - optional, defaults to 0. Must be one of: 0, 1, or 2.
1. Options - optional and described below.
The options object allows you to pass named options to the serial port during initialization. The valid attributes for the options object are the following
* baudrate: Baud Rate, defaults to 9600. Must be one of: 115200, 57600, 38400, 19200, 9600, 4800, 2400, 1800, 120,, 600, 300, 200, 150, 134, 110, 75, or 50.
* databits: Data Bits, defaults to 8. Must be one of: 8, 7, 6, or 5.
* stopbits: Stop Bits, defaults to 1. Must be one of: 1 or 2.
* parity: Parity, defaults to 0. Must be one of: 0, 1, or 2.
* buffersize: Size of read buffer, defaults to 255. Must be an integer value.
* parser: The parser engine to use with read data, defaults to rawPacket strategy which just emits the raw buffer as a "data" event. Can be any function that accepts EventEmitter as first parameter and the raw buffer as the second parameter.
Parsers
-------
Out of the box, node-serialport provides two parsers one that simply emits the raw buffer as a data event and the other which provides familiar "readline" style parsing. To use the readline parser, you must provide a delimiter as such:
<pre>
var serialport = require("serialport");
var SerialPort = serialport.SerialPort; // localize object constructor
var sp = new SerialPort("/dev/tty-usbserial1", {
parser: serialport.parsers.readline("\n")
});
</pre>
To use the raw parser, you just provide the function definition (or leave undefined):
<pre>
var serialport = require("serialport");
var SerialPort = serialport.SerialPort; // localize object constructor
var sp = new SerialPort("/dev/tty-usbserial1", {
parser: serialport.parsers.raw
});
</pre>
You can get updates of new data from the Serial Port as follows:

@@ -55,0 +89,0 @@

@@ -19,26 +19,54 @@ "use strict";

var parsers = {
raw: function (emitter, buffer) {
emitter.emit("data", buffer);
},
readline: function (delimiter) {
if (!delimiter) { delimiter == "\r" }
return function (emitter, buffer) {
var lines = buffer.toString().split(delimiter);
lines.forEach(function (i) {
emitter.emit('data', i);
})
}
}
}
// can accept path, baudrate, databits, stopbits, parity
function SerialPort(path) {
function SerialPort(path, options) {
var _options = {
baudrate: 38400,
databits: 8,
stopbits: 1,
parity: 0,
buffersize: 255,
parser: parsers.raw
};
events.EventEmitter.call(this);
this.baudrate = 38400;
this.databits = 8;
this.stopbits = 1;
this.parity = 0;
this.port = path;
if (arguments.length >= 2 && BAUDRATES.indexOf(arguments[1]) >= 0) {
this.baudrate = arguments[1];
if (options.baudrate && BAUDRATES.indexOf(options.baudrate) >= 0) {
_options.baudrate = options.baudrate;
}
if (arguments.length >= 3 && DATABITS.indexOf(arguments[2]) >= 0) {
this.databits = arguments[2];
if (options.databits && DATABITS.indexOf(options.databits) >= 0) {
_options.databits = options.databits;
}
if (arguments.length >= 4 && STOPBITS.indexOf(arguments[3]) >= 0) {
this.stopbits = arguments[3];
if (options.stopbits && STOPBITS.indexOf(options.stopbits) >= 0) {
_options.stopbits = options.stopbits;
}
if (arguments.length >= 5 && PARITY.indexOf(arguments[4]) >= 0) {
this.parity = arguments[4];
if (options.parity && PARITY.indexOf(options.parity) >= 0) {
_options.parity = options.parity;
}
if (options.buffersize && typeof options.buffersize == "number" || options.buffersize instanceof Number) {
_options.buffersize = options.buffersize;
}
if (options.parser && typeof options.parser == 'function') {
_options.parser = options.parser;
}
this.fd = serialport_native.open(this.port, this.baudrate, this.databits, this.stopbits, this.parity);
this.fd = serialport_native.open(this.port, _options.baudrate, _options.databits, _options.stopbits, _options.parity);

@@ -49,5 +77,10 @@ this.readWatcher = new IOWatcher();

return function () {
var buffer = new Buffer(255);
var buffer = new Buffer(_options.buffersize);
var bytes_read = serialport_native.read(file_id, buffer);
me.emit('data', buffer.slice(0, bytes_read));
if (bytes_read <= 0) {
// assume issue with reading.
me.emit("error", "Read triggered, but no bytes available. Assuming error with serial port shutting down.");
me.readWatcher.stop();
}
_options.parser(me, buffer.slice(0, bytes_read));
}

@@ -78,2 +111,3 @@ })(this.fd, this);

exports.SerialPort = SerialPort;
module.exports.SerialPort = SerialPort;
module.exports.parsers = parsers;

@@ -11,5 +11,7 @@ // Test with the epic VirtualSerialPortApp - http://code.google.com/p/macosxvirtualserialport/

})
serial_port.on("error", function (msg) {
sys.puts("error: "+msg);
})
repl.start("=>")
//serial_port.close();

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc