I managed to make it fast
That’s… odd. No one has ever had an issue with that before. Maybe the system doesn’t want you posting too often too quickly. I made a small change to the settings on your account; can you try again?
Good to hear!
this is a video
I just wrote a program that take each pixel and if it was the same color with previous pixel stick it to that and make a line with single color then I send a single fillrect command to LCD
last.zip (1.4 MB)
I could make some built in GPU implementation but I think I can add a MEM2MEM DMA in my hardware to make it faster. please if there is a document abut GPU_FILL_CB and GPU_BLEND_CB arguments share it here I read some of code but they are vague to me.
do i have to implement both callback?
Have you checked these example functions?
https://github.com/littlevgl/lvgl/blob/master/porting/lv_port_disp_template.c#L172-L187
Or the implementations in other STM projects:
No, only one of them is fine too.
Hi, to accelerate the screen display i use this for the Hx8347G.
/* Display flushing */
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p)
{
static uint16_t temp[32];
uint16_t c,old_c;
int i=0;
tft.startWrite(); /* Start new TFT transaction */
tft.setAddrWindow(area->x1, area->y1, (area->x2 - area->x1 + 1), (area->y2 - area->y1 + 1)); /* set the working window */
tft.writeCommand(0x22);
for (int y = area->y1; y <= area->y2; y++) {
for (int x = area->x1; x <= area->x2; x++) {
temp[i] = color_p->full;
i++;
if (i==32){
tft.writePixels(temp, i);
i = 0;
}
color_p++;
}
}
tft.endWrite(); /* terminate TFT transaction */
lv_disp_flush_ready(disp); /* tell lvgl that flushing is done */
}
in this display can upload until 32 pixel at same time by SPI now the screen start instanly.
i forgot to say i use an ESP32