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.
Files changed (41) hide show
  1. package/lib/antv2/base/adapter.d.ts +13 -7
  2. package/lib/antv2/base/adapter.js +162 -89
  3. package/lib/antv2/base/interface.d.ts +46 -0
  4. package/lib/antv2/base/interface.js +343 -0
  5. package/lib/antv2/factories/adapter-factory.d.ts +4 -4
  6. package/lib/antv2/factories/adapter-factory.js +17 -9
  7. package/lib/antv2/fe/adapter.d.ts +7 -11
  8. package/lib/antv2/fe/adapter.js +50 -145
  9. package/lib/antv2/index.d.ts +1 -1
  10. package/lib/antv2/index.js +2 -2
  11. package/lib/antv2/types.d.ts +9 -0
  12. package/lib/base/adpater.js +10 -2
  13. package/lib/ble/adapter-factory.d.ts +9 -8
  14. package/lib/ble/base/adapter.d.ts +13 -10
  15. package/lib/ble/base/adapter.js +9 -8
  16. package/lib/ble/base/types.d.ts +2 -0
  17. package/lib/ble/base/types.js +2 -0
  18. package/lib/ble/ble-interface.d.ts +0 -4
  19. package/lib/ble/ble-interface.js +0 -11
  20. package/lib/ble/cp/adapter.d.ts +5 -3
  21. package/lib/ble/cp/adapter.js +1 -7
  22. package/lib/ble/elite/adapter.d.ts +5 -3
  23. package/lib/ble/elite/adapter.js +1 -7
  24. package/lib/ble/fm/adapter.d.ts +4 -3
  25. package/lib/ble/fm/adapter.js +1 -6
  26. package/lib/ble/hr/adapter.d.ts +4 -2
  27. package/lib/ble/hr/adapter.js +1 -3
  28. package/lib/ble/peripheral-cache.d.ts +3 -1
  29. package/lib/ble/tacx/adapter.d.ts +3 -1
  30. package/lib/ble/tacx/adapter.js +1 -0
  31. package/lib/ble/wahoo/adapter.d.ts +3 -1
  32. package/lib/ble/wahoo/adapter.js +1 -0
  33. package/lib/factories/interfaces.d.ts +1 -1
  34. package/lib/factories/interfaces.js +2 -2
  35. package/lib/modes/power-base.js +1 -4
  36. package/lib/serial/base/serial-interface.js +1 -1
  37. package/lib/serial/base/serial-scanner.js +2 -2
  38. package/lib/serial/daum/classic/mock.js +1 -1
  39. package/lib/utils/utils.d.ts +1 -0
  40. package/lib/utils/utils.js +18 -1
  41. package/package.json +1 -1
@@ -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
@@ -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
- export default class BleFmAdapter extends BleAdapter {
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;
@@ -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;
@@ -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
- export default class HrmAdapter extends BleAdapter {
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;
@@ -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(): string;
9
+ getProfile(): LegacyProfile;
8
10
  start(props?: BleStartProperties): Promise<any>;
9
11
  }
@@ -102,4 +102,5 @@ class BleTacxFEAdapter extends fm_1.BleFmAdapter {
102
102
  });
103
103
  }
104
104
  }
105
+ BleTacxFEAdapter.INCYCLIST_PROFILE_NAME = 'Smart Trainer';
105
106
  exports.default = BleTacxFEAdapter;
@@ -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(): string;
9
+ getProfile(): LegacyProfile;
8
10
  start(props?: BleStartProperties): Promise<any>;
9
11
  }
@@ -97,4 +97,5 @@ class BleWahooAdapter extends fm_1.BleFmAdapter {
97
97
  });
98
98
  }
99
99
  }
100
+ BleWahooAdapter.INCYCLIST_PROFILE_NAME = 'Smart Trainer';
100
101
  exports.default = BleWahooAdapter;
@@ -1,6 +1,6 @@
1
1
  import { InterfaceProps } from "../types/interface";
2
2
  import { SerialInterface } from "../serial";
3
- import AntInterface from "../antv2/base/ant-interface";
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 ant_interface_1 = __importDefault(require("../antv2/base/ant-interface"));
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 ant_interface_1.default.getInstance(antProps);
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);
@@ -22,10 +22,7 @@ class PowerBasedCyclingModeBase extends base_1.CyclingModeBase {
22
22
  return slope || 0;
23
23
  }
24
24
  initLogger(defaultLogName) {
25
- const a = this.adapter;
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();
@@ -65,7 +65,7 @@ class DaumClassicMockImpl {
65
65
  }
66
66
  list() {
67
67
  return __awaiter(this, void 0, void 0, function* () {
68
- return binding_mock_1.MockBinding.list();
68
+ return yield binding_mock_1.MockBinding.list();
69
69
  });
70
70
  }
71
71
  open(options) {
@@ -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>);
@@ -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 = [];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incyclist-devices",
3
- "version": "2.1.1",
3
+ "version": "2.1.3",
4
4
  "dependencies": {
5
5
  "@serialport/bindings-interface": "^1.2.2",
6
6
  "@serialport/parser-byte-length": "^9.0.1",