Hello Geert,
On 3/9/22 21:04, Geert Uytterhoeven wrote:
[snip]
/* Last page may be partial */
if (8 * (i + 1) > ssd130x->height)
m = ssd130x->height % 8;
for (j = x; j < x + width; j++) {
u8 data = 0;
for (k = 0; k < m; k++) {
u8 byte = buf[(8 * i + k) * line_length + j / 8];
As buf does not point to (0, 0), the above is not correct if rect.x1 != 0 or rect.y1 != 0. After fixing that, writing more than one text line to the console works, but I still see an issue with updates where the rectangle size and/or position are not aligned to 8 pixels horizontally. Will do more investigation, and send fixes...
Right, I believe this is a consequence of introducing shadow buffers at some point and not adjusting the logic in this function.
Thanks a lot for tracking down the issues and working on fixes for them! -- Best regards,
Javier Martinez Canillas Linux Engineering Red Hat