[Help Needed] FT81x Display Flicker / Glitches When Redrawing Frequently – Zephyr + SPI (nRF52840)

Comments

1 comment

  • Engineering Support
    Community moderator

    Hi Adbullah,

    It seems like the flickering and glitches you are seeing might be caused by the display list being swapped before it’s fully processed.  Even though you're using DISPLAY() and swap(), the coprocessor might not be done with all the commands yet when the swap happens.  Checking REG_CMD_READ and REG_CMD_WRITE to make sure the command buffer is empty before swapping could help avoid this.

    I also suspect that redrawing the entire screen every frame might be exceeding what the SPI bus and FT810 can handle smoothly, especially if image data is being pulled from RAMG during each redraw.  I believe CMD_APPEND can be used to cache static parts of the UI by writing the static display list to RAMG and then using CMD_APPEND each frame to include that block in your active display list.  It’s also possible that you're writing to RAMG while it’s being drawn, which could explain some of the artifacts.

    On the hardware side, I suspect SPI signal integrity might be part of the problem, especially since probing the clock line with a scope seems to make things worse.  Consider shortening SPI lines, adding small series resistors to the clock and data lines, or separating the SD card onto its own SPI controller if possible. Finally, lowering your redraw rate to around 30 FPS can give the FT810 more processing time between frames.

    Please let me know if any of these suggestions help.

    0

Please sign in to leave a comment.