incyclist-devices 2.1.1 → 2.1.3
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/lib/antv2/base/adapter.d.ts +13 -7
- package/lib/antv2/base/adapter.js +162 -89
- package/lib/antv2/base/interface.d.ts +46 -0
- package/lib/antv2/base/interface.js +343 -0
- package/lib/antv2/factories/adapter-factory.d.ts +4 -4
- package/lib/antv2/factories/adapter-factory.js +17 -9
- package/lib/antv2/fe/adapter.d.ts +7 -11
- package/lib/antv2/fe/adapter.js +50 -145
- package/lib/antv2/index.d.ts +1 -1
- package/lib/antv2/index.js +2 -2
- package/lib/antv2/types.d.ts +9 -0
- package/lib/base/adpater.js +10 -2
- package/lib/ble/adapter-factory.d.ts +9 -8
- package/lib/ble/base/adapter.d.ts +13 -10
- package/lib/ble/base/adapter.js +9 -8
- package/lib/ble/base/types.d.ts +2 -0
- package/lib/ble/base/types.js +2 -0
- package/lib/ble/ble-interface.d.ts +0 -4
- package/lib/ble/ble-interface.js +0 -11
- package/lib/ble/cp/adapter.d.ts +5 -3
- package/lib/ble/cp/adapter.js +1 -7
- package/lib/ble/elite/adapter.d.ts +5 -3
- package/lib/ble/elite/adapter.js +1 -7
- package/lib/ble/fm/adapter.d.ts +4 -3
- package/lib/ble/fm/adapter.js +1 -6
- package/lib/ble/hr/adapter.d.ts +4 -2
- package/lib/ble/hr/adapter.js +1 -3
- package/lib/ble/peripheral-cache.d.ts +3 -1
- package/lib/ble/tacx/adapter.d.ts +3 -1
- package/lib/ble/tacx/adapter.js +1 -0
- package/lib/ble/wahoo/adapter.d.ts +3 -1
- package/lib/ble/wahoo/adapter.js +1 -0
- package/lib/factories/interfaces.d.ts +1 -1
- package/lib/factories/interfaces.js +2 -2
- package/lib/modes/power-base.js +1 -4
- package/lib/serial/base/serial-interface.js +1 -1
- package/lib/serial/base/serial-scanner.js +2 -2
- package/lib/serial/daum/classic/mock.js +1 -1
- package/lib/utils/utils.d.ts +1 -0
- package/lib/utils/utils.js +18 -1
- package/package.json +1 -1
package/lib/ble/elite/adapter.js
CHANGED
|
@@ -109,14 +109,8 @@ class BleEliteAdapter extends adapter_1.default {
|
|
|
109
109
|
}
|
|
110
110
|
});
|
|
111
111
|
}
|
|
112
|
-
sendUpdate(request) {
|
|
113
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
-
if (this.paused)
|
|
115
|
-
return;
|
|
116
|
-
this.getCyclingMode().sendBikeUpdate(request);
|
|
117
|
-
});
|
|
118
|
-
}
|
|
119
112
|
}
|
|
113
|
+
BleEliteAdapter.INCYCLIST_PROFILE_NAME = 'Smart Trainer';
|
|
120
114
|
BleEliteAdapter.controllers = {
|
|
121
115
|
modes: [power_meter_1.default],
|
|
122
116
|
default: power_meter_1.default
|
package/lib/ble/fm/adapter.d.ts
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
|
+
import BleFitnessMachineDevice from './comms';
|
|
1
2
|
import BleAdapter from '../base/adapter';
|
|
2
3
|
import ICyclingMode, { CyclingMode } from '../../modes/types';
|
|
3
4
|
import { IndoorBikeData } from './types';
|
|
4
5
|
import { BleDeviceProperties, BleDeviceSettings, BleStartProperties } from '../types';
|
|
5
6
|
import { IAdapter, IncyclistAdapterData, IncyclistBikeData } from '../../types';
|
|
6
|
-
|
|
7
|
+
import { LegacyProfile } from '../../antv2/types';
|
|
8
|
+
export default class BleFmAdapter extends BleAdapter<IndoorBikeData, BleFitnessMachineDevice> {
|
|
9
|
+
protected static INCYCLIST_PROFILE_NAME: LegacyProfile;
|
|
7
10
|
distanceInternal: number;
|
|
8
11
|
connectPromise: Promise<boolean>;
|
|
9
12
|
constructor(settings: BleDeviceSettings, props?: BleDeviceProperties);
|
|
10
13
|
isSame(device: IAdapter): boolean;
|
|
11
|
-
getProfile(): string;
|
|
12
14
|
getName(): string;
|
|
13
|
-
getDisplayName(): string;
|
|
14
15
|
isControllable(): boolean;
|
|
15
16
|
getSupportedCyclingModes(): Array<typeof CyclingMode>;
|
|
16
17
|
getDefaultCyclingMode(): ICyclingMode;
|
package/lib/ble/fm/adapter.js
CHANGED
|
@@ -40,15 +40,9 @@ class BleFmAdapter extends adapter_1.default {
|
|
|
40
40
|
return false;
|
|
41
41
|
return this.isEqual(device.settings);
|
|
42
42
|
}
|
|
43
|
-
getProfile() {
|
|
44
|
-
return 'Smart Trainer';
|
|
45
|
-
}
|
|
46
43
|
getName() {
|
|
47
44
|
return `${this.device.name}`;
|
|
48
45
|
}
|
|
49
|
-
getDisplayName() {
|
|
50
|
-
return this.getName();
|
|
51
|
-
}
|
|
52
46
|
isControllable() {
|
|
53
47
|
return true;
|
|
54
48
|
}
|
|
@@ -258,4 +252,5 @@ class BleFmAdapter extends adapter_1.default {
|
|
|
258
252
|
});
|
|
259
253
|
}
|
|
260
254
|
}
|
|
255
|
+
BleFmAdapter.INCYCLIST_PROFILE_NAME = 'Smart Trainer';
|
|
261
256
|
exports.default = BleFmAdapter;
|
package/lib/ble/hr/adapter.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import BleAdapter from '../base/adapter';
|
|
2
|
+
import BleHrmDevice from './comm';
|
|
2
3
|
import { IncyclistAdapterData, IAdapter, DeviceProperties } from '../../types';
|
|
3
4
|
import { BleDeviceSettings } from '../types';
|
|
4
5
|
import { HrmData } from './types';
|
|
5
|
-
|
|
6
|
+
import { LegacyProfile } from '../../antv2/types';
|
|
7
|
+
export default class HrmAdapter extends BleAdapter<HrmData, BleHrmDevice> {
|
|
8
|
+
protected static INCYCLIST_PROFILE_NAME: LegacyProfile;
|
|
6
9
|
ignore: boolean;
|
|
7
10
|
constructor(settings: BleDeviceSettings, props?: DeviceProperties);
|
|
8
11
|
isSame(device: IAdapter): boolean;
|
|
9
|
-
getProfile(): string;
|
|
10
12
|
getName(): string;
|
|
11
13
|
getDisplayName(): string;
|
|
12
14
|
mapData(deviceData: HrmData): IncyclistAdapterData;
|
package/lib/ble/hr/adapter.js
CHANGED
|
@@ -25,9 +25,6 @@ class HrmAdapter extends adapter_1.default {
|
|
|
25
25
|
return false;
|
|
26
26
|
return this.isEqual(device.settings);
|
|
27
27
|
}
|
|
28
|
-
getProfile() {
|
|
29
|
-
return 'Heartrate Monitor';
|
|
30
|
-
}
|
|
31
28
|
getName() {
|
|
32
29
|
return `${this.device.name}`;
|
|
33
30
|
}
|
|
@@ -42,4 +39,5 @@ class HrmAdapter extends adapter_1.default {
|
|
|
42
39
|
return { heartrate };
|
|
43
40
|
}
|
|
44
41
|
}
|
|
42
|
+
HrmAdapter.INCYCLIST_PROFILE_NAME = 'Heartrate Monitor';
|
|
45
43
|
exports.default = HrmAdapter;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import BleAdapter from "./base/adapter";
|
|
2
|
+
import { BleComms } from "./base/comms";
|
|
3
|
+
import { BleDeviceData } from "./base/types";
|
|
2
4
|
import BlePeripheralConnector from "./ble-peripheral";
|
|
3
5
|
import { BleCharacteristic, BlePeripheral } from "./types";
|
|
4
6
|
export interface PeripheralState {
|
|
@@ -18,7 +20,7 @@ export interface PeripheralCacheItem {
|
|
|
18
20
|
}
|
|
19
21
|
export default class BlePeripheralCache {
|
|
20
22
|
peripherals: PeripheralCacheItem[];
|
|
21
|
-
findAdapter(adapter: BleAdapter): PeripheralCacheItem;
|
|
23
|
+
findAdapter(adapter: BleAdapter<BleDeviceData, BleComms>): PeripheralCacheItem;
|
|
22
24
|
getConnector(peripheral: BlePeripheral): BlePeripheralConnector;
|
|
23
25
|
getPeripheral(query: {
|
|
24
26
|
id?: string;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { BleFmAdapter } from '../fm';
|
|
2
2
|
import { BleDeviceSettings, BleStartProperties } from '../types';
|
|
3
3
|
import { DeviceProperties, IAdapter } from '../../types';
|
|
4
|
+
import { LegacyProfile } from '../../antv2/types';
|
|
4
5
|
export default class BleTacxFEAdapter extends BleFmAdapter {
|
|
6
|
+
protected static INCYCLIST_PROFILE_NAME: LegacyProfile;
|
|
5
7
|
constructor(settings: BleDeviceSettings, props?: DeviceProperties);
|
|
6
8
|
isSame(device: IAdapter): boolean;
|
|
7
|
-
getProfile():
|
|
9
|
+
getProfile(): LegacyProfile;
|
|
8
10
|
start(props?: BleStartProperties): Promise<any>;
|
|
9
11
|
}
|
package/lib/ble/tacx/adapter.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { BleFmAdapter } from '../fm';
|
|
2
2
|
import { BleDeviceProperties, BleDeviceSettings, BleStartProperties } from '../types';
|
|
3
3
|
import { IAdapter } from '../../types';
|
|
4
|
+
import { LegacyProfile } from '../../antv2/types';
|
|
4
5
|
export default class BleWahooAdapter extends BleFmAdapter {
|
|
6
|
+
protected static INCYCLIST_PROFILE_NAME: LegacyProfile;
|
|
5
7
|
constructor(settings: BleDeviceSettings, props?: BleDeviceProperties);
|
|
6
8
|
isSame(device: IAdapter): boolean;
|
|
7
|
-
getProfile():
|
|
9
|
+
getProfile(): LegacyProfile;
|
|
8
10
|
start(props?: BleStartProperties): Promise<any>;
|
|
9
11
|
}
|
package/lib/ble/wahoo/adapter.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { InterfaceProps } from "../types/interface";
|
|
2
2
|
import { SerialInterface } from "../serial";
|
|
3
|
-
import AntInterface from "../antv2/base/
|
|
3
|
+
import AntInterface from "../antv2/base/interface";
|
|
4
4
|
import { BleInterface } from "../ble";
|
|
5
5
|
export default class InterfaceFactory {
|
|
6
6
|
static create(ifaceName: string, props?: InterfaceProps): AntInterface | BleInterface | SerialInterface;
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const serial_1 = require("../serial");
|
|
7
|
-
const
|
|
7
|
+
const interface_1 = __importDefault(require("../antv2/base/interface"));
|
|
8
8
|
const device_1 = require("../types/device");
|
|
9
9
|
const ble_1 = require("../ble");
|
|
10
10
|
class InterfaceFactory {
|
|
@@ -17,7 +17,7 @@ class InterfaceFactory {
|
|
|
17
17
|
return serial_1.SerialInterface.getInstance(serialProps);
|
|
18
18
|
case device_1.INTERFACE.ANT:
|
|
19
19
|
const antProps = props;
|
|
20
|
-
return
|
|
20
|
+
return interface_1.default.getInstance(antProps);
|
|
21
21
|
case device_1.INTERFACE.BLE:
|
|
22
22
|
const bleProps = props;
|
|
23
23
|
return ble_1.BleInterface.getInstance(bleProps);
|
package/lib/modes/power-base.js
CHANGED
|
@@ -22,10 +22,7 @@ class PowerBasedCyclingModeBase extends base_1.CyclingModeBase {
|
|
|
22
22
|
return slope || 0;
|
|
23
23
|
}
|
|
24
24
|
initLogger(defaultLogName) {
|
|
25
|
-
|
|
26
|
-
this.logger = a.getLogger();
|
|
27
|
-
if (!this.logger)
|
|
28
|
-
this.logger = new gd_eventlog_1.EventLogger(defaultLogName);
|
|
25
|
+
this.logger = new gd_eventlog_1.EventLogger(defaultLogName);
|
|
29
26
|
}
|
|
30
27
|
getWeight() {
|
|
31
28
|
const a = this.adapter;
|
|
@@ -65,7 +65,7 @@ class SerialInterface extends events_1.default {
|
|
|
65
65
|
this.logger.logEvent(event);
|
|
66
66
|
}
|
|
67
67
|
const w = global.window;
|
|
68
|
-
if ((w === null || w === void 0 ? void 0 : w.DEVICE_DEBUG) || process.env.BLE_DEBUG) {
|
|
68
|
+
if ((w === null || w === void 0 ? void 0 : w.DEVICE_DEBUG) || process.env.SERIAL_DEBUG || process.env.ANT_DEBUG || process.env.BLE_DEBUG) {
|
|
69
69
|
console.log('~~~ Serial', event);
|
|
70
70
|
}
|
|
71
71
|
}
|
|
@@ -32,7 +32,7 @@ class SinglePathScanner {
|
|
|
32
32
|
this.logger.logEvent(event);
|
|
33
33
|
}
|
|
34
34
|
const w = global.window;
|
|
35
|
-
if ((w === null || w === void 0 ? void 0 : w.DEVICE_DEBUG) || process.env.BLE_DEBUG) {
|
|
35
|
+
if ((w === null || w === void 0 ? void 0 : w.DEVICE_DEBUG) || process.env.BLE_DEBUG || process.env.ANT_DEBUG || process.env.SERIAL_DEBUG) {
|
|
36
36
|
console.log('~~~ SerialScanner', event);
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -67,7 +67,7 @@ class SinglePathScanner {
|
|
|
67
67
|
}
|
|
68
68
|
const adapterSettings = { interface: this.serial.getName(), host, port, protocol };
|
|
69
69
|
const adapter = adapter_factory_1.default.getInstance().createInstance(adapterSettings);
|
|
70
|
-
found = yield adapter.check();
|
|
70
|
+
found = yield (adapter === null || adapter === void 0 ? void 0 : adapter.check());
|
|
71
71
|
if (found) {
|
|
72
72
|
this.isFound = true;
|
|
73
73
|
const name = adapter.getName();
|
package/lib/utils/utils.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare function runWithRetries(fn: any, maxRetries: any, timeBetween: an
|
|
|
4
4
|
export declare function floatVal(d?: number | string): number;
|
|
5
5
|
export declare function intVal(d?: number | string): number;
|
|
6
6
|
export declare function hexstr(arr: any, start?: any, len?: any): string;
|
|
7
|
+
export declare function isTrue(value: any): boolean;
|
|
7
8
|
export declare class Queue<T> {
|
|
8
9
|
protected data: Array<T>;
|
|
9
10
|
constructor(values?: Array<T>);
|
package/lib/utils/utils.js
CHANGED
|
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.waitWithTimeout = exports.runWithTimeout = exports.Queue = exports.hexstr = exports.intVal = exports.floatVal = exports.runWithRetries = exports.resolveNextTick = exports.sleep = void 0;
|
|
12
|
+
exports.waitWithTimeout = exports.runWithTimeout = exports.Queue = exports.isTrue = exports.hexstr = exports.intVal = exports.floatVal = exports.runWithRetries = exports.resolveNextTick = exports.sleep = void 0;
|
|
13
13
|
const sleep = (ms) => {
|
|
14
14
|
return new Promise(resolve => setTimeout(resolve, ms));
|
|
15
15
|
};
|
|
@@ -92,6 +92,23 @@ function hexstr(arr, start, len) {
|
|
|
92
92
|
return str;
|
|
93
93
|
}
|
|
94
94
|
exports.hexstr = hexstr;
|
|
95
|
+
function isTrue(value) {
|
|
96
|
+
if (typeof (value) === 'string') {
|
|
97
|
+
value = value.trim().toLowerCase();
|
|
98
|
+
}
|
|
99
|
+
switch (value) {
|
|
100
|
+
case true:
|
|
101
|
+
case "true":
|
|
102
|
+
case 1:
|
|
103
|
+
case "1":
|
|
104
|
+
case "on":
|
|
105
|
+
case "yes":
|
|
106
|
+
return true;
|
|
107
|
+
default:
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.isTrue = isTrue;
|
|
95
112
|
class Queue {
|
|
96
113
|
constructor(values) {
|
|
97
114
|
this.data = [];
|