incyclist-devices 2.3.15 → 2.3.16
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/fm/sensor.js +14 -4
- package/package.json +1 -1
package/lib/ble/fm/sensor.js
CHANGED
|
@@ -217,10 +217,16 @@ class BleFitnessMachineDevice extends sensor_1.TBleSensor {
|
|
|
217
217
|
const OpCode = data.readUInt8(0);
|
|
218
218
|
switch (OpCode) {
|
|
219
219
|
case 8:
|
|
220
|
-
|
|
220
|
+
if (data.length >= 3)
|
|
221
|
+
this.data.targetPower = data.readInt16LE(1);
|
|
222
|
+
else
|
|
223
|
+
this.logEvent({ message: 'warning', fn: 'parseFitnessMachineStatus()', warning: 'invalid message - message too short', data: data.toString('hex') });
|
|
221
224
|
break;
|
|
222
225
|
case 6:
|
|
223
|
-
|
|
226
|
+
if (data.length >= 3)
|
|
227
|
+
this.data.targetInclination = data.readInt16LE(1) / 10;
|
|
228
|
+
else
|
|
229
|
+
this.logEvent({ message: 'warning', fn: 'parseFitnessMachineStatus()', warning: 'invalid message - message too short', data: data.toString('hex') });
|
|
224
230
|
break;
|
|
225
231
|
case 4:
|
|
226
232
|
this.data.status = "STARTED";
|
|
@@ -230,7 +236,7 @@ class BleFitnessMachineDevice extends sensor_1.TBleSensor {
|
|
|
230
236
|
this.data.status = "STOPPED";
|
|
231
237
|
break;
|
|
232
238
|
case 20:
|
|
233
|
-
{
|
|
239
|
+
if (data.length >= 2) {
|
|
234
240
|
const spinDownStatus = data.readUInt8(1);
|
|
235
241
|
switch (spinDownStatus) {
|
|
236
242
|
case 1:
|
|
@@ -248,10 +254,14 @@ class BleFitnessMachineDevice extends sensor_1.TBleSensor {
|
|
|
248
254
|
default: break;
|
|
249
255
|
}
|
|
250
256
|
}
|
|
257
|
+
else {
|
|
258
|
+
this.logEvent({ message: 'warning', fn: 'parseFitnessMachineStatus()', warning: 'invalid message - message too short', data: data.toString('hex') });
|
|
259
|
+
}
|
|
260
|
+
break;
|
|
251
261
|
}
|
|
252
262
|
}
|
|
253
263
|
catch (err) {
|
|
254
|
-
this.logEvent({ message: 'error', fn: 'parseFitnessMachineStatus()', error: err.message
|
|
264
|
+
this.logEvent({ message: 'error', fn: 'parseFitnessMachineStatus()', error: err.message, data: data.toString('hex'), stack: err.stack });
|
|
255
265
|
}
|
|
256
266
|
return Object.assign(Object.assign({}, this.data), { raw: `2ada:${data.toString('hex')}` });
|
|
257
267
|
}
|