incyclist-devices 1.4.98 → 1.4.100
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/CyclingMode.d.ts +76 -76
- package/lib/CyclingMode.js +79 -79
- package/lib/Device.d.ts +92 -92
- package/lib/Device.js +71 -71
- package/lib/DeviceProtocol.d.ts +74 -74
- package/lib/DeviceProtocol.js +41 -41
- package/lib/DeviceRegistry.d.ts +8 -8
- package/lib/DeviceRegistry.js +33 -33
- package/lib/DeviceSupport.d.ts +34 -34
- package/lib/DeviceSupport.js +78 -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/ble/ble-device.d.ts +63 -63
- package/lib/ble/ble-device.js +442 -442
- package/lib/ble/ble-erg-mode.d.ts +18 -18
- package/lib/ble/ble-erg-mode.js +132 -127
- package/lib/ble/ble-interface.d.ts +100 -99
- package/lib/ble/ble-interface.js +717 -712
- 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 +102 -102
- 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 +739 -739
- 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 -730
- 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/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/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 -145
- 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/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 +46 -46
- package/lib/ant/antfe/ant-fe-st-mode copy.d.ts +0 -7
- package/lib/ant/antfe/ant-fe-st-mode copy.js +0 -54
- package/lib/ant/antpwr/AntPWRAdapter.d.ts +0 -24
- package/lib/ant/antpwr/AntPWRAdapter.js +0 -252
- package/lib/daum/PowerMeterCyclingMode.d.ts +0 -18
- package/lib/daum/PowerMeterCyclingMode.js +0 -78
- package/lib/daum/classic/ERGCyclingMode.d.ts +0 -23
- package/lib/daum/classic/ERGCyclingMode.js +0 -171
- package/lib/daum/indoorbike.d.ts +0 -24
- package/lib/daum/indoorbike.js +0 -178
- package/lib/kettler/ergo-racer/modes/power-meter.d.ts +0 -18
- package/lib/kettler/ergo-racer/modes/power-meter.js +0 -86
- package/lib/simulator/simulator-mode.d.ts +0 -28
- package/lib/simulator/simulator-mode.js +0 -120
package/LICENSE
CHANGED
|
File without changes
|
package/lib/CyclingMode.d.ts
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
import { Device } from "./DeviceProtocol";
|
|
2
|
-
export declare type UpdateRequest = {
|
|
3
|
-
slope?: number;
|
|
4
|
-
minPower?: number;
|
|
5
|
-
maxPower?: number;
|
|
6
|
-
targetPower?: number;
|
|
7
|
-
reset?: boolean;
|
|
8
|
-
refresh?: boolean;
|
|
9
|
-
};
|
|
10
|
-
export declare enum CyclingModeProperyType {
|
|
11
|
-
Integer = "Integer",
|
|
12
|
-
Boolean = "Boolean",
|
|
13
|
-
Float = "Float",
|
|
14
|
-
String = "String",
|
|
15
|
-
SingleSelect = "SingleSelect",
|
|
16
|
-
MultiSelect = "MultiSelect"
|
|
17
|
-
}
|
|
18
|
-
export declare type CyclingModeProperty = {
|
|
19
|
-
key: string;
|
|
20
|
-
name: string;
|
|
21
|
-
description: string;
|
|
22
|
-
type: CyclingModeProperyType;
|
|
23
|
-
min?: number;
|
|
24
|
-
max?: number;
|
|
25
|
-
default?: any;
|
|
26
|
-
options?: any[];
|
|
27
|
-
};
|
|
28
|
-
export declare type IncyclistBikeData = {
|
|
29
|
-
isPedalling: boolean;
|
|
30
|
-
power: number;
|
|
31
|
-
pedalRpm: number;
|
|
32
|
-
speed: number;
|
|
33
|
-
heartrate: number;
|
|
34
|
-
distanceInternal: number;
|
|
35
|
-
time?: number;
|
|
36
|
-
gear?: number;
|
|
37
|
-
slope?: number;
|
|
38
|
-
};
|
|
39
|
-
export declare type Settings = {
|
|
40
|
-
[key: string]: any;
|
|
41
|
-
};
|
|
42
|
-
export default interface CyclingMode {
|
|
43
|
-
getName(): string;
|
|
44
|
-
getDescription(): string;
|
|
45
|
-
getBikeInitRequest(): UpdateRequest;
|
|
46
|
-
sendBikeUpdate(request: UpdateRequest): UpdateRequest;
|
|
47
|
-
updateData(data: IncyclistBikeData): IncyclistBikeData;
|
|
48
|
-
getProperties(): CyclingModeProperty[];
|
|
49
|
-
getProperty(name: string): CyclingModeProperty;
|
|
50
|
-
setSettings(settings: any): any;
|
|
51
|
-
setSetting(name: string, value: any): void;
|
|
52
|
-
getSetting(name: string): any;
|
|
53
|
-
getSettings(): Settings;
|
|
54
|
-
setModeProperty(name: string, value: any): void;
|
|
55
|
-
getModeProperty(name: string): any;
|
|
56
|
-
}
|
|
57
|
-
export declare class CyclingModeBase implements CyclingMode {
|
|
58
|
-
adapter: Device;
|
|
59
|
-
settings: Settings;
|
|
60
|
-
properties: Settings;
|
|
61
|
-
constructor(adapter: Device, props?: any);
|
|
62
|
-
setAdapter(adapter: Device): void;
|
|
63
|
-
getBikeInitRequest(): UpdateRequest;
|
|
64
|
-
getName(): string;
|
|
65
|
-
getDescription(): string;
|
|
66
|
-
sendBikeUpdate(request: UpdateRequest): UpdateRequest;
|
|
67
|
-
updateData(data: IncyclistBikeData): IncyclistBikeData;
|
|
68
|
-
getProperties(): CyclingModeProperty[];
|
|
69
|
-
getProperty(name: string): CyclingModeProperty;
|
|
70
|
-
setSettings(settings?: any): void;
|
|
71
|
-
setSetting(name: string, value: any): void;
|
|
72
|
-
getSetting(name: string): any;
|
|
73
|
-
getSettings(): Settings;
|
|
74
|
-
setModeProperty(name: string, value: any): void;
|
|
75
|
-
getModeProperty(name: string): any;
|
|
76
|
-
}
|
|
1
|
+
import { Device } from "./DeviceProtocol";
|
|
2
|
+
export declare type UpdateRequest = {
|
|
3
|
+
slope?: number;
|
|
4
|
+
minPower?: number;
|
|
5
|
+
maxPower?: number;
|
|
6
|
+
targetPower?: number;
|
|
7
|
+
reset?: boolean;
|
|
8
|
+
refresh?: boolean;
|
|
9
|
+
};
|
|
10
|
+
export declare enum CyclingModeProperyType {
|
|
11
|
+
Integer = "Integer",
|
|
12
|
+
Boolean = "Boolean",
|
|
13
|
+
Float = "Float",
|
|
14
|
+
String = "String",
|
|
15
|
+
SingleSelect = "SingleSelect",
|
|
16
|
+
MultiSelect = "MultiSelect"
|
|
17
|
+
}
|
|
18
|
+
export declare type CyclingModeProperty = {
|
|
19
|
+
key: string;
|
|
20
|
+
name: string;
|
|
21
|
+
description: string;
|
|
22
|
+
type: CyclingModeProperyType;
|
|
23
|
+
min?: number;
|
|
24
|
+
max?: number;
|
|
25
|
+
default?: any;
|
|
26
|
+
options?: any[];
|
|
27
|
+
};
|
|
28
|
+
export declare type IncyclistBikeData = {
|
|
29
|
+
isPedalling: boolean;
|
|
30
|
+
power: number;
|
|
31
|
+
pedalRpm: number;
|
|
32
|
+
speed: number;
|
|
33
|
+
heartrate: number;
|
|
34
|
+
distanceInternal: number;
|
|
35
|
+
time?: number;
|
|
36
|
+
gear?: number;
|
|
37
|
+
slope?: number;
|
|
38
|
+
};
|
|
39
|
+
export declare type Settings = {
|
|
40
|
+
[key: string]: any;
|
|
41
|
+
};
|
|
42
|
+
export default interface CyclingMode {
|
|
43
|
+
getName(): string;
|
|
44
|
+
getDescription(): string;
|
|
45
|
+
getBikeInitRequest(): UpdateRequest;
|
|
46
|
+
sendBikeUpdate(request: UpdateRequest): UpdateRequest;
|
|
47
|
+
updateData(data: IncyclistBikeData): IncyclistBikeData;
|
|
48
|
+
getProperties(): CyclingModeProperty[];
|
|
49
|
+
getProperty(name: string): CyclingModeProperty;
|
|
50
|
+
setSettings(settings: any): any;
|
|
51
|
+
setSetting(name: string, value: any): void;
|
|
52
|
+
getSetting(name: string): any;
|
|
53
|
+
getSettings(): Settings;
|
|
54
|
+
setModeProperty(name: string, value: any): void;
|
|
55
|
+
getModeProperty(name: string): any;
|
|
56
|
+
}
|
|
57
|
+
export declare class CyclingModeBase implements CyclingMode {
|
|
58
|
+
adapter: Device;
|
|
59
|
+
settings: Settings;
|
|
60
|
+
properties: Settings;
|
|
61
|
+
constructor(adapter: Device, props?: any);
|
|
62
|
+
setAdapter(adapter: Device): void;
|
|
63
|
+
getBikeInitRequest(): UpdateRequest;
|
|
64
|
+
getName(): string;
|
|
65
|
+
getDescription(): string;
|
|
66
|
+
sendBikeUpdate(request: UpdateRequest): UpdateRequest;
|
|
67
|
+
updateData(data: IncyclistBikeData): IncyclistBikeData;
|
|
68
|
+
getProperties(): CyclingModeProperty[];
|
|
69
|
+
getProperty(name: string): CyclingModeProperty;
|
|
70
|
+
setSettings(settings?: any): void;
|
|
71
|
+
setSetting(name: string, value: any): void;
|
|
72
|
+
getSetting(name: string): any;
|
|
73
|
+
getSettings(): Settings;
|
|
74
|
+
setModeProperty(name: string, value: any): void;
|
|
75
|
+
getModeProperty(name: string): any;
|
|
76
|
+
}
|
package/lib/CyclingMode.js
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CyclingModeBase = exports.CyclingModeProperyType = void 0;
|
|
4
|
-
var CyclingModeProperyType;
|
|
5
|
-
(function (CyclingModeProperyType) {
|
|
6
|
-
CyclingModeProperyType["Integer"] = "Integer";
|
|
7
|
-
CyclingModeProperyType["Boolean"] = "Boolean";
|
|
8
|
-
CyclingModeProperyType["Float"] = "Float";
|
|
9
|
-
CyclingModeProperyType["String"] = "String";
|
|
10
|
-
CyclingModeProperyType["SingleSelect"] = "SingleSelect";
|
|
11
|
-
CyclingModeProperyType["MultiSelect"] = "MultiSelect";
|
|
12
|
-
})(CyclingModeProperyType = exports.CyclingModeProperyType || (exports.CyclingModeProperyType = {}));
|
|
13
|
-
class CyclingModeBase {
|
|
14
|
-
constructor(adapter, props) {
|
|
15
|
-
this.settings = {};
|
|
16
|
-
this.properties = {};
|
|
17
|
-
if (!adapter)
|
|
18
|
-
throw new Error('IllegalArgument: adapter is null');
|
|
19
|
-
this.setAdapter(adapter);
|
|
20
|
-
this.setSettings(props);
|
|
21
|
-
}
|
|
22
|
-
setAdapter(adapter) {
|
|
23
|
-
this.adapter = adapter;
|
|
24
|
-
}
|
|
25
|
-
getBikeInitRequest() {
|
|
26
|
-
return {};
|
|
27
|
-
}
|
|
28
|
-
getName() {
|
|
29
|
-
throw new Error("Method not implemented.");
|
|
30
|
-
}
|
|
31
|
-
getDescription() {
|
|
32
|
-
throw new Error("Method not implemented.");
|
|
33
|
-
}
|
|
34
|
-
sendBikeUpdate(request) {
|
|
35
|
-
throw new Error("Method not implemented.");
|
|
36
|
-
}
|
|
37
|
-
updateData(data) {
|
|
38
|
-
throw new Error("Method not implemented.");
|
|
39
|
-
}
|
|
40
|
-
getProperties() {
|
|
41
|
-
throw new Error("Method not implemented.");
|
|
42
|
-
}
|
|
43
|
-
getProperty(name) {
|
|
44
|
-
throw new Error("Method not implemented.");
|
|
45
|
-
}
|
|
46
|
-
setSettings(settings) {
|
|
47
|
-
if (settings) {
|
|
48
|
-
this.settings = settings;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
setSetting(name, value) {
|
|
52
|
-
this.settings[name] = value;
|
|
53
|
-
}
|
|
54
|
-
getSetting(name) {
|
|
55
|
-
const res = this.settings[name];
|
|
56
|
-
if (res !== undefined)
|
|
57
|
-
return res;
|
|
58
|
-
const prop = this.getProperties().find(p => p.key === name);
|
|
59
|
-
if (prop && prop.default !== undefined)
|
|
60
|
-
return prop.default;
|
|
61
|
-
return undefined;
|
|
62
|
-
}
|
|
63
|
-
getSettings() {
|
|
64
|
-
return this.settings;
|
|
65
|
-
}
|
|
66
|
-
setModeProperty(name, value) {
|
|
67
|
-
this.properties[name] = value;
|
|
68
|
-
}
|
|
69
|
-
getModeProperty(name) {
|
|
70
|
-
const res = this.properties[name];
|
|
71
|
-
if (res !== undefined)
|
|
72
|
-
return res;
|
|
73
|
-
const prop = this.getProperties().find(p => p.key === name);
|
|
74
|
-
if (prop && prop.default !== undefined)
|
|
75
|
-
return prop.default;
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
exports.CyclingModeBase = CyclingModeBase;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CyclingModeBase = exports.CyclingModeProperyType = void 0;
|
|
4
|
+
var CyclingModeProperyType;
|
|
5
|
+
(function (CyclingModeProperyType) {
|
|
6
|
+
CyclingModeProperyType["Integer"] = "Integer";
|
|
7
|
+
CyclingModeProperyType["Boolean"] = "Boolean";
|
|
8
|
+
CyclingModeProperyType["Float"] = "Float";
|
|
9
|
+
CyclingModeProperyType["String"] = "String";
|
|
10
|
+
CyclingModeProperyType["SingleSelect"] = "SingleSelect";
|
|
11
|
+
CyclingModeProperyType["MultiSelect"] = "MultiSelect";
|
|
12
|
+
})(CyclingModeProperyType = exports.CyclingModeProperyType || (exports.CyclingModeProperyType = {}));
|
|
13
|
+
class CyclingModeBase {
|
|
14
|
+
constructor(adapter, props) {
|
|
15
|
+
this.settings = {};
|
|
16
|
+
this.properties = {};
|
|
17
|
+
if (!adapter)
|
|
18
|
+
throw new Error('IllegalArgument: adapter is null');
|
|
19
|
+
this.setAdapter(adapter);
|
|
20
|
+
this.setSettings(props);
|
|
21
|
+
}
|
|
22
|
+
setAdapter(adapter) {
|
|
23
|
+
this.adapter = adapter;
|
|
24
|
+
}
|
|
25
|
+
getBikeInitRequest() {
|
|
26
|
+
return {};
|
|
27
|
+
}
|
|
28
|
+
getName() {
|
|
29
|
+
throw new Error("Method not implemented.");
|
|
30
|
+
}
|
|
31
|
+
getDescription() {
|
|
32
|
+
throw new Error("Method not implemented.");
|
|
33
|
+
}
|
|
34
|
+
sendBikeUpdate(request) {
|
|
35
|
+
throw new Error("Method not implemented.");
|
|
36
|
+
}
|
|
37
|
+
updateData(data) {
|
|
38
|
+
throw new Error("Method not implemented.");
|
|
39
|
+
}
|
|
40
|
+
getProperties() {
|
|
41
|
+
throw new Error("Method not implemented.");
|
|
42
|
+
}
|
|
43
|
+
getProperty(name) {
|
|
44
|
+
throw new Error("Method not implemented.");
|
|
45
|
+
}
|
|
46
|
+
setSettings(settings) {
|
|
47
|
+
if (settings) {
|
|
48
|
+
this.settings = settings;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
setSetting(name, value) {
|
|
52
|
+
this.settings[name] = value;
|
|
53
|
+
}
|
|
54
|
+
getSetting(name) {
|
|
55
|
+
const res = this.settings[name];
|
|
56
|
+
if (res !== undefined)
|
|
57
|
+
return res;
|
|
58
|
+
const prop = this.getProperties().find(p => p.key === name);
|
|
59
|
+
if (prop && prop.default !== undefined)
|
|
60
|
+
return prop.default;
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
63
|
+
getSettings() {
|
|
64
|
+
return this.settings;
|
|
65
|
+
}
|
|
66
|
+
setModeProperty(name, value) {
|
|
67
|
+
this.properties[name] = value;
|
|
68
|
+
}
|
|
69
|
+
getModeProperty(name) {
|
|
70
|
+
const res = this.properties[name];
|
|
71
|
+
if (res !== undefined)
|
|
72
|
+
return res;
|
|
73
|
+
const prop = this.getProperties().find(p => p.key === name);
|
|
74
|
+
if (prop && prop.default !== undefined)
|
|
75
|
+
return prop.default;
|
|
76
|
+
return undefined;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
exports.CyclingModeBase = CyclingModeBase;
|
package/lib/Device.d.ts
CHANGED
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
import { DeviceProtocol, Device } from './DeviceProtocol';
|
|
2
|
-
import CyclingMode from './CyclingMode';
|
|
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 | undefined;
|
|
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 | undefined;
|
|
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 './DeviceProtocol';
|
|
2
|
+
import CyclingMode from './CyclingMode';
|
|
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 | undefined;
|
|
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 | undefined;
|
|
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
|
+
}
|
package/lib/Device.js
CHANGED
|
@@ -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;
|