Speed up waterfall drawing by scrolling more than one line at once

pull/106/head
Bohdan Kmit 2 years ago
parent 0608182a0f
commit 352e8437a3

@ -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);
}

Loading…
Cancel
Save

Powered by TurnKey Linux.