incyclist-devices 1.4.102 → 1.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +0 -0
- package/lib/DeviceSupport.d.ts +36 -34
- package/lib/DeviceSupport.js +82 -78
- package/lib/ant/AntAdapter.d.ts +50 -50
- package/lib/ant/AntAdapter.js +109 -109
- package/lib/ant/AntScanner.d.ts +60 -60
- package/lib/ant/AntScanner.js +651 -651
- package/lib/ant/antfe/AntFEAdapter.d.ts +83 -83
- package/lib/ant/antfe/AntFEAdapter.js +652 -652
- package/lib/ant/antfe/ant-fe-adv-st-mode.d.ts +9 -9
- package/lib/ant/antfe/ant-fe-adv-st-mode.js +51 -51
- package/lib/ant/antfe/ant-fe-erg-mode.d.ts +6 -6
- package/lib/ant/antfe/ant-fe-erg-mode.js +14 -14
- package/lib/ant/antfe/ant-fe-st-mode.d.ts +5 -5
- package/lib/ant/antfe/ant-fe-st-mode.js +13 -13
- package/lib/ant/anthrm/AntHrmAdapter.d.ts +16 -16
- package/lib/ant/anthrm/AntHrmAdapter.js +130 -130
- package/lib/ant/antpwr/pwr-adapter.d.ts +49 -49
- package/lib/ant/antpwr/pwr-adapter.js +251 -251
- package/lib/ant/utils.d.ts +1 -1
- package/lib/ant/utils.js +23 -23
- package/lib/antv2/adapter-factory.d.ts +11 -0
- package/lib/antv2/adapter-factory.js +40 -0
- package/lib/antv2/ant-binding.d.ts +13 -0
- package/lib/antv2/ant-binding.js +27 -0
- package/lib/antv2/ant-device.d.ts +51 -0
- package/lib/antv2/ant-device.js +115 -0
- package/lib/antv2/ant-interface.d.ts +37 -0
- package/lib/antv2/ant-interface.js +239 -0
- package/lib/antv2/fe.d.ts +28 -0
- package/lib/antv2/fe.js +237 -0
- package/lib/antv2/hr.d.ts +18 -0
- package/lib/antv2/hr.js +93 -0
- package/lib/antv2/incyclist-protocol.d.ts +37 -0
- package/lib/antv2/incyclist-protocol.js +126 -0
- package/lib/antv2/pwr.d.ts +28 -0
- package/lib/antv2/pwr.js +163 -0
- package/lib/antv2/sensor-factory.d.ts +5 -0
- package/lib/antv2/sensor-factory.js +20 -0
- package/lib/ble/ble-device.d.ts +63 -63
- package/lib/ble/ble-device.js +444 -444
- package/lib/ble/ble-erg-mode.d.ts +18 -18
- package/lib/ble/ble-erg-mode.js +132 -132
- package/lib/ble/ble-interface.d.ts +100 -100
- package/lib/ble/ble-interface.js +721 -719
- package/lib/ble/ble-peripheral.d.ts +36 -36
- package/lib/ble/ble-peripheral.js +200 -200
- package/lib/ble/ble-st-mode.d.ts +15 -15
- package/lib/ble/ble-st-mode.js +95 -95
- package/lib/ble/ble.d.ts +129 -129
- package/lib/ble/ble.js +86 -86
- package/lib/ble/consts.d.ts +14 -14
- package/lib/ble/consts.js +17 -17
- package/lib/ble/fm.d.ts +125 -125
- package/lib/ble/fm.js +745 -745
- package/lib/ble/hrm.d.ts +48 -48
- package/lib/ble/hrm.js +134 -134
- package/lib/ble/incyclist-protocol.d.ts +31 -31
- package/lib/ble/incyclist-protocol.js +147 -147
- package/lib/ble/pwr.d.ts +89 -89
- package/lib/ble/pwr.js +321 -321
- package/lib/ble/tacx.d.ts +90 -90
- package/lib/ble/tacx.js +731 -731
- package/lib/ble/wahoo-kickr.d.ts +98 -98
- package/lib/ble/wahoo-kickr.js +496 -496
- package/lib/calculations.d.ts +13 -13
- package/lib/calculations.js +150 -150
- package/lib/{CyclingMode.d.ts → cycling-mode.d.ts} +76 -76
- package/lib/{CyclingMode.js → cycling-mode.js} +79 -79
- package/lib/daum/DaumAdapter.d.ts +66 -66
- package/lib/daum/DaumAdapter.js +396 -396
- package/lib/daum/DaumPowerMeterCyclingMode.d.ts +8 -8
- package/lib/daum/DaumPowerMeterCyclingMode.js +21 -21
- package/lib/daum/ERGCyclingMode.d.ts +26 -26
- package/lib/daum/ERGCyclingMode.js +201 -201
- package/lib/daum/SmartTrainerCyclingMode.d.ts +41 -41
- package/lib/daum/SmartTrainerCyclingMode.js +344 -344
- package/lib/daum/classic/DaumClassicAdapter.d.ts +18 -18
- package/lib/daum/classic/DaumClassicAdapter.js +146 -146
- package/lib/daum/classic/DaumClassicCyclingMode.d.ts +13 -13
- package/lib/daum/classic/DaumClassicCyclingMode.js +97 -97
- package/lib/daum/classic/DaumClassicProtocol.d.ts +27 -27
- package/lib/daum/classic/DaumClassicProtocol.js +185 -185
- package/lib/daum/classic/bike.d.ts +64 -64
- package/lib/daum/classic/bike.js +456 -456
- package/lib/daum/classic/utils.d.ts +13 -13
- package/lib/daum/classic/utils.js +143 -143
- package/lib/daum/constants.d.ts +19 -19
- package/lib/daum/constants.js +22 -22
- package/lib/daum/premium/DaumClassicCyclingMode.d.ts +14 -14
- package/lib/daum/premium/DaumClassicCyclingMode.js +86 -86
- package/lib/daum/premium/DaumPremiumAdapter.d.ts +12 -12
- package/lib/daum/premium/DaumPremiumAdapter.js +131 -131
- package/lib/daum/premium/DaumPremiumProtocol.d.ts +32 -32
- package/lib/daum/premium/DaumPremiumProtocol.js +207 -207
- package/lib/daum/premium/bike.d.ts +123 -123
- package/lib/daum/premium/bike.js +894 -894
- package/lib/daum/premium/tcpserial.d.ts +33 -33
- package/lib/daum/premium/tcpserial.js +123 -123
- package/lib/daum/premium/utils.d.ts +62 -62
- package/lib/daum/premium/utils.js +376 -376
- package/lib/{Device.d.ts → device.d.ts} +92 -92
- package/lib/{Device.js → device.js} +71 -71
- package/lib/kettler/comms.d.ts +59 -59
- package/lib/kettler/comms.js +242 -242
- package/lib/kettler/ergo-racer/ERGCyclingMode.d.ts +25 -25
- package/lib/kettler/ergo-racer/ERGCyclingMode.js +144 -144
- package/lib/kettler/ergo-racer/adapter.d.ts +101 -101
- package/lib/kettler/ergo-racer/adapter.js +639 -639
- package/lib/kettler/ergo-racer/protocol.d.ts +41 -41
- package/lib/kettler/ergo-racer/protocol.js +203 -203
- package/lib/modes/power-base.d.ts +20 -20
- package/lib/modes/power-base.js +70 -70
- package/lib/modes/power-meter.d.ts +20 -20
- package/lib/modes/power-meter.js +78 -78
- package/lib/modes/simulator.d.ts +29 -29
- package/lib/modes/simulator.js +140 -140
- package/lib/{DeviceProtocol.d.ts → protocol.d.ts} +74 -74
- package/lib/{DeviceProtocol.js → protocol.js} +41 -41
- package/lib/{DeviceRegistry.d.ts → registry.d.ts} +8 -8
- package/lib/{DeviceRegistry.js → registry.js} +33 -33
- package/lib/simulator/Simulator.d.ts +69 -69
- package/lib/simulator/Simulator.js +288 -288
- package/lib/types/command.d.ts +8 -8
- package/lib/types/command.js +2 -2
- package/lib/types/route.d.ts +24 -24
- package/lib/types/route.js +9 -9
- package/lib/types/user.d.ts +11 -11
- package/lib/types/user.js +9 -9
- package/lib/utils.d.ts +14 -14
- package/lib/utils.js +114 -114
- package/package.json +47 -46
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { DeviceProtocol, Device } from './
|
|
2
|
-
import CyclingMode from './
|
|
3
|
-
export declare const DEFAULT_BIKE_WEIGHT = 10;
|
|
4
|
-
export declare const DEFAULT_USER_WEIGHT = 75;
|
|
5
|
-
export declare type DeviceData = {
|
|
6
|
-
speed?: number;
|
|
7
|
-
slope?: number;
|
|
8
|
-
power?: number;
|
|
9
|
-
cadence?: number;
|
|
10
|
-
heartrate?: number;
|
|
11
|
-
distance?: number;
|
|
12
|
-
timestamp?: number;
|
|
13
|
-
deviceTime?: number;
|
|
14
|
-
deviceDistanceCounter?: number;
|
|
15
|
-
internalDistanceCounter?: number;
|
|
16
|
-
};
|
|
17
|
-
export declare type OnDeviceDataCallback = (data: DeviceData) => void;
|
|
18
|
-
export declare type OnDeviceStartCallback = (completed: number, total: number) => void;
|
|
19
|
-
export interface Bike {
|
|
20
|
-
setCyclingMode(mode: CyclingMode | string, settings?: any): void;
|
|
21
|
-
getSupportedCyclingModes(): Array<any>;
|
|
22
|
-
getCyclingMode(): CyclingMode;
|
|
23
|
-
getDefaultCyclingMode(): CyclingMode;
|
|
24
|
-
setUserSettings(userSettings: any): void;
|
|
25
|
-
setBikeSettings(bikeSettings: any): void;
|
|
26
|
-
}
|
|
27
|
-
export interface DeviceAdapter extends Device {
|
|
28
|
-
isBike(): boolean;
|
|
29
|
-
isPower(): boolean;
|
|
30
|
-
isHrm(): boolean;
|
|
31
|
-
isSame(device: DeviceAdapter): boolean;
|
|
32
|
-
getID(): string;
|
|
33
|
-
getDisplayName(): string;
|
|
34
|
-
getName(): string;
|
|
35
|
-
getPort(): string;
|
|
36
|
-
getProtocol(): DeviceProtocol;
|
|
37
|
-
getProtocolName(): string
|
|
38
|
-
setIgnoreHrm(ignore: boolean): void;
|
|
39
|
-
setIgnorePower(ignore: boolean): void;
|
|
40
|
-
setIgnoreBike(ignore: boolean): void;
|
|
41
|
-
select(): void;
|
|
42
|
-
unselect(): void;
|
|
43
|
-
isSelected(): boolean;
|
|
44
|
-
setDetected(detected?: boolean): void;
|
|
45
|
-
isDetected(): boolean;
|
|
46
|
-
start(props?: any): Promise<any>;
|
|
47
|
-
stop(): Promise<boolean>;
|
|
48
|
-
pause(): Promise<boolean>;
|
|
49
|
-
resume(): Promise<boolean>;
|
|
50
|
-
sendUpdate(request: any): void;
|
|
51
|
-
onData(callback: OnDeviceDataCallback): void;
|
|
52
|
-
}
|
|
53
|
-
export default class IncyclistDevice implements DeviceAdapter {
|
|
54
|
-
protocol: DeviceProtocol;
|
|
55
|
-
detected: boolean;
|
|
56
|
-
selected: boolean;
|
|
57
|
-
onDataFn: OnDeviceDataCallback;
|
|
58
|
-
settings: any;
|
|
59
|
-
constructor(proto: DeviceProtocol, settings?: any);
|
|
60
|
-
isBike(): boolean;
|
|
61
|
-
isPower(): boolean;
|
|
62
|
-
isHrm(): boolean;
|
|
63
|
-
isSame(device: DeviceAdapter): boolean;
|
|
64
|
-
getID(): string;
|
|
65
|
-
getDisplayName(): string;
|
|
66
|
-
getName(): string;
|
|
67
|
-
getPort(): string;
|
|
68
|
-
getProtocol(): DeviceProtocol;
|
|
69
|
-
getProtocolName(): string
|
|
70
|
-
getSupportedCyclingModes(): any[];
|
|
71
|
-
getDefaultCyclingMode(): CyclingMode;
|
|
72
|
-
setCyclingMode(mode: CyclingMode | string, settings?: any): void;
|
|
73
|
-
getCyclingMode(): CyclingMode;
|
|
74
|
-
setIgnoreHrm(ignore: any): void;
|
|
75
|
-
setIgnorePower(ignore: any): void;
|
|
76
|
-
setIgnoreBike(ignore: any): void;
|
|
77
|
-
select(): void;
|
|
78
|
-
unselect(): void;
|
|
79
|
-
isSelected(): boolean;
|
|
80
|
-
setDetected(detected?: boolean): void;
|
|
81
|
-
isDetected(): boolean;
|
|
82
|
-
update(): void;
|
|
83
|
-
check(): void;
|
|
84
|
-
connect(): void;
|
|
85
|
-
close(): void;
|
|
86
|
-
start(props?: any): Promise<any>;
|
|
87
|
-
stop(): Promise<boolean>;
|
|
88
|
-
pause(): Promise<boolean>;
|
|
89
|
-
resume(): Promise<boolean>;
|
|
90
|
-
sendUpdate(request: any): void;
|
|
91
|
-
onData(callback: OnDeviceDataCallback): void;
|
|
92
|
-
}
|
|
1
|
+
import { DeviceProtocol, Device } from './protocol';
|
|
2
|
+
import CyclingMode from './cycling-mode';
|
|
3
|
+
export declare const DEFAULT_BIKE_WEIGHT = 10;
|
|
4
|
+
export declare const DEFAULT_USER_WEIGHT = 75;
|
|
5
|
+
export declare type DeviceData = {
|
|
6
|
+
speed?: number;
|
|
7
|
+
slope?: number;
|
|
8
|
+
power?: number;
|
|
9
|
+
cadence?: number;
|
|
10
|
+
heartrate?: number;
|
|
11
|
+
distance?: number;
|
|
12
|
+
timestamp?: number;
|
|
13
|
+
deviceTime?: number;
|
|
14
|
+
deviceDistanceCounter?: number;
|
|
15
|
+
internalDistanceCounter?: number;
|
|
16
|
+
};
|
|
17
|
+
export declare type OnDeviceDataCallback = (data: DeviceData) => void;
|
|
18
|
+
export declare type OnDeviceStartCallback = (completed: number, total: number) => void;
|
|
19
|
+
export interface Bike {
|
|
20
|
+
setCyclingMode(mode: CyclingMode | string, settings?: any): void;
|
|
21
|
+
getSupportedCyclingModes(): Array<any>;
|
|
22
|
+
getCyclingMode(): CyclingMode;
|
|
23
|
+
getDefaultCyclingMode(): CyclingMode;
|
|
24
|
+
setUserSettings(userSettings: any): void;
|
|
25
|
+
setBikeSettings(bikeSettings: any): void;
|
|
26
|
+
}
|
|
27
|
+
export interface DeviceAdapter extends Device {
|
|
28
|
+
isBike(): boolean;
|
|
29
|
+
isPower(): boolean;
|
|
30
|
+
isHrm(): boolean;
|
|
31
|
+
isSame(device: DeviceAdapter): boolean;
|
|
32
|
+
getID(): string;
|
|
33
|
+
getDisplayName(): string;
|
|
34
|
+
getName(): string;
|
|
35
|
+
getPort(): string;
|
|
36
|
+
getProtocol(): DeviceProtocol;
|
|
37
|
+
getProtocolName(): string;
|
|
38
|
+
setIgnoreHrm(ignore: boolean): void;
|
|
39
|
+
setIgnorePower(ignore: boolean): void;
|
|
40
|
+
setIgnoreBike(ignore: boolean): void;
|
|
41
|
+
select(): void;
|
|
42
|
+
unselect(): void;
|
|
43
|
+
isSelected(): boolean;
|
|
44
|
+
setDetected(detected?: boolean): void;
|
|
45
|
+
isDetected(): boolean;
|
|
46
|
+
start(props?: any): Promise<any>;
|
|
47
|
+
stop(): Promise<boolean>;
|
|
48
|
+
pause(): Promise<boolean>;
|
|
49
|
+
resume(): Promise<boolean>;
|
|
50
|
+
sendUpdate(request: any): void;
|
|
51
|
+
onData(callback: OnDeviceDataCallback): void;
|
|
52
|
+
}
|
|
53
|
+
export default class IncyclistDevice implements DeviceAdapter {
|
|
54
|
+
protocol: DeviceProtocol;
|
|
55
|
+
detected: boolean;
|
|
56
|
+
selected: boolean;
|
|
57
|
+
onDataFn: OnDeviceDataCallback;
|
|
58
|
+
settings: any;
|
|
59
|
+
constructor(proto: DeviceProtocol, settings?: any);
|
|
60
|
+
isBike(): boolean;
|
|
61
|
+
isPower(): boolean;
|
|
62
|
+
isHrm(): boolean;
|
|
63
|
+
isSame(device: DeviceAdapter): boolean;
|
|
64
|
+
getID(): string;
|
|
65
|
+
getDisplayName(): string;
|
|
66
|
+
getName(): string;
|
|
67
|
+
getPort(): string;
|
|
68
|
+
getProtocol(): DeviceProtocol;
|
|
69
|
+
getProtocolName(): string;
|
|
70
|
+
getSupportedCyclingModes(): any[];
|
|
71
|
+
getDefaultCyclingMode(): CyclingMode;
|
|
72
|
+
setCyclingMode(mode: CyclingMode | string, settings?: any): void;
|
|
73
|
+
getCyclingMode(): CyclingMode;
|
|
74
|
+
setIgnoreHrm(ignore: any): void;
|
|
75
|
+
setIgnorePower(ignore: any): void;
|
|
76
|
+
setIgnoreBike(ignore: any): void;
|
|
77
|
+
select(): void;
|
|
78
|
+
unselect(): void;
|
|
79
|
+
isSelected(): boolean;
|
|
80
|
+
setDetected(detected?: boolean): void;
|
|
81
|
+
isDetected(): boolean;
|
|
82
|
+
update(): void;
|
|
83
|
+
check(): void;
|
|
84
|
+
connect(): void;
|
|
85
|
+
close(): void;
|
|
86
|
+
start(props?: any): Promise<any>;
|
|
87
|
+
stop(): Promise<boolean>;
|
|
88
|
+
pause(): Promise<boolean>;
|
|
89
|
+
resume(): Promise<boolean>;
|
|
90
|
+
sendUpdate(request: any): void;
|
|
91
|
+
onData(callback: OnDeviceDataCallback): void;
|
|
92
|
+
}
|
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_USER_WEIGHT = exports.DEFAULT_BIKE_WEIGHT = void 0;
|
|
4
|
-
exports.DEFAULT_BIKE_WEIGHT = 10;
|
|
5
|
-
exports.DEFAULT_USER_WEIGHT = 75;
|
|
6
|
-
class IncyclistDevice {
|
|
7
|
-
constructor(proto, settings) {
|
|
8
|
-
this.protocol = proto;
|
|
9
|
-
this.detected = false;
|
|
10
|
-
this.selected = false;
|
|
11
|
-
this.onDataFn = undefined;
|
|
12
|
-
this.settings = settings || {};
|
|
13
|
-
}
|
|
14
|
-
isBike() { throw new Error('not implemented'); }
|
|
15
|
-
isPower() { throw new Error('not implemented'); }
|
|
16
|
-
isHrm() { throw new Error('not implemented'); }
|
|
17
|
-
isSame(device) { throw new Error('not implemented'); }
|
|
18
|
-
getID() { throw new Error('not implemented'); }
|
|
19
|
-
getDisplayName() { return this.getName(); }
|
|
20
|
-
getName() { throw new Error('not implemented'); }
|
|
21
|
-
getPort() { throw new Error('not implemented'); }
|
|
22
|
-
getProtocol() { return this.protocol; }
|
|
23
|
-
getProtocolName() {
|
|
24
|
-
return this.protocol ? this.protocol.getName() : undefined;
|
|
25
|
-
}
|
|
26
|
-
getSupportedCyclingModes() { throw new Error('not implemented'); }
|
|
27
|
-
getDefaultCyclingMode() { throw new Error('not implemented'); }
|
|
28
|
-
setCyclingMode(mode, settings) {
|
|
29
|
-
let selectedMode;
|
|
30
|
-
if (typeof mode === 'string') {
|
|
31
|
-
const supported = this.getSupportedCyclingModes();
|
|
32
|
-
const CyclingModeClass = supported.find(M => { const m = new M(this); return m.getName() === mode; });
|
|
33
|
-
if (CyclingModeClass) {
|
|
34
|
-
this.settings.cyclingMode = new CyclingModeClass(this, settings);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
selectedMode = this.getDefaultCyclingMode();
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
selectedMode = mode;
|
|
41
|
-
}
|
|
42
|
-
this.settings.cyclingMode = selectedMode;
|
|
43
|
-
this.settings.cyclingMode.setSettings(settings);
|
|
44
|
-
}
|
|
45
|
-
getCyclingMode() {
|
|
46
|
-
if (!this.settings.cyclingMode)
|
|
47
|
-
this.setCyclingMode(this.getDefaultCyclingMode());
|
|
48
|
-
return this.settings.cyclingMode;
|
|
49
|
-
}
|
|
50
|
-
setIgnoreHrm(ignore) { }
|
|
51
|
-
setIgnorePower(ignore) { }
|
|
52
|
-
setIgnoreBike(ignore) { }
|
|
53
|
-
select() { this.selected = true; }
|
|
54
|
-
unselect() { this.selected = false; }
|
|
55
|
-
isSelected() { return this.selected; }
|
|
56
|
-
setDetected(detected = true) { this.detected = detected; }
|
|
57
|
-
isDetected() { return this.detected; }
|
|
58
|
-
update() { }
|
|
59
|
-
check() { }
|
|
60
|
-
connect() { }
|
|
61
|
-
close() { }
|
|
62
|
-
start(props) { throw new Error('not implemented'); }
|
|
63
|
-
stop() { throw new Error('not implemented'); }
|
|
64
|
-
pause() { throw new Error('not implemented'); }
|
|
65
|
-
resume() { throw new Error('not implemented'); }
|
|
66
|
-
sendUpdate(request) { }
|
|
67
|
-
onData(callback) {
|
|
68
|
-
this.onDataFn = callback;
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
exports.default = IncyclistDevice;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_USER_WEIGHT = exports.DEFAULT_BIKE_WEIGHT = void 0;
|
|
4
|
+
exports.DEFAULT_BIKE_WEIGHT = 10;
|
|
5
|
+
exports.DEFAULT_USER_WEIGHT = 75;
|
|
6
|
+
class IncyclistDevice {
|
|
7
|
+
constructor(proto, settings) {
|
|
8
|
+
this.protocol = proto;
|
|
9
|
+
this.detected = false;
|
|
10
|
+
this.selected = false;
|
|
11
|
+
this.onDataFn = undefined;
|
|
12
|
+
this.settings = settings || {};
|
|
13
|
+
}
|
|
14
|
+
isBike() { throw new Error('not implemented'); }
|
|
15
|
+
isPower() { throw new Error('not implemented'); }
|
|
16
|
+
isHrm() { throw new Error('not implemented'); }
|
|
17
|
+
isSame(device) { throw new Error('not implemented'); }
|
|
18
|
+
getID() { throw new Error('not implemented'); }
|
|
19
|
+
getDisplayName() { return this.getName(); }
|
|
20
|
+
getName() { throw new Error('not implemented'); }
|
|
21
|
+
getPort() { throw new Error('not implemented'); }
|
|
22
|
+
getProtocol() { return this.protocol; }
|
|
23
|
+
getProtocolName() {
|
|
24
|
+
return this.protocol ? this.protocol.getName() : undefined;
|
|
25
|
+
}
|
|
26
|
+
getSupportedCyclingModes() { throw new Error('not implemented'); }
|
|
27
|
+
getDefaultCyclingMode() { throw new Error('not implemented'); }
|
|
28
|
+
setCyclingMode(mode, settings) {
|
|
29
|
+
let selectedMode;
|
|
30
|
+
if (typeof mode === 'string') {
|
|
31
|
+
const supported = this.getSupportedCyclingModes();
|
|
32
|
+
const CyclingModeClass = supported.find(M => { const m = new M(this); return m.getName() === mode; });
|
|
33
|
+
if (CyclingModeClass) {
|
|
34
|
+
this.settings.cyclingMode = new CyclingModeClass(this, settings);
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
selectedMode = this.getDefaultCyclingMode();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
selectedMode = mode;
|
|
41
|
+
}
|
|
42
|
+
this.settings.cyclingMode = selectedMode;
|
|
43
|
+
this.settings.cyclingMode.setSettings(settings);
|
|
44
|
+
}
|
|
45
|
+
getCyclingMode() {
|
|
46
|
+
if (!this.settings.cyclingMode)
|
|
47
|
+
this.setCyclingMode(this.getDefaultCyclingMode());
|
|
48
|
+
return this.settings.cyclingMode;
|
|
49
|
+
}
|
|
50
|
+
setIgnoreHrm(ignore) { }
|
|
51
|
+
setIgnorePower(ignore) { }
|
|
52
|
+
setIgnoreBike(ignore) { }
|
|
53
|
+
select() { this.selected = true; }
|
|
54
|
+
unselect() { this.selected = false; }
|
|
55
|
+
isSelected() { return this.selected; }
|
|
56
|
+
setDetected(detected = true) { this.detected = detected; }
|
|
57
|
+
isDetected() { return this.detected; }
|
|
58
|
+
update() { }
|
|
59
|
+
check() { }
|
|
60
|
+
connect() { }
|
|
61
|
+
close() { }
|
|
62
|
+
start(props) { throw new Error('not implemented'); }
|
|
63
|
+
stop() { throw new Error('not implemented'); }
|
|
64
|
+
pause() { throw new Error('not implemented'); }
|
|
65
|
+
resume() { throw new Error('not implemented'); }
|
|
66
|
+
sendUpdate(request) { }
|
|
67
|
+
onData(callback) {
|
|
68
|
+
this.onDataFn = callback;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.default = IncyclistDevice;
|
package/lib/kettler/comms.d.ts
CHANGED
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import { DeviceProtocol } from "../
|
|
3
|
-
import { EventLogger } from "gd-eventlog";
|
|
4
|
-
import { Command } from "../types/command";
|
|
5
|
-
import EventEmitter from "events";
|
|
6
|
-
export declare type SerialCommsProps = {
|
|
7
|
-
logger?: EventLogger;
|
|
8
|
-
protocol: DeviceProtocol;
|
|
9
|
-
port: string;
|
|
10
|
-
settings?: any;
|
|
11
|
-
};
|
|
12
|
-
export declare enum SerialCommsState {
|
|
13
|
-
Idle = 0,
|
|
14
|
-
Connecting = 1,
|
|
15
|
-
Connected = 2,
|
|
16
|
-
Disconnecting = 3,
|
|
17
|
-
Disconnected = 4,
|
|
18
|
-
Error = 5
|
|
19
|
-
}
|
|
20
|
-
export declare enum SendState {
|
|
21
|
-
Idle = 0,
|
|
22
|
-
Sending = 1,
|
|
23
|
-
Receiving = 2
|
|
24
|
-
}
|
|
25
|
-
export default class KettlerSerialComms<T extends Command> extends EventEmitter {
|
|
26
|
-
private logger;
|
|
27
|
-
private port;
|
|
28
|
-
private sp;
|
|
29
|
-
private queue;
|
|
30
|
-
private state;
|
|
31
|
-
private settings;
|
|
32
|
-
private worker;
|
|
33
|
-
private sendState;
|
|
34
|
-
private currentCmd;
|
|
35
|
-
private currentTimeout;
|
|
36
|
-
private protocol;
|
|
37
|
-
constructor(opts: SerialCommsProps);
|
|
38
|
-
getPort(): string;
|
|
39
|
-
setPort(port: any): void;
|
|
40
|
-
getLogger(): EventLogger;
|
|
41
|
-
isConnected(): boolean;
|
|
42
|
-
stateIn: (allowedStates: SerialCommsState[]) => boolean;
|
|
43
|
-
_setState(state: SerialCommsState): void;
|
|
44
|
-
_setSendState(state: SendState): void;
|
|
45
|
-
_setCurrentCmd(cmd: T): void;
|
|
46
|
-
stopCurrentTimeoutCheck(): void;
|
|
47
|
-
onPortOpen(): void;
|
|
48
|
-
onPortClose(): Promise<void>;
|
|
49
|
-
onPortError(err: any): void;
|
|
50
|
-
open(): void;
|
|
51
|
-
close(): void;
|
|
52
|
-
startWorker(): void;
|
|
53
|
-
stopWorker(): void;
|
|
54
|
-
clearTimeout(): void;
|
|
55
|
-
onData(data: string | Buffer): void;
|
|
56
|
-
write(cmd: Command): void;
|
|
57
|
-
sendNextCommand(): Command | undefined;
|
|
58
|
-
send(cmd: Command): void;
|
|
59
|
-
}
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { DeviceProtocol } from "../protocol";
|
|
3
|
+
import { EventLogger } from "gd-eventlog";
|
|
4
|
+
import { Command } from "../types/command";
|
|
5
|
+
import EventEmitter from "events";
|
|
6
|
+
export declare type SerialCommsProps = {
|
|
7
|
+
logger?: EventLogger;
|
|
8
|
+
protocol: DeviceProtocol;
|
|
9
|
+
port: string;
|
|
10
|
+
settings?: any;
|
|
11
|
+
};
|
|
12
|
+
export declare enum SerialCommsState {
|
|
13
|
+
Idle = 0,
|
|
14
|
+
Connecting = 1,
|
|
15
|
+
Connected = 2,
|
|
16
|
+
Disconnecting = 3,
|
|
17
|
+
Disconnected = 4,
|
|
18
|
+
Error = 5
|
|
19
|
+
}
|
|
20
|
+
export declare enum SendState {
|
|
21
|
+
Idle = 0,
|
|
22
|
+
Sending = 1,
|
|
23
|
+
Receiving = 2
|
|
24
|
+
}
|
|
25
|
+
export default class KettlerSerialComms<T extends Command> extends EventEmitter {
|
|
26
|
+
private logger;
|
|
27
|
+
private port;
|
|
28
|
+
private sp;
|
|
29
|
+
private queue;
|
|
30
|
+
private state;
|
|
31
|
+
private settings;
|
|
32
|
+
private worker;
|
|
33
|
+
private sendState;
|
|
34
|
+
private currentCmd;
|
|
35
|
+
private currentTimeout;
|
|
36
|
+
private protocol;
|
|
37
|
+
constructor(opts: SerialCommsProps);
|
|
38
|
+
getPort(): string;
|
|
39
|
+
setPort(port: any): void;
|
|
40
|
+
getLogger(): EventLogger;
|
|
41
|
+
isConnected(): boolean;
|
|
42
|
+
stateIn: (allowedStates: SerialCommsState[]) => boolean;
|
|
43
|
+
_setState(state: SerialCommsState): void;
|
|
44
|
+
_setSendState(state: SendState): void;
|
|
45
|
+
_setCurrentCmd(cmd: T): void;
|
|
46
|
+
stopCurrentTimeoutCheck(): void;
|
|
47
|
+
onPortOpen(): void;
|
|
48
|
+
onPortClose(): Promise<void>;
|
|
49
|
+
onPortError(err: any): void;
|
|
50
|
+
open(): void;
|
|
51
|
+
close(): void;
|
|
52
|
+
startWorker(): void;
|
|
53
|
+
stopWorker(): void;
|
|
54
|
+
clearTimeout(): void;
|
|
55
|
+
onData(data: string | Buffer): void;
|
|
56
|
+
write(cmd: Command): void;
|
|
57
|
+
sendNextCommand(): Command | undefined;
|
|
58
|
+
send(cmd: Command): void;
|
|
59
|
+
}
|