Skip to main content
Version: 9.x.x

Abstract Binding

Typescript signature of Abstract Binding

class AbstractBinding {
static list(): Promise<PortInfo[]>

constructor(opt: OpenOptions)

* Opens a connection to the serial port referenced by the path. Promise resolves after the port
* is opened, configured and ready for use.
* @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.
open(path: string, options: OpenOptions): Promise<void>

* Closes an open port
close(): Promise<void>

* Request a number of bytes from the SerialPort. This function is similar to Node's
* [``](
* except it will always return at least one byte.

* The in progress reads must error when the port is closed with an error object that has the
* property `canceled` equal to `true`. Any other error will cause a disconnection.

* @param {buffer} buffer Accepts a [`Buffer`]( object.
* @param {integer} offset The offset in the buffer to start writing at.
* @param {integer} length Specifies the maximum number of bytes to read.
* @returns {Promise} Resolves with the number of bytes read after a read operation.
read(buffer: Buffer, offset: number, length: number): Promise<{ bytesRead: number, buffer: Buffer }>

* Write bytes to the SerialPort. Only called when there is no pending write operation.

* The in-progress writes must error when the port is closed, with an error object that has the
* property `canceled` equal to `true`. Any other error will cause a disconnection.

* @param {buffer} buffer - Accepts a [`Buffer`]( object.
* @returns {Promise} Resolves after the data is passed to the operating system for writing.
write(buffer: Buffer): Promise<void>

* Changes connection settings on an open port. Only `baudRate` is supported.
* @returns {Promise} Resolves once the port's baud rate changes.
update(options: { baudRate: number }): Promise<void>

* Set control flags on an open port.
* @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] 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.
set(options): Promise<void>

* Get the control flags (CTS, DSR, DCD) on the open port.
* @returns {Promise} Resolves with the retrieved flags.
get(): Promise<Flags>

* Get the OS reported baud rate for the open port. Used mostly for debugging custom baud rates.
getBaudRate(): Promise<number>

* Flush (discard) data received but not read, and written but not transmitted.
* @returns {Promise} Resolves once the flush operation finishes.
flush(): Promise<void>

* Drain waits until all output data is transmitted to the serial port. An in-progress write
* should be completed before this returns.
* @returns {Promise} Resolves once the drain operation finishes.
drain(): Promise<void>