incyclist-devices 1.5.35 → 1.5.37

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.
@@ -217,8 +217,7 @@ class DaumAdapterBase extends device_1.default {
217
217
  clearInterval(this.iv.update);
218
218
  this.iv = undefined;
219
219
  }
220
- if (this.bike.stopWorker && typeof (this.bike.stopWorker) === 'function')
221
- this.bike.stopWorker();
220
+ this.bike.stopWorker();
222
221
  this.logEvent({ message: 'stop request completed' });
223
222
  this.paused = undefined;
224
223
  resolve(true);
@@ -47,6 +47,8 @@ class ERGCyclingMode extends power_base_1.default {
47
47
  };
48
48
  this.logger.logEvent({ message: "processing update request", request, prev: this.prevRequest, data: getData(), event: this.event });
49
49
  let newRequest = {};
50
+ let isRefreshOnly = request && request.refresh && Object.keys(request).length === 1;
51
+ let isInit = request && request.init;
50
52
  try {
51
53
  if (!request || request.reset || Object.keys(request).length === 0) {
52
54
  this.prevRequest = {};
@@ -79,7 +81,7 @@ class ERGCyclingMode extends power_base_1.default {
79
81
  }
80
82
  if (request.refresh) {
81
83
  delete request.refresh;
82
- if (this.prevRequest !== undefined && this.prevRequest.targetPower !== undefined && !this.event.gearUpdated && !this.event.rpmUpdated) {
84
+ if (this.prevRequest !== undefined && this.prevRequest.targetPower !== undefined && !this.prevRequest.init) {
83
85
  newRequest.targetPower = this.prevRequest.targetPower;
84
86
  }
85
87
  else if (this.event.gearUpdated || this.event.rpmUpdated) {
@@ -116,10 +118,13 @@ class ERGCyclingMode extends power_base_1.default {
116
118
  newRequest.minPower = request.minPower;
117
119
  }
118
120
  }
121
+ if (!isRefreshOnly && !isInit)
122
+ this.prevRequest = JSON.parse(JSON.stringify(request));
123
+ else if (isInit)
124
+ this.prevRequest = {};
119
125
  if (newRequest.targetPower !== undefined && prevData.power !== undefined && newRequest.targetPower === prevData.power) {
120
126
  delete newRequest.targetPower;
121
127
  }
122
- this.prevRequest = JSON.parse(JSON.stringify(request));
123
128
  }
124
129
  catch (err) {
125
130
  this.logger.logEvent({ message: "error", fn: 'sendBikeUpdate()', error: err.message || err, stack: err.stack });
@@ -220,6 +220,7 @@ class Daum8008 {
220
220
  }, 50);
221
221
  }
222
222
  stopWorker() {
223
+ this.logEvent({ message: "stop worker", port: this.getPort() });
223
224
  if (this.queue !== undefined)
224
225
  this.queue.clear();
225
226
  if (this.bikeCmdWorker !== undefined) {
@@ -230,7 +231,7 @@ class Daum8008 {
230
231
  this.queue.clear();
231
232
  }
232
233
  sendDaum8008CommandfromQueue() {
233
- if (!this.connected || this.closing)
234
+ if (!this.connected || this.closing || !this.sp)
234
235
  return;
235
236
  if (this.cmdStart !== undefined && this.error !== undefined) {
236
237
  if (this.cmdStart !== undefined) {
@@ -75,6 +75,7 @@ declare class Daum8i {
75
75
  sendACK(): void;
76
76
  sendNAK(): void;
77
77
  sendReservedDaum8iCommand(command: ReservedCommands, cmdType: any, data?: Buffer): Promise<any[]>;
78
+ stopWorker(): void;
78
79
  getProtocolVersion(): Promise<string>;
79
80
  getDashboardVersion(): Promise<unknown>;
80
81
  getDeviceType(): Promise<any>;
@@ -636,6 +636,9 @@ class Daum8i {
636
636
  return cmd;
637
637
  });
638
638
  }
639
+ stopWorker() {
640
+ this.logEvent({ message: "stop worker", port: this.getPort() });
641
+ }
639
642
  getProtocolVersion() {
640
643
  return this.sendDaum8iCommand('V00', 'AF', [])
641
644
  .then((data) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incyclist-devices",
3
- "version": "1.5.35",
3
+ "version": "1.5.37",
4
4
  "dependencies": {
5
5
  "@serialport/parser-byte-length": "^9.0.1",
6
6
  "@serialport/parser-delimiter": "^9.0.1",