From 25b405ff5d80ef7df4f162b6e35c892bbdf6eb23 Mon Sep 17 00:00:00 2001 From: Patrick Siegl <3261314+psiegl@users.noreply.github.com> Date: Wed, 29 Jan 2025 21:44:27 +0100 Subject: [PATCH] Send multiple bytes in case of updating epaper --- .../c/lib/e-Paper/EPD_4in0e.c | 62 +++++++++---------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/E-paper_Separate_Program/4inch_e-Paper_E/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_4in0e.c b/E-paper_Separate_Program/4inch_e-Paper_E/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_4in0e.c index 71bffc61..821a1629 100644 --- a/E-paper_Separate_Program/4inch_e-Paper_E/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_4in0e.c +++ b/E-paper_Separate_Program/4inch_e-Paper_E/RaspberryPi_JetsonNano/c/lib/e-Paper/EPD_4in0e.c @@ -63,11 +63,30 @@ function : send data parameter: Data : Write data ******************************************************************************/ +static void EPD_4IN0E_SendDataBurst(UBYTE *Data, unsigned Datac) +{ + DEV_Digital_Write(EPD_DC_PIN, 1); + DEV_Digital_Write(EPD_CS_PIN, 0); + unsigned i; + for(i=0;i 10) && (j<50)) - for (UWORD i = 0; i < Width; i++) { - EPD_4IN0E_SendData((Color_seven[0]<<4) |Color_seven[0]); - } - else if(o < Height/2) - for (UWORD i = 0; i < Width; i++) { - EPD_4IN0E_SendData((Color_seven[0]<<4) |Color_seven[0]); - } - + if(((j > 10) && (j<50)) + || o < Height/2) + EPD_4IN0E_SendDataDuplicates((Color_seven[0]<<4) |Color_seven[0], Width); else { - for (UWORD i = 0; i < Width; i++) { - EPD_4IN0E_SendData((Color_seven[k]<<4) |Color_seven[k]); - - } + EPD_4IN0E_SendDataDuplicates((Color_seven[k]<<4) |Color_seven[k], Width); k++ ; if(k >= 6) k = 0; @@ -274,15 +277,12 @@ function : Sends the image buffer in RAM to e-Paper and displays void EPD_4IN0E_Display(UBYTE *Image) { UWORD Width, Height; - Width = (EPD_4IN0E_WIDTH % 2 == 0)? (EPD_4IN0E_WIDTH / 2 ): (EPD_4IN0E_WIDTH / 2 + 1); + Width = (EPD_4IN0E_WIDTH % 2 == 0)? (EPD_4IN0E_WIDTH / 2): (EPD_4IN0E_WIDTH / 2 + 1); Height = EPD_4IN0E_HEIGHT; EPD_4IN0E_SendCommand(0x10); - for (UWORD j = 0; j < Height; j++) { - for (UWORD i = 0; i < Width; i++) { - EPD_4IN0E_SendData(Image[i + j * Width]); - } - } + EPD_4IN0E_SendDataBurst(Image, Width * Height); + EPD_4IN0E_TurnOnDisplay(); }