Ahh - unfortunately that's a known issue - that g.flip() forces the screen to stay on. The widget area flickering is expected too - basically the double buffer means you have two buffers that swap, and widgets may only be drawn to one of them (you could fix that with Bangle.drawWidgets();g.flip();Bangle.drawWidgets().
What I'd suggest is the offscreen buffer as you say, with a palette which you could cycle (which would actually be more efficient to render anyway). Looking at it, it likely wouldn't have to be full-res - maybe 1/2 or 1/3 res?
Espruino is a JavaScript interpreter for low-power Microcontrollers. This site is both a support community for Espruino and a place to share what you are working on.
Ahh - unfortunately that's a known issue - that
g.flip()
forces the screen to stay on. The widget area flickering is expected too - basically the double buffer means you have two buffers that swap, and widgets may only be drawn to one of them (you could fix that withBangle.drawWidgets();g.flip();Bangle.drawWidgets()
.What I'd suggest is the offscreen buffer as you say, with a palette which you could cycle (which would actually be more efficient to render anyway). Looking at it, it likely wouldn't have to be full-res - maybe 1/2 or 1/3 res?
Something like this might do it:
Hmm, I'd be surprised about that to be honest. While it's Pseudo-random it's quite a well-used algorithm.