• Yes, drawing text at or straddling the border has their fare share of challenges. If it worked before I could attribute the not working anymore to somer performance (and space) increasing changes within Espruino - if their were actually changes (rendering test algorithm).

    I like the approach of choosing a larger buffer.... but I would not directly write out of that buffer w/ flip and then redraw at a new position. Since it is monochrome you have plenty of memory. Write to an even larger buffer - one that hold ALL your text, and then move the view port (view) over the buffer for display... then you do not have the issue with jerky render text into the buffer. You deal only w/ transferring frame by frame to the display. Since it is one byte per column, you can easily increment thru the buffer with the view: first bytes 0..7, then 1..8, then 2..9, etc.

    If you have changing text you can even rolling changing it... Define a just one (long) line. Update the line accordingly (by shift and write new text and have the transfer to the display shift its line start in the buffer as well.


Avatar for allObjects @allObjects started