Xiaomi Content Helper without heart changes - #4786
Merged
Merged
Conversation
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.