What is @serialport/parser-delimiter?
@serialport/parser-delimiter is a parser for the serialport library that allows you to split data into chunks based on a specified delimiter. This is particularly useful for processing data streams where messages are separated by a specific character or sequence of characters.
What are @serialport/parser-delimiter's main functionalities?
Basic Usage
This code demonstrates how to set up a basic serial port connection and use the delimiter parser to split incoming data based on newline characters.
const SerialPort = require('serialport');
const Delimiter = require('@serialport/parser-delimiter');
const port = new SerialPort('/dev/tty-usbserial1');
const parser = port.pipe(new Delimiter({ delimiter: '\n' }));
parser.on('data', data => {
console.log('Received data:', data.toString());
});
Custom Delimiter
This example shows how to use a custom delimiter (in this case, a carriage return followed by a line feed) to split incoming data.
const SerialPort = require('serialport');
const Delimiter = require('@serialport/parser-delimiter');
const port = new SerialPort('/dev/tty-usbserial1');
const parser = port.pipe(new Delimiter({ delimiter: Buffer.from([0x0D, 0x0A]) })); // Carriage return and line feed
parser.on('data', data => {
console.log('Received data:', data.toString());
});
Handling Binary Data
This example demonstrates how to handle binary data streams by using a custom binary delimiter.
const SerialPort = require('serialport');
const Delimiter = require('@serialport/parser-delimiter');
const port = new SerialPort('/dev/tty-usbserial1');
const parser = port.pipe(new Delimiter({ delimiter: Buffer.from([0xFF]) })); // Custom binary delimiter
parser.on('data', data => {
console.log('Received binary data:', data);
});
0