incyclist-devices 1.5.33 → 1.5.35

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.
@@ -7,6 +7,7 @@ export declare type UpdateRequest = {
7
7
  targetPowerDelta?: number;
8
8
  reset?: boolean;
9
9
  refresh?: boolean;
10
+ init?: boolean;
10
11
  };
11
12
  export declare enum CyclingModeProperyType {
12
13
  Integer = "Integer",
@@ -36,7 +36,7 @@ class ERGCyclingMode extends power_base_1.default {
36
36
  }
37
37
  getBikeInitRequest() {
38
38
  const startPower = this.getSetting('startPower');
39
- return { targetPower: startPower };
39
+ return { targetPower: startPower, init: true };
40
40
  }
41
41
  sendBikeUpdate(request) {
42
42
  const getData = () => {
@@ -79,40 +79,42 @@ class ERGCyclingMode extends power_base_1.default {
79
79
  }
80
80
  if (request.refresh) {
81
81
  delete request.refresh;
82
- if (this.prevRequest !== undefined && !this.event.gearUpdated && !this.event.rpmUpdated) {
82
+ if (this.prevRequest !== undefined && this.prevRequest.targetPower !== undefined && !this.event.gearUpdated && !this.event.rpmUpdated) {
83
83
  newRequest.targetPower = this.prevRequest.targetPower;
84
84
  }
85
- else {
85
+ else if (this.event.gearUpdated || this.event.rpmUpdated) {
86
86
  newRequest.targetPower = this.calculateTargetPower(request);
87
87
  }
88
- if (this.prevRequest !== undefined && Object.keys(this.prevRequest).length > 0) {
88
+ else if (this.prevRequest !== undefined && Object.keys(this.prevRequest).length > 0) {
89
89
  request = Object.assign({}, this.prevRequest);
90
90
  }
91
91
  else {
92
92
  newRequest.targetPower = this.calculateTargetPower(request);
93
93
  }
94
94
  }
95
- if (request.maxPower !== undefined && request.minPower !== undefined && request.maxPower === request.minPower) {
96
- request.targetPower = request.maxPower;
97
- }
98
- if (request.targetPower === undefined) {
99
- newRequest.targetPower = this.calculateTargetPower(request);
100
- }
101
95
  else {
102
- newRequest.targetPower = request.targetPower;
103
- }
104
- delete request.slope;
105
- if (request.maxPower !== undefined) {
106
- if (newRequest.targetPower !== undefined && newRequest.targetPower > request.maxPower) {
107
- newRequest.targetPower = request.maxPower;
96
+ if (request.maxPower !== undefined && request.minPower !== undefined && request.maxPower === request.minPower) {
97
+ request.targetPower = request.maxPower;
108
98
  }
109
- newRequest.maxPower = request.maxPower;
110
- }
111
- if (request.minPower !== undefined) {
112
- if (newRequest.targetPower !== undefined && newRequest.targetPower < request.minPower) {
113
- newRequest.targetPower = request.minPower;
99
+ if (request.targetPower === undefined) {
100
+ newRequest.targetPower = this.calculateTargetPower(request);
101
+ }
102
+ else {
103
+ newRequest.targetPower = request.targetPower;
104
+ }
105
+ delete request.slope;
106
+ if (request.maxPower !== undefined) {
107
+ if (newRequest.targetPower !== undefined && newRequest.targetPower > request.maxPower) {
108
+ newRequest.targetPower = request.maxPower;
109
+ }
110
+ newRequest.maxPower = request.maxPower;
111
+ }
112
+ if (request.minPower !== undefined) {
113
+ if (newRequest.targetPower !== undefined && newRequest.targetPower < request.minPower) {
114
+ newRequest.targetPower = request.minPower;
115
+ }
116
+ newRequest.minPower = request.minPower;
114
117
  }
115
- newRequest.minPower = request.minPower;
116
118
  }
117
119
  if (newRequest.targetPower !== undefined && prevData.power !== undefined && newRequest.targetPower === prevData.power) {
118
120
  delete newRequest.targetPower;
@@ -122,6 +124,8 @@ class ERGCyclingMode extends power_base_1.default {
122
124
  catch (err) {
123
125
  this.logger.logEvent({ message: "error", fn: 'sendBikeUpdate()', error: err.message || err, stack: err.stack });
124
126
  }
127
+ this.event.gearUpdated = false;
128
+ this.event.rpmUpdated = false;
125
129
  return newRequest;
126
130
  }
127
131
  updateData(bikeData) {
@@ -132,7 +136,7 @@ class ERGCyclingMode extends power_base_1.default {
132
136
  const bikeType = this.getSetting('bikeType').toLowerCase();
133
137
  delete this.event.gearUpdated;
134
138
  delete this.event.rpmUpdated;
135
- if (prevData === {} || prevData.speed === undefined || prevData.speed === 0) {
139
+ if (Object.keys(prevData).length === 0 || prevData.speed === undefined || prevData.speed === 0) {
136
140
  this.event.starting = true;
137
141
  this.event.tsStart = Date.now();
138
142
  }
@@ -143,8 +143,8 @@ class Daum8i {
143
143
  this.logEvent({ message: "creating SerialPort", port: this.port, settings });
144
144
  this.sp = new __SerialPort(this.port, settings);
145
145
  }
146
- this.sp.once('open', this.onPortOpen.bind(this));
147
- this.sp.once('close', this.onPortClose.bind(this));
146
+ this.sp.on('open', this.onPortOpen.bind(this));
147
+ this.sp.on('close', this.onPortClose.bind(this));
148
148
  this.sp.on('error', (error) => { this.onPortError(error); });
149
149
  this.sp.on('data', (data) => { this.onData(data); });
150
150
  }
@@ -317,10 +317,15 @@ class Daum8i {
317
317
  if (!isClosed)
318
318
  resolve(false);
319
319
  }, timeout);
320
- this.sp.removeAllListeners('close');
321
- this.sp.removeAllListeners('error');
320
+ try {
321
+ this.sp.removeAllListeners('close');
322
+ this.sp.removeAllListeners('error');
323
+ }
324
+ catch (err) {
325
+ this.logger.logEvent({ message: 'error', fn: 'closePort()', error: err.message });
326
+ }
322
327
  this.sp.on('error', () => { });
323
- this.sp.once('close', () => {
328
+ this.sp.on('close', () => {
324
329
  clearTimeout(to);
325
330
  isClosed = true;
326
331
  resolve(true);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "incyclist-devices",
3
- "version": "1.5.33",
3
+ "version": "1.5.35",
4
4
  "dependencies": {
5
5
  "@serialport/parser-byte-length": "^9.0.1",
6
6
  "@serialport/parser-delimiter": "^9.0.1",