incyclist-devices 1.4.90 → 1.4.91

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.
@@ -8,5 +8,7 @@ export declare const INDOOR_BIKE_DATA = "2ad2";
8
8
  export declare const CSP = "1818";
9
9
  export declare const CSP_MEASUREMENT = "2a63";
10
10
  export declare const CSP_FEATURE = "2a65";
11
+ export declare const CSC = "1816";
12
+ export declare const CSC_MEASUREMENT = "2a5b";
11
13
  export declare const WAHOO_ADVANCED_TRAINER_CP = "a026e005";
12
14
  export declare const WAHOO_ADVANCED_TRAINER_CP_FULL = "A026E005-0A7D-4AB3-97FA-F1500F9FEB8B";
package/lib/ble/consts.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WAHOO_ADVANCED_TRAINER_CP_FULL = exports.WAHOO_ADVANCED_TRAINER_CP = exports.CSP_FEATURE = exports.CSP_MEASUREMENT = exports.CSP = exports.INDOOR_BIKE_DATA = exports.FTMS_STATUS = exports.FTMS_CP = exports.FTMS = exports.TACX_FE_C_TX = exports.TACX_FE_C_RX = exports.TACX_FE_C_BLE = void 0;
3
+ exports.WAHOO_ADVANCED_TRAINER_CP_FULL = exports.WAHOO_ADVANCED_TRAINER_CP = exports.CSC_MEASUREMENT = exports.CSC = exports.CSP_FEATURE = exports.CSP_MEASUREMENT = exports.CSP = exports.INDOOR_BIKE_DATA = exports.FTMS_STATUS = exports.FTMS_CP = exports.FTMS = exports.TACX_FE_C_TX = exports.TACX_FE_C_RX = exports.TACX_FE_C_BLE = void 0;
4
4
  exports.TACX_FE_C_BLE = '6e40fec1';
5
5
  exports.TACX_FE_C_RX = '6e40fec2';
6
6
  exports.TACX_FE_C_TX = '6e40fec3';
@@ -11,5 +11,7 @@ exports.INDOOR_BIKE_DATA = '2ad2';
11
11
  exports.CSP = '1818';
12
12
  exports.CSP_MEASUREMENT = '2a63';
13
13
  exports.CSP_FEATURE = '2a65';
14
+ exports.CSC = '1816';
15
+ exports.CSC_MEASUREMENT = '2a5b';
14
16
  exports.WAHOO_ADVANCED_TRAINER_CP = 'a026e005';
15
17
  exports.WAHOO_ADVANCED_TRAINER_CP_FULL = 'A026E005-0A7D-4AB3-97FA-F1500F9FEB8B';
package/lib/ble/tacx.d.ts CHANGED
@@ -54,8 +54,9 @@ export default class TacxAdvancedFitnessMachineDevice extends BleFitnessMachineD
54
54
  rpm: number;
55
55
  time: any;
56
56
  };
57
- parseCSC(_data: Buffer): IndoorBikeData;
58
- parsePower(_data: Buffer): IndoorBikeData;
57
+ parseCSC(_data: Buffer, logOnly?: boolean): IndoorBikeData;
58
+ parsePower(_data: Buffer, logOnly?: boolean): IndoorBikeData;
59
+ parseIndoorBikeData(_data: Buffer, logOnly?: boolean): IndoorBikeData;
59
60
  resetState(): void;
60
61
  parseFEState(capStateBF: number): void;
61
62
  parseGeneralFE(data: Buffer): BleFeBikeData;
package/lib/ble/tacx.js CHANGED
@@ -163,8 +163,10 @@ class TacxAdvancedFitnessMachineDevice extends fm_1.default {
163
163
  this.prevCrankData.cntUpdateMissing = cntUpdateMissing + 1;
164
164
  return { rpm, time: this.timeOffset + c.time };
165
165
  }
166
- parseCSC(_data) {
166
+ parseCSC(_data, logOnly = false) {
167
167
  this.logEvent({ message: 'BLE CSC message', data: _data.toString('hex') });
168
+ if (logOnly)
169
+ return this.data;
168
170
  const data = Buffer.from(_data);
169
171
  let offset = 0;
170
172
  const flags = data.readUInt8(offset);
@@ -184,8 +186,10 @@ class TacxAdvancedFitnessMachineDevice extends fm_1.default {
184
186
  }
185
187
  return this.data;
186
188
  }
187
- parsePower(_data) {
189
+ parsePower(_data, logOnly = false) {
188
190
  this.logEvent({ message: 'BLE CSP message', data: _data.toString('hex') });
191
+ if (logOnly)
192
+ return this.data;
189
193
  const data = Buffer.from(_data);
190
194
  try {
191
195
  let offset = 4;
@@ -214,6 +218,12 @@ class TacxAdvancedFitnessMachineDevice extends fm_1.default {
214
218
  const { instantaneousPower, cadence, time } = this.data;
215
219
  return { instantaneousPower, cadence, time, raw: data.toString('hex') };
216
220
  }
221
+ parseIndoorBikeData(_data, logOnly) {
222
+ this.logEvent({ message: 'BLE INDOOR_BIKE_DATA message', data: _data.toString('hex') });
223
+ if (logOnly)
224
+ return this.data;
225
+ return super.parseIndoorBikeData(_data);
226
+ }
217
227
  resetState() {
218
228
  const state = this.data;
219
229
  delete state.time;
@@ -445,20 +455,17 @@ class TacxAdvancedFitnessMachineDevice extends fm_1.default {
445
455
  }
446
456
  else {
447
457
  switch (uuid) {
448
- case '2a63':
449
- if (!this.hasFECData)
450
- res = this.parsePower(data);
458
+ case consts_1.CSP_MEASUREMENT:
459
+ res = this.parsePower(data, this.hasFECData);
451
460
  break;
452
- case '2ad2':
453
- if (!this.hasFECData)
454
- res = this.parseIndoorBikeData(data);
461
+ case consts_1.INDOOR_BIKE_DATA:
462
+ res = this.parseIndoorBikeData(data, this.hasFECData);
455
463
  break;
456
464
  case '2a37':
457
465
  res = this.parseHrm(data);
458
466
  break;
459
- case '2a5b':
460
- if (!this.hasFECData)
461
- res = this.parseCSC(data);
467
+ case consts_1.CSC_MEASUREMENT:
468
+ res = this.parseCSC(data, this.hasFECData);
462
469
  break;
463
470
  case '2ada':
464
471
  if (!this.hasFECData)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incyclist-devices",
3
- "version": "1.4.90",
3
+ "version": "1.4.91",
4
4
  "dependencies": {
5
5
  "@serialport/parser-byte-length": "^9.0.1",
6
6
  "@serialport/parser-delimiter": "^9.0.1",