incyclist-devices 2.1.38 → 2.1.39
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/modes/daum-erg.d.ts +1 -0
- package/lib/modes/daum-erg.js +18 -3
- package/lib/modes/types.d.ts +1 -0
- package/lib/serial/daum/DaumAdapter.js +3 -0
- package/lib/serial/daum/classic/comms.d.ts +1 -0
- package/lib/serial/daum/classic/comms.js +10 -0
- package/lib/serial/daum/premium/comms.d.ts +1 -0
- package/lib/serial/daum/premium/comms.js +10 -0
- package/lib/serial/daum/types.d.ts +1 -0
- package/package.json +1 -1
package/lib/modes/daum-erg.d.ts
CHANGED
|
@@ -46,4 +46,5 @@ export default class ERGCyclingMode extends PowerBasedCyclingModeBase implements
|
|
|
46
46
|
private cleanupPrevEvents;
|
|
47
47
|
private checkIsStarting;
|
|
48
48
|
calculateTargetPower(request: any, updateMode?: boolean): any;
|
|
49
|
+
protected checkForTempPowerAdjustments(request: UpdateRequest): void;
|
|
49
50
|
}
|
package/lib/modes/daum-erg.js
CHANGED
|
@@ -39,7 +39,8 @@ class ERGCyclingMode extends power_base_1.default {
|
|
|
39
39
|
this.data = {};
|
|
40
40
|
this.data.slope = request.slope;
|
|
41
41
|
}
|
|
42
|
-
|
|
42
|
+
this.checkForTempPowerAdjustments(request);
|
|
43
|
+
if (request.targetPower !== undefined || request.gear !== undefined) {
|
|
43
44
|
delete request.slope;
|
|
44
45
|
delete request.refresh;
|
|
45
46
|
}
|
|
@@ -77,11 +78,15 @@ class ERGCyclingMode extends power_base_1.default {
|
|
|
77
78
|
if (request.maxPower !== undefined && request.minPower !== undefined && request.maxPower === request.minPower) {
|
|
78
79
|
request.targetPower = request.maxPower;
|
|
79
80
|
}
|
|
80
|
-
if (request.targetPower === undefined) {
|
|
81
|
+
if (request.targetPower === undefined && request.gear === undefined) {
|
|
81
82
|
newRequest.targetPower = this.calculateTargetPower(request);
|
|
82
83
|
}
|
|
83
84
|
else {
|
|
84
|
-
|
|
85
|
+
if (!request.gear || request.targetPower !== undefined)
|
|
86
|
+
newRequest.targetPower = request.targetPower;
|
|
87
|
+
}
|
|
88
|
+
if (request.gear) {
|
|
89
|
+
newRequest.gear = request.gear;
|
|
85
90
|
}
|
|
86
91
|
delete request.slope;
|
|
87
92
|
if (request.maxPower !== undefined) {
|
|
@@ -169,6 +174,16 @@ class ERGCyclingMode extends power_base_1.default {
|
|
|
169
174
|
}
|
|
170
175
|
return target;
|
|
171
176
|
}
|
|
177
|
+
checkForTempPowerAdjustments(request) {
|
|
178
|
+
const data = this.getData();
|
|
179
|
+
if (request.targetPowerDelta && (data === null || data === void 0 ? void 0 : data.gear)) {
|
|
180
|
+
if (Math.abs(request.targetPowerDelta) === 5)
|
|
181
|
+
request.gear = data.gear + Math.sign(request.targetPowerDelta);
|
|
182
|
+
if (Math.abs(request.targetPowerDelta) === 50)
|
|
183
|
+
request.gear = data.gear + Math.sign(request.targetPowerDelta) * 5;
|
|
184
|
+
delete request.targetPowerDelta;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
172
187
|
}
|
|
173
188
|
ERGCyclingMode.config = {
|
|
174
189
|
isERG: true,
|
package/lib/modes/types.d.ts
CHANGED
|
@@ -490,6 +490,9 @@ class DaumAdapter extends adapter_1.SerialIncyclistDevice {
|
|
|
490
490
|
if (request.targetPower !== undefined) {
|
|
491
491
|
yield bike.setTargetPower(request.targetPower);
|
|
492
492
|
}
|
|
493
|
+
if (request.gear !== undefined) {
|
|
494
|
+
yield bike.setTargetGear(request.gear);
|
|
495
|
+
}
|
|
493
496
|
this.requestBusy = false;
|
|
494
497
|
return request;
|
|
495
498
|
}
|
|
@@ -39,4 +39,5 @@ export default class Daum8008 extends SerialPortComms<DaumClassicCommsState, Dau
|
|
|
39
39
|
setSlope(slope: number, bike?: number): Promise<SetSlopeRepsonse>;
|
|
40
40
|
setTargetSlope(slope: number): Promise<void>;
|
|
41
41
|
setTargetPower(power: number): Promise<void>;
|
|
42
|
+
setTargetGear(gear: number): Promise<void>;
|
|
42
43
|
}
|
|
@@ -249,5 +249,15 @@ class Daum8008 extends comms_1.default {
|
|
|
249
249
|
yield this.setPower(power);
|
|
250
250
|
});
|
|
251
251
|
}
|
|
252
|
+
setTargetGear(gear) {
|
|
253
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
254
|
+
let target = gear;
|
|
255
|
+
if (target < 2)
|
|
256
|
+
target = 1;
|
|
257
|
+
if (target > 28)
|
|
258
|
+
target = 28;
|
|
259
|
+
yield this.setGear(target);
|
|
260
|
+
});
|
|
261
|
+
}
|
|
252
262
|
}
|
|
253
263
|
exports.default = Daum8008;
|
|
@@ -24,6 +24,7 @@ export default class Daum8i extends SerialPortComms<DaumPremiumCommsState, DaumP
|
|
|
24
24
|
sendNAK(logPayload: any): Promise<void>;
|
|
25
25
|
setTargetPower(power: number): Promise<void>;
|
|
26
26
|
setTargetSlope(_slope: number): Promise<void>;
|
|
27
|
+
setTargetGear(gear: number): Promise<void>;
|
|
27
28
|
getProtocolVersion(): Promise<string>;
|
|
28
29
|
getDashboardVersion(): Promise<string>;
|
|
29
30
|
getDeviceType(): Promise<string>;
|
|
@@ -293,6 +293,16 @@ class Daum8i extends comms_1.default {
|
|
|
293
293
|
setTargetSlope(_slope) {
|
|
294
294
|
return;
|
|
295
295
|
}
|
|
296
|
+
setTargetGear(gear) {
|
|
297
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
298
|
+
let target = gear;
|
|
299
|
+
if (target < 2)
|
|
300
|
+
target = 1;
|
|
301
|
+
if (target > 28)
|
|
302
|
+
target = 28;
|
|
303
|
+
yield this.setGear(target);
|
|
304
|
+
});
|
|
305
|
+
}
|
|
296
306
|
getProtocolVersion() {
|
|
297
307
|
return __awaiter(this, void 0, void 0, function* () {
|
|
298
308
|
const data = yield this.sendStrCommand('getProtocolVersion', 'V00');
|
|
@@ -8,6 +8,7 @@ export declare abstract class DaumSerialComms {
|
|
|
8
8
|
abstract close(): Promise<boolean>;
|
|
9
9
|
abstract setTargetSlope(slope: number): Promise<void>;
|
|
10
10
|
abstract setTargetPower(power: number): Promise<void>;
|
|
11
|
+
abstract setTargetGear(gear: number): Promise<void>;
|
|
11
12
|
}
|
|
12
13
|
export declare class ResponseTimeout extends Error {
|
|
13
14
|
constructor();
|