incyclist-devices 1.5.28 → 1.5.30

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/antv2/fe.js CHANGED
@@ -88,7 +88,7 @@ class AntFEAdapter extends ant_device_1.default {
88
88
  this.logger.logEvent({ message: 'send bike update requested', update, request });
89
89
  try {
90
90
  const fe = this.sensor;
91
- const isReset = (!request || request.reset || Object.keys(request).length === 0);
91
+ const isReset = (!update || update.reset || Object.keys(update).length === 0);
92
92
  if (isReset)
93
93
  yield fe.sendTrackResistance(0);
94
94
  if (update.slope !== undefined) {
@@ -97,14 +97,6 @@ class AntFEAdapter extends ant_device_1.default {
97
97
  if (update.targetPower !== undefined) {
98
98
  yield fe.sendTargetPower(update.targetPower);
99
99
  }
100
- else if (request.maxPower !== undefined) {
101
- if (this.data.power && this.data.power > request.maxPower)
102
- yield fe.sendTargetPower(request.maxPower);
103
- }
104
- else if (request.minPower !== undefined) {
105
- if (this.data.power && this.data.power < request.minPower)
106
- yield fe.sendTargetPower(request.minPower);
107
- }
108
100
  }
109
101
  catch (err) {
110
102
  if (err.message && err.message.toLowerCase() === 'timeout') {
@@ -33,7 +33,7 @@ class BleERGCyclingMode extends power_base_1.default {
33
33
  return config.properties.find(p => p.name === name);
34
34
  }
35
35
  getBikeInitRequest() {
36
- const startPower = this.getSetting('startPower');
36
+ const startPower = Number(this.getSetting('startPower'));
37
37
  return { targetPower: startPower };
38
38
  }
39
39
  sendBikeUpdate(request) {
@@ -46,10 +46,13 @@ class BleERGCyclingMode extends power_base_1.default {
46
46
  this.logger.logEvent({ message: "processing update request", request, prev: this.prevRequest, data: getData() });
47
47
  let newRequest = {};
48
48
  try {
49
- if (!request || request.reset || Object.keys(request).length === 0) {
49
+ if (!request || request.reset) {
50
50
  this.prevRequest = {};
51
51
  return request.reset ? { reset: true } : {};
52
52
  }
53
+ if (Object.keys(request).length === 0 && this.prevRequest) {
54
+ request.targetPower = this.prevRequest.targetPower;
55
+ }
53
56
  const prevData = this.data || {};
54
57
  if (request.slope !== undefined) {
55
58
  if (!this.data)
@@ -57,14 +60,21 @@ class BleERGCyclingMode extends power_base_1.default {
57
60
  this.data.slope = request.slope;
58
61
  }
59
62
  delete request.slope;
63
+ if (request.targetPowerDelta && this.prevRequest && this.prevRequest.targetPower) {
64
+ request.targetPower = this.prevRequest.targetPower + request.targetPowerDelta;
65
+ if (request.targetPower < 10)
66
+ request.targetPower = this.prevRequest.targetPower;
67
+ delete request.targetPowerDelta;
68
+ }
60
69
  if (request.targetPower !== undefined) {
61
70
  delete request.refresh;
71
+ newRequest.targetPower = Number(request.targetPower);
62
72
  }
63
- if (request.refresh) {
73
+ if (request.refresh && request.targetPower === undefined) {
64
74
  delete request.refresh;
65
75
  newRequest.targetPower = this.prevRequest.targetPower;
66
76
  }
67
- if (request.maxPower !== undefined && request.minPower !== undefined && request.maxPower === request.minPower) {
77
+ if (request.targetPower === undefined && request.maxPower !== undefined && request.minPower !== undefined && request.maxPower === request.minPower) {
68
78
  request.targetPower = request.maxPower;
69
79
  newRequest.targetPower = request.targetPower;
70
80
  }
@@ -82,7 +92,12 @@ class BleERGCyclingMode extends power_base_1.default {
82
92
  if (prevData.power && prevData.power < request.minPower)
83
93
  newRequest.targetPower = request.minPower;
84
94
  }
85
- this.prevRequest = JSON.parse(JSON.stringify(request));
95
+ if (Object.keys(newRequest).length === 0) {
96
+ if (this.prevRequest)
97
+ newRequest.targetPower = this.prevRequest.targetPower;
98
+ newRequest.refresh = true;
99
+ }
100
+ this.prevRequest = JSON.parse(JSON.stringify(newRequest));
86
101
  }
87
102
  catch (err) {
88
103
  this.logger.logEvent({ message: "error", fn: 'sendBikeUpdate()', error: err.message || err, stack: err.stack });
@@ -4,6 +4,7 @@ export declare type UpdateRequest = {
4
4
  minPower?: number;
5
5
  maxPower?: number;
6
6
  targetPower?: number;
7
+ targetPowerDelta?: number;
7
8
  reset?: boolean;
8
9
  refresh?: boolean;
9
10
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incyclist-devices",
3
- "version": "1.5.28",
3
+ "version": "1.5.30",
4
4
  "dependencies": {
5
5
  "@serialport/parser-byte-length": "^9.0.1",
6
6
  "@serialport/parser-delimiter": "^9.0.1",