UNPKG

incyclist-ant-plus

Version:

Incyclist library for ANT+ - originally forked from longhorn/ant-plus

46 lines (45 loc) 1.6 kB
import EventEmitter from "events"; import { ChannelProps, IAntDevice, IChannel, ISensor } from "./types"; export type MessageInfo = { msgId: number; data?: Buffer; timeout?: number; resolve: any; reject: any; }; export declare const START_TIMEOUT = 5000; export declare const CLOSE_TIMEOUT = 2000; export declare const MAX_CHANNEL_COLLISION = 10; export default class Channel extends EventEmitter implements IChannel { protected channelNo: number; protected device: IAntDevice; protected isScanner: boolean; protected isSensor: boolean; protected isWriting: boolean; protected messageQueue: MessageInfo[]; protected props: ChannelProps; protected attachedSensor: ISensor; protected ackErrorCount: number; constructor(channelNo: number, device: IAntDevice, props?: ChannelProps); onDeviceData(profile: string, deviceID: number, deviceState: any): void; getChannelNo(): number; getDevice(): IAntDevice; setProps(props: ChannelProps): void; getProps(): ChannelProps; startScanner(): Promise<boolean>; stopScanner(): Promise<boolean>; startSensor(sensor: ISensor): Promise<boolean>; stopAllSensors(): Promise<boolean>; stopSensor(sensor: ISensor): Promise<boolean>; restartSensor(): Promise<boolean>; protected closeChannel(props?: { restart?: boolean; }): Promise<void>; attach(sensor: ISensor): any; detach(sensor: ISensor): void; onMessage(data: Buffer): void; sendMessage(data: Buffer, opts?: { timeout?: number; }): Promise<any>; flush(): void; }