incyclist-services 1.7.63 → 1.7.65

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.
@@ -372,7 +372,8 @@ let DeviceConfigurationService = (() => {
372
372
  try {
373
373
  const udid = requestedUdid ||
374
374
  capabilities.find(d => d.capability === incyclist_devices_1.IncyclistCapability.Control)?.selected ||
375
- capabilities.find(d => d.capability === incyclist_devices_1.IncyclistCapability.Power)?.selected;
375
+ capabilities.find(d => d.capability === incyclist_devices_1.IncyclistCapability.Power)?.selected ||
376
+ capabilities.find(d => d.capability === incyclist_devices_1.IncyclistCapability.Speed)?.selected;
376
377
  if (!udid)
377
378
  return;
378
379
  const device = devices.find(d => d.udid === udid);
@@ -919,7 +919,11 @@ let DevicePairingService = (() => {
919
919
  return false;
920
920
  const control = this.getCapability(incyclist_devices_1.IncyclistCapability.Control);
921
921
  const power = this.getCapability(incyclist_devices_1.IncyclistCapability.Power);
922
- const success = (control?.connectState === 'connected' || power?.connectState === 'connected');
922
+ const speed = this.getCapability(incyclist_devices_1.IncyclistCapability.Speed);
923
+ const controlOK = (control?.selected && control?.connectState === 'connected');
924
+ const powerOK = (!control?.selected && power?.selected && power?.connectState === 'connected');
925
+ const speedOK = (!control?.selected && !power?.selected && speed?.selected && speed?.connectState === 'connected');
926
+ const success = controlOK || powerOK || speedOK;
923
927
  this.state.canStartRide = success;
924
928
  return success;
925
929
  }
@@ -1060,6 +1060,7 @@ let DeviceRideService = (() => {
1060
1060
  this.verifySelected(selectedDevices, incyclist_devices_1.IncyclistCapability.Speed);
1061
1061
  this.verifySelected(selectedDevices, incyclist_devices_1.IncyclistCapability.Cadence);
1062
1062
  this.verifySelected(selectedDevices, incyclist_devices_1.IncyclistCapability.Power);
1063
+ const isSpeedOnlyMode = this.getCyclingMode()?.getName() === 'SpeedSensor';
1063
1064
  const { enabledCapabilities, toBeReplaced } = this.getEnabledCapabilities(adapterInfo, selectedDevices);
1064
1065
  this.logEvent({ message: 'Data Update', device: adapterInfo.adapter.getName(), data, enabledCapabilities });
1065
1066
  enabledCapabilities.forEach(capability => {
@@ -1072,6 +1073,9 @@ let DeviceRideService = (() => {
1072
1073
  break;
1073
1074
  case incyclist_devices_1.IncyclistCapability.Speed:
1074
1075
  this.data.speed = data.speed;
1076
+ if (isSpeedOnlyMode) {
1077
+ this.data.power = data.power;
1078
+ }
1075
1079
  break;
1076
1080
  case incyclist_devices_1.IncyclistCapability.Cadence:
1077
1081
  this.data.cadence = data.cadence;
@@ -1321,6 +1325,9 @@ let DeviceRideService = (() => {
1321
1325
  adapter.setCyclingMode(mode, settings);
1322
1326
  await adapter.sendInitCommands();
1323
1327
  }
1328
+ else {
1329
+ adapter.setCyclingMode(mode, settings);
1330
+ }
1324
1331
  }
1325
1332
  else {
1326
1333
  currentMode.setSettings(settings);
@@ -366,7 +366,8 @@ let DeviceConfigurationService = (() => {
366
366
  try {
367
367
  const udid = requestedUdid ||
368
368
  capabilities.find(d => d.capability === IncyclistCapability.Control)?.selected ||
369
- capabilities.find(d => d.capability === IncyclistCapability.Power)?.selected;
369
+ capabilities.find(d => d.capability === IncyclistCapability.Power)?.selected ||
370
+ capabilities.find(d => d.capability === IncyclistCapability.Speed)?.selected;
370
371
  if (!udid)
371
372
  return;
372
373
  const device = devices.find(d => d.udid === udid);
@@ -913,7 +913,11 @@ let DevicePairingService = (() => {
913
913
  return false;
914
914
  const control = this.getCapability(IncyclistCapability.Control);
915
915
  const power = this.getCapability(IncyclistCapability.Power);
916
- const success = (control?.connectState === 'connected' || power?.connectState === 'connected');
916
+ const speed = this.getCapability(IncyclistCapability.Speed);
917
+ const controlOK = (control?.selected && control?.connectState === 'connected');
918
+ const powerOK = (!control?.selected && power?.selected && power?.connectState === 'connected');
919
+ const speedOK = (!control?.selected && !power?.selected && speed?.selected && speed?.connectState === 'connected');
920
+ const success = controlOK || powerOK || speedOK;
917
921
  this.state.canStartRide = success;
918
922
  return success;
919
923
  }
@@ -1054,6 +1054,7 @@ let DeviceRideService = (() => {
1054
1054
  this.verifySelected(selectedDevices, IncyclistCapability.Speed);
1055
1055
  this.verifySelected(selectedDevices, IncyclistCapability.Cadence);
1056
1056
  this.verifySelected(selectedDevices, IncyclistCapability.Power);
1057
+ const isSpeedOnlyMode = this.getCyclingMode()?.getName() === 'SpeedSensor';
1057
1058
  const { enabledCapabilities, toBeReplaced } = this.getEnabledCapabilities(adapterInfo, selectedDevices);
1058
1059
  this.logEvent({ message: 'Data Update', device: adapterInfo.adapter.getName(), data, enabledCapabilities });
1059
1060
  enabledCapabilities.forEach(capability => {
@@ -1066,6 +1067,9 @@ let DeviceRideService = (() => {
1066
1067
  break;
1067
1068
  case IncyclistCapability.Speed:
1068
1069
  this.data.speed = data.speed;
1070
+ if (isSpeedOnlyMode) {
1071
+ this.data.power = data.power;
1072
+ }
1069
1073
  break;
1070
1074
  case IncyclistCapability.Cadence:
1071
1075
  this.data.cadence = data.cadence;
@@ -1315,6 +1319,9 @@ let DeviceRideService = (() => {
1315
1319
  adapter.setCyclingMode(mode, settings);
1316
1320
  await adapter.sendInitCommands();
1317
1321
  }
1322
+ else {
1323
+ adapter.setCyclingMode(mode, settings);
1324
+ }
1318
1325
  }
1319
1326
  else {
1320
1327
  currentMode.setSettings(settings);
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "incyclist-services",
3
- "version": "1.7.63",
3
+ "version": "1.7.65",
4
4
  "peerDependencies": {
5
5
  "gd-eventlog": "^0.1.27"
6
6
  },
7
7
  "dependencies": {
8
8
  "@garmin/fitsdk": "^21.200.0",
9
9
  "axios": "^1.15.2",
10
- "incyclist-devices": "^3.0.19",
10
+ "incyclist-devices": "^3.0.21",
11
11
  "promise.any": "^2.0.6",
12
12
  "semver": "^7.7.4",
13
13
  "tcx-builder": "^1.1.1",