static inline int spi_write_dt(const struct spi_dt_spec *spec, const struct spi_buf_set *tx_bufs);
static inline int spi_write_dt(const struct spi_dt_spec *spec, const struct spi_buf_set *tx_bufs);
Hello,
Have you been able to observe how the interrupts affects the SPI transfer on an logic analyzer?
I do not see any reason why a frequent pin interrupt should affect the SPI transfer, because once SPI transfer is started it will transfer continously the amount of byte in one chunk (through EasyDMA), unless you have disabled EasyDMA, and thereby using interrupt based SPI transfer. Maybe you can comment whether CONFIG_SPI_0_NRF_SPI or CONFIG_SPI_0_NRF_SPIM is used in your project?
Kenneth
CONFIG_LV_DISP_DEF_REFR_PERIOD
I already tried to play with this conf and unfortunately, no.
Doubling the buffer doesn't give much result but now since only one thread is modifying data and accessing to the display buffer (LVGL), it would be surprising otherwise.
I modified the driver to process only calls with exact specified matched coordinates and box size (known in advance) so I can observe only one portion of the screen that is updated by LVGL (i.e. one SPI display write RAM transaction). Results: I can also see artifacts inside the area between some frames.
But also still more disturbing: when left on long run, an artifact may appear on the outside left portion of the constrained drawn box (that shouldn't be drawn at all)
CONFIG_LV_DISP_DEF_REFR_PERIOD
I already tried to play with this conf and unfortunately, no.
Doubling the buffer doesn't give much result but now since only one thread is modifying data and accessing to the display buffer (LVGL), it would be surprising otherwise.
I modified the driver to process only calls with exact specified matched coordinates and box size (known in advance) so I can observe only one portion of the screen that is updated by LVGL (i.e. one SPI display write RAM transaction). Results: I can also see artifacts inside the area between some frames.
But also still more disturbing: when left on long run, an artifact may appear on the outside left portion of the constrained drawn box (that shouldn't be drawn at all)
I don't have any further suggestions sorry, but I am very interested in getting to know the root source of your problems once you find it.
Kenneth