InfiniTimeOrg / InfiniTimeOrg/InfiniTime

Fix Stopwatch Side Button Behavior

Open
#2,081 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement feature request
Dominant language
C
Stars
3.4k
Forks
1.1k
PR merge metrics
No merged PRs in 30d

Description

Verification
  • I searched for similar issues (including closed issues) and found none was relevant.
Introduce the issue

This issue relates to two problems related to side button behavior that can and should all be fixed together:

  1. The stopwatch is stopped by the side button but cannot be restarted with the side button.
  2. There is no way to exit the stopwatch and let it run in the background, as the back button stops the stopwatch no matter what.
Preferred solution
  1. Allow the stopwatch to be started by the side button. It might be better to use a double click gesture, which can also be used for the lap function once the stopwatch is started.
  2. Allow the ‘press and hold’ side button gesture to exit the stopwatch without stopping it, so you can check the time, etc.
Version

v1.14.0

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the stopwatch's side-button and back-button handling in the firmware, then reproduce both reported behaviors on v1.14.0. Compare the current stop, restart, lap, and exit interactions with the preferred gestures; done means the side button can control the running stopwatch and a press-and-hold exit leaves it running in the background.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.