Skip to content

Xiaomi Content Helper without heart changes - #4786

Merged
cagnulein merged 1 commit into
masterfrom
codex/xiaomi-content-helper-no-heart
Jul 6, 2026
Merged

Xiaomi Content Helper without heart changes#4786
cagnulein merged 1 commit into
masterfrom
codex/xiaomi-content-helper-no-heart

Conversation

@cagnulein

Copy link
Copy Markdown
Owner

This is a split-out version of #4494. It keeps the Android Content Helper/document picker work and the related non-heart changes, while intentionally leaving the heart-rate changes in #4494 for separate review. Included here: Android ACTION_GET_CONTENT document picking for profiles, settings, training programs, and GPX files; Android content URI import/copy handling; QML handoff through androidDocumentPicked so the existing page signals and main.qml flow still run; training program target-power offset handling with the +/- power display; GPX/training file filters and uppercase GPX support; workout editor textEvents export and row-label fallback. Excluded here: the heart-rate belt discovery/connection refactor in bluetooth.cpp/h, and the PID HR Pushy zone-limit/recovery-zone settings and behavior changes. Validation: settings-catalog JSON loads as 960/960, and git diff --check passes.

@cagnulein cagnulein linked an issue Jul 6, 2026 that may be closed by this pull request
@cagnulein
cagnulein merged commit 5868e38 into master Jul 6, 2026
15 of 17 checks passed
@cagnulein
cagnulein deleted the codex/xiaomi-content-helper-no-heart branch July 6, 2026 13:03
cagnulein added a commit that referenced this pull request Jul 6, 2026
…4787)

* pid hr on zone 1

#4480 (comment)

* pid limited to 0.8

* trainprogram_pid_hr_pushy_zone_limit as configurable setting

The 0.8 threshold controlling how far into the next zone the PID
'Pushy' mode can push was hardcoded. Exposed it as a QSettings entry
(default 0.8) and added a TextField control under Training Program
Options in settings.qml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* feat: symmetric pushy slowdown near upper zone boundary (#4480)

When HR enters the upper part of the zone (above the slowdown threshold),
proactively reduce speed rather than waiting for the HR to cross into the
next zone. Threshold is the midpoint between pushyZoneLimit and the zone
top: e.g. pushy=0.8 -> slowdown at zone+0.9, leaving a neutral dead band
[0.8, 0.9] that prevents oscillation.

The outer condition guard is also relaxed from currentSpeed < maxSpeed
to plain trainprogram_pid_pushy so the slowdown path can fire even when
already at max speed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* Fix pushy HR handling in zone 1

* feat: add configurable Recovery zone lower limit for Pushy mode (#4480)

Replace the auto-computed zone 1 lower boundary (zone1Limit - zoneWidth)
with a user-adjustable setting trainprogram_pid_hr_recovery_zone_limit
(default 60% of max HR). Appears in UI above the existing Pushy Zone Limit
setting. Allows users to fine-tune the lower boundary of zone 1 so the
speed-up trigger adapts to their individual heart rate profile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: increment allSettingsCount to 964 for recovery zone limit setting

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: correct settingCount to match catalog entries (961 -> 962)

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

[BUG] Treadmill Auto-adjust Speed by Power

1 participant