incyclist-devices 2.2.0 → 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.
@@ -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;
@@ -59,6 +59,7 @@ class AntFEAdapter extends adapter_1.default {
59
59
  }
60
60
  yield this.promiseSendUpdate;
61
61
  delete this.promiseSendUpdate;
62
+ return update;
62
63
  }
63
64
  catch (err) {
64
65
  delete this.promiseSendUpdate;
@@ -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,4 +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;
14
+ sendUpdate(request: any): Promise<UpdateRequest | void>;
13
15
  }
@@ -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
  };
@@ -47,6 +56,18 @@ class AntPwrAdapter extends adapter_1.default {
47
56
  const hasData = has(Power) || has(CalculatedPower) || has(Cadence) || has(CalculatedCadence);
48
57
  return hasData;
49
58
  }
59
+ sendUpdate(request) {
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
+ });
70
+ }
50
71
  }
51
72
  AntPwrAdapter.INCYCLIST_PROFILE_NAME = 'Power Meter';
52
73
  AntPwrAdapter.ANT_PROFILE_NAME = 'PWR';
@@ -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;
@@ -194,14 +194,16 @@ class IncyclistDevice extends events_1.default {
194
194
  });
195
195
  }
196
196
  sendUpdate(request) {
197
- if (!this.isControllable())
198
- return;
199
- if (this.isPaused() || this.isStopped())
200
- return;
201
- if (!this.hasCapability(types_1.IncyclistCapability.Control))
202
- this.getCyclingMode().sendBikeUpdate(request);
203
- else
204
- throw new Error('method not implemented');
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;
@@ -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) {
@@ -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
  }
@@ -89,12 +89,16 @@ class PwrAdapter extends adapter_1.default {
89
89
  });
90
90
  }
91
91
  sendUpdate(request) {
92
- try {
93
- super.sendUpdate(request);
94
- }
95
- catch (err) {
96
- this.logEvent({ message: 'Error', fn: 'sendUpdate', error: err.message });
97
- }
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
+ });
98
102
  }
99
103
  }
100
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<unknown>;
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<unknown>;
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 === undefined ? '' : sex},${age === undefined ? '' : age},${length === undefined ? '' : length},${weight === undefined ? '' : length})`;
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<unknown>;
78
+ sendUpdate(request: any): Promise<UpdateRequest | void>;
78
79
  refreshRequests(): void;
79
- processClientRequest(request: any): Promise<unknown>;
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): import("..").UpdateRequest;
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
- if (this.paused)
189
- return;
190
- return this.getCyclingMode().sendBikeUpdate(request);
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;
@@ -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): any;
20
+ sendUpdate(request: any): Promise<UpdateRequest | void>;
21
21
  setUser(user: User): void;
22
22
  getWeight(): number;
23
23
  getUser(): User;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incyclist-devices",
3
- "version": "2.2.0",
3
+ "version": "2.2.2",
4
4
  "dependencies": {
5
5
  "@serialport/bindings-interface": "^1.2.2",
6
6
  "@serialport/parser-byte-length": "^9.0.1",