From b20a56e7a6f3509bde3f8c3695a9cb8656b4c567 Mon Sep 17 00:00:00 2001 From: Gandalf Date: Tue, 29 Sep 2026 16:26:18 +0100 Subject: [PATCH 1/4] Fix NV3041A QSPI command instruction for parameter data --- components/hal_display/hal_display_nv3041a.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/hal_display/hal_display_nv3041a.c b/components/hal_display/hal_display_nv3041a.c index d0d6f4e..6018779 100644 --- a/components/hal_display/hal_display_nv3041a.c +++ b/components/hal_display/hal_display_nv3041a.c @@ -119,7 +119,8 @@ static void lcd_cmd(uint8_t cmd, const uint8_t *data, size_t len) if (s_io == NULL) { return; } - uint32_t packed = ((uint32_t)0x02 << 24) | ((uint32_t)cmd << 8); + uint8_t inst = (len > 0) ? 0x32 : 0x02; + uint32_t packed = ((uint32_t)inst << 24) | ((uint32_t)cmd << 8); esp_lcd_panel_io_tx_param(s_io, packed, data, len); } -- 2.39.5 From bd8e0f60f2627606ea6435ec9ba2aef8c97fe7b4 Mon Sep 17 00:00:00 2001 From: Gandalf Date: Tue, 29 Sep 2026 16:33:17 +0100 Subject: [PATCH 2/4] feat: add esp32-s3-devkitc-1 build environment and fix branch triggers to CI workflow --- .gitea/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index d1c14ef..70f5439 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -4,7 +4,7 @@ on: pull_request: branches: [develop] push: - branches: [develop, "refactor/**", "feature/**"] + branches: [develop, "refactor/**", "feature/**", "fix/**" tags: ["v*"] workflow_dispatch: -- 2.39.5 From 1fa4b0670cc57f655ce0b799cd44d58087d5b288 Mon Sep 17 00:00:00 2001 From: gronod <1+gronod@noreply@i3omb.com> Date: Tue, 29 Sep 2026 16:36:26 +0100 Subject: [PATCH 3/4] Update .gitea/workflows/ci.yml --- .gitea/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 70f5439..d3a350c 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -4,7 +4,7 @@ on: pull_request: branches: [develop] push: - branches: [develop, "refactor/**", "feature/**", "fix/**" + branches: [develop, "refactor/**", "feature/**", "fix/**"] tags: ["v*"] workflow_dispatch: -- 2.39.5 From 729dcfec3dfb359c80f2ad60349c2c2156b66c0f Mon Sep 17 00:00:00 2001 From: Gandalf Date: Tue, 29 Sep 2026 17:01:42 +0100 Subject: [PATCH 4/4] Fix display chunk flushing window reset --- components/hal_display/hal_display_nv3041a.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/components/hal_display/hal_display_nv3041a.c b/components/hal_display/hal_display_nv3041a.c index 6018779..394dd2d 100644 --- a/components/hal_display/hal_display_nv3041a.c +++ b/components/hal_display/hal_display_nv3041a.c @@ -119,8 +119,7 @@ static void lcd_cmd(uint8_t cmd, const uint8_t *data, size_t len) if (s_io == NULL) { return; } - uint8_t inst = (len > 0) ? 0x32 : 0x02; - uint32_t packed = ((uint32_t)inst << 24) | ((uint32_t)cmd << 8); + uint32_t packed = ((uint32_t)0x02 << 24) | ((uint32_t)cmd << 8); esp_lcd_panel_io_tx_param(s_io, packed, data, len); } @@ -302,13 +301,13 @@ void hal_display_flush(void) s_dirty = false; return; } - lcd_window(0, 0, LCD_W - 1, LCD_H - 1); const int chunk_rows = 16; for (int y = 0; y < LCD_H; y += chunk_rows) { int rows = chunk_rows; if (y + rows > LCD_H) { 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); esp_lcd_panel_io_tx_color(s_io, packed, &s_fb[y * LCD_W], (size_t)rows * LCD_W * sizeof(uint16_t)); -- 2.39.5