Horizontal scrolling text off by one pixel (row) when spanning near mid-panel

First, thanks for a great driver using Teensy, and for the library. We plan to us it in an industrial operator display to show status of a machine used to sort recycled metal, where the operator could be some meters away from the machine. Ambient light is high, too.

I have a SmartLED Shield V4, a 64x32 3mm panel from Adafruit, Teensy 3.2 (48 MHz Fast, 72 Mhz did not fix the problem), and am running the MultipleTextLayers example. I thought the Layer1 font looked weird but after changing it to font6x10, it’s obvious that the top half of the text and the bottom half are shifted by one pixel relative to each other. When scrolling to the right, the top leads the bottom and when scrolling to the left, the bottom leads the top. It looks like this is happening in the exact middle of the panel, and I am running the demo code and the problem is there with no changes to the demo code.

I can imagine this might be a bug in the library, where some counter is off by one on the transition to the bottom half of the display. But I’d imagine then other people would report it… so I’m wondering where to start to fix this. The other demos seem to run OK, but FeatureDemo doesn’t have text spanning mid-panel. The stars in that demo look OK, so it seems to just be text which is affected. Vertically scrolling text isn’t affected. If I change defaultScrollOffset to 10, then the bottom two pixels of scrolling text has the 1-pixel offset. “Hello” is not scrolling and isn’t corrupted. I moved its position up two pixels and Hello is still OK.

Measuring with a ruler it’s the zone from 42 to 45 mm up from the bottom of the panel, so it’s not actually dead center on the panel (which measures about 96 mm).

It appears only scrolling text which spans mid-screen (or a couple pixels below that) has this off-by-one error. I’ll see if I can find and fix this, assuming my analysis is correct. Maybe someone else already has?

Take a look at this, and the rest of that thread:

Thanks for the quick response. Hmmm. I read that thread and will need to ponder this a bit to see if we can make a workaround. One might be don’t scroll text spanning the middle of the display. We can live with that. Or adjusting the update vs refresh rates.