This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

GFX example very slow - nRF52840

I am working on a new design and i am using ST7789 (240 X 320 pixels) screen with nRF52840, it is working fine. I have followed the code provided in SDK example (big thanks).

But it is painfully slow, is there a way to make it faster considering nRF52840 has a powerful processor and good memory.

Any guidance will be much appreciated. Due to cost and complexity i wanted not to use a secondary processor.

Parents
  • Hi

    Do you see any errors when compiling/building? At first glance, I'm not able to spot what's wrong in your init function. You should be able to see an error either in when compiling or by debugging the application.

    Best regards,

    Simon

  • There are no error on compilation. Just the screen does not render anything.

    To double check, does it mean when using SPIM (NRFX_SPIM_EXTENDED_ENABLED) spi will work faster?

    I see in current gfx project SPI_ENABLED i will disable it and just use NRFX_SPIM_ENABLED i will give it a try today.

    // <e> SPI_ENABLED - nrf_drv_spi - SPI/SPIM peripheral driver - legacy layer
    //==========================================================
    #ifndef SPI_ENABLED
    #define SPI_ENABLED 1
    #endif

    // <e> NRFX_SPIM_ENABLED - nrfx_spim - SPIM peripheral driver
    //==========================================================
    #ifndef NRFX_SPIM_ENABLED
    #define NRFX_SPIM_ENABLED 1
    #endif
    // <q> NRFX_SPIM0_ENABLED - Enable SPIM0 instance

    #ifndef NRFX_SPIM3_ENABLED
    #define NRFX_SPIM3_ENABLED 1
    #endif

Reply
  • There are no error on compilation. Just the screen does not render anything.

    To double check, does it mean when using SPIM (NRFX_SPIM_EXTENDED_ENABLED) spi will work faster?

    I see in current gfx project SPI_ENABLED i will disable it and just use NRFX_SPIM_ENABLED i will give it a try today.

    // <e> SPI_ENABLED - nrf_drv_spi - SPI/SPIM peripheral driver - legacy layer
    //==========================================================
    #ifndef SPI_ENABLED
    #define SPI_ENABLED 1
    #endif

    // <e> NRFX_SPIM_ENABLED - nrfx_spim - SPIM peripheral driver
    //==========================================================
    #ifndef NRFX_SPIM_ENABLED
    #define NRFX_SPIM_ENABLED 1
    #endif
    // <q> NRFX_SPIM0_ENABLED - Enable SPIM0 instance

    #ifndef NRFX_SPIM3_ENABLED
    #define NRFX_SPIM3_ENABLED 1
    #endif

Children
No Data
Related