UNPKG

@essense/iso-claim

Version:

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

70 lines (69 loc) 1.66 kB
/// <reference types="node" /> import { EventEmitter } from 'events'; declare interface CANBus { bus: string; channel: any; open: boolean; address?: number; parser: any; network: object; } export interface CANMessage { id: number; ext: boolean; data: Uint8Array; timestamp?: string; } export interface CANBoatMessage { pgn: number; src: number; dest: number; id?: number; data?: Uint8Array; timestamp?: string; length: number; description: string; fields: any; } export interface OutgoingIntermediate { pgn: number; src: number; dest?: number; dst?: number; data: any; } export interface N2KMessage { pgn: number; src?: number; dest?: number; timestamp?: string; length?: number; id: number; data: Uint8Array; } interface PGNIntermediate { id: number; pgn: number; src: number; dest: number; } declare class CANBus extends EventEmitter { constructor(bus: string); getAddress(): number; setAddress(address: number): void; addDevice(src: number, device: object): void; getDevices(array?: boolean): object; reconnect(): void; connect(): void; send(message: OutgoingIntermediate): void; sendRawPgn(pgn: number, data: Buffer, dest?: number): void; isConnected(): boolean; PGNtoID(pgn: number, src: number, dest?: number, prio?: number): number; IDtoPGN(id: number): PGNIntermediate; CANtoN2Kmessage(message: CANMessage): N2KMessage; private generateCANFrames; private handlePGN; private onChannelMessage; private onChannelStopped; } export default CANBus;