update 1: tft speed measurements

A project log for Pix-Watch - stm32l4 based smartwatch

A smartwatch with an cortex m4f at heart. using awesome components and imagination to bring it to life.

mon ramon ra 11/16/2015 at 23:450 Comments

Ramon here.

i just wanted to share my benchmarks of the breadboarded system.

a full screen refresh (fillScreen command): 15ms (aka 66fps)

a fullscreen (128*128) bitmap loaded from microsd using the sdfat lib: a bit lesds than 125ms (aka 8fps)

you might wonder why the bitmap loading is so inefficient?

well, because we read a horizontal line of pixel data from the microsd in a buffer, draw that to the screen and repeat the process for each vertical line (128x total)

this really wants me to go for a framebuffer, loading the whole bitmap into it, then adjust pixels where needed, and then push it like the fillScreen command.

this should speed things up drastically.

however, it has it's downside too: a single framebuffer consumes 50% of the RAM we have.

note: we can't read from the screen, as there's no MISO line on the screen, otherwise we could have used that as a framebuffer, saving us 32kb of ram at the costs of 30-40ms (guessed) drawing speed for a framebuffer (if we do i in internal RAM it would take like 20-25ms (guessed))

tell us what you think is the best, go without or with framebuffer?