incyclist-ant-plus
Version:
Incyclist library for ANT+ - originally forked from longhorn/ant-plus
51 lines (50 loc) • 1.58 kB
TypeScript
import { usb, Device } from 'usb';
import { IAntDevice, AntDeviceProps, IChannel, AntOpenResult } from './types';
import Channel from './ant-channel';
export declare class AntDevice implements IAntDevice {
private device;
private iface;
private detachedKernelDriver;
private inEp;
private outEp;
private leftover;
protected props: AntDeviceProps;
protected maxChannels: number;
protected canScan: boolean;
protected waitingFor: {
msgId?: number;
event?: number;
resolve: any;
};
protected deviceNo: any;
protected channels: Channel[];
protected static devices: {
device: Device;
inUse: boolean;
}[];
constructor(props?: AntDeviceProps);
logEvent(event: any): void;
getMaxChannels(): number;
isScanEnabled(): boolean;
getDeviceNumber(): number;
protected getDevices(): {
device: Device;
inUse: boolean;
}[];
protected markAsUsed(deviceNo: number): void;
protected releaseFromUsed(deviceNo: number): void;
open(): Promise<boolean | AntOpenResult>;
close(): Promise<boolean>;
openUSBDevice(device: usb.Device): Promise<boolean>;
startup(timeout?: number): Promise<boolean>;
closeUSBDevice(): Promise<boolean>;
getChannel(): IChannel;
freeChannel(channel: IChannel): void;
write(data: Buffer): void;
sendMessage(data: Buffer, waitFor: {
msgId?: number;
event?: number;
}): Promise<Buffer>;
onMessage(data: Buffer): void;
onError(error: string, message: Buffer): void;
}