From 352e8437a30d272b50b2d39e81c9aac4ad573e85 Mon Sep 17 00:00:00 2001 From: Bohdan Kmit Date: Tue, 23 Apr 2024 13:11:25 +0300 Subject: [PATCH] Speed up waterfall drawing by scrolling more than one line at once --- plot.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/plot.c b/plot.c index 135d8d7..7145244 100644 --- a/plot.c +++ b/plot.c @@ -2117,7 +2117,12 @@ static void update_waterfall(void){ int i; int w_width = area_width < WIDTH ? area_width : WIDTH; // START_PROFILE; - for (i = CHART_BOTTOM-1; i >=graph_bottom; i--) { // Scroll down +#define WATERFALL_MULTI (SPI_BUFFER_SIZE / WIDTH) + for (i = CHART_BOTTOM-WATERFALL_MULTI; i>=graph_bottom; i-=WATERFALL_MULTI) { // Scroll down WATERFALL_MULTI lines at once + ili9341_read_memory(OFFSETX, i, w_width, WATERFALL_MULTI, spi_buffer); + ili9341_bulk(OFFSETX, i+1, w_width, WATERFALL_MULTI); + } + for (i = CHART_BOTTOM-((CHART_BOTTOM-graph_bottom)/WATERFALL_MULTI)*WATERFALL_MULTI-1; i>=graph_bottom; i--) { // Scroll down remaining lines ili9341_read_memory(OFFSETX, i, w_width, 1, spi_buffer); ili9341_bulk(OFFSETX, i+1, w_width, 1); }