Yes, the issue is that the LCD on Bangle.js 1 is 240x240x16 bits - so 115kb of data - about twice the RAM on the Bangle itself! So there can't be any offscreen buffering.
On Bangle.js 2 we have more RAM but also the screen is 176x176x3 - so far less data and we can store it all offscreen and blit it.
I suppose I can redraw the previous second's second hand in the background color just to cover it up, before drawing the new one in the foreground color.
Yes, that's the best solution.
OR you can create an offscreen buffer with Graphics.createArrayBuffer and blit it when you're done drawing - if you're only after 2bpp greyscale then it's something that's totally possible to do on Bangle.js 1
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.
Yes, the issue is that the LCD on Bangle.js 1 is 240x240x16 bits - so 115kb of data - about twice the RAM on the Bangle itself! So there can't be any offscreen buffering.
On Bangle.js 2 we have more RAM but also the screen is 176x176x3 - so far less data and we can store it all offscreen and blit it.
Yes, that's the best solution.
OR you can create an offscreen buffer with
Graphics.createArrayBuffer
and blit it when you're done drawing - if you're only after 2bpp greyscale then it's something that's totally possible to do on Bangle.js 1