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

Bangle.js screen flicker regression #1925

Closed
gfwilliams opened this issue Sep 4, 2020 · 2 comments
Closed

Bangle.js screen flicker regression #1925

gfwilliams opened this issue Sep 4, 2020 · 2 comments

Comments

@gfwilliams
Copy link
Member

Mentioned in http://forum.espruino.com/conversations/353215

It seems that while flicker is related to the accelerometer task running, it wasn't an issue in firmware 2v05, and is in 2v06 so something changed.

Either a much longer accelerometer task, or something to do with util timer handling?

@gfwilliams
Copy link
Member Author

Note: cutting edge builds don't seem to have the issue, probably because of:

Bangle.js: Accelerometer poll handler now uses RTC app_timer, not TIMER1. 1mA->0.5mA standby current (ref #1920)

HOWEVER it seems that now the I2C bus is accessed from two IRQs and so it's possible to get I2C errors occasionally now if Bangle.setLCDBrightness(0.2); is used.

Uncaught Error: I2C Error: Arbitration (start)
Uncaught Error: I2C Error: Arbitration (start)
Uncaught Error: I2C Error: Arbitration (start)
Uncaught Error: I2C Error: Arbitration (start)
Uncaught Error: I2C Error: Arbitration (start)

gfwilliams added a commit that referenced this issue Sep 4, 2020
@gfwilliams
Copy link
Member Author

Just fixed the arbitration errors but there are still flicker from when the IRQ fires while I2C is in progress in another IRQ.

Better solution might be to use the app timer for backlight too? It should reduce power consumption as well.

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

No branches or pull requests

1 participant