incyclist-devices 1.4.90 → 1.4.92
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/ble/consts.d.ts +2 -0
- package/lib/ble/consts.js +3 -1
- package/lib/ble/tacx.d.ts +3 -2
- package/lib/ble/tacx.js +18 -11
- package/lib/ble/wahoo-kickr.js +2 -2
- package/package.json +1 -1
package/lib/ble/consts.d.ts
CHANGED
|
@@ -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
|
|
449
|
-
|
|
450
|
-
res = this.parsePower(data);
|
|
458
|
+
case consts_1.CSP_MEASUREMENT:
|
|
459
|
+
res = this.parsePower(data, this.hasFECData);
|
|
451
460
|
break;
|
|
452
|
-
case
|
|
453
|
-
|
|
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
|
|
460
|
-
|
|
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/lib/ble/wahoo-kickr.js
CHANGED
|
@@ -345,9 +345,9 @@ class WahooAdvancedFitnessMachineDevice extends fm_1.default {
|
|
|
345
345
|
s = -100;
|
|
346
346
|
if (s > 100)
|
|
347
347
|
s = 100;
|
|
348
|
-
const slopeVal = Math.min(Math.
|
|
348
|
+
const slopeVal = Math.min(Math.round((1 + s / 100) * 65535 / 2.0), 65535);
|
|
349
349
|
const data = Buffer.alloc(2);
|
|
350
|
-
data.
|
|
350
|
+
data.writeUInt16LE(slopeVal, 0);
|
|
351
351
|
const res = yield this.writeWahooFtmsMessage(70, data);
|
|
352
352
|
return res;
|
|
353
353
|
}
|