Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Settings v0.50 (I think)] New Calibration feature - UI jumps around, can be hard to hit elements, freezes and subsequent reboots #2181

Closed
thyttan opened this issue Oct 19, 2022 · 6 comments
Labels
type-bug Something isn't working

Comments

@thyttan
Copy link
Collaborator

thyttan commented Oct 19, 2022

Affected hardware version

Bangle 2

Your firmware version

2v15.44

The bug

When rotation=2 and using "Light switch widget" to change brightness level it works for the most part. But if draging to the very top of the touch screen (higher than the LCD) the brightness will be set to minimum value instead of maximum value - it seems some touch-pixels at the very bottom hasn't followed along in the rotation to become top-pixels, if that makes sense. (From #1040 (comment))

I get something similar to this on a factory reset watch, updated to fw 2v15.44 doing:

  1. Only standard apps and widgets installed.
  2. I update installed apps. (e.g. Settings v0.50)
  3. I try the new 'Calibrate' functionality in settings.
  4. When swiping my finger bottom-to-top of screen, the scroller will first scroll down as expected but when reaching the top of the touch screen with my finger the scroller will jump back up and overshoot in the other direction, so I will see empty space above the first menu entry.

The bugs are not always as pronounced, I think it depends on how I press the cross-hairs during calibration. If I aim with my right index finger during calibration I seem to get the bugs more often than if I use my left thumb for example. I think maybe the problems are worse the less "reasonable" my inputs during calibration was.

The red back button can also get much harder to hit reliably. I also get spontaneous freezes and reboots.

EDIT: If it's useful to know I have used the 'Touchscreen Calibration" app before without problem on earlier firmwares.

calibration-followed-by-freeze-and-reboot.mp4
ui-fails-and-reboot.mp4
hitting-red-back-button-fails-towards-the-end.mp4

Same three clips on this file sharing link: https://sprend.com/download?C=3a12af337ca94d438236099238508d3d

@thyttan thyttan added the type-bug Something isn't working label Oct 19, 2022
@johan-m-o
Copy link
Contributor

I can add my observations on the new Calibrate feature. Running app v0.50 and firmware 2v15.44.

I see the same scrolling behaviour as described here, but I also experience another issue: the inputs have somewhat flipped themselves. Pressing top left registers on bottom right, bottom left registers on top right and the right side of the screen doesn't register any input at all.

@gfwilliams
Copy link
Member

Thanks for the report! Please can you try the absolute latest cutting edge build?

I think what happened is the coordinates were stored in unsigned values, so when you got negative coordinates they just wrapped over to ~255 - so that'd make the scrolling screw up as you've seen, and would also make it very hard to hit the back button. It might also explain why setRotation(2) seemed so broken.

It should be sorted now I hope!

@johan-m-o
Copy link
Contributor

Confirmed fixed.

@gfwilliams
Copy link
Member

Great, thanks!

@thyttan please could you confirm about #1040 (comment) too - I think this should fix that!

@thyttan
Copy link
Collaborator Author

thyttan commented Oct 20, 2022

Fixed for me as well, thanks! Will come back re/on #1040.

Just a small note: I had "Light Switch Widget" installed when trying calibrating this time and when I touched the crosshair when in the top right corner, Light switch widget would be displayed and toggle background illumination, instead of registering touch to the crosshair. So I had to try again by touching a little further down on the screen - which worked and the crosshair then moved to the next corner. Should I open a separate issue for this, @gfwilliams?

@gfwilliams
Copy link
Member

Yes, might as well open a new issue. That's a bit frustrating - I guess we can try and remove/rename the old listeners, but I guess another option would be to make the calibration a new app.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type-bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants