espruino / Espruino

The Espruino JavaScript interpreter - Official Repo
http://www.espruino.com/
Other
2.73k stars 741 forks source link

[Bangle.js 2 Question] EXTCOM frequency #2523

Closed d3nd3 closed 1 week ago

d3nd3 commented 1 week ago

What is the reasoning for using 120hz EXCOM frequency when backlight is on?

The sharp LCD which also use MemoryInPixel mentions that the optimal EXTCOM is less than frame frequency. In the manual for the LPM013M126C it mentions 120hz but that is under section of transmissive version, but its the reflective version.

Have you tested 60hz? does it use less power? Is there side-effects?

Also on a side-note, does the SPI data stream for the LCD pixels transfer asynchronously or synchronously, does the cpu code "wait" after sending? And do the line pixels get sent every frame, even if unchanged, or does it only send the changes?

gfwilliams commented 1 week ago

I think with the backlight on, the LCD is running in transmissive mode (because it's being backlit, not frontlit).

You're welcome to try 60Hz and see if it makes any difference. But realistically there is zero power benefit from 60Hz and there's a higher likelihood of it 'beating' with 60hz mains lighting - the LCD itself draws basically nothing, and once the CPU has the oscillator powered on to handle PWM it doesn't matter what speed PWM goes at.

LCD data is sent async - we just block if code is trying to change the buffer while we're sending. And we send full lines (LCD doesn't support partial line update) but only the lines that changed - but that should be pretty easy to figure out from https://github.com/espruino/Espruino/blob/master/libs/graphics/lcd_memlcd.c