incyclist-ant-plus
Version:
Incyclist library for ANT+ - originally forked from longhorn/ant-plus
46 lines (45 loc) • 1.6 kB
TypeScript
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;
}