Skip to content

Commit 4ffc94e

Browse files
committed
Fix Stages cadence calculation
1 parent ea0ffc3 commit 4ffc94e

1 file changed

Lines changed: 4 additions & 3 deletions

File tree

src/devices/stagesbike/stagesbike.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -311,16 +311,17 @@ void stagesbike::characteristicChanged(const QLowEnergyCharacteristic &character
311311
index += 2;
312312
}
313313

314-
int16_t deltaT = LastCrankEventTime - oldLastCrankEventTime;
314+
int32_t deltaT = LastCrankEventTime - oldLastCrankEventTime;
315315
if (deltaT < 0) {
316-
deltaT = LastCrankEventTime + time_division - oldLastCrankEventTime;
316+
deltaT = LastCrankEventTime + 65536 - oldLastCrankEventTime;
317317
}
318318

319319
if (settings.value(QZSettings::cadence_sensor_name, QZSettings::default_cadence_sensor_name)
320320
.toString()
321321
.startsWith(QStringLiteral("Disabled"))) {
322322
if (CrankRevs != oldCrankRevs && deltaT) {
323-
double cadence = ((CrankRevs - oldCrankRevs) / deltaT) * time_division * 60;
323+
double cadence = (static_cast<double>(CrankRevs - oldCrankRevs) / static_cast<double>(deltaT)) *
324+
time_division * 60.0;
324325
if (!crank_rev_present)
325326
cadence =
326327
cadence /

0 commit comments

Comments
 (0)