bitbox02-firmware
bitbox02-firmware copied to clipboard
ui: introduce double buffering
Create a new module called "canvas" which is responsible for double buffering. Double buffering is required to enable asynchronous transfer of the frame buffer. While the "active" frame buffer is being transferred to the oled in the background, the ui will render to a "working" frame buffer. When the rendering is complete the buffers are flipped with "canvas_commit".
I tested with both ssd1312 and sh1107 screens.