Debug: 0.01 km/h raw FTMS speed step on Horizon treadmill (not for merge) - #4877
Open
cagnulein wants to merge 2 commits into
Open
Debug: 0.01 km/h raw FTMS speed step on Horizon treadmill (not for merge)#4877cagnulein wants to merge 2 commits into
cagnulein wants to merge 2 commits into
Conversation
Not intended for merge. Gated behind QZ_DEBUG_SPEED_001_STEP env var: each tap on the home form speed + button requests currentSpeed+0.01 instead of the normal step, and the Horizon rounding/threshold filter is bypassed so the tiny delta actually reaches forceSpeed(). Logs the exact raw bytes/requestSpeed with a timestamp for every write (FTMS and both Horizon custom-protocol branches) so a tester can correlate each button press with the treadmill's observed reaction. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Setting an environment variable isn't practical for a tester on Android who just installs the debug APK. Make the 0.01 km/h forced step and raw-byte logging unconditional in this throwaway branch instead of gating it behind QZ_DEBUG_SPEED_001_STEP. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
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.
Context
Related to the Gmail thread "Issue with controlling treadmill" — the user reports issues controlling their Horizon treadmill's speed.
This is a diagnostic build, not intended to be merged. Its only purpose is to probe how the treadmill firmware reacts to the smallest possible speed step, so we can correlate each button press with the treadmill's observed behavior and narrow down the control bug.
What it does
This build is always in debug mode (no configuration or env var needed — just install and use):
currentSpeed + 0.01instead of the normal step (0.5/1.0 km/h).horizontreadmill.cpp, bypasses the 1-decimal rounding andminStepSpeedthreshold that would otherwise silently discard such a tiny delta before it reachesforceSpeed().qDebug), for both the standard FTMS branch and the two Horizon proprietary-protocol branches, so the exact command sent can be matched against what's observed on the treadmill console.gattCustomService) only has 0.1 km/h resolution, so a 0.01 step won't change the bytes on that branch — the log makes this explicit. The test is meaningful only if this specific unit uses the FTMS branch (gattFTMSService).How to test
android-buildjob in theCIGitHub Action (runs automatically on this PR, artifact namefdroid-android-trial), or build locally.adb logcaton Android) and match each[QZ_DEBUG_SPEED_001_STEP]line (timestamp + raw bytes) to the corresponding observed treadmill reaction.Test plan
homeform.oandhorizontreadmill.ocompile cleanly (verified locally)