incyclist-devices 2.2.1 → 2.2.2
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/fe/adapter.d.ts +1 -1
- package/lib/antv2/fe/adapter.js +1 -0
- package/lib/antv2/pwr/adapter.d.ts +2 -1
- package/lib/antv2/pwr/adapter.js +19 -8
- package/lib/base/adpater.d.ts +2 -2
- package/lib/base/adpater.js +10 -8
- package/lib/ble/base/adapter.js +1 -1
- package/lib/ble/cp/adapter.d.ts +2 -1
- package/lib/ble/cp/adapter.js +10 -8
- package/lib/serial/daum/DaumAdapter.d.ts +3 -2
- package/lib/serial/daum/premium/comms.js +1 -1
- package/lib/serial/kettler/ergo-racer/adapter.d.ts +3 -2
- package/lib/simulator/Simulator.d.ts +2 -1
- package/lib/simulator/Simulator.js +5 -3
- package/lib/types/adapter.d.ts +2 -2
- package/package.json +1 -1
|
@@ -20,7 +20,7 @@ export default class AntFEAdapter extends AntAdapter<FitnessEquipmentSensorState
|
|
|
20
20
|
constructor(settings: AntDeviceSettings, props?: AntDeviceProperties);
|
|
21
21
|
getDisplayName(): string;
|
|
22
22
|
isReconnecting(): boolean;
|
|
23
|
-
sendUpdate(request: UpdateRequest, forced?: boolean): Promise<void>;
|
|
23
|
+
sendUpdate(request: UpdateRequest, forced?: boolean): Promise<UpdateRequest | void>;
|
|
24
24
|
onDeviceData(deviceData: FitnessEquipmentSensorState): void;
|
|
25
25
|
mapData(deviceData: FitnessEquipmentSensorState): IncyclistBikeData;
|
|
26
26
|
transformData(adapterData: IncyclistBikeData, deviceData: FitnessEquipmentSensorState): void;
|
package/lib/antv2/fe/adapter.js
CHANGED
|
@@ -2,6 +2,7 @@ import { BicyclePowerSensorState, Profile } from "incyclist-ant-plus";
|
|
|
2
2
|
import AntAdapter from "../base/adapter";
|
|
3
3
|
import { AntDeviceProperties, AntDeviceSettings, LegacyProfile } from "../types";
|
|
4
4
|
import { ControllerConfig, IncyclistBikeData } from "../../types";
|
|
5
|
+
import { UpdateRequest } from "../../modes/types";
|
|
5
6
|
export default class AntPwrAdapter extends AntAdapter<BicyclePowerSensorState> {
|
|
6
7
|
protected static INCYCLIST_PROFILE_NAME: LegacyProfile;
|
|
7
8
|
protected static ANT_PROFILE_NAME: Profile;
|
|
@@ -10,5 +11,5 @@ export default class AntPwrAdapter extends AntAdapter<BicyclePowerSensorState> {
|
|
|
10
11
|
mapData(deviceData: BicyclePowerSensorState): IncyclistBikeData;
|
|
11
12
|
transformData(bikeData: IncyclistBikeData): void;
|
|
12
13
|
hasData(): boolean;
|
|
13
|
-
sendUpdate(request: any): void
|
|
14
|
+
sendUpdate(request: any): Promise<UpdateRequest | void>;
|
|
14
15
|
}
|
package/lib/antv2/pwr/adapter.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
2
11
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
12
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
13
|
};
|
|
@@ -48,14 +57,16 @@ class AntPwrAdapter extends adapter_1.default {
|
|
|
48
57
|
return hasData;
|
|
49
58
|
}
|
|
50
59
|
sendUpdate(request) {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
try {
|
|
62
|
+
if (this.isPaused() || this.isStopped())
|
|
63
|
+
return;
|
|
64
|
+
return yield this.getCyclingMode().sendBikeUpdate(request);
|
|
65
|
+
}
|
|
66
|
+
catch (err) {
|
|
67
|
+
this.logEvent({ message: 'Error', fn: 'sendUpdate', error: err.message });
|
|
68
|
+
}
|
|
69
|
+
});
|
|
59
70
|
}
|
|
60
71
|
}
|
|
61
72
|
AntPwrAdapter.INCYCLIST_PROFILE_NAME = 'Power Meter';
|
package/lib/base/adpater.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import ICyclingMode, { CyclingMode } from "../modes/types";
|
|
2
|
+
import ICyclingMode, { CyclingMode, UpdateRequest } from "../modes/types";
|
|
3
3
|
import { DeviceProperties, DeviceSettings, ControllerConfig, IAdapter, OnDeviceDataCallback, IncyclistCapability, IncyclistAdapterData, User } from "../types";
|
|
4
4
|
import { EventLogger } from "gd-eventlog";
|
|
5
5
|
import EventEmitter from "events";
|
|
@@ -52,7 +52,7 @@ export default class IncyclistDevice<P extends DeviceProperties> extends EventEm
|
|
|
52
52
|
getDefaultCyclingMode(): ICyclingMode;
|
|
53
53
|
setBikeProps(props: P): void;
|
|
54
54
|
sendInitCommands(): Promise<boolean>;
|
|
55
|
-
sendUpdate(request: any): void
|
|
55
|
+
sendUpdate(request: any): Promise<UpdateRequest | void>;
|
|
56
56
|
setUser(user: User): void;
|
|
57
57
|
getUser(): User;
|
|
58
58
|
getWeight(): number;
|
package/lib/base/adpater.js
CHANGED
|
@@ -194,14 +194,16 @@ class IncyclistDevice extends events_1.default {
|
|
|
194
194
|
});
|
|
195
195
|
}
|
|
196
196
|
sendUpdate(request) {
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
this.
|
|
203
|
-
|
|
204
|
-
|
|
197
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
198
|
+
if (!this.isControllable())
|
|
199
|
+
return;
|
|
200
|
+
if (this.isPaused() || this.isStopped())
|
|
201
|
+
return;
|
|
202
|
+
if (!this.hasCapability(types_1.IncyclistCapability.Control))
|
|
203
|
+
return yield this.getCyclingMode().sendBikeUpdate(request);
|
|
204
|
+
else
|
|
205
|
+
throw new Error('method not implemented');
|
|
206
|
+
});
|
|
205
207
|
}
|
|
206
208
|
setUser(user) {
|
|
207
209
|
this.user = user;
|
package/lib/ble/base/adapter.js
CHANGED
|
@@ -127,7 +127,7 @@ class BleAdapter extends adpater_1.default {
|
|
|
127
127
|
this.emitData(this.data);
|
|
128
128
|
}
|
|
129
129
|
catch (err) {
|
|
130
|
-
this.logEvent({ message: 'Error', fn: 'onDeviceData', error: err.message });
|
|
130
|
+
this.logEvent({ message: 'Error', fn: 'onDeviceData', error: err.message, stack: err.stack });
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
mapData(deviceData) {
|
package/lib/ble/cp/adapter.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { PowerData } from './types';
|
|
|
4
4
|
import { BleDeviceSettings } from '../types';
|
|
5
5
|
import { DeviceProperties, IncyclistBikeData, IncyclistAdapterData, ControllerConfig, IAdapter } from '../../types';
|
|
6
6
|
import { LegacyProfile } from '../../antv2/types';
|
|
7
|
+
import { UpdateRequest } from '../../modes/types';
|
|
7
8
|
export default class PwrAdapter extends BleAdapter<PowerData, BleCyclingPowerDevice> {
|
|
8
9
|
protected static INCYCLIST_PROFILE_NAME: LegacyProfile;
|
|
9
10
|
protected static controllers: ControllerConfig;
|
|
@@ -16,5 +17,5 @@ export default class PwrAdapter extends BleAdapter<PowerData, BleCyclingPowerDev
|
|
|
16
17
|
mapData(deviceData: PowerData): IncyclistBikeData;
|
|
17
18
|
transformData(bikeData: IncyclistBikeData): IncyclistAdapterData;
|
|
18
19
|
stop(): Promise<boolean>;
|
|
19
|
-
sendUpdate(request: any): void
|
|
20
|
+
sendUpdate(request: any): Promise<UpdateRequest | void>;
|
|
20
21
|
}
|
package/lib/ble/cp/adapter.js
CHANGED
|
@@ -89,14 +89,16 @@ class PwrAdapter extends adapter_1.default {
|
|
|
89
89
|
});
|
|
90
90
|
}
|
|
91
91
|
sendUpdate(request) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
+
try {
|
|
94
|
+
if (this.isPaused() || this.isStopped())
|
|
95
|
+
return;
|
|
96
|
+
return yield this.getCyclingMode().sendBikeUpdate(request);
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
this.logEvent({ message: 'Error', fn: 'sendUpdate', error: err.message });
|
|
100
|
+
}
|
|
101
|
+
});
|
|
100
102
|
}
|
|
101
103
|
}
|
|
102
104
|
PwrAdapter.INCYCLIST_PROFILE_NAME = 'Power Meter';
|
|
@@ -6,6 +6,7 @@ import { DaumSerialComms } from './types';
|
|
|
6
6
|
import { SerialIncyclistDevice } from '../base/adapter';
|
|
7
7
|
import SerialInterface from '../base/serial-interface';
|
|
8
8
|
import EventEmitter from 'events';
|
|
9
|
+
import { UpdateRequest } from '../../modes/types';
|
|
9
10
|
export default class DaumAdapter<S extends SerialDeviceSettings, P extends DeviceProperties, C extends DaumSerialComms> extends SerialIncyclistDevice<P> {
|
|
10
11
|
protected static controllers: ControllerConfig;
|
|
11
12
|
comms: C;
|
|
@@ -52,7 +53,7 @@ export default class DaumAdapter<S extends SerialDeviceSettings, P extends Devic
|
|
|
52
53
|
reconnect(): Promise<boolean>;
|
|
53
54
|
logEvent(event: any): void;
|
|
54
55
|
stop(): Promise<boolean>;
|
|
55
|
-
sendUpdate(request: any): Promise<
|
|
56
|
+
sendUpdate(request: any): Promise<UpdateRequest | void>;
|
|
56
57
|
update(): Promise<void>;
|
|
57
58
|
sendRequests(): Promise<void>;
|
|
58
59
|
bikeSync(): Promise<void>;
|
|
@@ -60,6 +61,6 @@ export default class DaumAdapter<S extends SerialDeviceSettings, P extends Devic
|
|
|
60
61
|
transformData(cyclingData: IncyclistBikeData, fromBike?: boolean): IncyclistAdapterData;
|
|
61
62
|
sendRequest(request: any): Promise<any>;
|
|
62
63
|
refreshRequests(): void;
|
|
63
|
-
processClientRequest(request: any): Promise<
|
|
64
|
+
processClientRequest(request: any): Promise<UpdateRequest>;
|
|
64
65
|
getDeviceInfo(): Promise<any>;
|
|
65
66
|
}
|
|
@@ -450,7 +450,7 @@ class Daum8i extends comms_1.default {
|
|
|
450
450
|
setPerson(person) {
|
|
451
451
|
return __awaiter(this, void 0, void 0, function* () {
|
|
452
452
|
const { sex, age, length, weight } = person;
|
|
453
|
-
const logStr = `setPerson(${sex
|
|
453
|
+
const logStr = `setPerson(${sex !== null && sex !== void 0 ? sex : ''},${age !== null && age !== void 0 ? age : ''},${length !== null && length !== void 0 ? length : ''},${weight !== null && weight !== void 0 ? weight : ''})`;
|
|
454
454
|
const res = yield this.sendReservedDaum8iCommand(logStr, utils_1.ReservedCommands.PERSON_SET, (0, utils_1.getPersonData)(person));
|
|
455
455
|
const buffer = Buffer.from(res);
|
|
456
456
|
const success = buffer.readInt16LE(0) === utils_1.ReservedCommands.PERSON_SET;
|
|
@@ -6,6 +6,7 @@ import { Command } from "../types";
|
|
|
6
6
|
import { SerialIncyclistDevice } from "../../base/adapter";
|
|
7
7
|
import SerialInterface from "../../base/serial-interface";
|
|
8
8
|
import { ControllerConfig, IAdapter, IncyclistAdapterData, DeviceProperties } from "../../../types";
|
|
9
|
+
import { UpdateRequest } from "../../../modes/types";
|
|
9
10
|
export interface KettlerRacerCommand extends Command {
|
|
10
11
|
}
|
|
11
12
|
export interface KettlerExtendedBikeData {
|
|
@@ -74,9 +75,9 @@ export default class KettlerRacerAdapter extends SerialIncyclistDevice<DevicePro
|
|
|
74
75
|
sendRequest(request: any): Promise<any>;
|
|
75
76
|
sendRequests(): Promise<void>;
|
|
76
77
|
bikeSync(): Promise<void>;
|
|
77
|
-
sendUpdate(request: any): Promise<
|
|
78
|
+
sendUpdate(request: any): Promise<UpdateRequest | void>;
|
|
78
79
|
refreshRequests(): void;
|
|
79
|
-
processClientRequest(request: any): Promise<
|
|
80
|
+
processClientRequest(request: any): Promise<UpdateRequest>;
|
|
80
81
|
connect(): Promise<boolean>;
|
|
81
82
|
close(): Promise<boolean>;
|
|
82
83
|
waitForOpened(retries?: boolean): Promise<boolean>;
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import SimulatorCyclingMode from '../modes/simulator';
|
|
3
3
|
import IncyclistDevice from '../base/adpater';
|
|
4
4
|
import { IAdapter, IncyclistBikeData, DeviceProperties, DeviceSettings } from '../types';
|
|
5
|
+
import { UpdateRequest } from '../modes/types';
|
|
5
6
|
interface SimulatorProperties extends DeviceProperties {
|
|
6
7
|
isBot?: boolean;
|
|
7
8
|
settings?: any;
|
|
@@ -47,6 +48,6 @@ export declare class Simulator extends IncyclistDevice<SimulatorProperties> {
|
|
|
47
48
|
update(): void;
|
|
48
49
|
canEmitData(): boolean;
|
|
49
50
|
calculateDistance(speedKps: any, timeS: any): number;
|
|
50
|
-
sendUpdate(request: any):
|
|
51
|
+
sendUpdate(request: any): Promise<UpdateRequest | void>;
|
|
51
52
|
}
|
|
52
53
|
export {};
|
|
@@ -185,9 +185,11 @@ class Simulator extends adpater_1.default {
|
|
|
185
185
|
return timeS * speedKps / 3.6;
|
|
186
186
|
}
|
|
187
187
|
sendUpdate(request) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
188
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
189
|
+
if (this.paused)
|
|
190
|
+
return;
|
|
191
|
+
return yield this.getCyclingMode().sendBikeUpdate(request);
|
|
192
|
+
});
|
|
191
193
|
}
|
|
192
194
|
}
|
|
193
195
|
exports.Simulator = Simulator;
|
package/lib/types/adapter.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import EventEmitter from "events";
|
|
3
|
-
import ICyclingMode, { CyclingMode } from "../modes/types";
|
|
3
|
+
import ICyclingMode, { CyclingMode, UpdateRequest } from "../modes/types";
|
|
4
4
|
import { IncyclistCapability } from "./capabilities";
|
|
5
5
|
import { IncyclistAdapterData } from "./data";
|
|
6
6
|
import { DeviceProperties, DeviceSettings } from "./device";
|
|
@@ -17,7 +17,7 @@ export interface IBike {
|
|
|
17
17
|
getDefaultCyclingMode(): ICyclingMode;
|
|
18
18
|
setBikeProps(props: DeviceProperties): void;
|
|
19
19
|
sendInitCommands(): Promise<boolean>;
|
|
20
|
-
sendUpdate(request: any):
|
|
20
|
+
sendUpdate(request: any): Promise<UpdateRequest | void>;
|
|
21
21
|
setUser(user: User): void;
|
|
22
22
|
getWeight(): number;
|
|
23
23
|
getUser(): User;
|