Pass a uint32_t buffer to the driver write uint16_t pixel in unconventional positions

Hi,

Only correcting the lvgl buffer size ( wrong value “buffer_size/2” = 15360 uint16_t = 30720 bytes ).

Now lvgl buffers, buffer_a and buffer_b, are 3840 uint16_t ( or 7680 bytes ).

( 3840 = 30720 / 8 ) and not ( 15360 = 30720 / 2 ).

#define pixels_size 3840

#define pixels_size_in_bytes ( pixels_size * sizeof(lv_color_t) )     // 7680 bytes

***********************************************************************************
// lvgl graphic buffers.
DMA_ATTR lv_color_t buffer_a[ pixels_size ];    // 3840 pixels = 7680 bytes. 
DMA_ATTR lv_color_t buffer_b[ pixels_size ];    // 3840 pixels = 7680 bytes. 

***********************************************************************************
// dma buffers.
static DMA_ATTR uint32_t buf_a[ pixels_size_in_bytes ];    // pixels_size_in_bytes = 7680 bytes.  uint32_t buf_a -> 30720 bytes ( 7680 * 4 ).
static DMA_ATTR uint32_t buf_b[ pixels_size_in_bytes ];

***********************************************************************************

// #define descriptor_size ( ( pixels_size_in_bytes * 4 ) / 4092 ) + 1 
// static DMA_ATTR lldesc_t dma_desc_buf_a[ descriptor_size ]; 

static DMA_ATTR lldesc_t dma_desc_buf_a[ 8 ];  
static DMA_ATTR lldesc_t dma_desc_buf_b[ 8 ];

Thank’s.