UNPKG

waterrower

Version:
73 lines (72 loc) 2.03 kB
/// <reference types="node" /> import { Observable, Subject } from 'rxjs/Rx'; import * as events from 'events'; export declare class WaterRower extends events.EventEmitter { private refreshRate; private baudRate; private port; private dataDirectory; private datapoints; private recordingSubscription; reads$: Subject<ReadValue>; datapoints$: Observable<DataPoint>; constructor(options?: WaterRowerOptions); private discoverPort; private setupSerialPort; private setupStreams; private send; private initialize; private close; reset(): void; requestDataPoints(points?: string | string[]): void; readDataPoints(points?: string | string[]): any; startRecording(name?: string): void; stopRecording(): void; getRecordings(): string[]; playRecording(name?: string): void; startSimulation(): void; defineDistanceWorkout(distance: number, units?: Units): void; defineDurationWorkout(seconds: number): void; displaySetDistance(units: Units): void; displaySetIntensity(option: IntensityDisplayOptions): void; displaySetAverageIntensity(option: AverageIntensityDisplayOptions): void; } export interface WaterRowerOptions { portName?: string; baudRate?: number; refreshRate?: number; dataDirectory?: string; datapoints?: string | string[]; } export interface DataPoint { time?: Date; name?: string; address: string; length: string; value: any; } export interface ReadValue { time: number; type: string; data: string; } export declare enum IntensityDisplayOptions { MetersPerSecond = 0, MPH = 1, _500m = 2, _2km = 3, Watts = 4, CaloriesPerHour = 5 } export declare enum AverageIntensityDisplayOptions { AverageMetersPerSecond = 0, AverageMPH = 1, _500m = 2, _2km = 3 } export declare enum Units { Meters = 1, Miles = 2, Kilometers = 3, Strokes = 4 }