How to use the serialport.parsers function in serialport

To help you get started, we’ve selected a few serialport examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github LaserWeb / deprecated-LaserWeb3 / server-marlin.js View on Github external
socket.on('connectTo', function(data) { // If a user picks a port to connect to, open a Node SerialPort Instance to it
	data = data.split(',');
	console.log(chalk.yellow('WARN:'), chalk.blue('Connecting to Port ' + data));
	if (!isConnected) {
	    port = new serialport(data[0], {  parser: serialport.parsers.readline("\n"), baudrate: parseInt(data[1]) });
	} else {
	    socket.emit("connectStatus", 'Already Connected');
	    port.write("?\n"); // Lets check if its LasaurGrbl?
	    port.write("M115\n"); // Lets check if its Marlin?
	    port.write("version\n"); // Lets check if its Smoothieware?
	    port.write("$fb\n"); // Lets check if its TinyG
	}

	socket.on('closePort', function(data) { // If a user picks a port to connect to, open a Node SerialPort Instance to it
	    console.log(chalk.yellow('WARN:'), chalk.blue('Closing Port ' + port.path));
	    socket.emit("connectStatus", 'closed:'+port.path);
	    port.close();
	});

	port.on('open', function() {
	    socket.emit("connectStatus", 'opened:'+port.path);
github LaserWeb / deprecated-LaserWeb1 / server.js View on Github external
!function outer(i){

		sp[i] = {};
		sp[i].port = ports[i].comName;
    sp[i].manufacturer = ports[i].manufacturer;
    sp[i].firmware = ""
		sp[i].q = [];
		sp[i].qCurrentMax = 0;
		sp[i].lastSerialWrite = [];
		sp[i].lastSerialReadLine = '';
		sp[i].handle = new SerialPort(ports[i].comName, {
			parser: serialport.parsers.readline("\n"),
			baudrate: config.serialBaudRate
		});
		sp[i].sockets = [];

		sp[i].handle.on("open", function() {
			//console.log(
			//	chalk.green('Connecting to'),
			//	chalk.blue(sp[i].port),
		  //	chalk.green('at'),
			//	chalk.blue(config.serialBaudRate)
			//);
			sp[i].handle.write("?\n"); // Lets check if its LasaurGrbl?
			sp[i].handle.write("M115\n"); // Lets check if its Marlin?
			sp[i].handle.write("version\n"); // Lets check if its Smoothieware?
      sp[i].handle.write("$fb\n"); // Lets check if its TinyG
github krhoyt / IBM / bluemix / websocket / server / serial.js View on Github external
var socket = new WebSocket( 'ws://sockets.mybluemix.net' );
var open = false;

// Connected
socket.on( 'open', function() {
    // Debug
    console.log( 'WebSocket connected.' );
    
    // Track connection
    open = true;
} );

// Connect to serial port
// Look for newline delimiter
var serial = new SerialPort.SerialPort( '/dev/cu.usbmodem1411', {
	parser: SerialPort.parsers.readline( '\n' ) 	
} );

// Serial data arrived
serial.on( 'data', function( data ) {
    var message = null;
    
	// Send to console for debugging
	console.log( data );
    
    // Connected to socket
    if( open ) {
        // Assemble message
        message = {
            action: 'photocell',
            value: parseInt( data.trim() )
        };
github krhoyt / IBM / events / hdc2015 / keynote / arduino.js View on Github external
// Port name looked up in Arduino IDE
var ARDUINO_PORT = '/dev/cu.usbmodem1411';

// List ports
// Arduino will display for manufacturer
// Here for debugging purposes
SerialPort.list( function( err, ports ) {
	ports.forEach( function(port) {
		console.log( port.comName )
    } );
} );

// Connect to Arduino
// Look for newline delimiter
var serial = new SerialPort.SerialPort( ARDUINO_PORT, {
	parser: SerialPort.parsers.readline( '\n' ) 	    
} );

// Used for alternative to sub-second delivery
var light = null;

// Serial data captured from Arduino
// Note that this happens at a sub-second rate
// You may want to adjust to fit your needs
serial.on( 'data', function( data ) {
	// Send to console for debugging
	// console.log( data );
	
	// Alternative to sub-second delivery
	// Store off for slower delivery
	// Picked up by setInterval later
	light = data.trim();
github GamesDoneQuick / agdq17-layouts / extension / timekeeping.js View on Github external
availableArduinoCOMs.forEach(availableArduinoCOM => {
				const port = new SerialPort(availableArduinoCOM.comName, {
					parser: require('serialport').parsers.readline('\n'),
					baudRate: 9600
				}, err => {
					if (err) {
						return nodecg.log.warn('Error opening propsective port:\n\t', err.message);
					}

					if (canWriteToSerial(port)) {
						port.write('handshake\n', error => {
							if (error) {
								// We have to just discard this error, because an Arduino programmed in Joypad
								// mode will show up as an available COM, but can't actually be written to.
							}
						});
					}
				});
github HomegrownMarine / boat_computer / data_sources / H2183CompassInput.js View on Github external
setTimeout(function() {
            // reconnect after 500ms
            _this.serialPort.close();

            try {
                _this.serialPort = new SerialPort(_this._options.path, {
                        baudrate: 38400,
                        parser: serialport.parsers.readline("\r\n")
                    }, false);

                _this.serialPort.on('error', function(error) {
                    winston.error("H2183Compass: high speed - error event fired", error);
                });

                _this.serialPort.open( function(error) {
                    if (error) winston.error("H2183Compass: high speed - error on open", error);
                    onHighSpeedConnect();
                });

            } catch (error) {
                winston.error("H2183Compass: high speed - exception on open", error);
            }
        }, 1000);
    };
github TendaDigital / Turin-Bot / ReconnectableSerialPort.js View on Github external
const _ = require('lodash')
const EventEmitter = require('events')

const SerialPort = require('serialport')
const Ready = SerialPort.parsers.Ready
const Readline = SerialPort.parsers.Readline

module.exports = class ReconnectableSerialPort extends EventEmitter{

  constructor(pattern, options) {
    super()

    this.port = null
    this.pattern = pattern
    this.options = options

    // Configure readline parser
    // this.ready = new Ready({data: 'init'})
    
    this.readLine = new Readline({
      delimiter: '\r\n',
    })
github intel / intel-iot-services-orchestration-layer / node_modules / hope-center / lib / hubbundles / noderedbundle / node-red-node-serialport / 25-serial.js View on Github external
var setupSerial = function() {
                            obj.serial = new serialp(port,{
                                baudrate: baud,
                                databits: databits,
                                parity: parity,
                                stopbits: stopbits,
                                parser: serialp.parsers.raw,
                                autoOpen: true
                            }, function(err, results) {
                                if (err) {
                                    if (err.toString() !== olderr) {
                                        olderr = err.toString();
                                        RED.log.error(RED._("serial.errors.error",{port:port,error:olderr}));
                                    }
                                    obj.tout = setTimeout(function() {
                                        setupSerial();
                                    }, settings.serialReconnectTime);
                                }
                            });
                            obj.serial.on('error', function(err) {
                                RED.log.error(RED._("serial.errors.error",{port:port,error:err.toString()}));
                                obj._emitter.emit('closed');
                                obj.tout = setTimeout(function() {
github PRINTR3D / formide-client / core / modules / printer / drivers / MarlinDriver.js View on Github external
PrinterDriver.prototype.tryBaudrate = function(baudRate, callback) {
	var self = this;
	if (self.baudrate == 0) {
		var sPort = SerialPort.SerialPort;
		
		self.sp = new sPort(self.port, {
			baudrate: baudRate,
			parser: SerialPort.parsers.readline("\n")
		});
		
		self.sp.on('open', function() {
			
			//self.sendRaw("M105", function() {});
			
			setTimeout(function() {
				if (self.baudrate === 0) {
					self.sp.close();
					return callback(null, {success: false, baudrate: baudRate});
				}
			}, 3000);
			
			console.log('baudrate test with M105 for ' + baudRate);
			
			self.sp.on('data', function(data) {

serialport

Node.js package to access serial ports. Linux, OSX and Windows. Welcome your robotic JavaScript overlords. Better yet, program them!

MIT
Latest version published 1 year ago

Package Health Score

81 / 100
Full package analysis