UNPKG

dmx-ts

Version:
32 lines (31 loc) 1.26 kB
/// <reference types="node" /> /// <reference types="node" /> import { EventEmitter } from 'events'; import { SerialPort, SerialPortOpenOptions } from 'serialport'; import { AutoDetectTypes } from '@serialport/bindings-cpp'; import { IUniverseDriver, UniverseData } from '../models/IUniverseDriver'; type OpenOptions = Omit<SerialPortOpenOptions<AutoDetectTypes>, 'path'>; export interface AbstractSerialDriverArgs { serialPortOptions: OpenOptions; sendInterval: number; } export declare abstract class AbstractSerialDriver extends EventEmitter implements IUniverseDriver { private _serialPort; private readonly _universe; private readonly _sendInterval; private readonly _serialPortName; private readonly _serialPortOptions; private _intervalHandle; protected constructor(serialPort: string, args: AbstractSerialDriverArgs); init(): Promise<void>; close(): Promise<void>; protected get serialPort(): SerialPort; protected get universeBuffer(): Buffer; protected start(): void; protected stop(): void; protected abstract sendUniverse(): Promise<void>; get(channel: number): number; update(channels: UniverseData, extraData?: any): void; updateAll(value: number): void; } export {};