Fix/esp32s3 display #16
@@ -4,7 +4,7 @@ on:
|
|||||||
pull_request:
|
pull_request:
|
||||||
branches: [develop]
|
branches: [develop]
|
||||||
push:
|
push:
|
||||||
branches: [develop, "refactor/**", "feature/**"]
|
branches: [develop, "refactor/**", "feature/**", "fix/**"]
|
||||||
tags: ["v*"]
|
tags: ["v*"]
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
|
|||||||
@@ -301,13 +301,13 @@ void hal_display_flush(void)
|
|||||||
s_dirty = false;
|
s_dirty = false;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
lcd_window(0, 0, LCD_W - 1, LCD_H - 1);
|
|
||||||
const int chunk_rows = 16;
|
const int chunk_rows = 16;
|
||||||
for (int y = 0; y < LCD_H; y += chunk_rows) {
|
for (int y = 0; y < LCD_H; y += chunk_rows) {
|
||||||
int rows = chunk_rows;
|
int rows = chunk_rows;
|
||||||
if (y + rows > LCD_H) {
|
if (y + rows > LCD_H) {
|
||||||
rows = LCD_H - y;
|
rows = LCD_H - y;
|
||||||
}
|
}
|
||||||
|
lcd_window(0, y, LCD_W - 1, y + rows - 1);
|
||||||
uint32_t packed = ((uint32_t)0x32 << 24) | ((uint32_t)LCD_CMD_RAMWR << 8);
|
uint32_t packed = ((uint32_t)0x32 << 24) | ((uint32_t)LCD_CMD_RAMWR << 8);
|
||||||
esp_lcd_panel_io_tx_color(s_io, packed, &s_fb[y * LCD_W],
|
esp_lcd_panel_io_tx_color(s_io, packed, &s_fb[y * LCD_W],
|
||||||
(size_t)rows * LCD_W * sizeof(uint16_t));
|
(size_t)rows * LCD_W * sizeof(uint16_t));
|
||||||
|
|||||||
Reference in New Issue
Block a user