Skip to content

Improve MotorController flexibility - #2454

Open
mark9064 wants to merge 2 commits into
InfiniTimeOrg:mainfrom
mark9064:adaptive-vibration
Open

Improve MotorController flexibility#2454
mark9064 wants to merge 2 commits into
InfiniTimeOrg:mainfrom
mark9064:adaptive-vibration

Conversation

@mark9064

Copy link
Copy Markdown
Member

Refactors motor controller to:

  • Support ringing any number of times, with any period between rings
  • Adaptively change the vibration strength based on how much the watch is moving
  • Use predefined strength values (light/medium/strong) rather than arbitrary numbers across the codebase

Other changes:

  • Chime is now implemented as 2 rings 200ms apart. This sets it nicely apart from normal notifications

Internal changes:

  • Only one timer is used for ringing
  • State machine (Idle, Buzz, RingOn (ringing with motor on), RingOff (ringing with motor off))

Would be interested to hear what people make of the adaptive vibration strength. I think it's definitely led to me missing fewer notifications when on the move

@mark9064 mark9064 added enhancement Enhancement to an existing app/feature maintenance Background work labels Jul 19, 2026
@github-actions

github-actions Bot commented Jul 19, 2026

Copy link
Copy Markdown

Build size and comparison to main:

Section Size Difference
text 380288B 284B
data 936B 0B
bss 22968B 32B

Run in InfiniEmu

@mark9064

Copy link
Copy Markdown
Member Author

10.3 is too stupid to build this apparently...

@mark9064
mark9064 force-pushed the adaptive-vibration branch from a1c0d23 to 4693d69 Compare August 19, 2026 21:56
@mark9064

Copy link
Copy Markdown
Member Author

Oh, this compiles with LTO, but not without

@mark9064

Copy link
Copy Markdown
Member Author

Should be possible to try now :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement Enhancement to an existing app/feature maintenance Background work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant