UNPKG

@essense/iso-claim

Version:

Library & background program that implements the ISO address claim procedure for CANbus (i.e. for NMEA2000 devices)

59 lines (58 loc) 1.62 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; import CANBus from './can-bus'; export interface CANNodeOptions { supportedPGNs: number[]; preferAddress: number; deviceClass?: number; deviceFunction?: number; systemInstance?: number; industryGroup?: number; instanceLower?: number; instanceUpper?: number; manufacturerCode?: number; uniqueNumber?: number; certificationLevel?: number; loadEquivalency?: number; modelId?: string; modelSerialCode?: string; modelVersion?: string; productCode?: string; port?: number; reconnect?: boolean; } declare interface CANNode { options: CANNodeOptions; bus: CANBus; address: number; connected: boolean; state: number; } declare class CANNode extends EventEmitter { protected READY: number; protected ADDRESS_REQUESTED: number; protected IDLE: number; private addressClaimTimeout; private http; private busname; private reconnect; constructor(bus: string, opts: CANNodeOptions); init(): void; requestISO(PGN: number, dest?: number): void; private showDevicesJSON; private showDevicesTable; private incomingMessage; private addressClaimFields; private claimAddress; private setReady; private NAKacknowledgement; private broadcastSupportedPGNs; private broadcastProductInfo; private handleISORequest; private handleGroupFunction; private handleProductInfo; private handleSupportedPGNList; private handleISOAddressClaim; private increaseAddress; } export default CANNode;