Skip to content

fix: sportsplusrower (CARE rower) watt and calorie fixes - #4824

Merged
cagnulein merged 2 commits into
masterfrom
worktree-fix+care-rower-kcal
Jul 19, 2026
Merged

fix: sportsplusrower (CARE rower) watt and calorie fixes#4824
cagnulein merged 2 commits into
masterfrom
worktree-fix+care-rower-kcal

Conversation

@cagnulein

@cagnulein cagnulein commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

Two fixes for CARE Jet 600 rower (CARE10692135) and other CARE rowers handled by sportsplusrower:

1. Watt: use Concept2 rowing power formula instead of device byte

The device reports only 8–17 W via BLE (byte[10] BCD), unrealistically low. Replaced with the standard Concept2 formula already in the rower base class:

Watts = 2.8 * (500 / paceSeconds)^3

Speed is already calculated from cadence SPM (0.37497622 * cadence).
Pace derives from speed: paceSeconds = 1800.0 / speed_km_h.

At 18 SPM (~6.75 km/h): ~19 W → at 33 SPM (~12.4 km/h): ~114 W — realistic values.

The cadence/speed update is now moved before the watt calculation so each packet uses the freshest speed value.

2. Calorie counter always zero

KCal = kcal was assigning a local variable (reset to 0 on each characteristicChanged call) rather than accumulating. Changed to KCal += kcal.

Closes #4819

Test plan

  • Connect CARE Jet 600 rower (CARE10692135)
  • Row at different intensities and verify watts scale with effort (Concept2 formula)
  • Confirm calorie counter increases steadily throughout the session

🤖 Generated with Claude Code

KCal = kcal assigned a local variable (reset to 0 each characteristicChanged call),
causing calorie counter to stay at ~0 throughout the session. Changed to KCal += kcal
so calories accumulate over time.

Fixes calorie counter at 0 for CARE Jet 600 rower and all sportsplusrower devices.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CARE Jet 600 rower (CARE10692135) reports only 8-17W via BLE (byte[10] BCD),
which is unrealistically low. Replace with the Concept2 rowing power formula
used in the rower base class: Watts = 2.8 * (500 / paceSeconds)^3.
Speed is already derived from cadence SPM, pace is computed as 1800/speed_km_h.

Also move cadence/speed update before watt calculation so watts use the
fresh speed value from the current 0x10 subtype packet.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@cagnulein cagnulein changed the title fix: sportsplusrower calorie counter always zero fix: sportsplusrower (CARE rower) watt and calorie fixes Jul 17, 2026
@cagnulein
cagnulein merged commit 844eedd into master Jul 19, 2026
29 of 30 checks passed
@cagnulein
cagnulein deleted the worktree-fix+care-rower-kcal branch July 19, 2026 01:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

About : [BUG] Impossible to connect CARE Jet 600 Rower #4764 #4810

1 participant