Socket
Socket
Sign inDemoInstall

serialport

Package Overview
Dependencies
Maintainers
3
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 6.1.1 to 6.2.0

lib/parsers.js

7

.jsdoc.json

@@ -23,3 +23,3 @@ {

"opts": {
"template": "node_modules/docdash",
"template": "node_modules/@reconbot/jsdoc-theme",
"encoding": "utf8",

@@ -31,6 +31,5 @@ "private": true,

},
"docdash": {
"static": true,
"sort": true
"reconbot": {
"github": "https://github.com/node-serialport/node-serialport"
}
}

@@ -0,1 +1,29 @@

<a name="6.2.0"></a>
## 6.2.0 (2018-04-18)
This is a recommended release for everyone on windows as it fixes a memory leak in write operations.
* docs: fix missing options objects and descriptions (#1504) ([e8b73c2](https://github.com/node-serialport/node-serialport/commit/e8b73c2)), closes [#1504](https://github.com/node-serialport/node-serialport/issues/1504)
* docs: node 9 is working well these days ([b585c11](https://github.com/node-serialport/node-serialport/commit/b585c11))
* docs: Switch to @reconbot/jsdoc-theme for docs ([a31078f](https://github.com/node-serialport/node-serialport/commit/a31078f))
* docs(contributing): clean up the instructions a little bit ([71f2480](https://github.com/node-serialport/node-serialport/commit/71f2480))
* docs(parsers): improve the parser examples ([41f1d2d](https://github.com/node-serialport/node-serialport/commit/41f1d2d))
* fix(windows): Reset Buffer after write operations are complete to free memory (#1547) ([a1eef11](https://github.com/node-serialport/node-serialport/commit/a1eef11)), closes [#1547](https://github.com/node-serialport/node-serialport/issues/1547)
* chore: Avoid using deprecated Buffer constructor (#1510) ([0c1533b](https://github.com/node-serialport/node-serialport/commit/0c1533b)), closes [#1510](https://github.com/node-serialport/node-serialport/issues/1510) [/nodejs.org/api/deprecations.html#deprecations_dep0005](https://github.com//nodejs.org/api/deprecations.html/issues/deprecations_dep0005)
* chore: fix package json indents ([7c9b609](https://github.com/node-serialport/node-serialport/commit/7c9b609))
* chore: move parsers to their new packages and clean up docs ([4bccb62](https://github.com/node-serialport/node-serialport/commit/4bccb62))
* chore: remove old doc file ([37a8373](https://github.com/node-serialport/node-serialport/commit/37a8373))
* chore(docs): Minor spelling change ([8a13e9f](https://github.com/node-serialport/node-serialport/commit/8a13e9f))
* chore(package): update eslint-config-standard to version 11.0.0 (#1492) ([cf5b8fb](https://github.com/node-serialport/node-serialport/commit/cf5b8fb)), closes [#1492](https://github.com/node-serialport/node-serialport/issues/1492)
* chore(package): update proxyquire to version 2.0.0 (#1511) ([bac0237](https://github.com/node-serialport/node-serialport/commit/bac0237)), closes [#1511](https://github.com/node-serialport/node-serialport/issues/1511)
* chore(package): update sinon to version 5.0.0 ([9dbccbc](https://github.com/node-serialport/node-serialport/commit/9dbccbc))
* chore(packages): ugprade conventional-changelog-cli@1.3.15 ([270c2be](https://github.com/node-serialport/node-serialport/commit/270c2be))
* chore(packages): ugprade nan@2.9.2 (#1503) ([557afa4](https://github.com/node-serialport/node-serialport/commit/557afa4)), closes [#1503](https://github.com/node-serialport/node-serialport/issues/1503)
* chore(packages): upgrade conventional-changelog@1.3.12 ([2b8f957](https://github.com/node-serialport/node-serialport/commit/2b8f957))
* feat: upgrade socket-io example to latest serialport and fix bug (#1505) ([86e5ab0](https://github.com/node-serialport/node-serialport/commit/86e5ab0)), closes [#1505](https://github.com/node-serialport/node-serialport/issues/1505)
* feat(linter): Added 'cc' to lint the C++ code on 'npm lint' (#1501) ([59960a3](https://github.com/node-serialport/node-serialport/commit/59960a3)), closes [#1501](https://github.com/node-serialport/node-serialport/issues/1501)
* feat(windows): Fetch USB serial number by lookups in win registry (#1483) ([45b3a2f](https://github.com/node-serialport/node-serialport/commit/45b3a2f)), closes [#1483](https://github.com/node-serialport/node-serialport/issues/1483) [#1459](https://github.com/node-serialport/node-serialport/issues/1459)
<a name="6.1.1"></a>

@@ -2,0 +30,0 @@ ## <small>6.1.1 (2018-02-28)</small>

@@ -5,4 +5,4 @@ 'use strict';

/**
* @name module:serialport.Binding
* @type {module:serialport~BaseBinding}
* @name Binding
* @type {BaseBinding}
* @since 5.0.0

@@ -20,3 +20,3 @@ * @description The `Binding` is how Node-SerialPort talks to the underlying system. By default, we auto detect Windows, Linux and OS X, and load the appropriate module for your system. You can assign `SerialPort.Binding` to any binding you like. Find more by searching at [npm](https://npmjs.org/).

* @class BaseBinding
* @param {object} options
* @param {object} options options for the biding
* @property {boolean} isOpen Required property. `true` if the port is open, `false` otherwise. Should be read-only.

@@ -44,4 +44,4 @@ * @throws {TypeError} When given invalid arguments, a `TypeError` is thrown.

* Opens a connection to the serial port referenced by the path.
* @param {string} path
* @param {module:serialport~openOptions} openOptions
* @param {string} path the path or com port to open
* @param {openOptions} options openOptions for the serialport
* @returns {Promise} Resolves after the port is opened and configured.

@@ -84,3 +84,3 @@ * @throws {TypeError} When given invalid arguments, a `TypeError` is thrown.

* @param {buffer} data Accepts a [`Buffer`](http://nodejs.org/api/buffer.html) object.
* @param {buffer} buffer Accepts a [`Buffer`](http://nodejs.org/api/buffer.html) object.
* @param {integer} offset The offset in the buffer to start writing at.

@@ -120,3 +120,3 @@ * @param {integer} length Specifies the maximum number of bytes to read.

* @param {buffer} data - Accepts a [`Buffer`](http://nodejs.org/api/buffer.html) object.
* @param {buffer} buffer - Accepts a [`Buffer`](http://nodejs.org/api/buffer.html) object.
* @returns {Promise} Resolves after the data is passed to the operating system for writing.

@@ -163,7 +163,7 @@ * @throws {TypeError} When given invalid arguments, a `TypeError` is thrown.

* @param {object=} options All options are operating system default when the port is opened. Every flag is set on each call to the provided or default values. All options are always provided.
* @param {Boolean} [options.brk=false]
* @param {Boolean} [options.cts=false]
* @param {Boolean} [options.dsr=false]
* @param {Boolean} [options.dtr=true]
* @param {Boolean} [options.rts=true]
* @param {Boolean} [options.brk=false] flag for brk
* @param {Boolean} [options.cts=false] flag for cts
* @param {Boolean} [options.dsr=false] flag for dsr
* @param {Boolean} [options.dtr=true] flag for dtr
* @param {Boolean} [options.rts=true] flag for rts
* @returns {Promise} Resolves once the port's flags are set.

@@ -170,0 +170,0 @@ * @throws {TypeError} When given invalid arguments, a `TypeError` is thrown.

@@ -14,2 +14,5 @@ 'use strict';

/**
* The Darwin binding layer for OSX
*/
class DarwinBinding extends BaseBinding {

@@ -16,0 +19,0 @@ static list() {

'use strict';
const childProcess = require('child_process');
const Readline = require('../parsers/readline');
const Readline = require('parser-readline');

@@ -6,0 +6,0 @@ // get only serial port names

@@ -14,3 +14,5 @@ 'use strict';

});
/**
* The linux binding layer
*/
class LinuxBinding extends BaseBinding {

@@ -17,0 +19,0 @@ static list() {

@@ -13,2 +13,5 @@ 'use strict';

/**
* Mock bindings for pretend serialport access
*/
class MockBinding extends BaseBinding {

@@ -21,3 +24,3 @@ constructor(opt) {

this.lastWrite = null;
this.recording = new Buffer(0);
this.recording = Buffer.alloc(0);
this.writeOperation = null; // in flight promise or null

@@ -24,0 +27,0 @@ }

@@ -7,6 +7,2 @@ 'use strict';

/**
* Enum of event values
* @enum {int}
*/
const EVENTS = {

@@ -51,4 +47,4 @@ UV_READABLE: 1,

* Wait for the next event to occur
* @param {string} Event ('readable'|'writable'|'disconnect')
* @param {function} callback
* @param {string} event ('readable'|'writable'|'disconnect')
* @returns {Poller} returns itself
*/

@@ -71,4 +67,5 @@ once(event) {

/**
* Ask the bindings to listen for an event
* @param {EVENTS} eventFlag
* Ask the bindings to listen for an event, it is recommend to use `.once()` for easy use
* @param {EVENTS} eventFlag polls for an event or group of events based upon a flag.
* @returns {undefined}
*/

@@ -93,2 +90,3 @@ poll(eventFlag) {

* Stop listening for events and cancel all outstanding listening with an error
* @returns {undefined}
*/

@@ -95,0 +93,0 @@ stop() {

@@ -7,2 +7,5 @@ 'use strict';

/**
* The Windows binding layer
*/
class WindowsBinding extends BaseBinding {

@@ -13,3 +16,3 @@ static list() {

ports.forEach(port => {
if (port.pnpId) {
if (port.pnpId && !port.serialNumber) {
const serialNumber = serialNumParser(port.pnpId);

@@ -16,0 +19,0 @@ if (serialNumber) {

@@ -72,3 +72,3 @@ 'use strict';

* @property {object=} bindingOptions sets binding-specific options
* @property {module:serialport~Binding=} Binding The hardware access binding. `Bindings` are how Node-Serialport talks to the underlying system. By default we auto detect Windows (`WindowsBinding`), Linux (`LinuxBinding`) and OS X (`DarwinBinding`) and load the appropriate module for your system.
* @property {Binding=} Binding The hardware access binding. `Bindings` are how Node-Serialport talks to the underlying system. By default we auto detect Windows (`WindowsBinding`), Linux (`LinuxBinding`) and OS X (`DarwinBinding`) and load the appropriate module for your system.
* @property {number} [bindingOptions.vmin=1] see [`man termios`](http://linux.die.net/man/3/termios) LinuxBinding and DarwinBinding

@@ -82,4 +82,4 @@ * @property {number} [bindingOptions.vtime=0] see [`man termios`](http://linux.die.net/man/3/termios) LinuxBinding and DarwinBinding

* @param {string} path - The system path of the serial port you want to open. For example, `/dev/tty.XXX` on Mac/Linux, or `COM1` on Windows.
* @param {module:serialport~openOptions=} options - Port configuration options
* @param {module:serialport~errorCallback=} openCallback - Called after a connection is opened. If this is not provided and an error occurs, it will be emitted on the port's `error` event. The callback will NOT be called if `autoOpen` is set to `false` in the `openOptions` as the open will not be performed.
* @param {openOptions=} options - Port configuration options
* @param {errorCallback=} openCallback - Called after a connection is opened. If this is not provided and an error occurs, it will be emitted on the port's `error` event. The callback will NOT be called if `autoOpen` is set to `false` in the `openOptions` as the open will not be performed.
* @property {number} baudRate The port's baudRate. Use `.update` to change it. Read-only.

@@ -90,15 +90,15 @@ * @property {object} binding The binding object backing the port. Read-only.

* @throws {TypeError} When given invalid arguments, a `TypeError` will be thrown.
* @emits module:serialport#open
* @emits module:serialport#data
* @emits module:serialport#close
* @emits module:serialport#error
* @emits open
* @emits data
* @emits close
* @emits error
* @alias module:serialport
*/
function SerialPort(path, options, callback) {
function SerialPort(path, options, openCallback) {
if (!(this instanceof SerialPort)) {
return new SerialPort(path, options, callback);
return new SerialPort(path, options, openCallback);
}
if (options instanceof Function) {
callback = options;
openCallback = options;
options = {};

@@ -174,3 +174,3 @@ }

if (this.settings.autoOpen) {
this.open(callback);
this.open(openCallback);
}

@@ -198,3 +198,3 @@ }

* The `error` event's callback is called with an error object whenever there is an error.
* @event module:serialport#error
* @event error
*/

@@ -216,3 +216,3 @@

* The `open` event's callback is called with no arguments when the port is opened and ready for writing. This happens if you have the constructor open immediately (which opens in the next tick) or if you open the port manually with `open()`. See [Useage/Opening a Port](#opening-a-port) for more information.
* @event module:serialport#open
* @event open
*/

@@ -222,12 +222,13 @@

* Opens a connection to the given serial port.
* @param {module:serialport~errorCallback=} callback - Called after a connection is opened. If this is not provided and an error occurs, it will be emitted on the port's `error` event.
* @emits module:serialport#open
* @param {errorCallback=} openCallback - Called after a connection is opened. If this is not provided and an error occurs, it will be emitted on the port's `error` event.
* @emits open
* @returns {undefined}
*/
SerialPort.prototype.open = function(callback) {
SerialPort.prototype.open = function(openCallback) {
if (this.isOpen) {
return this._asyncError(new Error('Port is already open'), callback);
return this._asyncError(new Error('Port is already open'), openCallback);
}
if (this.opening) {
return this._asyncError(new Error('Port is opening'), callback);
return this._asyncError(new Error('Port is opening'), openCallback);
}

@@ -241,7 +242,7 @@

this.emit('open');
if (callback) { callback.call(this, null) }
if (openCallback) { openCallback.call(this, null) }
}, (err) => {
this.opening = false;
debug('Binding #open had an error', err);
this._error(err, callback);
this._error(err, openCallback);
});

@@ -254,3 +255,4 @@ };

* @param {number=} [options.baudRate] The baud rate of the port to be opened. This should match one of the commonly available baud rates, such as 110, 300, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 57600, or 115200. Custom rates are supported best effort per platform. The device connected to the serial port is not guaranteed to support the requested baud rate, even if the port itself supports that baud rate.
* @param {module:serialport~errorCallback=} [callback] Called once the port's baud rate changes. If `.update` is called without a callback, and there is an error, an error event is emitted.
* @param {errorCallback=} [callback] Called once the port's baud rate changes. If `.update` is called without a callback, and there is an error, an error event is emitted.
* @returns {undefined}
*/

@@ -293,3 +295,3 @@ SerialPort.prototype.update = function(options, callback) {

In addition to the usual `stream.write` arguments (`String` and `Buffer`), `write()` can accept arrays of bytes (positive numbers under 256) which is passed to `Buffer.from([])` for conversion. This extra functionality is pretty sweet.
* @method module:serialport#write
* @method SerialPort.prototype.write
* @param {(string|array|buffer)} data Accepts a [`Buffer` ](http://nodejs.org/api/buffer.html) object, or a type that is accepted by the `Buffer` constructor (e.g. an array of bytes or a string).

@@ -338,3 +340,3 @@ * @param {string=} encoding The encoding, if chunk is a string. Defaults to `'utf8'`. Also accepts `'ascii'`, `'base64'`, `'binary'`, and `'hex'` See [Buffers and Character Encodings](https://nodejs.org/api/buffer.html#buffer_buffers_and_character_encodings) for all available options.

* Request a number of bytes from the SerialPort. The `read()` method pulls some data out of the internal buffer and returns it. If no data is available to be read, null is returned. By default, the data is returned as a `Buffer` object unless an encoding has been specified using the `.setEncoding()` method.
* @method module:serialport#read
* @method SerialPort.prototype.read
* @param {number=} size Specify how many bytes of data to return, if available

@@ -346,4 +348,4 @@ * @returns {(string|Buffer|null)} The data from internal buffers

/**
* The `data` event puts the port in flowing mode. Data is emitted as soon as it's received. Data is a `Buffer` object with a varying amount of data in it. The `readLine` parser converts the data into string lines. See the [parsers](#module_serialport--SerialPort.parsers) section for more information on parsers, and the [Node.js stream documentation](https://nodejs.org/api/stream.html#stream_event_data) for more information on the data event.
* @event module:serialport#data
* Listening for the `data` event puts the port in flowing mode. Data is emitted as soon as it's received. Data is a `Buffer` object with a varying amount of data in it. The `readLine` parser converts the data into string lines. See the [parsers](https://node-serialport.github.io/node-serialport/global.html#Parsers) section for more information on parsers, and the [Node.js stream documentation](https://nodejs.org/api/stream.html#stream_event_data) for more information on the data event.
* @event data
*/

@@ -406,3 +408,3 @@

* The `close` event's callback is called with no arguments when the port is closed. In the case of a disconnect it will be called with a Disconnect Error object (`err.disconnected == true`). In the event of a close error (unlikely), an error event is triggered.
* @event module:serialport#close
* @event close
*/

@@ -414,4 +416,6 @@

* If there are in progress writes when the port is closed the writes will error.
* @param {errorCallback} callback Called once a connection is closed.
* @emits module:serialport#close
* @param {errorCallback} callback Called once a connection is closed.
* @param {Error} disconnectError used internally to propagate a disconnect error
* @emits close
* @returns {undefined}
*/

@@ -443,9 +447,10 @@ SerialPort.prototype.close = function(callback, disconnectError) {

* @param {object=} options All options are operating system default when the port is opened. Every flag is set on each call to the provided or default values. If options isn't provided default options is used.
* @param {Boolean} [options.brk=false]
* @param {Boolean} [options.cts=false]
* @param {Boolean} [options.dsr=false]
* @param {Boolean} [options.dtr=true]
* @param {Boolean} [options.rts=true]
* @param {module:serialport~errorCallback=} callback Called once the port's flags have been set.
* @param {Boolean} [options.brk=false] sets the brk flag
* @param {Boolean} [options.cts=false] sets the cts flag
* @param {Boolean} [options.dsr=false] sets the dsr flag
* @param {Boolean} [options.dtr=true] sets the dtr flag
* @param {Boolean} [options.rts=true] sets the rts flag
* @param {errorCallback=} callback Called once the port's flags have been set.
* @since 5.0.0
* @returns {undefined}
*/

@@ -476,3 +481,4 @@ SerialPort.prototype.set = function(options, callback) {

* Uses [`GetCommModemStatus`](https://msdn.microsoft.com/en-us/library/windows/desktop/aa363258(v=vs.85).aspx) for Windows and [`ioctl`](http://linux.die.net/man/4/tty_ioctl) for mac and linux.
* @param {module:serialport~modemBitsCallback=} callback Called once the modem bits are retrieved.
* @param {modemBitsCallback=} callback Called once the modem bits are retrieved.
* @returns {undefined}
*/

@@ -497,3 +503,4 @@ SerialPort.prototype.get = function(callback) {

* Flush discards data received but not read, and written but not transmitted by the operating system. For more technical details, see [`tcflush(fd, TCIOFLUSH)`](http://linux.die.net/man/3/tcflush) for Mac/Linux and [`FlushFileBuffers`](http://msdn.microsoft.com/en-us/library/windows/desktop/aa364439) for Windows.
* @param {module:serialport~errorCallback=} callback Called once the flush operation finishes.
* @param {errorCallback=} callback Called once the flush operation finishes.
* @returns {undefined}
*/

@@ -518,3 +525,4 @@ SerialPort.prototype.flush = function(callback) {

* Waits until all output data is transmitted to the serial port. After any pending write has completed it calls [`tcdrain()`](http://linux.die.net/man/3/tcdrain) or [FlushFileBuffers()](https://msdn.microsoft.com/en-us/library/windows/desktop/aa364439(v=vs.85).aspx) to ensure it has been written to the device.
* @param {module:serialport~errorCallback=} callback Called once the drain operation returns.
* @param {errorCallback=} callback Called once the drain operation returns.
* @returns {undefined}
* @example

@@ -549,4 +557,4 @@ Write the `data` and wait until it has finished transmitting to the target serial port before calling the callback. This will queue until the port is open and writes are finished.

* The `pause()` method causes a stream in flowing mode to stop emitting 'data' events, switching out of flowing mode. Any data that becomes available remains in the internal buffer.
* @method module:serialport#pause
* @see module:serialport#resume
* @method SerialPort.prototype.pause
* @see resume
* @since 5.0.0

@@ -558,4 +566,4 @@ * @returns `this`

* The `resume()` method causes an explicitly paused, `Readable` stream to resume emitting 'data' events, switching the stream into flowing mode.
* @method module:serialport#resume
* @see module:serialport#pause
* @method SerialPort.prototype.resume
* @see pause
* @since 5.0.0

@@ -577,3 +585,3 @@ * @returns `this`

* @type {function}
* @param {listCallback=} callback
* @param {listCallback=} callback Called with a list of available serial ports.
* @returns {Promise} Resolves with the list of available serial ports.

@@ -633,3 +641,3 @@ * @example

*/
SerialPort.list = function(cb) {
SerialPort.list = function(callback) {
if (!SerialPort.Binding) {

@@ -640,6 +648,6 @@ throw new TypeError('No Binding set on `SerialPort.Binding`');

const promise = SerialPort.Binding.list();
if (typeof cb === 'function') {
if (typeof callback === 'function') {
promise.then(
ports => cb(null, ports),
err => cb(err)
ports => callback(null, ports),
err => callback(err)
);

@@ -646,0 +654,0 @@ }

{
"name": "serialport",
"version": "6.1.1",
"version": "6.2.0",
"description": "Node.js package to access serial ports. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!",

@@ -62,3 +62,9 @@ "main": "lib",

"debug": "^3.1.0",
"nan": "^2.6.2",
"nan": "^2.9.2",
"parser-byte-length": "^1.0.2",
"parser-cctalk": "^1.0.2",
"parser-delimiter": "^1.0.2",
"parser-readline": "^1.0.2",
"parser-ready": "^1.0.2",
"parser-regex": "^1.0.2",
"prebuild-install": "^2.4.1",

@@ -70,11 +76,12 @@ "promirepl": "^1.0.1",

"devDependencies": {
"@reconbot/jsdoc-theme": "^1.0.0",
"bluebird": "^3.5.0",
"cc": "^1.0.1",
"chai": "^4.0.2",
"chai-subset": "^1.5.0",
"conventional-changelog-cli": "^1.3.2",
"docdash": "^0.4.0",
"eslint": "^4.17.0",
"eslint-config-standard": "^10.2.1",
"conventional-changelog-cli": "^1.3.15",
"eslint": "^4.19.1",
"eslint-config-standard": "^11.0.0",
"eslint-plugin-import": "^2.7.0",
"eslint-plugin-node": "^6.0.0",
"eslint-plugin-node": "^6.0.1",
"eslint-plugin-promise": "^3.5.0",

@@ -86,4 +93,4 @@ "eslint-plugin-standard": "^3.0.1",

"prebuild": "^7.4.0",
"proxyquire": "^1.7.10",
"sinon": "^4.2.2"
"proxyquire": "^2.0.0",
"sinon": "^5.0.0"
},

@@ -103,3 +110,3 @@ "engines": {

"docs": "jsdoc -c ./.jsdoc.json ",
"lint": "eslint lib test bin examples",
"lint": "eslint lib test bin examples && cc",
"rebuild-all": "npm rebuild && node-gyp rebuild",

@@ -118,3 +125,14 @@ "repl": "node bin/repl.js",

},
"gypfile": true
"gypfile": true,
"cc": {
"filter": [
"legal/copyright",
"build/include"
],
"files": [
"src/*.cpp",
"src/*.h"
],
"linelength": "120"
}
}

@@ -15,3 +15,3 @@ # Node Serialport

Node-Serialport provides a stream interface for the low-level serial port code necessary to controll [Arduino](http://www.arduino.cc/) chipsets, X10 interfaces, [Zigbee](http://www.zigbee.org/) radios, highway signs, lcd screens, cash drawers, motor controllers, sensor packages, fork lifts, modems, drones, CNC machines, plotters, vending machines, ccTalk coin accecptors, SMS Gateways, RFID scanners and much more. If you have a hardware device with a [UART](https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter) we can speak to it. The physical world is your oyster with this goodie.
Node-Serialport provides a stream interface for the low-level serial port code necessary to control [Arduino](http://www.arduino.cc/) chipsets, X10 interfaces, [Zigbee](http://www.zigbee.org/) radios, highway signs, lcd screens, cash drawers, motor controllers, sensor packages, fork lifts, modems, drones, CNC machines, plotters, vending machines, ccTalk coin accecptors, SMS Gateways, RFID scanners and much more. If you have a hardware device with a [UART](https://en.wikipedia.org/wiki/Universal_asynchronous_receiver/transmitter) we can speak to it. The physical world is your oyster with this goodie.

@@ -24,5 +24,5 @@ For a full breakdown of why we made Node-Serialport, please read [NodeBots - The Rise of JS Robotics](http://www.voodootikigod.com/nodebots-the-rise-of-js-robotics). It explains why one would want to program robots in JS in the first place.

- [**API Docs**](https://node-serialport.github.io/node-serialport/)
- [Parsers API Docs](https://node-serialport.github.io/parsers/)
- **For support**, open a [GitHub issue](https://github.com/node-serialport/node-serialport/issues/new).
- **For discussions, design ideas, and clarifications**, please join our [Gitter chat room](https://gitter.im/EmergingTechnologyAdvisors/node-serialport).
- **To test Node-Serialport**, we recommend two related projects—[Browser Serialport](https://github.com/garrows/browser-serialport) ("just like Node Serialport, but for browser apps") and [Serialport Test Piliot](https://github.com/j5js/serialport-test-pilot).
- **To contribute**, please review our [contribution guide](CONTRIBUTING.md) and [Code of Conduct](CODE_OF_CONDUCT.md). You might want to check out our [roadmap](https://github.com/node-serialport/node-serialport/issues/746). We also have issues tagged ["good first PR"](https://github.com/node-serialport/node-serialport/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+pr%22), if you'd like to start somewhere specific. We'll do our best to support you until we merge your PR.

@@ -34,3 +34,4 @@

Can be found at https://node-serialport.github.io/node-serialport/
- [**API Docs**](https://node-serialport.github.io/node-serialport/)
- [Parsers API Docs](https://node-serialport.github.io/parsers/)

@@ -49,2 +50,4 @@ See our [changelog](CHANGELOG.md) for what's new, and our [upgrade guide](UPGRADE_GUIDE.md) for a walk-through on differences between major versions.

Parsers have been spun out in to their own [GitHub Repo](https://github.com/node-serialport/parsers).
***

@@ -76,3 +79,3 @@ ## Helpful Resources for Getting Started with Node-Serialport

* [Error Handling](#error-handling)
d* [Command Line Tools](#command-line-tools)
* [Command Line Tools](#command-line-tools)
* [Serial Port List](#serial-port-list)

@@ -90,4 +93,4 @@ * [Srial Port Terminal](#serial-port-terminal)

| --- | --- | --- | --- | --- |
| Linux / ia32 | ☑ | ☑ | ☑ | ☐ |
| Linux / x64 | ☑ | ☑ | ☑ | ☐ |
| Linux / ia32 | ☑ | ☑ | ☑ | ☑ |
| Linux / x64 | ☑ | ☑ | ☑ | ☑ |
| Linux / ARM v6¹ | ☐ | ☐ | ☐ | ☐ |

@@ -98,5 +101,5 @@ | Linux / ARM v7¹ | ☐ | ☐ | ☐ | ☐ |

| Linux / PPC64¹ | ☐ | ☐ | ☐ | ☐ |
| Windows² / x86 | ☐ | ☑ | ☑ | ☐ |
| Windows² / x64 | ☑ | ☑ | ☑ | ☐ |
| OSX³ / x64 | ☑ | ☑ | ☑ | ☐ |
| Windows² / x86 | ☐ | ☑ | ☑ | ☑ |
| Windows² / x64 | ☑ | ☑ | ☑ | ☑ |
| OSX³ / x64 | ☑ | ☑ | ☑ | ☑ |

@@ -109,4 +112,2 @@ ¹ ARM, MIPSel and PPC64¹ platforms are not currently part of our testing or build matrix, but are known to work.

⁴ Node 9 is not supported but we're providing builds for it.
## Installation Instructions

@@ -113,0 +114,0 @@

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

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