But yes, Bangle.js 2 has a 3 bit display. However it was causing a lot of difficulties as basically everything (including icons) had to be specifically 3 bit only - any normal icons would render really badly.
So, to work around this I added dithering. 3 bit images/colors render as-is, but any color inbetween gets dithered. However to dither, the colors have to then be more than 3 bits, and it seemed to make sense to use the same 16 bit depth so things like the theme colors didn't vary between devices.
But unfortunately you've got stuck in the middle a bit - as you were on hardware that I haven't yet pushed out to everyone I didn't bother too much about safety-checking the changes.
If you delete the settings file chances are it'll come back up with the defaults and you'll be good to go though - sorry about that. Thinking about it g.getBPP() should probably still return 3, even though internally the current color are stored as 16 bit.
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.
Argh, yes - sorry. There's a change log here: http://www.espruino.com/ChangeLog
But yes, Bangle.js 2 has a 3 bit display. However it was causing a lot of difficulties as basically everything (including icons) had to be specifically 3 bit only - any normal icons would render really badly.
So, to work around this I added dithering. 3 bit images/colors render as-is, but any color inbetween gets dithered. However to dither, the colors have to then be more than 3 bits, and it seemed to make sense to use the same 16 bit depth so things like the theme colors didn't vary between devices.
I tweaked the settings to set the theme in a more bpp-agnostic way: https://github.com/espruino/BangleApps/blob/master/apps/setting/settings.js#L184-L194
But unfortunately you've got stuck in the middle a bit - as you were on hardware that I haven't yet pushed out to everyone I didn't bother too much about safety-checking the changes.
If you delete the settings file chances are it'll come back up with the defaults and you'll be good to go though - sorry about that. Thinking about it
g.getBPP()
should probably still return 3, even though internally the current color are stored as 16 bit.