"Burst Mode" is fast, but the screen now is flickering and finally dead... #68
Replies: 5 comments 1 reply
-
I'm using burst in my application and I'm not seeing any flicker. |
Beta Was this translation helpful? Give feedback.
-
Flickering usually occurs when the display refresh is faster than the frames per second the display actually is driven with. |
Beta Was this translation helpful? Give feedback.
-
First of all, I had some fatal errors in the SPI bus. I have changed the EVE_start_dma_transfer() function because the spi_device_queue_trans() function is generating problems with multitasking. With spi_device_transmit() and some little other changes (clear CS, etc), everything is ok. About the flickering, it disappear when I put a MS_Delay(2) in my painting function, but then the performance of my controls & interface is very poor: `
}` Without the MS_Delay(2), the performance is perfect (> 150 fps) but the flickering is BIG and stability is terrible, in only 3-5 seconds the screen (ILI9341) is dead with a slow white fade out. |
Beta Was this translation helpful? Give feedback.
-
Using ESP32 with ESP-IDF 4.4.3 + BT817Q + ILI9341. Ok, I'm going to try again with spi_device_queue_trans(), to check the last error I received. About FPS... how can I slow down each loop to sync with 60 fps without MS_DELAY()? Thats my EVE config: #define EVE_HSIZE (240L) /* Thd Length of visible part of line (in PCLKs) - display width / |
Beta Was this translation helpful? Give feedback.
-
Regarding the timing, I have an ESP32 example: In a nutshell I am using esp_timer_get_time() to execute the main loop every 5ms. As for the timings, these result in 150 Hz and I wonder if the panel is actually working this fast.
These are not in my code. |
Beta Was this translation helpful? Give feedback.
-
Hi all!
Congrats to Rudolph for the library, you are a beast! :-D
I'm using the burst mode, and the speed has been increase a lot of... but it's impossible to maintain stable the display.
When I use the "non burst" commands, everything is ok, but with "_burst" the flickering is bizarre.
I'm using the next commands in the main loop:
`void EVE_prepare(uint32_t _bg_color)
{
EVE_start_cmd_burst();
EVE_cmd_dl_burst(CMD_DLSTART);
EVE_cmd_dl_burst(DL_CLEAR_RGB | _bg_color);
EVE_cmd_dl_burst(DL_CLEAR | CLR_COL | CLR_STN | CLR_TAG);
EVE_cmd_dl_burst(VERTEX_FORMAT(0));
}
void EVE_display()
{
EVE_cmd_dl_burst(DL_DISPLAY);
EVE_cmd_dl_burst(CMD_SWAP);
EVE_end_cmd_burst();
}`
Beta Was this translation helpful? Give feedback.
All reactions