From bf3488def890e799f486806d000fb43df66e7622 Mon Sep 17 00:00:00 2001 From: Silvano Seva Date: Sun, 25 Oct 2020 17:22:33 +0100 Subject: [PATCH] Improved check for rendering in progress in HX83XX display driver, now both chip select and DMA enable bit are verified --- platform/drivers/display/HX83XX_MDxx380.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/platform/drivers/display/HX83XX_MDxx380.c b/platform/drivers/display/HX83XX_MDxx380.c index 32282b3a..23b7a2b4 100644 --- a/platform/drivers/display/HX83XX_MDxx380.c +++ b/platform/drivers/display/HX83XX_MDxx380.c @@ -401,8 +401,12 @@ void display_render() bool display_renderingInProgress() { - /* Rendering is in progress if display's chip select is low. */ - return gpio_readPin(LCD_CS); + /* + * Rendering is in progress if display's chip select is low or a DMA + * transfer is in progress. + */ + bool dmaBusy = (DMA2_Stream7->CR & DMA_SxCR_EN) ? true : false; + return (gpio_readPin(LCD_CS) == 0) || dmaBusy; } void *display_getFrameBuffer()